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: retrievePetFromStasis (#1354)

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

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

代码差异

2 个文件 +35 -0
Added src/controllers/api/retrievePetFromStasisController.ts +33 -0
@@ -0,0 +1,33 @@
1 import { getJSONfromString } from "@/src/helpers/stringHelpers";
2 import { getInventory } from "@/src/services/inventoryService";
3 import { getAccountIdForRequest } from "@/src/services/loginService";
4 import { Status } from "@/src/types/inventoryTypes/inventoryTypes";
5 import { RequestHandler } from "express";
6
7 export const retrievePetFromStasisController: RequestHandler = async (req, res) => {
8 const accountId = await getAccountIdForRequest(req);
9 const inventory = await getInventory(accountId, "KubrowPets");
10 const data = getJSONfromString<IRetrievePetFromStasisRequest>(String(req.body));
11
12 let oldPetId: string | undefined;
13 for (const pet of inventory.KubrowPets) {
14 if (pet.Details!.Status == Status.StatusAvailable) {
15 pet.Details!.Status = Status.StatusStasis;
16 oldPetId = pet._id.toString();
17 break;
18 }
19 }
20
21 inventory.KubrowPets.id(data.petId)!.Details!.Status = Status.StatusAvailable;
22
23 await inventory.save();
24 res.json({
25 petId: data.petId,
26 oldPetId,
27 status: Status.StatusAvailable
28 });
29 };
30
31 interface IRetrievePetFromStasisRequest {
32 petId: string;
33 }
Modified src/routes/api.ts +2 -0
@@ -85,6 +85,7 @@ import { queueDojoComponentDestructionController } from "@/src/controllers/api/q
85 85 import { redeemPromoCodeController } from "@/src/controllers/api/redeemPromoCodeController";
86 86 import { removeFromGuildController } from "@/src/controllers/api/removeFromGuildController";
87 87 import { rerollRandomModController } from "@/src/controllers/api/rerollRandomModController";
88 import { retrievePetFromStasisController } from "@/src/controllers/api/retrievePetFromStasisController";
88 89 import { saveDialogueController } from "@/src/controllers/api/saveDialogueController";
89 90 import { saveLoadoutController } from "@/src/controllers/api/saveLoadout";
90 91 import { saveSettingsController } from "@/src/controllers/api/saveSettingsController";
@@ -230,6 +231,7 @@ apiRouter.post("/purchase.php", purchaseController);
230 231 apiRouter.post("/redeemPromoCode.php", redeemPromoCodeController);
231 232 apiRouter.post("/removeFromGuild.php", removeFromGuildController);
232 233 apiRouter.post("/rerollRandomMod.php", rerollRandomModController);
234 apiRouter.post("/retrievePetFromStasis.php", retrievePetFromStasisController);
233 235 apiRouter.post("/saveDialogue.php", saveDialogueController);
234 236 apiRouter.post("/saveLoadout.php", saveLoadoutController);
235 237 apiRouter.post("/saveSettings.php", saveSettingsController);