mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-03-12 23:20:25 +08:00
added function to update leaderboard
This commit is contained in:
parent
dfe4590813
commit
1b3c6d9b38
2 changed files with 44 additions and 1 deletions
|
@ -1,4 +1,5 @@
|
|||
const LeaderboardsDAO = require("../../dao/leaderboards");
|
||||
const ResultDAO = require("../../dao/result");
|
||||
|
||||
class LeaderboardsController {
|
||||
static async get(req, res, next) {
|
||||
|
@ -42,6 +43,41 @@ class LeaderboardsController {
|
|||
}
|
||||
|
||||
static async update(req, res, next) {
|
||||
try {
|
||||
const { rid } = req.body;
|
||||
const { uid } = req.decodedToken;
|
||||
if (!rid) {
|
||||
return res.status(400).json({
|
||||
message: "Missing parameters",
|
||||
});
|
||||
}
|
||||
let result = await ResultDAO.getResult(uid, rid);
|
||||
if (!result.language) result.language = "english";
|
||||
if (
|
||||
result.mode == "time" &&
|
||||
result.isPb &&
|
||||
(result.mode2 == 15 || result.mode2 == 60) &&
|
||||
["english"].includes(result.language)
|
||||
) {
|
||||
//run update
|
||||
let retval = await LeaderboardsDAO.update(
|
||||
result.mode,
|
||||
result.mode2,
|
||||
result.language,
|
||||
uid
|
||||
);
|
||||
return res.status(200).json(retval);
|
||||
} else {
|
||||
return res.status(400).json({
|
||||
message: "This result is not eligible for any leaderboard",
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
return next(e);
|
||||
}
|
||||
}
|
||||
|
||||
static async debugUpdate(req, res, next) {
|
||||
try {
|
||||
const { language, mode, mode2 } = req.body;
|
||||
if (!language || !mode || !mode2) {
|
||||
|
|
|
@ -15,11 +15,18 @@ router.get(
|
|||
LeaderboardsController.getRank
|
||||
);
|
||||
|
||||
router.post(
|
||||
"/update",
|
||||
RateLimit.limit60perhour,
|
||||
authenticateRequest,
|
||||
LeaderboardsController.update
|
||||
);
|
||||
|
||||
//TODO remove me
|
||||
router.post(
|
||||
"/debug_update",
|
||||
RateLimit.limit1persec,
|
||||
LeaderboardsController.update
|
||||
LeaderboardsController.debugUpdate
|
||||
);
|
||||
|
||||
module.exports = router;
|
||||
|
|
Loading…
Reference in a new issue