mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-11-09 13:44:29 +08:00
removing small results if they are not already removed
This commit is contained in:
parent
e4b3e6a881
commit
7a3c7a3ec8
4 changed files with 57 additions and 0 deletions
|
|
@ -407,6 +407,54 @@ exports.checkNameAvailability = functions.https.onRequest(
|
|||
// }
|
||||
// );
|
||||
|
||||
exports.removeSmallTestsAndQPB = functions.https.onCall(
|
||||
async (request, response) => {
|
||||
let uid = request.uid;
|
||||
|
||||
try {
|
||||
let docs = await db
|
||||
.collection(`users/${uid}/results`)
|
||||
.where("mode", "==", "time")
|
||||
.where("mode2", "<", 15)
|
||||
.get();
|
||||
docs.forEach(async (doc) => {
|
||||
db.collection(`users/${uid}/results`).doc(doc.id).delete();
|
||||
});
|
||||
let docs2 = await db
|
||||
.collection(`users/${uid}/results`)
|
||||
.where("mode", "==", "words")
|
||||
.where("mode2", "<", 10)
|
||||
.get();
|
||||
docs2.forEach(async (doc) => {
|
||||
db.collection(`users/${uid}/results`).doc(doc.id).delete();
|
||||
});
|
||||
let docs3 = await db
|
||||
.collection(`users/${uid}/results`)
|
||||
.where("mode", "==", "custom")
|
||||
.where("testDuration", "<", 10)
|
||||
.get();
|
||||
docs3.forEach(async (doc) => {
|
||||
db.collection(`users/${uid}/results`).doc(doc.id).delete();
|
||||
});
|
||||
// console.log(`removing small tests for ${uid}: ${docs.size} time, ${docs2.size} words, ${docs3.size} custom`);
|
||||
let userdata = await db.collection(`users`).doc(uid).get();
|
||||
userdata = userdata.data();
|
||||
try {
|
||||
pbs = userdata.personalBests;
|
||||
// console.log(`removing ${Object.keys(pbs.quote).length} quote pb`);
|
||||
delete pbs.quote;
|
||||
await db.collection("users").doc(uid).update({ personalBests: pbs });
|
||||
} catch {}
|
||||
db.collection("users")
|
||||
.doc(uid)
|
||||
.set({ refactored: true }, { merge: true });
|
||||
console.log("removed small tests for " + uid);
|
||||
} catch (e) {
|
||||
console.log(`something went wrong for ${uid}: ${e.message}`);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
function checkIfPB(uid, obj, userdata) {
|
||||
let pbs = null;
|
||||
if (obj.mode == "quote") {
|
||||
|
|
|
|||
|
|
@ -360,6 +360,9 @@ function getAccountDataAndInit() {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (snap.refactored === false) {
|
||||
CloudFunctions.removeSmallTests({ uid: user.uid });
|
||||
}
|
||||
if (!configChangedBeforeDb) {
|
||||
if (cookieConfig === null) {
|
||||
accountIconLoading(false);
|
||||
|
|
|
|||
|
|
@ -30,3 +30,7 @@ export const clearTagPb = firebase.functions().httpsCallable("clearTagPb");
|
|||
export const changeDisplayName = firebase
|
||||
.functions()
|
||||
.httpsCallable("changeDisplayName");
|
||||
|
||||
export const removeSmallTests = firebase
|
||||
.functions()
|
||||
.httpsCallable("removeSmallTestsAndQPB");
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ export async function db_getUserSnapshot() {
|
|||
name: undefined,
|
||||
tags: [],
|
||||
favouriteThemes: [],
|
||||
refactored: false,
|
||||
lbMemory: {
|
||||
time15: {
|
||||
global: null,
|
||||
|
|
@ -85,6 +86,7 @@ export async function db_getUserSnapshot() {
|
|||
snap.config = data.config;
|
||||
snap.favouriteThemes =
|
||||
data.favouriteThemes === undefined ? [] : data.favouriteThemes;
|
||||
snap.refactored = data.refactored === true ? true : false;
|
||||
snap.globalStats = {
|
||||
time: data.timeTyping,
|
||||
started: data.startedTests,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue