chore: fill in guild member data asynchronously #1715
@ -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,
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user