UNPKG

@amirmarmul/waba-common

Version:

![GitHub release](https://img.shields.io/github/v/release/amirmarmul/waba-common?style=flat-square)

36 lines (35 loc) 1.54 kB
"use strict"; 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;