Compare commits

...

3 Commits

Author SHA1 Message Date
3e80d96b39 use inventory projection in contributeToVaultController
All checks were successful
Build / build (18) (push) Successful in 1m16s
Build / build (18) (pull_request) Successful in 43s
Build / build (22) (push) Successful in 40s
Build / build (20) (push) Successful in 1m13s
Build / build (20) (pull_request) Successful in 1m14s
Build / build (22) (pull_request) Successful in 1m12s
2025-03-31 03:30:32 +02:00
eadf7a530d prettier
All checks were successful
Build / build (18) (push) Successful in 42s
Build / build (20) (push) Successful in 1m12s
Build / build (22) (push) Successful in 1m9s
Build / build (18) (pull_request) Successful in 43s
Build / build (20) (pull_request) Successful in 1m13s
Build / build (22) (pull_request) Successful in 1m17s
2025-03-31 03:23:39 +02:00
12130c1eac chore: run save operatons in parallel where possible
Some checks failed
Build / build (22) (push) Failing after 38s
Build / build (18) (push) Failing after 1m16s
Build / build (20) (push) Failing after 1m3s
Build / build (18) (pull_request) Failing after 42s
Build / build (20) (pull_request) Failing after 1m12s
Build / build (22) (pull_request) Failing after 1m5s
2025-03-31 03:18:43 +02:00
4 changed files with 15 additions and 15 deletions

View File

@ -63,9 +63,7 @@ export const contributeToDojoComponentController: RequestHandler = async (req, r
}
}
await guild.save();
await inventory.save();
await guildMember.save();
await Promise.all([guild.save(), inventory.save(), guildMember.save()]);
res.json({
...(await getDojoClient(guild, 0, component._id)),
InventoryChanges: inventoryChanges

View File

@ -1,13 +1,19 @@
import { GuildMember } from "@/src/models/guildModel";
import { addVaultMiscItems, getGuildForRequestEx } from "@/src/services/guildService";
import { addFusionTreasures, addMiscItems, addShipDecorations, getInventory } from "@/src/services/inventoryService";
import {
addFusionTreasures,
addMiscItems,
addShipDecorations,
getInventory,
updateCurrency
} from "@/src/services/inventoryService";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { IFusionTreasure, IMiscItem, ITypeCount } from "@/src/types/inventoryTypes/inventoryTypes";
import { RequestHandler } from "express";
export const contributeToVaultController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const inventory = await getInventory(accountId);
const inventory = await getInventory(accountId, "GuildId RegularCredits MiscItems ShipDecorations FusionTreasures");
const guild = await getGuildForRequestEx(req, inventory);
const guildMember = (await GuildMember.findOne(
{ accountId, guildId: guild._id },
@ -16,6 +22,8 @@ export const contributeToVaultController: RequestHandler = async (req, res) => {
const request = JSON.parse(String(req.body)) as IContributeToVaultRequest;
if (request.RegularCredits) {
updateCurrency(inventory, request.RegularCredits, false);
guild.VaultRegularCredits ??= 0;
guild.VaultRegularCredits += request.RegularCredits;
@ -54,9 +62,7 @@ export const contributeToVaultController: RequestHandler = async (req, res) => {
}
}
await guild.save();
await inventory.save();
await guildMember.save();
await Promise.all([guild.save(), inventory.save(), guildMember.save()]);
res.end();
};

View File

@ -47,13 +47,11 @@ export const dojoComponentRushController: RequestHandler = async (req, res) => {
}
}
await guild.save();
await inventory.save();
const guildMember = (await GuildMember.findOne({ accountId, guildId: guild._id }, "PremiumCreditsContributed"))!;
guildMember.PremiumCreditsContributed ??= 0;
guildMember.PremiumCreditsContributed += request.Amount;
await guildMember.save();
await Promise.all([guild.save(), inventory.save(), guildMember.save()]);
res.json({
...(await getDojoClient(guild, 0, component._id)),

View File

@ -157,9 +157,7 @@ export const guildTechController: RequestHandler = async (req, res) => {
// Check if research is fully funded now.
await processGuildTechProjectContributionsUpdate(guild, techProject);
await guild.save();
await inventory.save();
await guildMember.save();
await Promise.all([guild.save(), inventory.save(), guildMember.save()]);
res.json({
InventoryChanges: inventoryChanges,
Vault: getGuildVault(guild)