From 31c92f715f03a398b42db1a2be7300566392914e Mon Sep 17 00:00:00 2001 From: Jack Date: Sat, 22 Aug 2020 00:04:23 +0100 Subject: [PATCH] added result counting --- functions/index.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/functions/index.js b/functions/index.js index 7d8827afd..633e7e79a 100644 --- a/functions/index.js +++ b/functions/index.js @@ -446,6 +446,32 @@ exports.requestTest = functions.https.onRequest((request, response) => { response.status(200).send({ data: "test" }); }); +async function incrementTestCounter(uid) { + let userDoc = await db.collection("users").doc(uid).get(); + let userData = userDoc.data(); + if (userData.completedTests === undefined) { + let results = await db.collection(`users/${uid}/results`).get(); + let count = results.docs.length; + db.collection("users") + .doc(uid) + .update({ + completedTests: admin.firestore.FieldValue.increment(count), + }); + db.collection("public") + .doc("stats") + .update({ + completedTests: admin.firestore.FieldValue.increment(count), + }); + } else { + db.collection("users") + .doc(uid) + .update({ completedTests: admin.firestore.FieldValue.increment(1) }); + db.collection("public") + .doc("stats") + .update({ completedTests: admin.firestore.FieldValue.increment(1) }); + } +} + exports.testCompleted = functions.https.onRequest(async (request, response) => { response.set("Access-Control-Allow-Origin", "*"); if (request.method === "OPTIONS") { @@ -628,6 +654,8 @@ exports.testCompleted = functions.https.onRequest(async (request, response) => { let ispb = values[2]; // console.log(values); + incrementTestCounter(request.uid); + let usr = userdata.discordId !== undefined ? userdata.discordId