UNPKG

neura-express-app

Version:

Basic express application starter with some common utilities.

94 lines (93 loc) 3.2 kB
"use strict"; 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;