feat: get endpoint trainingResult (#3000)
Closes #2994 Reviewed-on: #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>
This commit was merged in pull request #3000.
This commit is contained in:
@@ -17,14 +17,13 @@ interface ITrainingResultsResponse {
|
||||
InventoryChanges: IInventoryChanges;
|
||||
}
|
||||
|
||||
const trainingResultController: RequestHandler = async (req, res): Promise<void> => {
|
||||
const accountId = await getAccountIdForRequest(req);
|
||||
|
||||
const trainingResults = getJSONfromString<ITrainingResultsRequest>(String(req.body));
|
||||
|
||||
const handleTrainingProgress = async (
|
||||
accountId: string,
|
||||
numLevelsGained: number
|
||||
): Promise<ITrainingResultsResponse> => {
|
||||
const inventory = await getInventory(accountId, "TrainingDate PlayerLevel TradesRemaining noMasteryRankUpCooldown");
|
||||
|
||||
if (trainingResults.numLevelsGained == 1) {
|
||||
if (numLevelsGained === 1) {
|
||||
let time = Date.now();
|
||||
if (!inventory.noMasteryRankUpCooldown) {
|
||||
time += unixTimesInMs.hour * 23;
|
||||
@@ -67,13 +66,27 @@ const trainingResultController: RequestHandler = async (req, res): Promise<void>
|
||||
|
||||
const changedinventory = await inventory.save();
|
||||
|
||||
res.json({
|
||||
return {
|
||||
NewTrainingDate: {
|
||||
$date: { $numberLong: changedinventory.TrainingDate.getTime().toString() }
|
||||
},
|
||||
NewLevel: trainingResults.numLevelsGained == 1 ? changedinventory.PlayerLevel : inventory.PlayerLevel,
|
||||
NewLevel: numLevelsGained == 1 ? changedinventory.PlayerLevel : inventory.PlayerLevel,
|
||||
InventoryChanges: {}
|
||||
} satisfies ITrainingResultsResponse);
|
||||
};
|
||||
};
|
||||
|
||||
export { trainingResultController };
|
||||
export const trainingResultPostController: RequestHandler = async (req, res): Promise<void> => {
|
||||
const accountId = await getAccountIdForRequest(req);
|
||||
const { numLevelsGained } = getJSONfromString<ITrainingResultsRequest>(String(req.body));
|
||||
|
||||
const response = await handleTrainingProgress(accountId, numLevelsGained);
|
||||
res.json(response satisfies ITrainingResultsResponse);
|
||||
};
|
||||
|
||||
export const trainingResultGetController: RequestHandler = async (req, res): Promise<void> => {
|
||||
const accountId = await getAccountIdForRequest(req);
|
||||
const numLevelsGained = Number(req.query.numLevelsGained ?? 0);
|
||||
|
||||
const response = await handleTrainingProgress(accountId, numLevelsGained);
|
||||
res.json(response satisfies ITrainingResultsResponse);
|
||||
};
|
||||
|
||||
@@ -158,7 +158,7 @@ import { syndicateSacrificeController } from "../controllers/api/syndicateSacrif
|
||||
import { syndicateStandingBonusController } from "../controllers/api/syndicateStandingBonusController.ts";
|
||||
import { tauntHistoryController } from "../controllers/api/tauntHistoryController.ts";
|
||||
import { tradingController } from "../controllers/api/tradingController.ts";
|
||||
import { trainingResultController } from "../controllers/api/trainingResultController.ts";
|
||||
import { trainingResultGetController, trainingResultPostController } from "../controllers/api/trainingResultController.ts";
|
||||
import { umbraController } from "../controllers/api/umbraController.ts";
|
||||
import { unlockShipFeatureController } from "../controllers/api/unlockShipFeatureController.ts";
|
||||
import { updateAlignmentController } from "../controllers/api/updateAlignmentController.ts";
|
||||
@@ -236,6 +236,7 @@ apiRouter.get("/startLibraryDailyTask.php", startLibraryDailyTaskController);
|
||||
apiRouter.get("/startLibraryPersonalTarget.php", startLibraryPersonalTargetController);
|
||||
apiRouter.get("/surveys.php", surveysController);
|
||||
apiRouter.get("/trading.php", tradingController);
|
||||
apiRouter.get("/trainingResult.php", trainingResultGetController);
|
||||
apiRouter.get("/updateSession.php", updateSessionGetController);
|
||||
apiRouter.get("/upgradeOperator.php", upgradeOperatorController);
|
||||
apiRouter.get("/worldState.php", worldStateController); // U8
|
||||
@@ -357,7 +358,7 @@ apiRouter.post("/stepSequencers.php", stepSequencersController);
|
||||
apiRouter.post("/syndicateSacrifice.php", syndicateSacrificeController);
|
||||
apiRouter.post("/syndicateStandingBonus.php", syndicateStandingBonusController);
|
||||
apiRouter.post("/tauntHistory.php", tauntHistoryController);
|
||||
apiRouter.post("/trainingResult.php", trainingResultController);
|
||||
apiRouter.post("/trainingResult.php", trainingResultPostController);
|
||||
apiRouter.post("/umbra.php", umbraController);
|
||||
apiRouter.post("/unlockShipFeature.php", unlockShipFeatureController);
|
||||
apiRouter.post("/updateAlignment.php", updateAlignmentController);
|
||||
|
||||
Reference in New Issue
Block a user