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);