const admin = require("firebase-admin"); const Logger = require("../Logger"); const mLogger = new Logger("admin", "sendMessage"); module.exports = async (req, res) => { mLogger.start(); const { selectedParties, newMessage } = JSON.parse(req.body); if (selectedParties && newMessage && selectedParties.length > 0) { if (newMessage.text && newMessage.time && newMessage.uid) { newMessage.time = new Date(); await selectedParties.map(async (partyId) => { await admin .firestore() .collection("rooms") .doc(partyId) .collection("messages") .add(newMessage) .catch((err) => { mLogger.error("FAILED TO SEND MESSAGE", { partyId, err }); }); }); mLogger.success("SENT MESSAGES", { newMessage, selectedParties }); res.status(200).send({ message: "SENT MESSAGES" }); } else { mLogger.error("MESSAGE NOT VALID"); res.status(500).send({ message: "Message is missing fields" }); } } else { mLogger.error("VALUES NOT RECEIVED"); res.status(500).send({ message: "Values not received" }); } };