summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-01-22 21:21:47 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-01-22 21:21:47 +0900
commitd5e80caac8180b2bcb59e3dba9b280e8b2ab1903 (patch)
tree3cbf474d4e093bbe91b85fa0a480c19f62dc4f01 /src/server/api/endpoints
parentCreate CODEOWNERS (#3882) (diff)
downloadsharkey-d5e80caac8180b2bcb59e3dba9b280e8b2ab1903.tar.gz
sharkey-d5e80caac8180b2bcb59e3dba9b280e8b2ab1903.tar.bz2
sharkey-d5e80caac8180b2bcb59e3dba9b280e8b2ab1903.zip
[Server] Fix #3958
Diffstat (limited to 'src/server/api/endpoints')
-rw-r--r--src/server/api/endpoints/notes/replies.ts25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/server/api/endpoints/notes/replies.ts b/src/server/api/endpoints/notes/replies.ts
index 6c2b690ab2..8386d60684 100644
--- a/src/server/api/endpoints/notes/replies.ts
+++ b/src/server/api/endpoints/notes/replies.ts
@@ -1,6 +1,7 @@
import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id';
import Note, { packMany } from '../../../../models/note';
import define from '../../define';
+import Mute from '../../../../models/mute';
export const meta = {
desc: {
@@ -33,13 +34,25 @@ export const meta = {
};
export default define(meta, (ps, user) => new Promise(async (res, rej) => {
+ // ミュートしているユーザーを取得
+ const mutedUserIds = user ? (await Mute.find({
+ muterId: user._id
+ })).map(m => m.muteeId) : null;
- const notes = await Note.find({
- replyId: ps.noteId
- }, {
- limit: ps.limit,
- skip: ps.offset
- });
+ const q = {
+ replyId: ps.noteId
+ } as any;
+
+ if (mutedUserIds && mutedUserIds.length > 0) {
+ q['userId'] = {
+ $nin: mutedUserIds
+ };
+ }
+
+ const notes = await Note.find(q, {
+ limit: ps.limit,
+ skip: ps.offset
+ });
res(await packMany(notes, user));
}));