|
|
| const errorHandler = (err, req, res, next) => {
|
| console.error('Error occurred:', err);
|
|
|
|
|
| let statusCode = err.statusCode || 500;
|
| let message = err.message || 'Internal Server Error';
|
|
|
|
|
| if (err.code === 'ER_DUP_ENTRY') {
|
| statusCode = 409;
|
| message = 'Duplicate entry: This record already exists';
|
| }
|
|
|
| if (err.code === 'ER_NO_REFERENCED_ROW_2') {
|
| statusCode = 400;
|
| message = 'Invalid reference: Related record does not exist';
|
| }
|
|
|
| if (err.code === 'ECONNREFUSED') {
|
| statusCode = 503;
|
| message = 'Database connection failed';
|
| }
|
|
|
| res.status(statusCode).json({
|
| success: false,
|
| error: message,
|
| ...(process.env.NODE_ENV === 'development' && { stack: err.stack })
|
| });
|
| };
|
|
|
| module.exports = errorHandler;
|
|
|