diff --git a/backend/server.js b/backend/server.js index f89e28348..b554e3edf 100644 --- a/backend/server.js +++ b/backend/server.js @@ -163,115 +163,6 @@ async function announceDailyLbResult(lbdata) { } -async function checkIfPB(obj, userdata) { - let pbs = null; - if (obj.mode == "quote") { - return false; - } - if (obj.funbox !== "none") { - return false; - } - try { - pbs = userdata.personalBests; - if (pbs === undefined) { - throw new Error("pb is undefined"); - } - } catch (e) { - User.findOne({ uid: userdata.uid }, (err, user) => { - user.personalBests = { - [obj.mode]: { - [obj.mode2]: [ - { - language: obj.language, - difficulty: obj.difficulty, - punctuation: obj.punctuation, - wpm: obj.wpm, - acc: obj.acc, - raw: obj.rawWpm, - timestamp: Date.now(), - consistency: obj.consistency, - }, - ], - }, - }; - }).then(() => { - return true; - }); - } - // //check mode, mode2, punctuation, language and difficulty - - let toUpdate = false; - let found = false; - try { - if (pbs[obj.mode][obj.mode2] === undefined) { - pbs[obj.mode][obj.mode2] = []; - } - pbs[obj.mode][obj.mode2].forEach((pb) => { - if ( - pb.punctuation === obj.punctuation && - pb.difficulty === obj.difficulty && - pb.language === obj.language - ) { - //entry like this already exists, compare wpm - found = true; - if (pb.wpm < obj.wpm) { - //new pb - pb.wpm = obj.wpm; - pb.acc = obj.acc; - pb.raw = obj.rawWpm; - pb.timestamp = Date.now(); - pb.consistency = obj.consistency; - toUpdate = true; - } else { - //no pb - return false; - } - } - }); - //checked all pbs, nothing found - meaning this is a new pb - if (!found) { - pbs[obj.mode][obj.mode2] = [ - { - language: obj.language, - difficulty: obj.difficulty, - punctuation: obj.punctuation, - wpm: obj.wpm, - acc: obj.acc, - raw: obj.rawWpm, - timestamp: Date.now(), - consistency: obj.consistency, - }, - ]; - toUpdate = true; - } - } catch (e) { - // console.log(e); - pbs[obj.mode] = {}; - pbs[obj.mode][obj.mode2] = [ - { - language: obj.language, - difficulty: obj.difficulty, - punctuation: obj.punctuation, - wpm: obj.wpm, - acc: obj.acc, - raw: obj.rawWpm, - timestamp: Date.now(), - consistency: obj.consistency, - }, - ]; - toUpdate = true; - } - - if (toUpdate) { - User.findOne({ uid: userdata.uid }, (err, user) => { - user.personalBests = pbs; - user.save(); - }); - return true; - } else { - return false; - } -} async function checkIfTagPB(obj, userdata) { //function returns a list of tag ids where a pb was set //i think