stripping default values before storing the result

This commit is contained in:
Miodec 2021-02-06 19:42:23 +00:00
parent 5f73c476f4
commit a0c1fbc839
2 changed files with 22 additions and 1 deletions

View file

@ -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);

View file

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