From ed5dace7b41ebe77df3559368a9d5e7359b30a38 Mon Sep 17 00:00:00 2001 From: Miodec Date: Tue, 17 Aug 2021 18:24:21 +0100 Subject: [PATCH] properly handling errors in responses, disabled leaderboards --- backend/api/controllers/result.js | 20 +++++++++++++------- src/js/elements/leaderboards.js | 4 +++- src/js/test/test-leaderboards.js | 4 +++- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/backend/api/controllers/result.js b/backend/api/controllers/result.js index b93be5e99..ef0216c43 100644 --- a/backend/api/controllers/result.js +++ b/backend/api/controllers/result.js @@ -196,9 +196,12 @@ class ResultController { static async getLeaderboard(req, res, next) { try { - const { type, mode, mode2 } = req.params; - const results = await ResultDAO.getLeaderboard(type, mode, mode2); - return res.status(200).json(results); + // const { type, mode, mode2 } = req.params; + // const results = await ResultDAO.getLeaderboard(type, mode, mode2); + // return res.status(200).json(results); + return res + .status(503) + .json({ message: "Leaderboard temporarily disabled" }); } catch (e) { next(e); } @@ -206,10 +209,13 @@ class ResultController { static async checkLeaderboardQualification(req, res, next) { try { - const { uid } = req.decodedToken; - const { result } = req.body; - const data = await ResultDAO.checkLeaderboardQualification(uid, result); - return res.status(200).json(data); + // const { uid } = req.decodedToken; + // const { result } = req.body; + // const data = await ResultDAO.checkLeaderboardQualification(uid, result); + // return res.status(200).json(data); + return res + .status(503) + .json({ message: "Leaderboard temporarily disabled" }); } catch (e) { next(e); } diff --git a/src/js/elements/leaderboards.js b/src/js/elements/leaderboards.js index 188377f18..902a3f543 100644 --- a/src/js/elements/leaderboards.js +++ b/src/js/elements/leaderboards.js @@ -237,7 +237,9 @@ function update() { }) .catch((e) => { Loader.hide(); - Notifications.add("Something went wrong: " + e.message, -1); + let msg = e?.response?.data?.message ?? e.message; + Notifications.add("Failed to load leaderboards: " + msg, -1); + return; }); } diff --git a/src/js/test/test-leaderboards.js b/src/js/test/test-leaderboards.js index a7844b2fa..137ed3cec 100644 --- a/src/js/test/test-leaderboards.js +++ b/src/js/test/test-leaderboards.js @@ -187,7 +187,9 @@ export async function check(completedEvent) { }) .catch((e) => { $("#result .stats .leaderboards").addClass("hidden"); - Notifications.add(e, -1); + let msg = e?.response?.data?.message ?? e.message; + Notifications.add("Failed to access leaderboard: " + msg, -1); + return; }); } } catch (e) {