import { Request, Response, NextFunction } from 'express'; import { AppError, err } from '../types/index'; export function errorHandler( error: Error, _req: Request, res: Response, _next: NextFunction ): void { const statusCode = error instanceof AppError ? error.statusCode : 500; const code = error instanceof AppError ? error.code : 'INTERNAL_ERROR'; const message = process.env.NODE_ENV === 'production' && statusCode === 500 ? 'Internal server error' : error.message; if (statusCode === 500 && process.env.NODE_ENV !== 'production') { console.error('[ErrorHandler]', error); } res.status(statusCode).json(err(message, code ? { code } : undefined)); }