mirror of
https://iceshrimp.dev/limepotato/jormungandr-bite.git
synced 2024-11-22 01:47:39 -07:00
[mastodon-client] Fix user profile aggregate when only target is self
This commit is contained in:
parent
f350755721
commit
5490137f44
1 changed files with 13 additions and 9 deletions
|
@ -126,19 +126,23 @@ export class UserConverter {
|
|||
const userProfileAggregate = new Map<User["id"], UserProfile | null>();
|
||||
|
||||
if (user) {
|
||||
const targetsWithoutSelf = targets.filter(u => u !== user.id);
|
||||
|
||||
if (targetsWithoutSelf.length > 0) {
|
||||
const followings = await Followings.createQueryBuilder('following')
|
||||
.select('following.followeeId')
|
||||
.where('following.followerId = :meId', { meId: user.id })
|
||||
.andWhere('following.followeeId IN (:...targets)', { targets: targets.filter(u => u !== user.id) })
|
||||
.andWhere('following.followeeId IN (:...targets)', { targets: targetsWithoutSelf })
|
||||
.getMany();
|
||||
|
||||
followedOrSelfAggregate.set(user.id, true);
|
||||
|
||||
for (const userId of targets.filter(u => u !== user.id)) {
|
||||
for (const userId of targetsWithoutSelf) {
|
||||
followedOrSelfAggregate.set(userId, !!followings.find(f => f.followerId === userId));
|
||||
}
|
||||
}
|
||||
|
||||
followedOrSelfAggregate.set(user.id, true);
|
||||
}
|
||||
|
||||
const profiles = await UserProfiles.findBy({
|
||||
userId: In(targets)
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue