@amirmarmul/waba-common
Version:

36 lines (35 loc) • 1.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.validationMiddleware = exports.validateQueryMiddleware = exports.validateBodyMiddleware = void 0;
const RequestValidationError_1 = require("../../../../core/errors/RequestValidationError");
const class_transformer_1 = require("class-transformer");
const class_validator_1 = require("class-validator");
function validateBodyMiddleware(type, skipMissingProperties = false) {
return (req, res, next) => {
(0, class_validator_1.validate)((0, class_transformer_1.plainToClass)(type, req.body), { skipMissingProperties })
.then((errors) => {
if (errors.length > 0) {
next(new RequestValidationError_1.RequestValidationError(errors));
}
else {
next();
}
});
};
}
exports.validateBodyMiddleware = validateBodyMiddleware;
function validateQueryMiddleware(type, skipMissingProperties = false) {
return (req, res, next) => {
(0, class_validator_1.validate)((0, class_transformer_1.plainToClass)(type, req.query, { enableImplicitConversion: false }), { skipMissingProperties })
.then((errors) => {
if (errors.length > 0) {
next(new RequestValidationError_1.RequestValidationError(errors));
}
else {
next();
}
});
};
}
exports.validateQueryMiddleware = validateQueryMiddleware;
exports.validationMiddleware = validateBodyMiddleware;