neura-express-app
Version:
Basic express application starter with some common utilities.
94 lines (93 loc) • 3.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ValidationRequestError = exports.InternalServerError = exports.TooManyRequestsError = exports.UnProcessableEntityError = exports.UnSupportedMediaTypeError = exports.ConflictError = exports.MethodNotAllowedError = exports.ForbiddenError = exports.UnauthorizedError = exports.AccessDeniedError = exports.BadRequestError = exports.NotFoundError = exports.NeuraAPIError = void 0;
class NeuraAPIError extends Error {
constructor(status, message) {
super();
this.status = status;
this.message = message;
}
}
exports.NeuraAPIError = NeuraAPIError;
class NotFoundError extends NeuraAPIError {
constructor(message = "Not Found") {
super(404, message);
}
}
exports.NotFoundError = NotFoundError;
class BadRequestError extends NeuraAPIError {
constructor(message = "Bad Request") {
super(400, message);
}
}
exports.BadRequestError = BadRequestError;
class AccessDeniedError extends NeuraAPIError {
constructor(message = "Access denied") {
super(401, message);
}
}
exports.AccessDeniedError = AccessDeniedError;
class UnauthorizedError extends NeuraAPIError {
constructor(message = "Unauthorized") {
super(403, message);
}
}
exports.UnauthorizedError = UnauthorizedError;
class ForbiddenError extends NeuraAPIError {
constructor(message = "Forbidden") {
super(403, message);
}
}
exports.ForbiddenError = ForbiddenError;
class MethodNotAllowedError extends NeuraAPIError {
constructor(message = "Method Not Allowed") {
super(405, message);
}
}
exports.MethodNotAllowedError = MethodNotAllowedError;
class ConflictError extends NeuraAPIError {
constructor(message = "Conflict") {
super(408, message);
}
}
exports.ConflictError = ConflictError;
class UnSupportedMediaTypeError extends NeuraAPIError {
constructor(message = "Unsupported Media Type") {
super(415, message);
}
}
exports.UnSupportedMediaTypeError = UnSupportedMediaTypeError;
class UnProcessableEntityError extends NeuraAPIError {
constructor(message = "Unprocessable Entity") {
super(422, message);
}
}
exports.UnProcessableEntityError = UnProcessableEntityError;
class TooManyRequestsError extends NeuraAPIError {
constructor(message = "Too Many Requests") {
super(429, message);
}
}
exports.TooManyRequestsError = TooManyRequestsError;
class InternalServerError extends NeuraAPIError {
constructor(message = "Internal Server Error") {
super(500, message);
}
}
exports.InternalServerError = InternalServerError;
class ValidationRequestError extends NeuraAPIError {
constructor(message = "Validation error", errors) {
super(400, message);
this.data = {};
errors.forEach(error => {
this.data[error.property] = error.constraints !== undefined ? Object.values(error.constraints) : [];
});
}
addError(key, msg) {
if (!Object.keys(this.data).includes(key)) {
this.data[key] = [];
}
this.data[key].push(msg);
}
}
exports.ValidationRequestError = ValidationRequestError;