From 675e6c4583382e89dcc71a7d2b2ceb3061f13c90 Mon Sep 17 00:00:00 2001 From: Sainan Date: Fri, 3 May 2024 22:12:51 +0200 Subject: [PATCH] feat: persist user's choice of glyph (#152) --- src/controllers/api/addFriendImageController.ts | 15 +++++++++++++++ src/routes/api.ts | 2 ++ src/types/requestTypes.ts | 5 +++++ 3 files changed, 22 insertions(+) create mode 100644 src/controllers/api/addFriendImageController.ts diff --git a/src/controllers/api/addFriendImageController.ts b/src/controllers/api/addFriendImageController.ts new file mode 100644 index 00000000..f671493c --- /dev/null +++ b/src/controllers/api/addFriendImageController.ts @@ -0,0 +1,15 @@ +import { RequestHandler } from "express"; +import { getJSONfromString } from "@/src/helpers/stringHelpers"; +import { IUpdateGlyphRequest } from "@/src/types/requestTypes"; +import { getInventory } from "@/src/services/inventoryService"; + +const addFriendImageController: RequestHandler = async (req, res) => { + const accountId = req.query.accountId as string; + const json = getJSONfromString(req.body.toString()) as IUpdateGlyphRequest; + let inventory = await getInventory(accountId); + inventory.ActiveAvatarImageType = json.AvatarImageType; + await inventory.save(); + res.json({}); +}; + +export { addFriendImageController }; diff --git a/src/routes/api.ts b/src/routes/api.ts index 84bff947..537e245e 100644 --- a/src/routes/api.ts +++ b/src/routes/api.ts @@ -42,6 +42,7 @@ import { setShipCustomizationsController } from "@/src/controllers/api/setShipCu import { setActiveShipController } from "@/src/controllers/api/setActiveShipController"; import { updateThemeController } from "../controllers/api/updateThemeController"; import { getGuildController } from "@/src/controllers/api/getGuildController"; +import { addFriendImageController } from "@/src/controllers/api/addFriendImageController"; const apiRouter = express.Router(); @@ -94,5 +95,6 @@ apiRouter.post("/joinSession.php", joinSessionController); apiRouter.post("/saveLoadout.php", saveLoadoutController); apiRouter.post("/trainingResult.php", trainingResultController); apiRouter.post("/updateTheme.php", updateThemeController); +apiRouter.post("/addFriendImage.php", addFriendImageController); export { apiRouter }; diff --git a/src/types/requestTypes.ts b/src/types/requestTypes.ts index 1be732a6..7b7dd7ac 100644 --- a/src/types/requestTypes.ts +++ b/src/types/requestTypes.ts @@ -59,3 +59,8 @@ export interface IMissionInventoryUpdateRequestRewardInfo { export interface IInventorySlotsRequest { Bin: "PveBonusLoadoutBin"; } + +export interface IUpdateGlyphRequest { + AvatarImageType: string; + AvatarImage: string; +}