katya / src /utils /apiErrors.ts
esubtelnik's picture
first commit
d76f93d
import { StatusCodes } from 'http-status-codes';
export class AppError extends Error {
constructor(
public message: string,
public statusCode: number = StatusCodes.INTERNAL_SERVER_ERROR,
public code?: string
) {
super(message);
this.name = this.constructor.name;
Error.captureStackTrace(this, this.constructor);
}
}
export class ValidationError extends AppError {
constructor(message: string) {
super(message, StatusCodes.BAD_REQUEST, "VALIDATION_ERROR");
}
}
export class NotFoundError extends AppError {
constructor(message: string) {
super(message, StatusCodes.NOT_FOUND, "NOT_FOUND");
}
}
export class DatabaseError extends AppError {
constructor(message: string) {
super(message, StatusCodes.INTERNAL_SERVER_ERROR, "DATABASE_ERROR");
}
}
export class BadRequestError extends AppError {
constructor(message: string) {
super(message, StatusCodes.BAD_REQUEST, "BAD_REQUEST");
}
}