api/middlewares/error.js
2022-06-20 19:04:22 +05:30

37 lines
1.1 KiB
JavaScript

import ErrorHandler from "../Utils/errorhander.js";
module.exports = (err, req, res, next) => {
err.statusCode = err.statusCode || 500;
err.message = err.message || "Internal Server Error";
// Wrong Mongodb Id error(castError)
if (err.name === "CastError") {
const message = `Resource not found. Invalid: ${err.path}`;
err = new ErrorHandler(message, 400);
}
// Mongoose duplicate key error
if (err.code === 11000) {
const message = `Duplicate ${Object.keys(err.keyValue)} Entered`;
err = new ErrorHandler(message, 400);
}
// Wrong JWT error
if (err.name === "JsonWebTokenError") {
const message = `Json Web Token is invalid, Try again `;
err = new ErrorHandler(message, 400);
}
// JWT EXPIRE error
if (err.name === "TokenExpiredError") {
const message = `Json Web Token is Expired, Try again `;
err = new ErrorHandler(message, 400);
}
res.status(err.statusCode).json({
success: false,
//err: err.stack //full location of error
message: err.message,
})
}