diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index 23503fb6..0ec5b2ea 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -76,7 +76,6 @@ import { IIncentiveState, ISongChallenge, ILibraryPersonalProgress, - ICrewShipWeaponDatabase, IRecentVendorPurchaseDatabase, IVendorPurchaseHistoryEntryDatabase, IVendorPurchaseHistoryEntryClient, @@ -1118,30 +1117,6 @@ const alignmentSchema = new Schema( { _id: false } ); -const crewShipWeaponSchema2 = new Schema( - { - ItemType: String, - Configs: { type: [ItemConfigSchema], default: undefined }, - UpgradeVer: { type: Number, default: undefined }, - UpgradeType: { type: Number, default: undefined }, - UpgradeFingerprint: { type: String, default: undefined }, - IsNew: { type: Boolean, default: undefined } - }, - { id: false } -); - -crewShipWeaponSchema2.virtual("ItemId").get(function () { - return { $oid: this._id.toString() } satisfies IOid; -}); - -crewShipWeaponSchema2.set("toJSON", { - virtuals: true, - transform(_document, returnedObject) { - delete returnedObject._id; - delete returnedObject.__v; - } -}); - const inventorySchema = new Schema( { accountOwnerId: Schema.Types.ObjectId, @@ -1264,9 +1239,9 @@ const inventorySchema = new Schema( //Default RailJack CrewShipAmmo: [typeCountSchema], - CrewShipWeapons: [crewShipWeaponSchema2], + CrewShipWeapons: [EquipmentSchema], CrewShipWeaponSkins: [upgradeSchema], - CrewShipSalvagedWeapons: [crewShipWeaponSchema2], + CrewShipSalvagedWeapons: [EquipmentSchema], CrewShipSalvagedWeaponSkins: [upgradeSchema], //RailJack Crew @@ -1529,9 +1504,7 @@ export type InventoryDocumentProps = { WeaponSkins: Types.DocumentArray; QuestKeys: Types.DocumentArray; Drones: Types.DocumentArray; - CrewShipWeapons: Types.DocumentArray; CrewShipWeaponSkins: Types.DocumentArray; - CrewShipSalvagedWeapons: Types.DocumentArray; CrewShipSalvagedWeaponsSkins: Types.DocumentArray; } & { [K in TEquipmentKey]: Types.DocumentArray }; diff --git a/src/services/importService.ts b/src/services/importService.ts index 7033803f..ae16e86d 100644 --- a/src/services/importService.ts +++ b/src/services/importService.ts @@ -12,8 +12,6 @@ import { ICrewShipMemberDatabase, ICrewShipMembersClient, ICrewShipMembersDatabase, - ICrewShipWeaponClient, - ICrewShipWeaponDatabase, IDialogueClient, IDialogueDatabase, IDialogueHistoryClient, @@ -69,22 +67,6 @@ const convertEquipment = (client: IEquipmentClient): IEquipmentDatabase => { }; }; -const convertCrewShipWeapon = (client: ICrewShipWeaponClient): ICrewShipWeaponDatabase => { - const { ItemId, ...rest } = client; - return { - ...rest, - _id: new Types.ObjectId(ItemId.$oid), - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - Configs: client.Configs - ? client.Configs.map(obj => - Object.fromEntries( - Object.entries(obj).filter(([_, value]) => !Array.isArray(value) || value.length > 0) - ) - ) - : [] - }; -}; - const convertWeaponSkin = (client: IWeaponSkinClient): IWeaponSkinDatabase => { const { ItemId, ...rest } = client; return { @@ -203,11 +185,6 @@ export const importInventory = (db: TInventoryDatabaseDocument, client: Partial< replaceArray(db[key], client[key].map(convertUpgrade)); } } - for (const key of ["CrewShipWeapons", "CrewShipSalvagedWeapons"] as const) { - if (client[key] !== undefined) { - replaceArray(db[key], client[key].map(convertCrewShipWeapon)); - } - } for (const key of [ "RawUpgrades", "MiscItems", diff --git a/src/services/inventoryService.ts b/src/services/inventoryService.ts index ffa18484..2195f845 100644 --- a/src/services/inventoryService.ts +++ b/src/services/inventoryService.ts @@ -25,8 +25,7 @@ import { ILibraryDailyTaskInfo, ICalendarProgress, IDroneClient, - IUpgradeClient, - ICrewShipWeaponClient + IUpgradeClient } from "@/src/types/inventoryTypes/inventoryTypes"; import { IGenericUpdate, IUpdateNodeIntrosResponse } from "../types/genericUpdate"; import { IMissionInventoryUpdateRequest, IUpdateChallengeProgressRequest } from "../types/requestTypes"; @@ -426,7 +425,7 @@ export const addItem = async ( } if (typeName in ExportRailjackWeapons) { return { - ...addCrewShipWeapon(inventory, typeName), + ...addEquipment(inventory, ExportRailjackWeapons[typeName].productCategory, typeName), ...occupySlot(inventory, InventorySlot.RJ_COMPONENT_AND_ARMAMENTS, premiumPurchase) }; } @@ -939,20 +938,6 @@ export const addSkin = ( return inventoryChanges; }; -const addCrewShipWeapon = ( - inventory: TInventoryDatabaseDocument, - typeName: string, - inventoryChanges: IInventoryChanges = {} -): IInventoryChanges => { - const index = inventory.CrewShipWeapons.push({ ItemType: typeName, _id: new Types.ObjectId() }) - 1; - // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition - inventoryChanges.CrewShipWeapons ??= []; - (inventoryChanges.CrewShipWeapons as ICrewShipWeaponClient[]).push( - inventory.CrewShipWeapons[index].toJSON() - ); - return inventoryChanges; -}; - const addCrewShipWeaponSkin = ( inventory: TInventoryDatabaseDocument, typeName: string, diff --git a/src/types/inventoryTypes/inventoryTypes.ts b/src/types/inventoryTypes/inventoryTypes.ts index 325de479..c8b4e3dd 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -30,9 +30,7 @@ export interface IInventoryDatabase | "Ships" | "WeaponSkins" | "Upgrades" - | "CrewShipWeapons" | "CrewShipWeaponSkins" - | "CrewShipSalvagedWeapons" | "CrewShipSalvagedWeaponSkins" | "AdultOperatorLoadOuts" | "OperatorLoadOuts" @@ -60,9 +58,7 @@ export interface IInventoryDatabase Ships: Types.ObjectId[]; WeaponSkins: IWeaponSkinDatabase[]; Upgrades: IUpgradeDatabase[]; - CrewShipWeapons: ICrewShipWeaponDatabase[]; CrewShipWeaponSkins: IUpgradeDatabase[]; - CrewShipSalvagedWeapons: ICrewShipWeaponDatabase[]; CrewShipSalvagedWeaponSkins: IUpgradeDatabase[]; AdultOperatorLoadOuts: IOperatorConfigDatabase[]; OperatorLoadOuts: IOperatorConfigDatabase[]; @@ -114,7 +110,9 @@ export const equipmentKeys = [ "DataKnives", "MechSuits", "CrewShipHarnesses", - "KubrowPets" + "KubrowPets", + "CrewShipWeapons", + "CrewShipSalvagedWeapons" ] as const; export type TEquipmentKey = (typeof equipmentKeys)[number]; @@ -299,9 +297,7 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu PersonalTechProjects: IPersonalTechProject[]; PlayerSkills: IPlayerSkills; CrewShipAmmo: ITypeCount[]; - CrewShipWeapons: ICrewShipWeaponClient[]; CrewShipWeaponSkins: IUpgradeClient[]; - CrewShipSalvagedWeapons: ICrewShipWeaponClient[]; CrewShipSalvagedWeaponSkins: IUpgradeClient[]; TradeBannedUntil?: IMongoDate; PlayedParkourTutorial: boolean; @@ -538,21 +534,6 @@ export interface ICrewShipWeapon { PORT_GUNS: ICrewShipPortGuns; } -// inventory.CrewShipWeapons -export interface ICrewShipWeaponDatabase { - ItemType: string; - Configs?: IItemConfig[]; - UpgradeVer?: number; - UpgradeType?: string; - UpgradeFingerprint?: string; - IsNew?: boolean; - _id: Types.ObjectId; -} - -export interface ICrewShipWeaponClient extends Omit { - ItemId: IOid; -} - export interface ICrewShipPilotWeapon { PRIMARY_A: IEquipmentSelection; SECONDARY_A: IEquipmentSelection;