feat: clan vault #1093
@ -3,6 +3,7 @@ import { Inventory } from "@/src/models/inventoryModels/inventoryModel";
 | 
				
			|||||||
import { Guild } from "@/src/models/guildModel";
 | 
					import { Guild } from "@/src/models/guildModel";
 | 
				
			||||||
import { getAccountIdForRequest } from "@/src/services/loginService";
 | 
					import { getAccountIdForRequest } from "@/src/services/loginService";
 | 
				
			||||||
import { toOid } from "@/src/helpers/inventoryHelpers";
 | 
					import { toOid } from "@/src/helpers/inventoryHelpers";
 | 
				
			||||||
 | 
					import { getGuildVault } from "@/src/services/guildService";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getGuildController: RequestHandler = async (req, res) => {
 | 
					const getGuildController: RequestHandler = async (req, res) => {
 | 
				
			||||||
    const accountId = await getAccountIdForRequest(req);
 | 
					    const accountId = await getAccountIdForRequest(req);
 | 
				
			||||||
@ -62,7 +63,8 @@ const getGuildController: RequestHandler = async (req, res) => {
 | 
				
			|||||||
                        Permissions: 4096
 | 
					                        Permissions: 4096
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                Tier: 1
 | 
					                Tier: 1,
 | 
				
			||||||
 | 
					                Vault: getGuildVault(guild)
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,13 @@ import { getAccountIdForRequest } from "@/src/services/loginService";
 | 
				
			|||||||
import { getInventory } from "@/src/services/inventoryService";
 | 
					import { getInventory } from "@/src/services/inventoryService";
 | 
				
			||||||
import { Guild, TGuildDatabaseDocument } from "@/src/models/guildModel";
 | 
					import { Guild, TGuildDatabaseDocument } from "@/src/models/guildModel";
 | 
				
			||||||
import { TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
 | 
					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 { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
 | 
				
			||||||
import { Types } from "mongoose";
 | 
					import { Types } from "mongoose";
 | 
				
			||||||
import { ExportDojoRecipes } from "warframe-public-export-plus";
 | 
					import { ExportDojoRecipes } from "warframe-public-export-plus";
 | 
				
			||||||
@ -30,6 +36,14 @@ export const getGuildForRequestEx = async (
 | 
				
			|||||||
    return guild;
 | 
					    return guild;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const getGuildVault = (guild: TGuildDatabaseDocument): IGuildVault => {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					        DojoRefundRegularCredits: guild.VaultRegularCredits,
 | 
				
			||||||
 | 
					        DojoRefundMiscItems: guild.VaultMiscItems,
 | 
				
			||||||
 | 
					        DojoRefundPremiumCredits: guild.VaultPremiumCredits
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const getDojoClient = async (
 | 
					export const getDojoClient = async (
 | 
				
			||||||
    guild: TGuildDatabaseDocument,
 | 
					    guild: TGuildDatabaseDocument,
 | 
				
			||||||
    status: number,
 | 
					    status: number,
 | 
				
			||||||
@ -41,11 +55,7 @@ export const getDojoClient = async (
 | 
				
			|||||||
        Tier: 1,
 | 
					        Tier: 1,
 | 
				
			||||||
        FixedContributions: true,
 | 
					        FixedContributions: true,
 | 
				
			||||||
        DojoRevision: 1,
 | 
					        DojoRevision: 1,
 | 
				
			||||||
        Vault: {
 | 
					        Vault: getGuildVault(guild),
 | 
				
			||||||
            DojoRefundRegularCredits: guild.VaultRegularCredits,
 | 
					 | 
				
			||||||
            DojoRefundMiscItems: guild.VaultMiscItems,
 | 
					 | 
				
			||||||
            DojoRefundPremiumCredits: guild.VaultPremiumCredits
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        RevisionTime: Math.round(Date.now() / 1000),
 | 
					        RevisionTime: Math.round(Date.now() / 1000),
 | 
				
			||||||
        Energy: guild.DojoEnergy,
 | 
					        Energy: guild.DojoEnergy,
 | 
				
			||||||
        Capacity: guild.DojoCapacity,
 | 
					        Capacity: guild.DojoCapacity,
 | 
				
			||||||
 | 
				
			|||||||
@ -17,6 +17,15 @@ export interface IGuildDatabase extends IGuild {
 | 
				
			|||||||
    TechProjects?: ITechProjectDatabase[];
 | 
					    TechProjects?: ITechProjectDatabase[];
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export interface IGuildVault {
 | 
				
			||||||
 | 
					    DojoRefundRegularCredits?: number;
 | 
				
			||||||
 | 
					    DojoRefundMiscItems?: IMiscItem[];
 | 
				
			||||||
 | 
					    DojoRefundPremiumCredits?: number;
 | 
				
			||||||
 | 
					    ShipDecorations?: ITypeCount[];
 | 
				
			||||||
 | 
					    FusionTreasures?: IFusionTreasure[];
 | 
				
			||||||
 | 
					    DecoRecipes?: ITypeCount[]; // Event Trophies
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface IDojoClient {
 | 
					export interface IDojoClient {
 | 
				
			||||||
    _id: IOid; // ID of the guild
 | 
					    _id: IOid; // ID of the guild
 | 
				
			||||||
    Name: string;
 | 
					    Name: string;
 | 
				
			||||||
@ -24,14 +33,7 @@ export interface IDojoClient {
 | 
				
			|||||||
    FixedContributions: boolean;
 | 
					    FixedContributions: boolean;
 | 
				
			||||||
    DojoRevision: number;
 | 
					    DojoRevision: number;
 | 
				
			||||||
    AllianceId?: IOid;
 | 
					    AllianceId?: IOid;
 | 
				
			||||||
    Vault?: {
 | 
					    Vault?: IGuildVault;
 | 
				
			||||||
        DojoRefundRegularCredits?: number;
 | 
					 | 
				
			||||||
        DojoRefundMiscItems?: IMiscItem[];
 | 
					 | 
				
			||||||
        DojoRefundPremiumCredits?: number;
 | 
					 | 
				
			||||||
        ShipDecorations?: ITypeCount[];
 | 
					 | 
				
			||||||
        FusionTreasures?: IFusionTreasure[];
 | 
					 | 
				
			||||||
        DecoRecipes?: ITypeCount[]; // Event Trophies
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
    Class?: number; // Level
 | 
					    Class?: number; // Level
 | 
				
			||||||
    RevisionTime: number;
 | 
					    RevisionTime: number;
 | 
				
			||||||
    Energy: number;
 | 
					    Energy: number;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user