const admin = require('firebase-admin'); module.exports = async (req, res) => { console.log('Requested Leave - UID - ', req.params.uid, '\n\tRoom - ', req.params.rid); const userName = await admin .firestore() .collection('rooms') .doc(req.params.rid) .collection('users') .doc(req.params.uid) .get() .then((userSnap) => userSnap.data().name); await admin .firestore() .collection('rooms') .doc(req.params.rid) .collection('users') .doc(req.params.uid) .delete() .catch((err) => console.error( `Failed to remove user from party : \n\t Room: ${req.params.rid} \n\t User: ${req.params.uid}`, err ) ); admin .firestore() .collection('rooms') .doc(req.params.rid) .collection('messages') .add({ uid: '', time: new Date(), name: '', text: `${userName} left the party.`, }); res.status(200).send({ message: 'Left the party' }); };