From fcdd9e57c12c4f1bd2621e3ee3f25a93ddd026f5 Mon Sep 17 00:00:00 2001 From: Trivernis Date: Fri, 31 Jan 2020 16:39:17 +0100 Subject: [PATCH] Fix duplicated friend in friend list --- src/lib/models/User.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lib/models/User.ts b/src/lib/models/User.ts index ad571db..06908bf 100644 --- a/src/lib/models/User.ts +++ b/src/lib/models/User.ts @@ -293,7 +293,13 @@ export class User extends Model { offset = offset ?? 0; let friendList = await this.$get("rFriendOf", {limit, offset}) as User[]; friendList = friendList.concat(await this.$get("rFriends", {limit, offset}) as User[]); - return friendList.slice(0, limit); + const resultList: User[] = []; + for (const friend of friendList) { + if (!resultList.find((user) => user.id === friend.id) && friend.id !== this.id) { + resultList.push(friend); + } + } + return resultList.slice(0, limit); } /** @@ -430,7 +436,7 @@ export class User extends Model { await Friendship.bulkCreate([ {userId: this.id, friendId: sender}, {userId: sender, friendId: this.id}, - ], {ignoreDuplicates: true}); + ], {ignoreDuplicates: false}); await request.destroy(); } } else {