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[] = [];
let missingEntry = true;
const dataFillInPromises: Promise<void>[] = [];
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 {
dataFillInPromises.push(
(async (): Promise<void> => {
member.DisplayName = (await Account.findById(guildMember.accountId, "DisplayName"))!.DisplayName;
await fillInInventoryDataForGuildMember(member);
})()
);
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,