diff --git a/functions/index.js b/functions/index.js index f14526140..dc57d0c41 100644 --- a/functions/index.js +++ b/functions/index.js @@ -1456,7 +1456,7 @@ exports.testCompleted = functions.https.onRequest(async (request, response) => { ), checkIfPB(request.uid, request.obj, userdata), checkIfTagPB(request.uid, request.obj), - db.collection(`users/${request.uid}/results`).add(obj), + stripAndSave(request.uid, request.obj), ]) .then(async (values) => { let globallb = values[0].insertedAt; @@ -1618,6 +1618,18 @@ exports.testCompleted = functions.https.onRequest(async (request, response) => { } }); +async function stripAndSave(uid, obj) { + if (obj.bailedOut === false) delete obj.bailedOut; + if (obj.blindMode === false) delete obj.blindMode; + if (obj.difficulty === "normal") delete obj.difficulty; + if (obj.funbox === "none") delete obj.funbox; + if (obj.language === "english") delete obj.language; + if (obj.numbers === false) delete obj.numbers; + if (obj.punctuation === false) delete obj.punctuation; + + return await db.collection(`users/${uid}/results`).add(obj); +} + exports.updateEmail = functions.https.onCall(async (request, response) => { try { let previousEmail = await admin.auth().getUser(request.uid); diff --git a/src/js/db.js b/src/js/db.js index bf723fb07..14f377e87 100644 --- a/src/js/db.js +++ b/src/js/db.js @@ -128,6 +128,15 @@ export async function db_getUserResults() { data.docs.forEach((doc) => { let result = doc.data(); result.id = doc.id; + + if (result.bailedOut === undefined) result.bailedOut = false; + if (result.blindMode === undefined) result.blindMode = false; + if (result.difficulty === undefined) result.difficulty = "normal"; + if (result.funbox === undefined) result.funbox = "none"; + if (result.language === undefined) result.language = "english"; + if (result.numbers === undefined) result.numbers = false; + if (result.punctuation === undefined) result.punctuation = false; + dbSnapshot.results.push(result); }); return true;