From 903012afa8217aca85fd6b7fda2fb7f5742744c9 Mon Sep 17 00:00:00 2001 From: Sainan Date: Mon, 20 Jan 2025 13:52:02 +0100 Subject: [PATCH 1/5] remove TrainingRetriesLeft, doesn't seem to exist (anymore) --- src/models/inventoryModels/inventoryModel.ts | 2 -- src/types/inventoryTypes/inventoryTypes.ts | 1 - 2 files changed, 3 deletions(-) diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index 75a094f6..72142321 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -949,8 +949,6 @@ const inventorySchema = new Schema( XPInfo: [TypeXPItemSchema], //Mastery Rank next availability TrainingDate: { type: Date, default: new Date(0) }, - //Retries rank up(3 time) - TrainingRetriesLeft: Number, //you saw last played Region when you opened the star map LastRegionPlayed: String, diff --git a/src/types/inventoryTypes/inventoryTypes.ts b/src/types/inventoryTypes/inventoryTypes.ts index e0e446f9..8cc64115 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -208,7 +208,6 @@ export interface IInventoryClient extends IDailyAffiliations { QuestKeys: IQuestKeyResponse[]; FlavourItems: IFlavourItem[]; Scoops: IEquipmentDatabase[]; - TrainingRetriesLeft: number; LoadOutPresets: ILoadOutPresets; CurrentLoadOutIds: IOid[]; // we store it in the database using this representation as well :/ Missions: IMission[]; -- 2.47.2 From 2a68b8a164d886f629f514c3b6a45fc6089bdb90 Mon Sep 17 00:00:00 2001 From: Sainan Date: Mon, 20 Jan 2025 13:52:51 +0100 Subject: [PATCH 2/5] remove _id & id from AbilityOverride --- src/models/inventoryModels/inventoryModel.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index 72142321..4001e106 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -120,10 +120,14 @@ const polaritySchema = new Schema( { _id: false } ); -const abilityOverrideSchema = new Schema({ - Ability: String, - Index: Number -}); +const abilityOverrideSchema = new Schema( + { + Ability: String, + Index: Number + }, + { _id: false } +); + export const colorSchema = new Schema( { t0: Number, -- 2.47.2 From c95a847181062b1015821df52f5ead520eeb1ed4 Mon Sep 17 00:00:00 2001 From: Sainan Date: Mon, 20 Jan 2025 13:54:39 +0100 Subject: [PATCH 3/5] fix InfestationDate not being converted to client representation --- src/models/inventoryModels/inventoryModel.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index 4001e106..8ab78344 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -62,7 +62,8 @@ import { IOperatorConfigDatabase, IPolarity, IEquipmentDatabase, - IArchonCrystalUpgrade + IArchonCrystalUpgrade, + IEquipmentClient } from "@/src/types/inventoryTypes/commonInventoryTypes"; import { toMongoDate, toOid } from "@/src/helpers/inventoryHelpers"; import { EquipmentSelectionSchema } from "./loadoutModel"; @@ -260,6 +261,13 @@ EquipmentSchema.set("toJSON", { transform(_document, returnedObject) { delete returnedObject._id; delete returnedObject.__v; + + const db = returnedObject as IEquipmentDatabase; + const client = returnedObject as IEquipmentClient; + + if (db.InfestationDate) { + client.InfestationDate = toMongoDate(db.InfestationDate); + } } }); -- 2.47.2 From 9bd81a8e2239ea219e5a95ca052215a7b6aa545f Mon Sep 17 00:00:00 2001 From: Sainan Date: Tue, 21 Jan 2025 20:00:00 +0100 Subject: [PATCH 4/5] disable updatedAt timestamp --- src/models/inventoryModels/inventoryModel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index 8ab78344..fe8779af 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -1141,7 +1141,7 @@ const inventorySchema = new Schema( DialogueHistory: dialogueHistorySchema }, - { timestamps: { createdAt: "Created" } } + { timestamps: { createdAt: "Created", updatedAt: false } } ); inventorySchema.set("toJSON", { -- 2.47.2 From 0f08262d779df97d41be072432ee80d7049880b2 Mon Sep 17 00:00:00 2001 From: Sainan Date: Tue, 21 Jan 2025 20:01:54 +0100 Subject: [PATCH 5/5] fix LastInventorySync --- src/controllers/api/inventoryController.ts | 4 ++++ src/models/inventoryModels/inventoryModel.ts | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/controllers/api/inventoryController.ts b/src/controllers/api/inventoryController.ts index b4e0035d..33c6021f 100644 --- a/src/controllers/api/inventoryController.ts +++ b/src/controllers/api/inventoryController.ts @@ -16,6 +16,8 @@ import { } from "warframe-public-export-plus"; import { handleSubsumeCompletion } from "./infestedFoundryController"; import { allDailyAffiliationKeys } from "@/src/services/inventoryService"; +import { toOid } from "@/src/helpers/inventoryHelpers"; +import { Types } from "mongoose"; export const inventoryController: RequestHandler = async (request, response) => { const account = await getAccountForRequest(request); @@ -247,6 +249,8 @@ export const inventoryController: RequestHandler = async (request, response) => // This determines if the "void fissures" tab is shown in navigation. inventoryResponse.HasOwnedVoidProjectionsPreviously = true; + inventoryResponse.LastInventorySync = toOid(new Types.ObjectId()); + response.json(inventoryResponse); }; diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index fe8779af..a18788a8 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -1111,7 +1111,6 @@ const inventorySchema = new Schema( ChallengesFixVersion: Number, PlayedParkourTutorial: Boolean, SubscribedToEmailsPersonalized: Number, - LastInventorySync: Schema.Types.Mixed, // this should be Schema.Types.ObjectId, but older inventories may break with that. ActiveLandscapeTraps: [Schema.Types.Mixed], RepVotes: [Schema.Types.Mixed], LeagueTickets: [Schema.Types.Mixed], -- 2.47.2