返回提交历史
Modified
src/controllers/stats/leaderboardController.ts
+17
-0
Modified
src/routes/stats.ts
+6
-1
XFEstudio/XFESpaceNinjaServer
feat: handle leaderboard request from u10 (#3421)
Closes #3418 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3421 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
a2c2ddca
代码差异
2 个文件
+23
-1
@@ -15,6 +15,23 @@ export const leaderboardPostController: RequestHandler = async (req, res) => {
15
15
});
16
16
};
17
17
18
export const leaderboardU10Controller: RequestHandler = async (req, res) => {
19
let guildTier: number | undefined;
20
if ("guildTier" in req.query) {
21
guildTier = parseInt(req.query.guildTier as string);
22
}
23
res.json({
24
results: await getLeaderboard(
25
req.query.field as string,
26
parseInt(req.query.before as string),
27
parseInt(req.query.after as string),
28
req.query.pivotId as string | undefined,
29
req.query.guildId as string | undefined,
30
guildTier
31
)
32
});
33
};
34
18
35
export const leaderboardGetController: RequestHandler = async (req, res) => {
19
36
const payload: ILeaderboardRequest = {
20
37
field: "archived." + String(req.query.field),
@@ -1,13 +1,18 @@
1
1
import express from "express";
2
2
import { viewController } from "../controllers/stats/viewController.ts";
3
3
import { uploadController } from "../controllers/stats/uploadController.ts";
4
import { leaderboardPostController, leaderboardGetController } from "../controllers/stats/leaderboardController.ts";
4
import {
5
leaderboardPostController,
6
leaderboardGetController,
7
leaderboardU10Controller
8
} from "../controllers/stats/leaderboardController.ts";
5
9
6
10
const statsRouter = express.Router();
7
11
8
12
statsRouter.get("/view.php", viewController);
9
13
statsRouter.get("/profileStats.php", viewController);
10
14
statsRouter.get("/leaderboard.php", leaderboardGetController);
15
statsRouter.get("/leaderboardWeekly.php", leaderboardU10Controller);
11
16
statsRouter.post("/upload.php", uploadController);
12
17
statsRouter.post("/view.php", viewController);
13
18
statsRouter.post("/leaderboardWeekly.php", leaderboardPostController);