chore: fill in guild member data asynchronously
All checks were successful
Build / build (push) Successful in 1m25s
Build / build (pull_request) Successful in 1m25s

This commit is contained in:
Sainan 2025-04-18 02:52:10 +02:00
parent 79492efbb4
commit 02f108d70a

View File

@ -59,6 +59,7 @@ export const getGuildClient = async (guild: TGuildDatabaseDocument, accountId: s
const members: IGuildMemberClient[] = []; const members: IGuildMemberClient[] = [];
let missingEntry = true; let missingEntry = true;
const dataFillInPromises: Promise<void>[] = [];
for (const guildMember of guildMembers) { for (const guildMember of guildMembers) {
const member: IGuildMemberClient = { const member: IGuildMemberClient = {
_id: toOid(guildMember.accountId), _id: toOid(guildMember.accountId),
@ -70,8 +71,12 @@ export const getGuildClient = async (guild: TGuildDatabaseDocument, accountId: s
if (guildMember.accountId.equals(accountId)) { if (guildMember.accountId.equals(accountId)) {
missingEntry = false; missingEntry = false;
} else { } else {
member.DisplayName = (await Account.findById(guildMember.accountId, "DisplayName"))!.DisplayName; dataFillInPromises.push(
await fillInInventoryDataForGuildMember(member); (async (): Promise<void> => {
member.DisplayName = (await Account.findById(guildMember.accountId, "DisplayName"))!.DisplayName;
})()
);
dataFillInPromises.push(fillInInventoryDataForGuildMember(member));
} }
members.push(member); members.push(member);
} }
@ -90,6 +95,8 @@ export const getGuildClient = async (guild: TGuildDatabaseDocument, accountId: s
}); });
} }
await Promise.all(dataFillInPromises);
return { return {
_id: toOid(guild._id), _id: toOid(guild._id),
Name: guild.Name, Name: guild.Name,