director-ai / server /src /middleware /errorHandler.ts
algorembrant's picture
Upload 79 files
11f4e50 verified
import { Request, Response, NextFunction } from 'express';
import { logger } from '../utils/logger';
export const errorHandler = (
err: Error,
_req: Request,
res: Response,
_next: NextFunction
): void => {
logger.error(err.message, { stack: err.stack });
if (err.name === 'ValidationError') {
res.status(400).json({ error: err.message });
return;
}
if (err.name === 'CastError') {
res.status(400).json({ error: 'Invalid ID format.' });
return;
}
if ((err as any).code === 11000) {
res.status(409).json({ error: 'Duplicate entry. Resource already exists.' });
return;
}
res.status(500).json({ error: 'Internal server error.' });
};