UNPKG

redis-smq-rest-api

Version:
31 lines 1.16 kB
import { asValue } from 'awilix'; import { EControllerRequestPayload } from '../../controller/types/index.js'; export function ValidateRequestMiddleware(requestValidationFn) { return async (ctx, next) => { for (const [src, validator] of requestValidationFn.entries()) { if (src === EControllerRequestPayload.PATH) { const params = ctx.params; validator(params); ctx.scope.register({ requestPathDTO: asValue(params), }); } if (src === EControllerRequestPayload.QUERY) { const query = ctx.query; validator(query); ctx.scope.register({ requestQueryDTO: asValue(query), }); } if (src === EControllerRequestPayload.BODY) { const body = ctx.request['body'] ?? {}; validator(body); ctx.scope.register({ requestBodyDTO: asValue(body), }); } } return next(); }; } //# sourceMappingURL=ValidateRequestMiddleware.js.map