@tsed/common
Version:
A TypeScript Framework on top of Express
29 lines • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParamValidationError = void 0;
const core_1 = require("@tsed/core");
const exceptions_1 = require("@tsed/exceptions");
const ValidationError_1 = require("../../mvc/errors/ValidationError");
class ParamValidationError extends exceptions_1.BadRequest {
constructor() {
super(...arguments);
this.name = "PARAM_VALIDATION_ERROR";
}
static from(metadata, origin = {}) {
if (origin instanceof ValidationError_1.ValidationError || origin instanceof exceptions_1.BadRequest) {
const name = core_1.nameOf(metadata.service)
.toLowerCase()
.replace(/parse|params|filter/gi, "");
const expression = metadata.expression;
const message = `Bad request on parameter "request.${name}${expression ? "." + expression : ""}".\n${origin.message}`.trim();
const error = new ParamValidationError(message);
error.dataPath = String(metadata.expression) || "";
error.requestType = core_1.nameOf(metadata.service);
error.origin = origin.origin || origin;
return error;
}
return origin;
}
}
exports.ParamValidationError = ParamValidationError;
//# sourceMappingURL=ParamValidationError.js.map