From 086bbc4f77708720e986961e32eacea46e2704e7 Mon Sep 17 00:00:00 2001 From: Jack Date: Mon, 6 Jul 2020 22:51:03 +0100 Subject: [PATCH] added a check if the user has correct name --- functions/index.js | 15 +++++++++++---- public/js/script.js | 7 ++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/functions/index.js b/functions/index.js index b777b5b2b..3f2071210 100644 --- a/functions/index.js +++ b/functions/index.js @@ -73,7 +73,7 @@ function getAllUsers() { function isUsernameValid(name) { if (name === null || name === undefined || name === "") return false; - if (/miodec/.test(name)) return false; + if (/miodec/.test(name.toLowerCase())) return false; if (name.length > 12) return false; return /^[0-9a-zA-Z_.-]+$/.test(name); } @@ -436,6 +436,7 @@ exports.testCompleted = functions.https.onCall((request, response) => { .get() .then((doc) => { let docdata = doc.data(); + let name = docdata.name === undefined ? false : docdata.name; let banned = docdata.banned === undefined ? false : docdata.banned; let verified = docdata.verified === undefined ? false : docdata.verified; @@ -462,8 +463,8 @@ exports.testCompleted = functions.https.onCall((request, response) => { .add(obj) .then((e) => { return Promise.all([ - checkLeaderboards(request.obj, "global", banned), - checkLeaderboards(request.obj, "daily", banned), + checkLeaderboards(request.obj, "global", banned, name), + checkLeaderboards(request.obj, "daily", banned, name), checkIfPB(request.uid, request.obj), ]).then((values) => { let globallb = values[0].insertedAt; @@ -476,6 +477,7 @@ exports.testCompleted = functions.https.onCall((request, response) => { globalLeaderboard: globallb, dailyLeaderboard: dailylb, lbBanned: banned, + name: name, }; request.obj.keySpacing = "removed"; request.obj.keyDuration = "removed"; @@ -880,8 +882,13 @@ class Leaderboard { } } -async function checkLeaderboards(resultObj, type, banned) { +async function checkLeaderboards(resultObj, type, banned, name) { try { + if (!name) + return { + insertedAt: null, + noName: true, + }; if (banned) return { insertedAt: null, diff --git a/public/js/script.js b/public/js/script.js index ea79c8df5..2fcc74d4e 100644 --- a/public/js/script.js +++ b/public/js/script.js @@ -1204,13 +1204,18 @@ function showResult(difficultyFailed = false) { if ( e.data.dailyLeaderboard === null && e.data.globalLeaderboard === null && - e.data.lbBanned === false + e.data.lbBanned === false && + e.data.name !== false ) { $("#result .stats .leaderboards").addClass("hidden"); } else { $("#result .stats .leaderboards").removeClass("hidden"); if (e.data.lbBanned) { $("#result .stats .leaderboards .bottom").html("banned"); + } else if (e.data.name === false) { + $("#result .stats .leaderboards .bottom").html( + "update your name to access leaderboards" + ); } else { $("#result .stats .leaderboards .bottom").html( globalLbString + "
" + dailyLbString