Files
medusa-store/packages/medusa/src/api/middlewares/error-handler.js
2021-06-29 16:31:30 +02:00

35 lines
758 B
JavaScript

import { MedusaError } from "medusa-core-utils"
export default () => {
return (err, req, res, next) => {
const logger = req.scope.resolve("logger")
logger.error(err.message)
console.error(err)
let statusCode = 500
switch (err.name) {
case MedusaError.Types.DUPLICATE_ERROR:
statusCode = 409
break
case MedusaError.Types.NOT_ALLOWED:
case MedusaError.Types.INVALID_DATA:
statusCode = 400
break
case MedusaError.Types.NOT_FOUND:
statusCode = 404
break
case MedusaError.Types.DB_ERROR:
statusCode = 500
break
default:
break
}
res.status(statusCode).json({
name: err.name,
message: err.message,
})
}
}