From 5fc3b748a1a734a58c31fcb637d8dd0512464fe1 Mon Sep 17 00:00:00 2001 From: Sainan Date: Sun, 16 Jun 2024 20:08:38 +0200 Subject: [PATCH] feat: implement entitling of weapons --- src/controllers/api/nameWeaponController.ts | 23 +++++++++++++++++++++ src/routes/api.ts | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 src/controllers/api/nameWeaponController.ts diff --git a/src/controllers/api/nameWeaponController.ts b/src/controllers/api/nameWeaponController.ts new file mode 100644 index 00000000..7caf40b5 --- /dev/null +++ b/src/controllers/api/nameWeaponController.ts @@ -0,0 +1,23 @@ +import { RequestHandler } from "express"; +import { getAccountIdForRequest } from "@/src/services/loginService"; +import { getInventory, updateCurrency } from "@/src/services/inventoryService"; +import { getJSONfromString } from "@/src/helpers/stringHelpers"; +import { TEquipmentKey } from "@/src/types/inventoryTypes/inventoryTypes"; + +interface INameWeaponRequest { + ItemName: string; +} + +export const nameWeaponController: RequestHandler = async (req, res) => { + const accountId = await getAccountIdForRequest(req); + const inventory = await getInventory(accountId); + const body = getJSONfromString(req.body.toString()) as INameWeaponRequest; + const item = inventory[req.query.Category as string as TEquipmentKey].find( + item => item._id.toString() == (req.query.ItemId as string) + )!; + item.ItemName = body.ItemName; + await inventory.save(); + res.json({ + InventoryChanges: await updateCurrency(15, true, accountId) + }); +}; diff --git a/src/routes/api.ts b/src/routes/api.ts index 2ed9bdcb..8a059bfe 100644 --- a/src/routes/api.ts +++ b/src/routes/api.ts @@ -55,6 +55,7 @@ import { getGuildDojoController } from "@/src/controllers/api/getGuildDojoContro import { syndicateSacrificeController } from "../controllers/api/syndicateSacrificeController"; import { startDojoRecipeController } from "@/src/controllers/api/startDojoRecipeController"; import { queueDojoComponentDestructionController } from "@/src/controllers/api/queueDojoComponentDestructionController"; +import { nameWeaponController } from "@/src/controllers/api/nameWeaponController"; const apiRouter = express.Router(); @@ -120,5 +121,6 @@ apiRouter.post("/upgrades.php", upgradesController); apiRouter.post("/guildTech.php", guildTechController); apiRouter.post("/syndicateSacrifice.php", syndicateSacrificeController); apiRouter.post("/startDojoRecipe.php", startDojoRecipeController); +apiRouter.post("/nameWeapon.php", nameWeaponController); export { apiRouter };