Files
watchparty/functions/webhooks/conferenceEnd.js
T
ayushya 86ee168045 v1.6.0/conference call upgrade
- anyone can start call
- colision check for calls
- better error handing for calls
2020-08-02 01:11:48 -04:00

31 lines
1.4 KiB
JavaScript

const admin = require('firebase-admin');
module.exports = async (req, res) => {
console.info(`[START]\tWEBHOOKS/Conference End\nID:${req.body.conference.confId}\nParty:${req.body.conference.confAlias}`);
if (req.body.eventType === 'Conference.Ended') {
if (req.body.participants.length > 0) {
if (req.body.confAlias.startsWith('AUTODELETE_')) {
const partyName = req.body.confAlias.replace(/AUTODELETE_/, "");
admin.firestore()
.collection('rooms')
.doc(partyName)
.update({ conference: admin.firestore.FieldValue.delete() })
.then(() => {
console.info(`[DONE]\tWEBHOOKS/Conference End\nID:${req.body.conference.confId}\nParty:${req.body.conference.confAlias}`);
return;
})
.catch(err => {
console.error(`[ERROR]\tWEBHOOKS/Conference End/Firebase Error\nID:${req.body.conference.confId}\nParty:${req.body.conference.confAlias}\nError:${JSON.stringify(err)}`)
});
res.status(200).send({ message: 'Processed conference end'});
}
} else {
console.info(`[DONE]\tWEBHOOKS/Conference End/End Of Duplicate Conference\nID:${req.body.conference.confId}\nParty:${req.body.conference.confAlias}`);
}
} else {
console.error(`[ERROR]\tWEBHOOKS/Conference End/Wrong Event Type\nID:${req.body.conference.confId}\nParty:${req.body.conference.confAlias}`)
res.status(400).send({ message: 'Wrong event type' });
}
return;
};