Files
watchparty/functions/admin/sendMessage.js
T
2020-08-15 18:02:04 -04:00

33 lines
1.1 KiB
JavaScript

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" });
}
};