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