Files

42 lines
1.0 KiB
JavaScript
Raw Permalink Normal View History

2026-01-27 18:04:50 -06:00
export const notFound = (req, res, next) => {
res.status(404).json({
error: "Not Found",
message: `Cannot ${req.method} ${req.originalUrl}`,
});
};
export const errorHandler = (err, req, res, next) => {
console.error("Error:", err);
// Handle validation errors
if (err.name === "ValidationError") {
return res.status(400).json({
error: "Validation Error",
details: err.errors,
});
}
// Handle duplicate key errors
if (err.code === 11000) {
return res.status(400).json({
error: "Duplicate Entry",
message: "A record with this value already exists",
});
}
// Handle JWT errors
if (err.name === "JsonWebTokenError") {
return res.status(401).json({
error: "Invalid Token",
message: "Your session is invalid",
});
}
// Default error
const statusCode = err.statusCode || 500;
res.status(statusCode).json({
error: err.message || "Internal Server Error",
...(process.env.NODE_ENV === "development" && { stack: err.stack }),
});
};