UNPKG

@tasolutions/express-core

Version:
44 lines (37 loc) 1.41 kB
const v1Response = require('../../utils/v1Response'); module.exports = { /** * Function middleware * @param req * @param res * @param next * @return {*} */ middleware: async (req, res, next) => { const moduleName = req.model_name; const parsedBody = req.body; const parsedFiles = req.files || {}; const allowedMethods = ['POST', 'PUT']; if (parsedBody && Object.keys(parsedBody).length > 0) { if (allowedMethods.includes(req.method) && !(parsedBody[moduleName] || parsedFiles[moduleName])) { return v1Response.error(req, res, { message: `${moduleName} is required` }, {}); } } req.body = parsedBody[moduleName] || {}; req.files = parsedFiles[moduleName] || {}; const identifiers = ['organization', 'user', 'agency', 'current-agency']; identifiers.forEach(identifier => { const idValue = req.headers[`st-${identifier}-id`]; if (idValue) { if (identifier == 'current-agency') identifier = 'agency'; const key = `${identifier}_identifier`; if (req.method === 'POST' || req.method === 'PUT') { req.body[key] = idValue; } else { req.query[key] = idValue; } } }); next(); }, }