const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp();
exports.events = functions.https.onRequest((request, response) => {
// response.send("Endpoint test Webhooks!");
const collectionNamePrefix = "/_wh_";
let eventCode = "";
// eslint-disable-next-line prefer-const
let sixResponse = JSON.parse(JSON.stringify(request.body));
try {
eventCode = sixResponse["EventCode"];
} catch (error) {
console.log(error);
}
console.log("Response Code ------ "+JSON.stringify(request.body));
console.log("Response ------ " + sixResponse);
console.log("event code ------ " + eventCode);
let collectionName = "";
switch (eventCode) {
case "INVOICE_CREATED":
collectionName = "invoices";
break;
case "MOVEIN":
collectionName = "moveins";
break;
case "RECEIPT_CREATED":
collectionName = "receipts";
break;
case eventCode.startsWith("USER"):
collectionName = "users";
break;
case eventCode.startsWith("UNIT"):
collectionName = "units";
break;
default:
collectionName = "events";
}
console.log("collectionName ------ " + collectionName);
return admin.firestore().collection(collectionNamePrefix+collectionName)
.add({event: sixResponse})
.then((snapshot) => {
return response.json({received: true, ref: "from mobile app"});
// return response.json({received: true, ref: snapshot.ref.toString()});
})
.catch((err) => {
console.error(err);
return response.status(500).end();
});
});
To update the changes to from VS code
firebase deploy --only functions