From 02f108d70a35c6f3f79c3111b2f0b96273627c13 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Fri, 18 Apr 2025 02:52:10 +0200 Subject: [PATCH] chore: fill in guild member data asynchronously --- src/services/guildService.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/services/guildService.ts b/src/services/guildService.ts index e490c304..d409654d 100644 --- a/src/services/guildService.ts +++ b/src/services/guildService.ts @@ -59,6 +59,7 @@ export const getGuildClient = async (guild: TGuildDatabaseDocument, accountId: s const members: IGuildMemberClient[] = []; let missingEntry = true; + const dataFillInPromises: Promise[] = []; for (const guildMember of guildMembers) { const member: IGuildMemberClient = { _id: toOid(guildMember.accountId), @@ -70,8 +71,12 @@ export const getGuildClient = async (guild: TGuildDatabaseDocument, accountId: s if (guildMember.accountId.equals(accountId)) { missingEntry = false; } else { - member.DisplayName = (await Account.findById(guildMember.accountId, "DisplayName"))!.DisplayName; - await fillInInventoryDataForGuildMember(member); + dataFillInPromises.push( + (async (): Promise => { + member.DisplayName = (await Account.findById(guildMember.accountId, "DisplayName"))!.DisplayName; + })() + ); + dataFillInPromises.push(fillInInventoryDataForGuildMember(member)); } members.push(member); } @@ -90,6 +95,8 @@ export const getGuildClient = async (guild: TGuildDatabaseDocument, accountId: s }); } + await Promise.all(dataFillInPromises); + return { _id: toOid(guild._id), Name: guild.Name,