summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/notes
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/notes')
-rw-r--r--src/server/api/endpoints/notes/mentions.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/server/api/endpoints/notes/mentions.ts b/src/server/api/endpoints/notes/mentions.ts
index a353165cd0..4c7c397c77 100644
--- a/src/server/api/endpoints/notes/mentions.ts
+++ b/src/server/api/endpoints/notes/mentions.ts
@@ -4,6 +4,7 @@ import { getFriendIds } from '../../common/get-friends';
import { packMany } from '../../../../models/note';
import define from '../../define';
import read from '../../../../services/note/read';
+import Mute from '../../../../models/mute';
export const meta = {
desc: {
@@ -56,6 +57,25 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
}]
} as any;
+ // ミュートしているユーザーを取得
+ const mutedUserIds = (await Mute.find({
+ muterId: user._id
+ })).map(m => m.muteeId);
+
+ if (mutedUserIds && mutedUserIds.length > 0) {
+ query.userId = {
+ $nin: mutedUserIds
+ };
+
+ query['_reply.userId'] = {
+ $nin: mutedUserIds
+ };
+
+ query['_renote.userId'] = {
+ $nin: mutedUserIds
+ };
+ }
+
const sort = {
_id: -1
};