fix #493: remove nulls from cerateCall payload in order not to trip up validation (#494)

This commit is contained in:
Dave Horton
2023-10-23 10:58:28 -04:00
committed by GitHub
parent cf0f4d405f
commit 168b4dc051

View File

@@ -15,14 +15,22 @@ const dbUtils = require('../../utils/db-utils');
const { mergeSdpMedia, extractSdpMedia } = require('../../utils/sdp-utils'); const { mergeSdpMedia, extractSdpMedia } = require('../../utils/sdp-utils');
const { createCallSchema } = require('../schemas/create-call'); const { createCallSchema } = require('../schemas/create-call');
const removeNullProperties = (obj) => (Object.keys(obj).forEach((key) => obj[key] === null && delete obj[key]), obj);
const removeNulls = (req, res, next) => {
req.body = removeNullProperties(req.body);
next();
};
router.post('/', router.post('/',
removeNulls,
createCallSchema, createCallSchema,
async(req, res) => { async(req, res) => {
const {logger} = req.app.locals;
const errors = validationResult(req); const errors = validationResult(req);
if (!errors.isEmpty()) { if (!errors.isEmpty()) {
logger.info({errors: errors.array()}, 'POST /Calls: validation errors');
return res.status(400).json({ errors: errors.array() }); return res.status(400).json({ errors: errors.array() });
} }
const {logger} = req.app.locals;
const accountSid = req.body.account_sid; const accountSid = req.body.account_sid;
const {srf} = require('../../..'); const {srf} = require('../../..');