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

SpaceNinjaServer

A simple server for a small space ninja game

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

XFEstudio/SpaceNinjaServer

feat: get endpoint trainingResult (#3000)

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

9f432d39
AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
提交于

代码差异

2 个文件 +26 -12
Modified src/controllers/api/trainingResultController.ts +23 -10
@@ -17,14 +17,13 @@ interface ITrainingResultsResponse {
17 17 InventoryChanges: IInventoryChanges;
18 18 }
19 19
20 const trainingResultController: RequestHandler = async (req, res): Promise<void> => {
21 const accountId = await getAccountIdForRequest(req);
22
23 const trainingResults = getJSONfromString<ITrainingResultsRequest>(String(req.body));
24
20 const handleTrainingProgress = async (
21 accountId: string,
22 numLevelsGained: number
23 ): Promise<ITrainingResultsResponse> => {
25 24 const inventory = await getInventory(accountId, "TrainingDate PlayerLevel TradesRemaining noMasteryRankUpCooldown");
26 25
27 if (trainingResults.numLevelsGained == 1) {
26 if (numLevelsGained === 1) {
28 27 let time = Date.now();
29 28 if (!inventory.noMasteryRankUpCooldown) {
30 29 time += unixTimesInMs.hour * 23;
@@ -67,13 +66,27 @@ const trainingResultController: RequestHandler = async (req, res): Promise<void>
67 66
68 67 const changedinventory = await inventory.save();
69 68
70 res.json({
69 return {
71 70 NewTrainingDate: {
72 71 $date: { $numberLong: changedinventory.TrainingDate.getTime().toString() }
73 72 },
74 NewLevel: trainingResults.numLevelsGained == 1 ? changedinventory.PlayerLevel : inventory.PlayerLevel,
73 NewLevel: numLevelsGained == 1 ? changedinventory.PlayerLevel : inventory.PlayerLevel,
75 74 InventoryChanges: {}
76 } satisfies ITrainingResultsResponse);
75 };
76 };
77
78 export const trainingResultPostController: RequestHandler = async (req, res): Promise<void> => {
79 const accountId = await getAccountIdForRequest(req);
80 const { numLevelsGained } = getJSONfromString<ITrainingResultsRequest>(String(req.body));
81
82 const response = await handleTrainingProgress(accountId, numLevelsGained);
83 res.json(response satisfies ITrainingResultsResponse);
77 84 };
78 85
79 export { trainingResultController };
86 export const trainingResultGetController: RequestHandler = async (req, res): Promise<void> => {
87 const accountId = await getAccountIdForRequest(req);
88 const numLevelsGained = Number(req.query.numLevelsGained ?? 0);
89
90 const response = await handleTrainingProgress(accountId, numLevelsGained);
91 res.json(response satisfies ITrainingResultsResponse);
92 };
Modified src/routes/api.ts +3 -2
@@ -158,7 +158,7 @@ import { syndicateSacrificeController } from "../controllers/api/syndicateSacrif
158 158 import { syndicateStandingBonusController } from "../controllers/api/syndicateStandingBonusController.ts";
159 159 import { tauntHistoryController } from "../controllers/api/tauntHistoryController.ts";
160 160 import { tradingController } from "../controllers/api/tradingController.ts";
161 import { trainingResultController } from "../controllers/api/trainingResultController.ts";
161 import { trainingResultGetController, trainingResultPostController } from "../controllers/api/trainingResultController.ts";
162 162 import { umbraController } from "../controllers/api/umbraController.ts";
163 163 import { unlockShipFeatureController } from "../controllers/api/unlockShipFeatureController.ts";
164 164 import { updateAlignmentController } from "../controllers/api/updateAlignmentController.ts";
@@ -236,6 +236,7 @@ apiRouter.get("/startLibraryDailyTask.php", startLibraryDailyTaskController);
236 236 apiRouter.get("/startLibraryPersonalTarget.php", startLibraryPersonalTargetController);
237 237 apiRouter.get("/surveys.php", surveysController);
238 238 apiRouter.get("/trading.php", tradingController);
239 apiRouter.get("/trainingResult.php", trainingResultGetController);
239 240 apiRouter.get("/updateSession.php", updateSessionGetController);
240 241 apiRouter.get("/upgradeOperator.php", upgradeOperatorController);
241 242 apiRouter.get("/worldState.php", worldStateController); // U8
@@ -357,7 +358,7 @@ apiRouter.post("/stepSequencers.php", stepSequencersController);
357 358 apiRouter.post("/syndicateSacrifice.php", syndicateSacrificeController);
358 359 apiRouter.post("/syndicateStandingBonus.php", syndicateStandingBonusController);
359 360 apiRouter.post("/tauntHistory.php", tauntHistoryController);
360 apiRouter.post("/trainingResult.php", trainingResultController);
361 apiRouter.post("/trainingResult.php", trainingResultPostController);
361 362 apiRouter.post("/umbra.php", umbraController);
362 363 apiRouter.post("/unlockShipFeature.php", unlockShipFeatureController);
363 364 apiRouter.post("/updateAlignment.php", updateAlignmentController);