UNPKG

express-sequelize-autocrud

Version:

Express Sequelize AutoCRUD: Simplify API development with automatic CRUD routes for Sequelize models in Express.js.

37 lines 1.36 kB
import { isIncludeExcludeMatchCriteria } from './config.js'; import { crudError } from '../utils.js'; export const checkBodyFields = (bodyFields) => { return async (req, res, next) => { const toTest = Object.keys(req.body); const { result, problematicFields } = await isIncludeExcludeMatchCriteria(bodyFields, toTest, req, res); if (!result) { res .status(400) .json(crudError(`Can't use [${problematicFields.join(', ')}] in body`)); } else { next(); } }; }; export const checkBodyArrayFields = (bodyFields) => { return async (req, res, next) => { if (!Array.isArray(req.body)) { res .status(400) .json({ success: false, message: 'Request body does not an array!' }); return; } const results = await Promise.all(req.body.map(body => isIncludeExcludeMatchCriteria(bodyFields, Object.keys(body), req, res))); const filteredResults = results.filter(r => !r.result); if (filteredResults.length > 0) { res .status(400) .json(crudError(`Can't use [${filteredResults[0].problematicFields.join(', ')}] in body`)); } else { next(); } }; }; //# sourceMappingURL=body.js.map