// Centralized error handling middleware const errorHandler = (err, req, res, next) => { console.error('Error occurred:', err); // Default error let statusCode = err.statusCode || 500; let message = err.message || 'Internal Server Error'; // Handle specific error types 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;