返回提交历史
Added
src/controllers/api/releasePetController.ts
+23
-0
Modified
src/routes/api.ts
+2
-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
代码差异
2 个文件
+25
-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
}
@@ -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);