From 1341b711775698b4ec1cbe2ee303795f01721873 Mon Sep 17 00:00:00 2001 From: Sainan Date: Thu, 6 Mar 2025 07:32:16 +0100 Subject: [PATCH] feat: handle EmailItems received during mission --- src/services/missionInventoryUpdateService.ts | 10 +++++++++- src/types/requestTypes.ts | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/services/missionInventoryUpdateService.ts b/src/services/missionInventoryUpdateService.ts index 64814e4b..9089d3a8 100644 --- a/src/services/missionInventoryUpdateService.ts +++ b/src/services/missionInventoryUpdateService.ts @@ -1,4 +1,5 @@ import { + ExportEmailItems, ExportFusionBundles, ExportRegions, ExportRewards, @@ -27,7 +28,7 @@ import { import { updateQuestKey } from "@/src/services/questService"; import { HydratedDocument } from "mongoose"; import { IInventoryChanges } from "@/src/types/purchaseTypes"; -import { getLevelKeyRewards, getNode } from "@/src/services/itemDataService"; +import { convertInboxMessage, getLevelKeyRewards, getNode } from "@/src/services/itemDataService"; import { InventoryDocumentProps, TInventoryDatabaseDocument } from "@/src/models/inventoryModels/inventoryModel"; import { getEntriesUnsafe } from "@/src/utils/ts-utils"; import { IEquipmentClient } from "@/src/types/inventoryTypes/commonInventoryTypes"; @@ -156,6 +157,13 @@ export const addMissionInventoryUpdates = ( inventoryChanges.FusionPoints = fusionPoints; break; } + case "EmailItems": { + value.forEach(tc => { + const emailItem = ExportEmailItems[tc.ItemType]; + void createMessage(inventory.accountOwnerId.toString(), [convertInboxMessage(emailItem.message)]); + }); + break; + } case "FocusXpIncreases": { addFocusXpIncreases(inventory, value); break; diff --git a/src/types/requestTypes.ts b/src/types/requestTypes.ts index 2584bd77..96ac7619 100644 --- a/src/types/requestTypes.ts +++ b/src/types/requestTypes.ts @@ -46,6 +46,7 @@ export type IMissionInventoryUpdateRequest = { CrewShipRawSalvage?: ITypeCount[]; CrewShipAmmo?: ITypeCount[]; BonusMiscItems?: ITypeCount[]; + EmailItems?: ITypeCount[]; SyndicateId?: string; SortieId?: string;