XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

feat: consign pet (#1415)

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1415 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

367dd3f2
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

2 个文件 +25 -0
Added src/controllers/api/releasePetController.ts +23 -0
@@ -0,0 +1,23 @@
1 import { getJSONfromString } from "@/src/helpers/stringHelpers";
2 import { getInventory, updateCurrency } from "@/src/services/inventoryService";
3 import { getAccountIdForRequest } from "@/src/services/loginService";
4 import { RequestHandler } from "express";
5
6 export const releasePetController: RequestHandler = async (req, res) => {
7 const accountId = await getAccountIdForRequest(req);
8 const inventory = await getInventory(accountId, "RegularCredits KubrowPets");
9 const payload = getJSONfromString<IReleasePetRequest>(String(req.body));
10
11 const inventoryChanges = updateCurrency(inventory, 25000, false);
12
13 inventoryChanges.RemovedIdItems = [{ ItemId: { $oid: payload.petId } }];
14 inventory.KubrowPets.pull({ _id: payload.petId });
15
16 await inventory.save();
17 res.json({ inventoryChanges }); // Not a mistake; it's "inventoryChanges" here.
18 };
19
20 interface IReleasePetRequest {
21 recipeName: "/Lotus/Types/Game/KubrowPet/ReleasePetRecipe";
22 petId: string;
23 }
Modified src/routes/api.ts +2 -0
@@ -86,6 +86,7 @@ import { projectionManagerController } from "@/src/controllers/api/projectionMan
86 86 import { purchaseController } from "@/src/controllers/api/purchaseController";
87 87 import { queueDojoComponentDestructionController } from "@/src/controllers/api/queueDojoComponentDestructionController";
88 88 import { redeemPromoCodeController } from "@/src/controllers/api/redeemPromoCodeController";
89 import { releasePetController } from "@/src/controllers/api/releasePetController";
89 90 import { removeFromGuildController } from "@/src/controllers/api/removeFromGuildController";
90 91 import { rerollRandomModController } from "@/src/controllers/api/rerollRandomModController";
91 92 import { retrievePetFromStasisController } from "@/src/controllers/api/retrievePetFromStasisController";
@@ -236,6 +237,7 @@ apiRouter.post("/postGuildAdvertisement.php", postGuildAdvertisementController);
236 237 apiRouter.post("/projectionManager.php", projectionManagerController);
237 238 apiRouter.post("/purchase.php", purchaseController);
238 239 apiRouter.post("/redeemPromoCode.php", redeemPromoCodeController);
240 apiRouter.post("/releasePet.php", releasePetController);
239 241 apiRouter.post("/removeFromGuild.php", removeFromGuildController);
240 242 apiRouter.post("/rerollRandomMod.php", rerollRandomModController);
241 243 apiRouter.post("/retrievePetFromStasis.php", retrievePetFromStasisController);