diff --git a/src/controllers/api/inventoryController.ts b/src/controllers/api/inventoryController.ts index e9b15a63..4f73a5f7 100644 --- a/src/controllers/api/inventoryController.ts +++ b/src/controllers/api/inventoryController.ts @@ -106,7 +106,14 @@ export const inventoryController: RequestHandler = async (request, response) => const currentDuviriMood = Math.trunc(Date.now() / 7200000); if (lastSyncDuviriMood != currentDuviriMood) { logger.debug(`refreshing duviri seed`); - inventory.DuviriInfo.Seed = generateRewardSeed(); + if (!inventory.DuviriInfo) { + inventory.DuviriInfo = { + Seed: generateRewardSeed(), + NumCompletions: 0 + }; + } else { + inventory.DuviriInfo.Seed = generateRewardSeed(); + } } } inventory.LastInventorySync = new Types.ObjectId(); diff --git a/src/models/inventoryModels/inventoryModel.ts b/src/models/inventoryModels/inventoryModel.ts index dcb5a536..5525b500 100644 --- a/src/models/inventoryModels/inventoryModel.ts +++ b/src/models/inventoryModels/inventoryModel.ts @@ -391,8 +391,8 @@ MailboxSchema.set("toJSON", { const DuviriInfoSchema = new Schema( { - Seed: BigInt, - NumCompletions: { type: Number, default: 0 } + Seed: { type: BigInt, required: true }, + NumCompletions: { type: Number, required: true } }, { _id: false, diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 66328a0d..b7c275d1 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -611,7 +611,7 @@ export const addMissionInventoryUpdates = async ( case "duviriCaveOffers": { // Duviri cave offers (generated with the duviri seed) change after completing one of its game modes (not when aborting). if (inventoryUpdates.MissionStatus != "GS_QUIT") { - inventory.DuviriInfo.Seed = generateRewardSeed(); + inventory.DuviriInfo!.Seed = generateRewardSeed(); } break; } diff --git a/src/types/inventoryTypes/inventoryTypes.ts b/src/types/inventoryTypes/inventoryTypes.ts index 4973ff87..92b6973e 100644 --- a/src/types/inventoryTypes/inventoryTypes.ts +++ b/src/types/inventoryTypes/inventoryTypes.ts @@ -202,7 +202,7 @@ export interface IInventoryClient extends IDailyAffiliations, InventoryClientEqu OperatorLoadOuts: IOperatorConfigClient[]; KahlLoadOuts: IOperatorConfigClient[]; - DuviriInfo: IDuviriInfo; + DuviriInfo?: IDuviriInfo; Mailbox?: IMailboxClient; SubscribedToEmails: number; Created: IMongoDate;