separate InfestedFoundry client & database structs
This commit is contained in:
parent
103104cdbc
commit
04955c094e
@ -6,7 +6,7 @@ import { IOid } from "@/src/types/commonTypes";
|
|||||||
import {
|
import {
|
||||||
IConsumedSuit,
|
IConsumedSuit,
|
||||||
IHelminthFoodRecord,
|
IHelminthFoodRecord,
|
||||||
IInfestedFoundry,
|
IInfestedFoundryDatabase,
|
||||||
IMiscItem,
|
IMiscItem,
|
||||||
ITypeCount
|
ITypeCount
|
||||||
} from "@/src/types/inventoryTypes/inventoryTypes";
|
} from "@/src/types/inventoryTypes/inventoryTypes";
|
||||||
@ -356,7 +356,7 @@ interface IHelminthFeedRequest {
|
|||||||
}[];
|
}[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export const addInfestedFoundryXP = (infestedFoundry: IInfestedFoundry, delta: number): ITypeCount[] => {
|
export const addInfestedFoundryXP = (infestedFoundry: IInfestedFoundryDatabase, delta: number): ITypeCount[] => {
|
||||||
const recipeChanges: ITypeCount[] = [];
|
const recipeChanges: ITypeCount[] = [];
|
||||||
infestedFoundry.XP ??= 0;
|
infestedFoundry.XP ??= 0;
|
||||||
const prevXP = infestedFoundry.XP;
|
const prevXP = infestedFoundry.XP;
|
||||||
|
@ -6,7 +6,7 @@ import {
|
|||||||
EquipmentFeatures,
|
EquipmentFeatures,
|
||||||
IAbilityOverride
|
IAbilityOverride
|
||||||
} from "@/src/types/inventoryTypes/commonInventoryTypes";
|
} from "@/src/types/inventoryTypes/commonInventoryTypes";
|
||||||
import { IMiscItem } from "@/src/types/inventoryTypes/inventoryTypes";
|
import { IInventoryClient, IMiscItem } from "@/src/types/inventoryTypes/inventoryTypes";
|
||||||
import { getAccountIdForRequest } from "@/src/services/loginService";
|
import { getAccountIdForRequest } from "@/src/services/loginService";
|
||||||
import { addMiscItems, addRecipes, getInventory, updateCurrency } from "@/src/services/inventoryService";
|
import { addMiscItems, addRecipes, getInventory, updateCurrency } from "@/src/services/inventoryService";
|
||||||
import { getRecipeByResult } from "@/src/services/itemDataService";
|
import { getRecipeByResult } from "@/src/services/itemDataService";
|
||||||
@ -62,7 +62,7 @@ export const upgradesController: RequestHandler = async (req, res) => {
|
|||||||
addRecipes(inventory, recipeChanges);
|
addRecipes(inventory, recipeChanges);
|
||||||
|
|
||||||
inventoryChanges.Recipes = recipeChanges;
|
inventoryChanges.Recipes = recipeChanges;
|
||||||
inventoryChanges.InfestedFoundry = inventory.toJSON().InfestedFoundry;
|
inventoryChanges.InfestedFoundry = inventory.toJSON<IInventoryClient>().InfestedFoundry;
|
||||||
} else
|
} else
|
||||||
switch (operation.UpgradeRequirement) {
|
switch (operation.UpgradeRequirement) {
|
||||||
case "/Lotus/Types/Items/MiscItems/OrokinReactor":
|
case "/Lotus/Types/Items/MiscItems/OrokinReactor":
|
||||||
|
@ -23,7 +23,7 @@ import {
|
|||||||
ISeasonChallenge,
|
ISeasonChallenge,
|
||||||
IPlayerSkills,
|
IPlayerSkills,
|
||||||
ISettings,
|
ISettings,
|
||||||
IInfestedFoundry,
|
IInfestedFoundryDatabase,
|
||||||
IHelminthResource,
|
IHelminthResource,
|
||||||
IConsumedSuit,
|
IConsumedSuit,
|
||||||
IQuestProgress,
|
IQuestProgress,
|
||||||
@ -492,7 +492,7 @@ const helminthResourceSchema = new Schema<IHelminthResource>(
|
|||||||
{ _id: false }
|
{ _id: false }
|
||||||
);
|
);
|
||||||
|
|
||||||
const infestedFoundrySchema = new Schema<IInfestedFoundry>(
|
const infestedFoundrySchema = new Schema<IInfestedFoundryDatabase>(
|
||||||
{
|
{
|
||||||
Name: String,
|
Name: String,
|
||||||
Resources: { type: [helminthResourceSchema], default: undefined },
|
Resources: { type: [helminthResourceSchema], default: undefined },
|
||||||
|
@ -30,6 +30,7 @@ export interface IInventoryDatabase
|
|||||||
| "CrewShipWeaponSkins"
|
| "CrewShipWeaponSkins"
|
||||||
| "OperatorLoadOuts"
|
| "OperatorLoadOuts"
|
||||||
| "AdultOperatorLoadOuts"
|
| "AdultOperatorLoadOuts"
|
||||||
|
| "InfestedFoundry"
|
||||||
| TEquipmentKey
|
| TEquipmentKey
|
||||||
> {
|
> {
|
||||||
accountOwnerId: Types.ObjectId;
|
accountOwnerId: Types.ObjectId;
|
||||||
@ -48,6 +49,7 @@ export interface IInventoryDatabase
|
|||||||
CrewShipWeaponSkins: IUpgradeDatabase[];
|
CrewShipWeaponSkins: IUpgradeDatabase[];
|
||||||
OperatorLoadOuts: IOperatorConfigDatabase[];
|
OperatorLoadOuts: IOperatorConfigDatabase[];
|
||||||
AdultOperatorLoadOuts: IOperatorConfigDatabase[];
|
AdultOperatorLoadOuts: IOperatorConfigDatabase[];
|
||||||
|
InfestedFoundry?: IInfestedFoundryDatabase;
|
||||||
|
|
||||||
Suits: IEquipmentDatabase[];
|
Suits: IEquipmentDatabase[];
|
||||||
LongGuns: IEquipmentDatabase[];
|
LongGuns: IEquipmentDatabase[];
|
||||||
@ -305,7 +307,7 @@ export interface IInventoryClient extends IDailyAffiliations {
|
|||||||
PlayedParkourTutorial: boolean;
|
PlayedParkourTutorial: boolean;
|
||||||
SubscribedToEmailsPersonalized: number;
|
SubscribedToEmailsPersonalized: number;
|
||||||
MechSuits: IEquipmentDatabase[];
|
MechSuits: IEquipmentDatabase[];
|
||||||
InfestedFoundry?: IInfestedFoundry;
|
InfestedFoundry?: IInfestedFoundryClient;
|
||||||
BlessingCooldown: IMongoDate;
|
BlessingCooldown: IMongoDate;
|
||||||
CrewShipHarnesses: IEquipmentDatabase[];
|
CrewShipHarnesses: IEquipmentDatabase[];
|
||||||
CrewShipRawSalvage: IConsumable[];
|
CrewShipRawSalvage: IConsumable[];
|
||||||
@ -566,7 +568,7 @@ export interface IHelminthResource {
|
|||||||
RecentlyConvertedResources?: IHelminthFoodRecord[];
|
RecentlyConvertedResources?: IHelminthFoodRecord[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IInfestedFoundry {
|
export interface IInfestedFoundryClient {
|
||||||
Name?: string;
|
Name?: string;
|
||||||
Resources?: IHelminthResource[];
|
Resources?: IHelminthResource[];
|
||||||
Slots?: number;
|
Slots?: number;
|
||||||
@ -575,6 +577,12 @@ export interface IInfestedFoundry {
|
|||||||
InvigorationIndex?: number;
|
InvigorationIndex?: number;
|
||||||
InvigorationSuitOfferings?: string[];
|
InvigorationSuitOfferings?: string[];
|
||||||
InvigorationsApplied?: number;
|
InvigorationsApplied?: number;
|
||||||
|
LastConsumedSuit?: IEquipmentClient;
|
||||||
|
AbilityOverrideUnlockCooldown?: IMongoDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IInfestedFoundryDatabase
|
||||||
|
extends Omit<IInfestedFoundryClient, "LastConsumedSuit" | "AbilityOverrideUnlockCooldown"> {
|
||||||
LastConsumedSuit?: IEquipmentDatabase;
|
LastConsumedSuit?: IEquipmentDatabase;
|
||||||
AbilityOverrideUnlockCooldown?: Date;
|
AbilityOverrideUnlockCooldown?: Date;
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IInfestedFoundry } from "./inventoryTypes/inventoryTypes";
|
import { IInfestedFoundryClient } from "./inventoryTypes/inventoryTypes";
|
||||||
|
|
||||||
export interface IPurchaseRequest {
|
export interface IPurchaseRequest {
|
||||||
PurchaseParams: IPurchaseParams;
|
PurchaseParams: IPurchaseParams;
|
||||||
@ -29,9 +29,9 @@ export interface ICurrencyChanges {
|
|||||||
|
|
||||||
export type IInventoryChanges = {
|
export type IInventoryChanges = {
|
||||||
[_ in SlotNames]?: IBinChanges;
|
[_ in SlotNames]?: IBinChanges;
|
||||||
} & ICurrencyChanges & { InfestedFoundry?: IInfestedFoundry } & Record<
|
} & ICurrencyChanges & { InfestedFoundry?: IInfestedFoundryClient } & Record<
|
||||||
string,
|
string,
|
||||||
IBinChanges | number | object[] | IInfestedFoundry
|
IBinChanges | number | object[] | IInfestedFoundryClient
|
||||||
>;
|
>;
|
||||||
|
|
||||||
export interface IPurchaseResponse {
|
export interface IPurchaseResponse {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user