add fillInInventoryDataForGuildMember

This commit is contained in:
Sainan 2025-03-10 15:44:21 +01:00
parent 991068aad7
commit 4389b5d12c
2 changed files with 16 additions and 12 deletions

View File

@ -3,11 +3,10 @@ import { Inventory } from "@/src/models/inventoryModels/inventoryModel";
import { Guild, GuildMember } from "@/src/models/guildModel"; import { Guild, GuildMember } from "@/src/models/guildModel";
import { getAccountIdForRequest } from "@/src/services/loginService"; import { getAccountIdForRequest } from "@/src/services/loginService";
import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers"; import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers";
import { getGuildVault } from "@/src/services/guildService"; import { fillInInventoryDataForGuildMember, getGuildVault } from "@/src/services/guildService";
import { logger } from "@/src/utils/logger"; import { logger } from "@/src/utils/logger";
import { IGuildMemberClient } from "@/src/types/guildTypes"; import { IGuildMemberClient } from "@/src/types/guildTypes";
import { Account } from "@/src/models/loginModel"; import { Account } from "@/src/models/loginModel";
import { config } from "@/src/services/configService";
const getGuildController: RequestHandler = async (req, res) => { const getGuildController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req); const accountId = await getAccountIdForRequest(req);
@ -45,15 +44,7 @@ const getGuildController: RequestHandler = async (req, res) => {
}, },
"DisplayName" "DisplayName"
))!.DisplayName; ))!.DisplayName;
const inventory = (await Inventory.findOne( await fillInInventoryDataForGuildMember(member);
{
accountOwnerId: guildMember.accountId
},
"PlayerLevel ActiveAvatarImageType"
))!;
member.PlayerLevel =
config.spoofMasteryRank == -1 ? inventory.PlayerLevel : config.spoofMasteryRank;
member.ActiveAvatarImageType = inventory.ActiveAvatarImageType;
} }
members.push(member); members.push(member);
} }

View File

@ -2,18 +2,20 @@ import { Request } from "express";
import { getAccountIdForRequest } from "@/src/services/loginService"; 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 { Inventory, TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel";
import { import {
IDojoClient, IDojoClient,
IDojoComponentClient, IDojoComponentClient,
IDojoContributable, IDojoContributable,
IDojoDecoClient, IDojoDecoClient,
IGuildMemberClient,
IGuildVault IGuildVault
} from "@/src/types/guildTypes"; } 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, IDojoBuild } from "warframe-public-export-plus"; import { ExportDojoRecipes, IDojoBuild } from "warframe-public-export-plus";
import { logger } from "../utils/logger"; import { logger } from "../utils/logger";
import { config } from "./configService";
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);
@ -192,3 +194,14 @@ export const processDojoBuildMaterialsGathered = (guild: TGuildDatabaseDocument,
} }
} }
}; };
export const fillInInventoryDataForGuildMember = async (member: IGuildMemberClient): Promise<void> => {
const inventory = (await Inventory.findOne(
{
accountOwnerId: member._id.$oid
},
"PlayerLevel ActiveAvatarImageType"
))!;
member.PlayerLevel = config.spoofMasteryRank == -1 ? inventory.PlayerLevel : config.spoofMasteryRank;
member.ActiveAvatarImageType = inventory.ActiveAvatarImageType;
};