fix clan vault not showing its contents when loading into dojo

This commit is contained in:
Sainan 2025-03-06 17:57:06 +01:00
parent ff1083c835
commit f7ab620c80
3 changed files with 29 additions and 15 deletions

View File

@ -3,6 +3,7 @@ import { Inventory } from "@/src/models/inventoryModels/inventoryModel";
import { Guild } from "@/src/models/guildModel";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { toOid } from "@/src/helpers/inventoryHelpers";
import { getGuildVault } from "@/src/services/guildService";
const getGuildController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
@ -62,7 +63,8 @@ const getGuildController: RequestHandler = async (req, res) => {
Permissions: 4096
}
],
Tier: 1
Tier: 1,
Vault: getGuildVault(guild)
});
return;
}

View File

@ -3,7 +3,13 @@ import { getAccountIdForRequest } from "@/src/services/loginService";
import { getInventory } from "@/src/services/inventoryService";
import { Guild, TGuildDatabaseDocument } from "@/src/models/guildModel";
import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
import { IDojoClient, IDojoComponentClient, IDojoContributable, IDojoDecoClient } from "@/src/types/guildTypes";
import {
IDojoClient,
IDojoComponentClient,
IDojoContributable,
IDojoDecoClient,
IGuildVault
} from "@/src/types/guildTypes";
import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
import { Types } from "mongoose";
import { ExportDojoRecipes } from "warframe-public-export-plus";
@ -30,6 +36,14 @@ export const getGuildForRequestEx = async (
return guild;
};
export const getGuildVault = (guild: TGuildDatabaseDocument): IGuildVault => {
return {
DojoRefundRegularCredits: guild.VaultRegularCredits,
DojoRefundMiscItems: guild.VaultMiscItems,
DojoRefundPremiumCredits: guild.VaultPremiumCredits
};
};
export const getDojoClient = async (
guild: TGuildDatabaseDocument,
status: number,
@ -41,11 +55,7 @@ export const getDojoClient = async (
Tier: 1,
FixedContributions: true,
DojoRevision: 1,
Vault: {
DojoRefundRegularCredits: guild.VaultRegularCredits,
DojoRefundMiscItems: guild.VaultMiscItems,
DojoRefundPremiumCredits: guild.VaultPremiumCredits
},
Vault: getGuildVault(guild),
RevisionTime: Math.round(Date.now() / 1000),
Energy: guild.DojoEnergy,
Capacity: guild.DojoCapacity,

View File

@ -17,6 +17,15 @@ export interface IGuildDatabase extends IGuild {
TechProjects?: ITechProjectDatabase[];
}
export interface IGuildVault {
DojoRefundRegularCredits?: number;
DojoRefundMiscItems?: IMiscItem[];
DojoRefundPremiumCredits?: number;
ShipDecorations?: ITypeCount[];
FusionTreasures?: IFusionTreasure[];
DecoRecipes?: ITypeCount[]; // Event Trophies
}
export interface IDojoClient {
_id: IOid; // ID of the guild
Name: string;
@ -24,14 +33,7 @@ export interface IDojoClient {
FixedContributions: boolean;
DojoRevision: number;
AllianceId?: IOid;
Vault?: {
DojoRefundRegularCredits?: number;
DojoRefundMiscItems?: IMiscItem[];
DojoRefundPremiumCredits?: number;
ShipDecorations?: ITypeCount[];
FusionTreasures?: IFusionTreasure[];
DecoRecipes?: ITypeCount[]; // Event Trophies
};
Vault?: IGuildVault;
Class?: number; // Level
RevisionTime: number;
Energy: number;