wip
This commit is contained in:
parent
b66df850e5
commit
58eec94250
|
@ -840,7 +840,7 @@ export class NoteCreateService implements OnApplicationShutdown {
|
||||||
select: ['followerId', 'withReplies'],
|
select: ['followerId', 'withReplies'],
|
||||||
});
|
});
|
||||||
|
|
||||||
let userLists = await this.userListJoiningsRepository.find({
|
const userLists = await this.userListJoiningsRepository.find({
|
||||||
where: {
|
where: {
|
||||||
userId: user.id,
|
userId: user.id,
|
||||||
},
|
},
|
||||||
|
@ -869,10 +869,11 @@ export class NoteCreateService implements OnApplicationShutdown {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (note.visibility === 'followers') {
|
// TODO
|
||||||
// TODO: 重そうだから何とかしたい Set 使う?
|
//if (note.visibility === 'followers') {
|
||||||
userLists = userLists.filter(x => followings.some(f => f.followerId === x.userListId));
|
// // TODO: 重そうだから何とかしたい Set 使う?
|
||||||
}
|
// userLists = userLists.filter(x => followings.some(f => f.followerId === x.userListUserId));
|
||||||
|
//}
|
||||||
|
|
||||||
for (const userList of userLists) {
|
for (const userList of userLists) {
|
||||||
// 自分自身以外への返信
|
// 自分自身以外への返信
|
||||||
|
|
|
@ -516,6 +516,7 @@ describe('Timelines', () => {
|
||||||
assert.strictEqual(res.body.some((note: any) => note.id === bobNote.id), true);
|
assert.strictEqual(res.body.some((note: any) => note.id === bobNote.id), true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
test('リスインしているフォローしていないユーザーの visibility: followers なノートが含まれない', async () => {
|
test('リスインしているフォローしていないユーザーの visibility: followers なノートが含まれない', async () => {
|
||||||
const [alice, bob] = await Promise.all([signup(), signup()]);
|
const [alice, bob] = await Promise.all([signup(), signup()]);
|
||||||
|
|
||||||
|
@ -529,6 +530,22 @@ describe('Timelines', () => {
|
||||||
|
|
||||||
assert.strictEqual(res.body.some((note: any) => note.id === bobNote.id), false);
|
assert.strictEqual(res.body.some((note: any) => note.id === bobNote.id), false);
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
test('リスインしているフォローしていないユーザーの visibility: followers なノートが含まれるが隠される', async () => {
|
||||||
|
const [alice, bob] = await Promise.all([signup(), signup()]);
|
||||||
|
|
||||||
|
const list = await api('/users/lists/create', { name: 'list' }, alice).then(res => res.body);
|
||||||
|
await api('/users/lists/push', { listId: list.id, userId: bob.id }, alice);
|
||||||
|
const bobNote = await post(bob, { text: 'hi', visibility: 'followers' });
|
||||||
|
|
||||||
|
await sleep(100); // redisに追加されるのを待つ
|
||||||
|
|
||||||
|
const res = await api('/notes/user-list-timeline', { listId: list.id }, alice);
|
||||||
|
|
||||||
|
assert.strictEqual(res.body.some((note: any) => note.id === bobNote.id), true);
|
||||||
|
assert.strictEqual(res.body.find((note: any) => note.id === bobNote.id).text, null);
|
||||||
|
});
|
||||||
|
|
||||||
test('リスインしているフォローしているユーザーの visibility: home なノートが含まれる', async () => {
|
test('リスインしているフォローしているユーザーの visibility: home なノートが含まれる', async () => {
|
||||||
const [alice, bob] = await Promise.all([signup(), signup()]);
|
const [alice, bob] = await Promise.all([signup(), signup()]);
|
||||||
|
|
Loading…
Reference in New Issue