diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index a93b43cd..46a24af3 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -188,7 +188,6 @@ const EquipmentSchema = new Schema( Configs: [ItemConfigSchema], UpgradeVer: Number, XP: Number, - InfestationDate: Date, Features: Number, Polarized: Number, Polarity: [polaritySchema], @@ -198,13 +197,15 @@ const EquipmentSchema = new Schema( UpgradeType: Schema.Types.Mixed, //todo UpgradeFingerprint: String, ItemName: String, + InfestationDate: Date, + InfestationDays: Number, + InfestationType: String, ModularParts: [String], UnlockLevel: Number, Expiry: Date, SkillTree: String, ArchonCrystalUpgrades: [Schema.Types.Mixed] //TODO - }, - { id: false } + } ); EquipmentSchema.virtual("ItemId").get(function () { @@ -248,7 +249,7 @@ RawUpgrades.set("toJSON", { }); //TODO: find out what this is -const upgrqadesSchema = new Schema( +const upgradesSchema = new Schema( { UpgradeFingerprint: String, ItemType: String @@ -256,11 +257,11 @@ const upgrqadesSchema = new Schema( { id: false } ); -upgrqadesSchema.virtual("ItemId").get(function () { +upgradesSchema.virtual("ItemId").get(function () { return toOid(this._id); }); -upgrqadesSchema.set("toJSON", { +upgradesSchema.set("toJSON", { virtuals: true, transform(_document, returnedObject) { delete returnedObject._id; @@ -614,7 +615,7 @@ const inventorySchema = new Schema( //Non Upgrade Mods Example:I have 999 item WeaponElectricityDamageMod (only "ItemCount"+"ItemType") RawUpgrades: [RawUpgrades], //Upgrade Mods\Riven\Arcane Example:"UpgradeFingerprint"+"ItemType"+"" - Upgrades: [upgrqadesSchema], + Upgrades: [upgradesSchema], //Warframe Suits: [EquipmentSchema], @@ -634,11 +635,11 @@ const inventorySchema = new Schema( //Any /Sentinels/SentinelWeapons/ (like warframe weapon) SentinelWeapons: [EquipmentSchema], //Modular Pets - MoaPets: [Schema.Types.Mixed], + MoaPets: [EquipmentSchema], KubrowPetEggs: [Schema.Types.Mixed], //Like PowerSuit Cat\Kubrow or etc Pets - KubrowPets: [Schema.Types.Mixed], + KubrowPets: [EquipmentSchema], //Prints Cat(3 Prints)\Kubrow(2 Prints) Pets KubrowPetPrints: [Schema.Types.Mixed], @@ -660,12 +661,12 @@ const inventorySchema = new Schema( //Mech need Suits+SpaceGuns+SpecialItem MechSuits: [EquipmentSchema], ///Restoratives/HoverboardSummon (like Suit) - Hoverboards: [Schema.Types.Mixed], + Hoverboards: [EquipmentSchema], //Use Operator\Drifter UseAdultOperatorLoadout: Boolean, //Operator\Drifter Weapon - OperatorAmps: [Schema.Types.Mixed], + OperatorAmps: [EquipmentSchema], //Operator OperatorLoadOuts: [operatorConfigSchema], //Drifter @@ -681,7 +682,7 @@ const inventorySchema = new Schema( ShipDecorations: [typeCountSchema], //RailJack Setting(Mods,Skin,Weapon,etc) - CrewShipHarnesses: [Schema.Types.Mixed], + CrewShipHarnesses: [EquipmentSchema], //Railjack/Components(https://warframe.fandom.com/wiki/Railjack/Components) CrewShipRawSalvage: [Schema.Types.Mixed], diff --git a/src/types/inventoryTypes/commonInventoryTypes.ts b/src/types/inventoryTypes/commonInventoryTypes.ts index 0b55b99b..8596c6e4 100644 --- a/src/types/inventoryTypes/commonInventoryTypes.ts +++ b/src/types/inventoryTypes/commonInventoryTypes.ts @@ -50,7 +50,7 @@ export interface IItemConfig { Upgrades?: string[]; Name?: string; OperatorAmp?: IOid; - Songs: ISong[]; + Songs?: ISong[]; AbilityOverride?: IAbilityOverride; PvpUpgrades?: string[]; ugly?: boolean; @@ -88,7 +88,6 @@ export interface IEquipmentDatabase { Configs: IItemConfig[]; UpgradeVer?: number; XP?: number; - InfestationDate?: Date; Features?: number; Polarized?: number; Polarity?: IPolarity[]; @@ -97,6 +96,9 @@ export interface IEquipmentDatabase { CustomizationSlotPurchases?: number; UpgradeType?: string; UpgradeFingerprint?: string; + InfestationDate?: IMongoDate; + InfestationDays?: number; + InfestationType?: string; ModularParts?: string[]; UnlockLevel?: number; Expiry?: IMongoDate; diff --git a/src/types/inventoryTypes/inventoryTypes.ts b/src/types/inventoryTypes/inventoryTypes.ts index 24775ff6..b0476541 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -4,7 +4,6 @@ import { IOid, IMongoDate } from "../commonTypes"; import { IColor, FocusSchool, - IPolarity, IItemConfig, IOperatorConfigClient, IEquipmentSelection, @@ -165,7 +164,7 @@ export interface IInventoryResponse { FactionScores: number[]; SpaceSuits: IEquipmentDatabase[]; SpaceMelee: IEquipmentDatabase[]; - SpaceGuns: ISpaceGun[]; + SpaceGuns: IEquipmentDatabase[]; ArchwingEnabled: boolean; PendingSpectreLoadouts: any[]; SpectreLoadouts: ISpectreLoadout[]; @@ -181,7 +180,7 @@ export interface IInventoryResponse { Drones: IDrone[]; StepSequencers: IStepSequencer[]; ActiveAvatarImageType: string; - KubrowPets: IKubrowPet[]; + KubrowPets: IEquipmentDatabase[]; ShipDecorations: IConsumable[]; DailyAffiliationCetus: number; DailyAffiliationQuills: number; @@ -207,7 +206,7 @@ export interface IInventoryResponse { DailyAffiliationVentkids: number; DailyAffiliationVox: number; RecentVendorPurchases: Array; - Hoverboards: IHoverboard[]; + Hoverboards: IEquipmentDatabase[]; NodeIntrosCompleted: string[]; GuildId?: IOid; CompletedJobChains: ICompletedJobChain[]; @@ -235,7 +234,7 @@ export interface IInventoryResponse { MechSuits: IEquipmentDatabase[]; InfestedFoundry: IInfestedFoundry; BlessingCooldown: IMongoDate; - CrewShipHarnesses: ICrewShipHarness[]; + CrewShipHarnesses: IEquipmentDatabase[]; CrewShipRawSalvage: IConsumable[]; CrewMembers: ICrewMember[]; AdultOperatorLoadOuts: IOperatorConfigClient[]; @@ -356,17 +355,6 @@ export interface ICombat { Assigned: number; } -export interface ICrewShipHarness { - ItemType: string; - Configs: IItemConfig[]; - Features: number; - UpgradeVer: number; - XP: number; - Polarity: IPolarity[]; - Polarized: number; - ItemId: IOid; -} - export enum InventorySlot { SUITS = "SuitBin", WEAPONS = "WeaponBin", @@ -405,6 +393,7 @@ export interface ICrewShip { RailjackImage: IFlavourItem; CrewMembers: ICrewMembers; ItemId: IOid; + _id: Types.ObjectId; } export interface ICrewMembers { @@ -492,18 +481,6 @@ export interface IFusionTreasure { Sockets: number; } -export interface IHoverboard { - ItemType: string; - Configs: IItemConfig[]; - ModularParts: string[]; - ItemName?: string; - Polarity?: IPolarity[]; - UpgradeVer: number; - XP: number; - Features: number; - ItemId: IOid; -} - export interface IInfestedFoundry { Name: string; Resources: ITypeCount[]; @@ -563,22 +540,6 @@ export enum KubrowPetPrintItemType { LotusTypesGameKubrowPetImprintedTraitPrint = "/Lotus/Types/Game/KubrowPet/ImprintedTraitPrint" } -export interface IKubrowPet { - ItemType: string; - Configs: IItemConfig[]; - UpgradeVer: number; - Details: IDetails; - XP?: number; - Polarized?: number; - Polarity?: IPolarity[]; - Features?: number; - InfestationDate?: IMongoDate; - InfestationDays?: number; - InfestationType?: string; - ItemId: IOid; - ModularParts?: string[]; -} - export interface IDetails { Name: string; IsPuppy: boolean; @@ -856,20 +817,6 @@ export interface IShipInventory { ItemId: IOid; } -export interface ISpaceGun { - ItemType: string; - Configs: IItemConfig[]; - XP?: number; - UpgradeVer?: number; - ItemId: IOid; - Features?: number; - Polarized?: number; - Polarity?: IPolarity[]; - UpgradeType?: UpgradeType; - UpgradeFingerprint?: string; - ItemName?: string; -} - export interface ISpectreLoadout { LongGuns: string; Melee: string;