From 28da982c8049c192148aa9475274d692c0d0efa5 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Fri, 30 May 2025 11:42:45 -0700 Subject: [PATCH] feat: renamePet (#2106) Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2106 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com> --- src/controllers/api/renamePetController.ts | 23 ++++++++++++++++++++++ src/routes/api.ts | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 src/controllers/api/renamePetController.ts diff --git a/src/controllers/api/renamePetController.ts b/src/controllers/api/renamePetController.ts new file mode 100644 index 00000000..6672d064 --- /dev/null +++ b/src/controllers/api/renamePetController.ts @@ -0,0 +1,23 @@ +import { getJSONfromString } from "@/src/helpers/stringHelpers"; +import { getInventory, updateCurrency } from "@/src/services/inventoryService"; +import { getAccountIdForRequest } from "@/src/services/loginService"; +import { RequestHandler } from "express"; + +export const renamePetController: RequestHandler = async (req, res) => { + const accountId = await getAccountIdForRequest(req); + const inventory = await getInventory(accountId, "KubrowPets PremiumCredits PremiumCreditsFree"); + const data = getJSONfromString(String(req.body)); + const details = inventory.KubrowPets.id(data.petId)!.Details!; + details.Name = data.name; + const currencyChanges = updateCurrency(inventory, 15, true); + await inventory.save(); + res.json({ + ...data, + inventoryChanges: currencyChanges + }); +}; + +interface IRenamePetRequest { + petId: string; + name: string; +} diff --git a/src/routes/api.ts b/src/routes/api.ts index 82b42842..7db66dfc 100644 --- a/src/routes/api.ts +++ b/src/routes/api.ts @@ -107,6 +107,7 @@ import { removeFriendGetController, removeFriendPostController } from "@/src/con import { removeFromAllianceController } from "@/src/controllers/api/removeFromAllianceController"; import { removeFromGuildController } from "@/src/controllers/api/removeFromGuildController"; import { removeIgnoredUserController } from "@/src/controllers/api/removeIgnoredUserController"; +import { renamePetController } from "@/src/controllers/api/renamePetController"; import { rerollRandomModController } from "@/src/controllers/api/rerollRandomModController"; import { retrievePetFromStasisController } from "@/src/controllers/api/retrievePetFromStasisController"; import { saveDialogueController } from "@/src/controllers/api/saveDialogueController"; @@ -294,6 +295,7 @@ apiRouter.post("/releasePet.php", releasePetController); apiRouter.post("/removeFriend.php", removeFriendPostController); apiRouter.post("/removeFromGuild.php", removeFromGuildController); apiRouter.post("/removeIgnoredUser.php", removeIgnoredUserController); +apiRouter.post("/renamePet.php", renamePetController); apiRouter.post("/rerollRandomMod.php", rerollRandomModController); apiRouter.post("/retrievePetFromStasis.php", retrievePetFromStasisController); apiRouter.post("/saveDialogue.php", saveDialogueController);