@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
28 lines (24 loc) • 1.31 kB
JavaScript
;
var errorString_utility = require('../../error-string.utility.js');
/**
* Validates incoming request parameters against defined validators.
* Sequentially applies validation functions and throws appropriate exceptions with error messages when validation fails.
* @param {Array<IApiRequestValidator<E>> | undefined} validators - List of request validators to apply
* @param {IApiControllerProperties<E>} properties - Controller configuration properties
* @param {Partial<E> | TApiControllerGetListQuery<E>} parameters - The request parameters to validate
* @returns {Promise<void>} A promise that resolves when validation passes
* @template E - The entity type
*/
async function ApiControllerValidateRequest(validators, properties, parameters) {
if (validators) {
for (const validator of validators) {
const result = validator.validationFunction(parameters);
const isValid = result instanceof Promise ? await result : result;
if (!isValid) {
throw new validator.exception(errorString_utility.ErrorString({ entity: properties.entity, type: validator.errorType }));
}
}
}
}
exports.ApiControllerValidateRequest = ApiControllerValidateRequest;
//# sourceMappingURL=validate-request.utility.js.map