diff --git a/src/server/api/endpoints/notes/polls/recommendation.ts b/src/server/api/endpoints/notes/polls/recommendation.ts index 2bc1a4f91..ddb089279 100644 --- a/src/server/api/endpoints/notes/polls/recommendation.ts +++ b/src/server/api/endpoints/notes/polls/recommendation.ts @@ -2,6 +2,7 @@ import $ from 'cafy'; import Vote from '../../../../../models/poll-vote'; import Note, { pack } from '../../../../../models/note'; import define from '../../../define'; +import Mute from '../../../../../models/mute'; export const meta = { desc: { @@ -37,6 +38,11 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { const nin = votes && votes.length != 0 ? votes.map(v => v.noteId) : []; + // ミュートしているユーザーを取得 + const mutedUserIds = await Mute.find({ + muterId: user._id + }).then(ms => ms.map(m => m.muteeId)); + const notes = await Note .find({ '_user.host': null, @@ -44,7 +50,8 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { $nin: nin }, userId: { - $ne: user._id + $ne: user._id, + $nin: mutedUserIds }, poll: { $exists: true,