/
home
/
infinitibizsol
/
irfarms.infinitibizsol.com
/
errors
/
File Upload :
llllll
Current File: /home/infinitibizsol/irfarms.infinitibizsol.com/errors/errorHandler.js
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _apiError = _interopRequireDefault(require("../utils/apiError.js")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } function getFirstValidationError(error) { var message; for (var field in error.errors) { if (error.errors.hasOwnProperty(field)) { message = error.errors[field].message; } } return message; } var setCastError = function setCastError(err) { return new _apiError["default"](err.message, 500); }; var setDuplicateNameError = function setDuplicateNameError(err) { // if (err.keyPattern.email === 1) err.keyValue.name = "Email"; // const msg = // err.keyValue.name === "Email" // ? `Already user has the same: / ${err.keyValue.name} /` // : `Already user has the same name: / ${err.keyValue.name} /`; return new _apiError["default"](err.message, 404); }; var setValidatorError = function setValidatorError(err) { var msgs = Object.values(err.errors).map(function (el) { return el.message; }).join(","); return new _apiError["default"]("/ ".concat(msgs, " /"), 404); }; var ValidationError = function ValidationError(err) { var errorMessage = getFirstValidationError(err); return new _apiError["default"](errorMessage, 500); }; var MongooseError = function MongooseError(err) { /* const msgs = Object.values(err.errors) .map((el) => el.message) .join(","); */ return new _apiError["default"](err.message, 500); }; var ReferenceError = function ReferenceError(err) { return new _apiError["default"](err.message, 500); }; var setJwtError = function setJwtError(err) { return new _apiError["default"]("".concat(err.message), 402); }; var unAuthorizedErrorHandler = function unAuthorizedErrorHandler(err) { return new _apiError["default"]("".concat(err.inner.message), 402); }; var productionError = function productionError(err, req, res) { var error = err; if (err.name === "UnauthorizedError") error = unAuthorizedErrorHandler(error); if (err.name === "MongoNetworkError") error.message = "Mongo Not working"; if (err.name === "CastError") error = setCastError(error); if (err.name === "ValidationError") error = ValidationError(error); if (err.name === "MongooseError") error = MongooseError(error); if (err.name === "ReferenceError") error = ReferenceError(error); if (err.code === 11000) error = setDuplicateNameError(error); if (err._message === "Tour validation failed") error = setValidatorError(error); if (err._message === "users validation failed") error = setValidatorError(error); if (err.name === "JsonWebTokenError") error = setJwtError(error); if (err.name === "TokenExpiredError") error = setJwtError(error); return res.status(err.statusCode).json({ name: error.name, message: error.message, statusCode: error.statusCode, isOperational: error.isOperational }); }; var developmentError = function developmentError(err, req, res) { res.status(err.statusCode).json({ name: err.name, message: err.message, status: err.status, statusCode: err.statusCode, isOperational: err.isOperational || false, stack: err.stack }); }; var globalErrorHandler = function globalErrorHandler(err, req, res, next) { err.statusCode = err.statusCode || 500; err.status = err.status || "error"; if (process.env.NODE_ENV === "development") { developmentError(err, req, res); } else if (process.env.NODE_ENV === "production") { productionError(err, req, res); } next(); }; var _default = exports["default"] = globalErrorHandler;
Copyright ©2k19 -
Hexid
|
Tex7ure