handleValidationError.js 716 B

12345678910111213141516171819202122
  1. const { fromError } = require('zod-validation-error')
  2. const { InvalidParamsError, InvalidRequestError } = require('./Errors')
  3. function createHandleValidationError(statusCode = 400) {
  4. return (err, req, res, next) => {
  5. if (err instanceof InvalidParamsError) {
  6. res
  7. .status(404)
  8. .json({ error: fromError(err.zodError).toString(), statusCode: 404 })
  9. } else if (err instanceof InvalidRequestError) {
  10. res
  11. .status(statusCode)
  12. .json({ error: fromError(err.zodError).toString(), statusCode })
  13. } else {
  14. next(err)
  15. }
  16. }
  17. }
  18. const handleValidationError = createHandleValidationError(400)
  19. module.exports = { handleValidationError, createHandleValidationError }