summaryrefslogtreecommitdiff
path: root/src/server/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api')
-rw-r--r--src/server/api/endpoints/notes/mentions.ts13
-rw-r--r--src/server/api/endpoints/notes/replies.ts13
2 files changed, 22 insertions, 4 deletions
diff --git a/src/server/api/endpoints/notes/mentions.ts b/src/server/api/endpoints/notes/mentions.ts
index 8747590606..e37d475df7 100644
--- a/src/server/api/endpoints/notes/mentions.ts
+++ b/src/server/api/endpoints/notes/mentions.ts
@@ -53,14 +53,23 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
const visibleQuery = [{
visibility: { $in: [ 'public', 'home' ] }
}, {
- // myself (for specified/private)
+ // myself (for followers/specified/private)
userId: user._id
}, {
// to me (for specified)
visibleUserIds: { $in: [ user._id ] }
}, {
visibility: 'followers',
- userId: { $in: followings.map(f => f.id) }
+ $or: [{
+ // フォロワーの投稿
+ userId: { $in: followings.map(f => f.id) },
+ }, {
+ // 自分の投稿へのリプライ
+ '_reply.userId': user._id,
+ }, {
+ // 自分へのメンションが含まれている
+ mentions: { $in: [ user._id ] }
+ }]
}];
const query = {
diff --git a/src/server/api/endpoints/notes/replies.ts b/src/server/api/endpoints/notes/replies.ts
index 112156403d..199139c8e5 100644
--- a/src/server/api/endpoints/notes/replies.ts
+++ b/src/server/api/endpoints/notes/replies.ts
@@ -51,14 +51,23 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => {
}] : [{
visibility: { $in: [ 'public', 'home' ] }
}, {
- // myself (for specified/private)
+ // myself (for followers/specified/private)
userId: user._id
}, {
// to me (for specified)
visibleUserIds: { $in: [ user._id ] }
}, {
visibility: 'followers',
- userId: { $in: followings.map(f => f.id) }
+ $or: [{
+ // フォロワーの投稿
+ userId: { $in: followings.map(f => f.id) },
+ }, {
+ // 自分の投稿へのリプライ
+ '_reply.userId': user._id,
+ }, {
+ // 自分へのメンションが含まれている
+ mentions: { $in: [ user._id ] }
+ }]
}];
const q = {