added a check if the user has correct name

This commit is contained in:
Jack 2020-07-06 22:51:03 +01:00
parent 29df39aa37
commit 086bbc4f77
2 changed files with 17 additions and 5 deletions

View file

@ -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,

View file

@ -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 + "<br>" + dailyLbString