From 977a4373c52790265a69cf72f31137dfd2cb79c9 Mon Sep 17 00:00:00 2001 From: syuilo Date: Mon, 21 Jan 2019 00:32:54 +0900 Subject: [Server] Fix #2745 --- src/server/api/endpoints/notes/user-list-timeline.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/server/api/endpoints/notes/user-list-timeline.ts') 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 = { -- cgit v1.2.3-freya