diff options
Diffstat (limited to 'src/server/api/endpoints')
| -rw-r--r-- | src/server/api/endpoints/notes/user-list-timeline.ts | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/server/api/endpoints/notes/user-list-timeline.ts b/src/server/api/endpoints/notes/user-list-timeline.ts index eab3b9788a..99b063377f 100644 --- a/src/server/api/endpoints/notes/user-list-timeline.ts +++ b/src/server/api/endpoints/notes/user-list-timeline.ts @@ -4,6 +4,7 @@ import Mute from '../../../../models/mute'; import { packMany } from '../../../../models/note'; import UserList from '../../../../models/user-list'; import define from '../../define'; +import { getFriends } from '../../common/get-friends'; export const meta = { desc: { @@ -101,7 +102,7 @@ export const meta = { }; export default define(meta, (ps, user) => new Promise(async (res, rej) => { - const [list, mutedUserIds] = await Promise.all([ + const [list, followings, mutedUserIds] = await Promise.all([ // リストを取得 // Fetch the list UserList.findOne({ @@ -109,6 +110,10 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { userId: user._id }), + // フォローを取得 + // Fetch following + getFriends(user._id, true, false), + // ミュートしているユーザーを取得 Mute.find({ muterId: user._id @@ -146,16 +151,17 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { }] })); - const visibleQuery = user == null ? [{ - visibility: { $in: [ 'public', 'home' ] } - }] : [{ - visibility: { $in: [ 'public', 'home' ] } + const visibleQuery = [{ + visibility: { $in: ['public', 'home'] } }, { // myself (for specified/private) userId: user._id }, { // to me (for specified) - visibleUserIds: { $in: [ user._id ] } + visibleUserIds: { $in: [user._id] } + }, { + visibility: 'followers', + userId: { $in: followings.map(f => f.id) } }]; const query = { |