返回提交历史
Modified
src/controllers/api/trainingResultController.ts
+23
-10
Modified
src/routes/api.ts
+3
-2
XFEstudio/XFESpaceNinjaServer
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
代码差异
2 个文件
+26
-12
@@ -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
};
@@ -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);