chore: use parallelForeach in deleteGuild (#1458)

Reviewed-on: OpenWF/SpaceNinjaServer#1458
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-04-04 15:16:57 -07:00 committed by Sainan
parent d5ff349746
commit d94b4fd946

View File

@ -29,6 +29,7 @@ import { getRandomInt } from "./rngService";
import { Inbox } from "../models/inboxModel"; import { Inbox } from "../models/inboxModel";
import { IFusionTreasure, ITypeCount } from "../types/inventoryTypes/inventoryTypes"; import { IFusionTreasure, ITypeCount } from "../types/inventoryTypes/inventoryTypes";
import { IInventoryChanges } from "../types/purchaseTypes"; import { IInventoryChanges } from "../types/purchaseTypes";
import { parallelForeach } from "../utils/async-utils";
export const getGuildForRequest = async (req: Request): Promise<TGuildDatabaseDocument> => { export const getGuildForRequest = async (req: Request): Promise<TGuildDatabaseDocument> => {
const accountId = await getAccountIdForRequest(req); const accountId = await getAccountIdForRequest(req);
@ -595,12 +596,12 @@ export const deleteGuild = async (guildId: Types.ObjectId): Promise<void> => {
await Guild.deleteOne({ _id: guildId }); await Guild.deleteOne({ _id: guildId });
const guildMembers = await GuildMember.find({ guildId, status: 0 }, "accountId"); const guildMembers = await GuildMember.find({ guildId, status: 0 }, "accountId");
for (const member of guildMembers) { await parallelForeach(guildMembers, async member => {
const inventory = await getInventory(member.accountId.toString(), "GuildId LevelKeys Recipes"); const inventory = await getInventory(member.accountId.toString(), "GuildId LevelKeys Recipes");
inventory.GuildId = undefined; inventory.GuildId = undefined;
removeDojoKeyItems(inventory); removeDojoKeyItems(inventory);
await inventory.save(); await inventory.save();
} });
await GuildMember.deleteMany({ guildId }); await GuildMember.deleteMany({ guildId });