Files
overleaf-cep/libraries/validation-tools/handleValidationError.js
Eric Mc Sween 2bb35fafb8 Merge pull request #33490 from overleaf/em-parse-req-errors-2
Reintroduce custom error types in request validation

GitOrigin-RevId: 1985ca04c8fe693fb836b042517d94700343bc46
2026-05-08 08:10:13 +00:00

23 lines
716 B
JavaScript

const { fromError } = require('zod-validation-error')
const { InvalidParamsError, InvalidRequestError } = require('./Errors')
function createHandleValidationError(statusCode = 400) {
return (err, req, res, next) => {
if (err instanceof InvalidParamsError) {
res
.status(404)
.json({ error: fromError(err.zodError).toString(), statusCode: 404 })
} else if (err instanceof InvalidRequestError) {
res
.status(statusCode)
.json({ error: fromError(err.zodError).toString(), statusCode })
} else {
next(err)
}
}
}
const handleValidationError = createHandleValidationError(400)
module.exports = { handleValidationError, createHandleValidationError }