MicroHack-Registrations-RestAPI / src / middlewares / error.middleware.ts
error.middleware.ts
Raw
import { InDev } from "../config/Env";
import { HttpCodes } from "../config/Errors";
import { AppError } from "../utils/Errors";
import { Request, Response } from "express";

export function errorMiddleware(error: AppError, req: Request, res: Response) {
  const status = error.statusCode || HttpCodes.InternalServerError.code;
  const message = error.message || HttpCodes.InternalServerError.message;
  const errorDetails = InDev ? error : undefined;

  return res.status(status).json({
    status,
    message,
    error: errorDetails,
  });
}