diff --git a/src/controllers/api/setSuitInfectionController.ts b/src/controllers/api/setSuitInfectionController.ts new file mode 100644 index 00000000..b4a169d9 --- /dev/null +++ b/src/controllers/api/setSuitInfectionController.ts @@ -0,0 +1,22 @@ +import { fromMongoDate, fromOid } from "@/src/helpers/inventoryHelpers"; +import { getJSONfromString } from "@/src/helpers/stringHelpers"; +import { getInventory } from "@/src/services/inventoryService"; +import { getAccountIdForRequest } from "@/src/services/loginService"; +import { IEquipmentClient } from "@/src/types/inventoryTypes/commonInventoryTypes"; +import { RequestHandler } from "express"; + +export const setSuitInfectionController: RequestHandler = async (req, res) => { + const accountId = await getAccountIdForRequest(req); + const inventory = await getInventory(accountId, "Suits"); + const payload = getJSONfromString(String(req.body)); + for (const clientSuit of payload.Suits) { + const dbSuit = inventory.Suits.id(fromOid(clientSuit.ItemId))!; + dbSuit.InfestationDate = fromMongoDate(clientSuit.InfestationDate!); + } + await inventory.save(); + res.end(); +}; + +interface ISetSuitInfectionRequest { + Suits: IEquipmentClient[]; +} diff --git a/src/routes/api.ts b/src/routes/api.ts index a12efbd0..55c2fd7b 100644 --- a/src/routes/api.ts +++ b/src/routes/api.ts @@ -132,6 +132,7 @@ import { setPlacedDecoInfoController } from "@/src/controllers/api/setPlacedDeco import { setShipCustomizationsController } from "@/src/controllers/api/setShipCustomizationsController"; import { setShipFavouriteLoadoutController } from "@/src/controllers/api/setShipFavouriteLoadoutController"; import { setShipVignetteController } from "@/src/controllers/api/setShipVignetteController"; +import { setSuitInfectionController } from "@/src/controllers/api/setSuitInfectionController"; import { setSupportedSyndicateController } from "@/src/controllers/api/setSupportedSyndicateController"; import { setWeaponSkillTreeController } from "@/src/controllers/api/setWeaponSkillTreeController"; import { shipDecorationsController } from "@/src/controllers/api/shipDecorationsController"; @@ -317,6 +318,7 @@ apiRouter.post("/setPlacedDecoInfo.php", setPlacedDecoInfoController); apiRouter.post("/setShipCustomizations.php", setShipCustomizationsController); apiRouter.post("/setShipFavouriteLoadout.php", setShipFavouriteLoadoutController); apiRouter.post("/setShipVignette.php", setShipVignetteController); +apiRouter.post("/setSuitInfection.php", setSuitInfectionController); apiRouter.post("/setWeaponSkillTree.php", setWeaponSkillTreeController); apiRouter.post("/shipDecorations.php", shipDecorationsController); apiRouter.post("/startCollectibleEntry.php", startCollectibleEntryController);