feat: clan vault #1093
@ -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;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -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,
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user