From bd4b824a45019f422607ae684edaddfb6201890f Mon Sep 17 00:00:00 2001 From: Ayushya Amitabh Date: Thu, 10 Sep 2020 19:13:48 -0400 Subject: [PATCH] v1.7.4/release - create party tests --- functions/modules/createRoom.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/functions/modules/createRoom.js b/functions/modules/createRoom.js index 2a9b22c..193f0f0 100644 --- a/functions/modules/createRoom.js +++ b/functions/modules/createRoom.js @@ -1,11 +1,24 @@ const admin = require('firebase-admin'); +const partyNameHasInvalidChar = (partyName) => + /\\/gi.test(partyName) || /\//gi.test(partyName) || /\./gi.test(partyName); + +const isValidPin = (pin) => /^.*[0-9].{2}$/.test(pin); + module.exports = async (req, res) => { const bodydata = JSON.parse(req.body); console.log('Requested Create - UID - ', bodydata.uid); if (!bodydata.userName) res.status(400).send({ message: 'Missing user name' }); if (!bodydata.partyName) res.status(400).send({ message: 'Missing party name' }); if (!bodydata.partyPin) res.status(400).send({ message: 'Missing party pin' }); + if (partyNameHasInvalidChar(bodydata.partyName)) { + res.status(400).send({ message: 'Party name can not have "\\" or "/" or "."' }); + } + if (!isValidPin(bodydata.partyPin)) { + res + .status(400) + .send({ message: 'Party pin can only have digits and must be atleast 3 digits' }); + } const roomNameTaken = await admin .firestore() .collection('rooms')