feat: consign pet #1415
23
src/controllers/api/releasePetController.ts
Normal file
23
src/controllers/api/releasePetController.ts
Normal file
@ -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 releasePetController: RequestHandler = async (req, res) => {
|
||||
const accountId = await getAccountIdForRequest(req);
|
||||
const inventory = await getInventory(accountId, "RegularCredits KubrowPets");
|
||||
const payload = getJSONfromString<IReleasePetRequest>(String(req.body));
|
||||
|
||||
const inventoryChanges = updateCurrency(inventory, 25000, false);
|
||||
|
||||
inventoryChanges.RemovedIdItems = [{ ItemId: { $oid: payload.petId } }];
|
||||
inventory.KubrowPets.pull({ _id: payload.petId });
|
||||
|
||||
await inventory.save();
|
||||
res.json({ inventoryChanges }); // Not a mistake; it's "inventoryChanges" here.
|
||||
};
|
||||
|
||||
interface IReleasePetRequest {
|
||||
recipeName: "/Lotus/Types/Game/KubrowPet/ReleasePetRecipe";
|
||||
petId: string;
|
||||
}
|
@ -86,6 +86,7 @@ import { projectionManagerController } from "@/src/controllers/api/projectionMan
|
||||
import { purchaseController } from "@/src/controllers/api/purchaseController";
|
||||
import { queueDojoComponentDestructionController } from "@/src/controllers/api/queueDojoComponentDestructionController";
|
||||
import { redeemPromoCodeController } from "@/src/controllers/api/redeemPromoCodeController";
|
||||
import { releasePetController } from "@/src/controllers/api/releasePetController";
|
||||
import { removeFromGuildController } from "@/src/controllers/api/removeFromGuildController";
|
||||
import { rerollRandomModController } from "@/src/controllers/api/rerollRandomModController";
|
||||
import { retrievePetFromStasisController } from "@/src/controllers/api/retrievePetFromStasisController";
|
||||
@ -235,6 +236,7 @@ apiRouter.post("/postGuildAdvertisement.php", postGuildAdvertisementController);
|
||||
apiRouter.post("/projectionManager.php", projectionManagerController);
|
||||
apiRouter.post("/purchase.php", purchaseController);
|
||||
apiRouter.post("/redeemPromoCode.php", redeemPromoCodeController);
|
||||
apiRouter.post("/releasePet.php", releasePetController);
|
||||
apiRouter.post("/removeFromGuild.php", removeFromGuildController);
|
||||
apiRouter.post("/rerollRandomMod.php", rerollRandomModController);
|
||||
apiRouter.post("/retrievePetFromStasis.php", retrievePetFromStasisController);
|
||||
|
Loading…
x
Reference in New Issue
Block a user