@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
29 lines (25 loc) • 1.31 kB
JavaScript
;
var string_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 {IApiControllerPropertiesRouteBaseRequestTarget<E> | undefined} target - Target request pipeline configuration
* @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(target, properties, parameters) {
if (!target?.validators) {
return;
}
for (const validator of target.validators) {
const result = validator.validationFunction(parameters);
const isValid = result instanceof Promise ? await result : result;
if (!isValid) {
throw new validator.exception(string_utility.ErrorString({ entity: properties.entity, type: validator.errorType }));
}
}
}
exports.ApiControllerValidateRequest = ApiControllerValidateRequest;
//# sourceMappingURL=validate-request.utility.js.map