diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-01-22 21:21:47 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-01-22 21:21:47 +0900 |
| commit | d5e80caac8180b2bcb59e3dba9b280e8b2ab1903 (patch) | |
| tree | 3cbf474d4e093bbe91b85fa0a480c19f62dc4f01 /src/server/api | |
| parent | Create CODEOWNERS (#3882) (diff) | |
| download | sharkey-d5e80caac8180b2bcb59e3dba9b280e8b2ab1903.tar.gz sharkey-d5e80caac8180b2bcb59e3dba9b280e8b2ab1903.tar.bz2 sharkey-d5e80caac8180b2bcb59e3dba9b280e8b2ab1903.zip | |
[Server] Fix #3958
Diffstat (limited to 'src/server/api')
| -rw-r--r-- | src/server/api/endpoints/notes/replies.ts | 25 |
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)); })); |