- anyone can start call - colision check for calls - better error handing for calls
31 lines
1.4 KiB
JavaScript
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;
|
|
};
|