briareus
Version:
Briareus assists with Feature Branch deploys to ECS
27 lines (19 loc) • 606 B
JavaScript
const _ = require('lodash');
const Ajv = require('ajv');
const schemas = require('../schemas');
const errors = require('../errors');
module.exports = function (service, schemaName) {
return function (req, res, next) {
let ajv = new Ajv({
removeAdditional: 'all',
allErrors: true,
useDefaults: true
});
_.each(schemas, (schema, name) => ajv.addSchema(schema, name));
let result = ajv.validate(schemaName, req.body);
// Continue if data payload is valid
if (result) return next();
next(new errors.InputValidationError(ajv.errors));
};
};