diff --git a/.gitignore b/.gitignore index d2e88ee..df9315d 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ */build */lib */exportDB +firebaseSecret.json # misc diff --git a/functions/lib/firebaseSecret.json b/functions/lib/firebaseSecret.json deleted file mode 100644 index ac18c41..0000000 --- a/functions/lib/firebaseSecret.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "service_account", - "project_id": "vaxandme", - "private_key_id": "878a8ed429f84ef5fb42555a34bd71d53ba612b2", - "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDnYRdGS8aHi8aY\nDmcIPlPVN0HSDMjg046n1LmR1f1eRS/28m+C94pP6Pn2WvzRJIGK/8XKXARfAiPD\noVfUaXUAPD0DVbgHMn6/1pvCCF0wwlbXZNsIjDg9vLQiGvnsNcgoDXOhfliqw0ca\nTx3oUdgPCzOzkWw4wGMZaJrNK4w0jwuffNgA746jCG3RX9vo/m+aucerYqPPlSfs\nAjJpmpXXCwdHNx0EnEpGQc3bdnbN53hikEJ+J2xCESqaEmTryi1vXDv+i+YCrZn6\nLD+P1etLvtoU0pKMMCcVLk7VmCPMT8F2RB0L21aFmGLuy8fpBDMIYXtjMp+FbKBf\nAne0zKX1AgMBAAECggEAcn4nQ7gsWZdPYp/B2SDqX9fTgKql3iahcSgA2YrPsM3A\nscx+ZIq0TN2GjyKv9pe/aHYvO/azjQXkh6H3cZrrc/3a3SMWCK2ybaA2+9kisAWC\nblwwTHcCP354jmXV5M4qKLObU77PBlTSAtFChdq19J/A6ircJ+r/Pqv16e+SFdD/\n4ie64DR5Uxj9vUN8WFrfDfapwxwnGLgJCOrS7fecC7xDzi5iLR9mZD1ak2a8B+B6\nwNrzGafVz285B0fVtYbXiEGNElbPBd/hvioK0zsHdYxZYmiaZvyWqABejRk6jW6R\n6OTy7fCk6h7LG23+uh9Ruh8jKEE9nX6g/vYaKOqv0wKBgQD6nKvshaCQD4G5s5gK\nwQFYUFJbmMd547BKtzaFXKzUcldZaL9da4AhINoxu70uCl/nDJmTACEcifU/juiO\nM0XsZ0kufoomW2DyxVKBshBoF/OJoEUngDiCDdJFMUsa6zeiZHVi9uFmTY4c4nf8\nozJxxpcbmQRXEdv9kafBEw83DwKBgQDsWpC/t7QCqCytXWqnkVM5QIvrIxXqIHGR\nzHkS6bmUYv2IF6ynzCgAbnRNDh0X2PIvBk6gJDfyC9lN9LvLurn/CVpEK85Q6hRy\nVO4BegYEaFOfDueiAB1RXvGbEvchZp7+DpN2tgi2lRbuEDPWcySFb7YVkyHo/aVO\nfDHjbSmyuwKBgQDB7ORY1Rpm/6jZozB++dTpmtXwDSwmlNsBJf7peco/Zu9Sv2x9\nhMcUW5CcNXNxohON/cEE8G+u3s5JTXOFPgXYpiAJ+185yTIfCjQLKlfpxMbuc3ev\n1ldjxAA3DKrafLODVQtE9ld6y36xuUkx1LMfOZYKhADIw4ghEknmbLI0XwKBgQCJ\njHtI16QPF8hIbGExe8WvP/0trpGGW7M8Yn7jntm9nY5msUBttsZg2ecdIOWVh1AK\nReVkFS/p0TN5xr+z5MtxvQOnQMclF9UmZH7OpTDzR7PCkW4EPYTSYirBUNw5t/s3\nZ0wyfeW8PC/IA+3nE8NhVI3nKGVHrrWRY321GUZ3GQKBgQDzLC96HVGbIQgfGRhW\nu1mcgNKFdQcy8Yu8ffttnuIIPGljwWwLpfbROD+Fe0CtqJ4XXL0Js7XfoPYoxMMH\nc16GysIG9/TYioBhBVfyf94eekylVjdYO0aY7d5Zjw1EuO/LVdPMlSZuosv3q10n\nyB55dJWP6pkR6tLqeNCuJ8+9qQ==\n-----END PRIVATE KEY-----\n", - "client_email": "firebase-adminsdk-meacv@vaxandme.iam.gserviceaccount.com", - "client_id": "110649794888712776390", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://oauth2.googleapis.com/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-meacv%40vaxandme.iam.gserviceaccount.com" -} diff --git a/functions/lib/index.js b/functions/lib/index.js deleted file mode 100644 index 9115cc6..0000000 --- a/functions/lib/index.js +++ /dev/null @@ -1,190 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getPastResult = exports.saveResult = exports.getStats = void 0; -const functions = require("firebase-functions"); -const admin = require("firebase-admin"); -const firebaseSecret = require("./firebaseSecret.json"); -const params = { - type: firebaseSecret.type, - projectId: firebaseSecret.project_id, - privateKeyId: firebaseSecret.private_key_id, - privateKey: firebaseSecret.private_key, - clientEmail: firebaseSecret.client_email, - clientId: firebaseSecret.client_id, - authUri: firebaseSecret.auth_uri, - tokenUri: firebaseSecret.token_uri, - authProviderX509CertUrl: firebaseSecret.auth_provider_x509_cert_url, - clientC509CertUrl: firebaseSecret.client_x509_cert_url, -}; -admin.initializeApp({ - credential: admin.credential.cert(params), -}); -const VAX_NAMES = { - PB: "Pfizer-BioNTech", - MD: "Moderna", - JJ: "J&J Janssen", -}; -const VAX_DOSES = { - ONE: "Dose 1", - TWO: "Dose 2", -}; -const serializeGaId = (_gaid) => { - if (_gaid) { - return _gaid.split(".").join("|"); - } - return ""; -}; -const addResultToStats = async (data) => { - const cleanData = Object.assign({}, data); - delete cleanData.name; - delete cleanData.dose; - delete cleanData.age; - delete cleanData.gid; - const updateDoc = { - count: admin.firestore.FieldValue.increment(1), - }; - if (data.name === VAX_NAMES.PB || data.name === VAX_NAMES.MD) { - Object.keys(VAX_DOSES).forEach((doseKey) => { - const dose = VAX_DOSES[doseKey]; - Object.keys(cleanData[dose]).forEach((symptom) => { - if (cleanData[dose][symptom]) { - updateDoc[`${dose}.${data.age}.${symptom.replace("/", "OR")}`] = - admin.firestore.FieldValue.increment(1); - } - }); - }); - } - else { - Object.keys(cleanData).forEach((symptom) => { - updateDoc[`${data.age}.${symptom.replace("/", "OR")}`] = - admin.firestore.FieldValue.increment(1); - }); - } - admin.firestore().collection("stats").doc(data.name).update(updateDoc); -}; -const removeResultFromStats = async (data) => { - const cleanData = Object.assign({}, data); - delete cleanData.name; - delete cleanData.dose; - delete cleanData.age; - delete cleanData.gid; - const updateDoc = { - count: admin.firestore.FieldValue.increment(-1), - }; - if (data.name === VAX_NAMES.PB || data.name === VAX_NAMES.MD) { - Object.keys(VAX_DOSES).forEach((doseKey) => { - const dose = VAX_DOSES[doseKey]; - Object.keys(cleanData[dose]).forEach((symptom) => { - if (cleanData[dose][symptom]) { - updateDoc[`${dose}.${data.age}.${symptom.replace("/", "OR")}`] = - admin.firestore.FieldValue.increment(-1); - } - }); - }); - } - else { - Object.keys(cleanData).forEach((symptom) => { - updateDoc[`${data.age}.${symptom.replace("/", "OR")}`] = - admin.firestore.FieldValue.increment(-1); - }); - } - admin.firestore().collection("stats").doc(data.name).update(updateDoc); -}; -exports.getStats = functions.https.onCall(async () => { - const stats = await admin.firestore().collection("stats").get(); - const docs = stats.docs - .map((docSnap) => ({ name: docSnap.id, result: docSnap.data() })); - const returnData = {}; - docs.forEach((vaxResult) => { - returnData[vaxResult.name] = {}; - returnData[vaxResult.name] = vaxResult.result; - }); - return returnData; -}); -exports.saveResult = functions.https.onCall(async (data, context) => { - if (!!data && !!context) { - const { gid } = data; - // Get existing result - const existingResult = await admin - .firestore() - .collection("results") - .doc(serializeGaId(gid)) - .get() - .then((docSnap) => docSnap.data()); - // Update user result - const cleanData = Object.assign({}, data); - delete cleanData.gid; - await admin - .firestore() - .collection("results") - .doc(serializeGaId(gid)) - .set(cleanData); - // No existing result - if (existingResult === undefined) { - await addResultToStats(data); - } - else { - await removeResultFromStats(existingResult); - await addResultToStats(data); - } - } -}); -exports.getPastResult = functions.https.onCall(async (data, context) => { - if (!!data && !!context) { - const { gid } = data; - let hasToUpdateDb = false; - const existingData = await admin - .firestore() - .collection("results") - .doc(serializeGaId(gid)) - .get() - .then((doc) => doc.data()); - if (existingData) { - const returnData = Object.assign({}, existingData); - if (existingData.name === VAX_NAMES.PB || - existingData.name === VAX_NAMES.MD) { - Object.keys(VAX_DOSES).forEach((doseKey) => { - const dose = VAX_DOSES[doseKey]; - if (!existingData[dose]) { - hasToUpdateDb = true; - const temp = {}; - Object.keys(existingData).forEach((symptom) => { - if (symptom !== "name" && - symptom !== "age" && - symptom !== "dose") { - if (existingData.dose === dose) { - temp[symptom] = existingData[symptom]; - delete returnData[symptom]; - } - else { - temp[symptom] = false; - } - } - }); - returnData[dose] = temp; - } - if (returnData[dose]["NAUSEA / VOMITING"]) { - returnData["NAUSEA OR VOMITING"] = - returnData["NAUSEA / VOMITING"]; - } - }); - } - else { - if (returnData["NAUSEA / VOMITING"]) { - returnData["NAUSEA OR VOMITING"] = - returnData["NAUSEA / VOMITING"]; - } - } - if (hasToUpdateDb) { - await admin - .firestore() - .collection("results") - .doc(serializeGaId(gid)) - .set(returnData); - } - return returnData; - } - } - return undefined; -}); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/functions/lib/index.js.map b/functions/lib/index.js.map deleted file mode 100644 index 505cf89..0000000 --- a/functions/lib/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAChD,wCAAwC;AACxC,wDAAwD;AAExD,MAAM,MAAM,GAAG;IACb,IAAI,EAAE,cAAc,CAAC,IAAI;IACzB,SAAS,EAAE,cAAc,CAAC,UAAU;IACpC,YAAY,EAAE,cAAc,CAAC,cAAc;IAC3C,UAAU,EAAE,cAAc,CAAC,WAAW;IACtC,WAAW,EAAE,cAAc,CAAC,YAAY;IACxC,QAAQ,EAAE,cAAc,CAAC,SAAS;IAClC,OAAO,EAAE,cAAc,CAAC,QAAQ;IAChC,QAAQ,EAAE,cAAc,CAAC,SAAS;IAClC,uBAAuB,EAAE,cAAc,CAAC,2BAA2B;IACnE,iBAAiB,EAAE,cAAc,CAAC,oBAAoB;CACvD,CAAC;AAEF,KAAK,CAAC,aAAa,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,SAAS,GAA4B;IACzC,EAAE,EAAE,iBAAiB;IACrB,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,aAAa;CAClB,CAAC;AAEF,MAAM,SAAS,GAA4B;IACzC,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;CACd,CAAC;AAWF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE;IAC9C,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACnC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AACF,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAA4B,EAAE,EAAE;IAC9D,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,IAAI,CAAC;IACtB,OAAO,SAAS,CAAC,IAAI,CAAC;IACtB,OAAO,SAAS,CAAC,GAAG,CAAC;IACrB,OAAO,SAAS,CAAC,GAAG,CAAC;IACrB,MAAM,SAAS,GAAgD;QAC7D,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;KAC/C,CAAC;IACF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,EAAE;QAC5D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;YAClD,MAAM,IAAI,GAAY,SAAS,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;gBACxD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;oBAC5B,SAAS,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC5D,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;iBAC3C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;YAClD,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBACpD,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;KACJ;IACD,KAAK,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,IAAqC,EAAE,EAAE;IAC5E,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1B,OAAO,SAAS,CAAC,IAAI,CAAC;IACtB,OAAO,SAAS,CAAC,IAAI,CAAC;IACtB,OAAO,SAAS,CAAC,GAAG,CAAC;IACrB,OAAO,SAAS,CAAC,GAAG,CAAC;IACrB,MAAM,SAAS,GAAgD;QAC7D,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAChD,CAAC;IACF,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,EAAE;QAC5D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;YAClD,MAAM,IAAI,GAAY,SAAS,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;gBACxD,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE;oBAC5B,SAAS,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;wBAC5D,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;YAClD,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBACpD,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;KACJ;IACD,KAAK,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACzE,CAAC,CAAC;AAEW,QAAA,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAC1C,KAAK,IAAI,EAAE;IACT,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;SAClB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,EAAC,CAAC,CAAC,CAAC;IACpE,MAAM,UAAU,GAA6B,EAAE,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACzB,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC,CAAC;AAEM,QAAA,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAC5C,KAAK,EAAE,IAA2B,EAAE,OAAO,EAAE,EAAE;IAC7C,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE;QACvB,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC;QACnB,sBAAsB;QACtB,MAAM,cAAc,GAAG,MAAM,KAAK;aAC7B,SAAS,EAAE;aACX,UAAU,CAAC,SAAS,CAAC;aACrB,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACvB,GAAG,EAAE;aACL,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACvC,qBAAqB;QACrB,MAAM,SAAS,GACb,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1B,OAAO,SAAS,CAAC,GAAG,CAAC;QACrB,MAAM,KAAK;aACN,SAAS,EAAE;aACX,UAAU,CAAC,SAAS,CAAC;aACrB,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACvB,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,qBAAqB;QACrB,IAAI,cAAc,KAAK,SAAS,EAAE;YAChC,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM;YACL,MAAM,qBAAqB,CAAC,cAAc,CAAC,CAAC;YAC5C,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;SAC9B;KACF;AACH,CAAC,CAAC,CAAC;AAEM,QAAA,aAAa,GACxB,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,IAAmB,EAAE,OAAO,EAAE,EAAE;IAC5D,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE;QACvB,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC;QACnB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,YAAY,GAChB,MAAM,KAAK;aACN,SAAS,EAAE;aACX,UAAU,CAAC,SAAS,CAAC;aACrB,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACvB,GAAG,EAAE;aACL,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,YAAY,EAAE;YAChB,MAAM,UAAU,GACf,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACjC,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE;gBACpC,YAAY,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,EAAE;gBACpC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,OAAgB,EAAE,EAAE;oBAClD,MAAM,IAAI,GAAY,SAAS,CAAC,OAAO,CAAC,CAAC;oBACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;wBACvB,aAAa,GAAG,IAAI,CAAC;wBACrB,MAAM,IAAI,GAA6B,EAAE,CAAC;wBAC1C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;4BAC5C,IAAI,OAAO,KAAK,MAAM;gCACpB,OAAO,KAAK,KAAK;gCACjB,OAAO,KAAK,MAAM,EAAE;gCACpB,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,EAAE;oCAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;oCACtC,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;iCAC5B;qCAAM;oCACL,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;iCACvB;6BACF;wBACH,CAAC,CAAC,CAAC;wBACH,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;qBACzB;oBACD,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,EAAE;wBACzC,UAAU,CAAC,oBAAoB,CAAC;4BAC9B,UAAU,CAAC,mBAAmB,CAAC,CAAC;qBACnC;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,IAAI,UAAU,CAAC,mBAAmB,CAAC,EAAE;oBACnC,UAAU,CAAC,oBAAoB,CAAC;wBAC9B,UAAU,CAAC,mBAAmB,CAAC,CAAC;iBACnC;aACF;YACD,IAAI,aAAa,EAAE;gBACjB,MAAM,KAAK;qBACN,SAAS,EAAE;qBACX,UAAU,CAAC,SAAS,CAAC;qBACrB,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACvB,GAAG,CAAC,UAAU,CAAC,CAAC;aACtB;YACD,OAAO,UAAU,CAAC;SACnB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/functions/package.json b/functions/package.json index 95007b0..e433c9c 100644 --- a/functions/package.json +++ b/functions/package.json @@ -3,8 +3,7 @@ "scripts": { "lint": "eslint --ext .js,.ts .", "build": "tsc", - "serve": "npm run devenv && npm run build && firebase emulators:start --import ./exportDB", - "devenv": "SET NODE_ENV=dev", + "serve": "npm run build && firebase emulators:start --import ./exportDB", "shell": "npm run build && firebase functions:shell", "start": "npm run shell", "deploy": "firebase deploy --only functions", diff --git a/functions/src/firebaseSecret.json b/functions/src/firebaseSecret.json deleted file mode 100644 index cabed9e..0000000 --- a/functions/src/firebaseSecret.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "service_account", - "project_id": "vaxandme", - "private_key_id": "878a8ed429f84ef5fb42555a34bd71d53ba612b2", - "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDnYRdGS8aHi8aY\nDmcIPlPVN0HSDMjg046n1LmR1f1eRS/28m+C94pP6Pn2WvzRJIGK/8XKXARfAiPD\noVfUaXUAPD0DVbgHMn6/1pvCCF0wwlbXZNsIjDg9vLQiGvnsNcgoDXOhfliqw0ca\nTx3oUdgPCzOzkWw4wGMZaJrNK4w0jwuffNgA746jCG3RX9vo/m+aucerYqPPlSfs\nAjJpmpXXCwdHNx0EnEpGQc3bdnbN53hikEJ+J2xCESqaEmTryi1vXDv+i+YCrZn6\nLD+P1etLvtoU0pKMMCcVLk7VmCPMT8F2RB0L21aFmGLuy8fpBDMIYXtjMp+FbKBf\nAne0zKX1AgMBAAECggEAcn4nQ7gsWZdPYp/B2SDqX9fTgKql3iahcSgA2YrPsM3A\nscx+ZIq0TN2GjyKv9pe/aHYvO/azjQXkh6H3cZrrc/3a3SMWCK2ybaA2+9kisAWC\nblwwTHcCP354jmXV5M4qKLObU77PBlTSAtFChdq19J/A6ircJ+r/Pqv16e+SFdD/\n4ie64DR5Uxj9vUN8WFrfDfapwxwnGLgJCOrS7fecC7xDzi5iLR9mZD1ak2a8B+B6\nwNrzGafVz285B0fVtYbXiEGNElbPBd/hvioK0zsHdYxZYmiaZvyWqABejRk6jW6R\n6OTy7fCk6h7LG23+uh9Ruh8jKEE9nX6g/vYaKOqv0wKBgQD6nKvshaCQD4G5s5gK\nwQFYUFJbmMd547BKtzaFXKzUcldZaL9da4AhINoxu70uCl/nDJmTACEcifU/juiO\nM0XsZ0kufoomW2DyxVKBshBoF/OJoEUngDiCDdJFMUsa6zeiZHVi9uFmTY4c4nf8\nozJxxpcbmQRXEdv9kafBEw83DwKBgQDsWpC/t7QCqCytXWqnkVM5QIvrIxXqIHGR\nzHkS6bmUYv2IF6ynzCgAbnRNDh0X2PIvBk6gJDfyC9lN9LvLurn/CVpEK85Q6hRy\nVO4BegYEaFOfDueiAB1RXvGbEvchZp7+DpN2tgi2lRbuEDPWcySFb7YVkyHo/aVO\nfDHjbSmyuwKBgQDB7ORY1Rpm/6jZozB++dTpmtXwDSwmlNsBJf7peco/Zu9Sv2x9\nhMcUW5CcNXNxohON/cEE8G+u3s5JTXOFPgXYpiAJ+185yTIfCjQLKlfpxMbuc3ev\n1ldjxAA3DKrafLODVQtE9ld6y36xuUkx1LMfOZYKhADIw4ghEknmbLI0XwKBgQCJ\njHtI16QPF8hIbGExe8WvP/0trpGGW7M8Yn7jntm9nY5msUBttsZg2ecdIOWVh1AK\nReVkFS/p0TN5xr+z5MtxvQOnQMclF9UmZH7OpTDzR7PCkW4EPYTSYirBUNw5t/s3\nZ0wyfeW8PC/IA+3nE8NhVI3nKGVHrrWRY321GUZ3GQKBgQDzLC96HVGbIQgfGRhW\nu1mcgNKFdQcy8Yu8ffttnuIIPGljwWwLpfbROD+Fe0CtqJ4XXL0Js7XfoPYoxMMH\nc16GysIG9/TYioBhBVfyf94eekylVjdYO0aY7d5Zjw1EuO/LVdPMlSZuosv3q10n\nyB55dJWP6pkR6tLqeNCuJ8+9qQ==\n-----END PRIVATE KEY-----\n", - "client_email": "firebase-adminsdk-meacv@vaxandme.iam.gserviceaccount.com", - "client_id": "110649794888712776390", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://oauth2.googleapis.com/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-meacv%40vaxandme.iam.gserviceaccount.com" -}