dss-server / src /middleware /errorHandler.js
yeshwanth-kr's picture
Upload 43 files
8c7b7ca verified
raw
history blame contribute delete
769 Bytes
function errorHandler(err, _req, res, _next) {
if (err?.name === 'ValidationError') {
const firstError = Object.values(err.errors || {})[0];
return res.status(400).json({ message: firstError?.message || 'Validation failed' });
}
if (err?.name === 'CastError') {
return res.status(400).json({ message: 'Invalid identifier' });
}
if (err?.code === 11000) {
const duplicateKeys = err.keyPattern || err.keyValue || {};
const field = Object.keys(duplicateKeys)[0] || 'field';
return res.status(409).json({ message: `${field} already exists` });
}
if (err?.message) {
return res.status(400).json({ message: err.message });
}
return res.status(500).json({ message: 'Internal server error' });
}
module.exports = errorHandler;