chore: run save operations in parallel where possible #1401
@ -64,9 +64,11 @@ export const contributeToDojoComponentController: RequestHandler = async (req, r
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await guild.save();
 | 
					    await Promise.all([
 | 
				
			||||||
    await inventory.save();
 | 
					        guild.save(),
 | 
				
			||||||
    await guildMember.save();
 | 
					        inventory.save(),
 | 
				
			||||||
 | 
					        guildMember.save(),
 | 
				
			||||||
 | 
					    ]);
 | 
				
			||||||
    res.json({
 | 
					    res.json({
 | 
				
			||||||
        ...(await getDojoClient(guild, 0, component._id)),
 | 
					        ...(await getDojoClient(guild, 0, component._id)),
 | 
				
			||||||
        InventoryChanges: inventoryChanges
 | 
					        InventoryChanges: inventoryChanges
 | 
				
			||||||
 | 
				
			|||||||
@ -52,9 +52,11 @@ export const contributeToVaultController: RequestHandler = async (req, res) => {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await guild.save();
 | 
					    await Promise.all([
 | 
				
			||||||
    await inventory.save();
 | 
					        guild.save(),
 | 
				
			||||||
    await guildMember.save();
 | 
					        inventory.save(),
 | 
				
			||||||
 | 
					        guildMember.save(),
 | 
				
			||||||
 | 
					    ]);
 | 
				
			||||||
    res.end();
 | 
					    res.end();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -47,13 +47,15 @@ export const dojoComponentRushController: RequestHandler = async (req, res) => {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    await guild.save();
 | 
					 | 
				
			||||||
    await inventory.save();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    const guildMember = (await GuildMember.findOne({ accountId, guildId: guild._id }, "PremiumCreditsContributed"))!;
 | 
					    const guildMember = (await GuildMember.findOne({ accountId, guildId: guild._id }, "PremiumCreditsContributed"))!;
 | 
				
			||||||
    guildMember.PremiumCreditsContributed ??= 0;
 | 
					    guildMember.PremiumCreditsContributed ??= 0;
 | 
				
			||||||
    guildMember.PremiumCreditsContributed += request.Amount;
 | 
					    guildMember.PremiumCreditsContributed += request.Amount;
 | 
				
			||||||
    await guildMember.save();
 | 
					
 | 
				
			||||||
 | 
					    await Promise.all([
 | 
				
			||||||
 | 
					        guild.save(),
 | 
				
			||||||
 | 
					        inventory.save(),
 | 
				
			||||||
 | 
					        guildMember.save(),
 | 
				
			||||||
 | 
					    ]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res.json({
 | 
					    res.json({
 | 
				
			||||||
        ...(await getDojoClient(guild, 0, component._id)),
 | 
					        ...(await getDojoClient(guild, 0, component._id)),
 | 
				
			||||||
 | 
				
			|||||||
@ -157,9 +157,11 @@ export const guildTechController: RequestHandler = async (req, res) => {
 | 
				
			|||||||
        // Check if research is fully funded now.
 | 
					        // Check if research is fully funded now.
 | 
				
			||||||
        await processGuildTechProjectContributionsUpdate(guild, techProject);
 | 
					        await processGuildTechProjectContributionsUpdate(guild, techProject);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        await guild.save();
 | 
					        await Promise.all([
 | 
				
			||||||
        await inventory.save();
 | 
					            guild.save(),
 | 
				
			||||||
        await guildMember.save();
 | 
					            inventory.save(),
 | 
				
			||||||
 | 
					            guildMember.save(),
 | 
				
			||||||
 | 
					        ]);
 | 
				
			||||||
        res.json({
 | 
					        res.json({
 | 
				
			||||||
            InventoryChanges: inventoryChanges,
 | 
					            InventoryChanges: inventoryChanges,
 | 
				
			||||||
            Vault: getGuildVault(guild)
 | 
					            Vault: getGuildVault(guild)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user