Merge pull request #33040 from overleaf/em-parse-req-errors

Replace isZodErrorLike with custom error types in request validation

GitOrigin-RevId: 9cb453a2cde595a00f5049e4829ea9e3dbe17b28
This commit is contained in:
Eric Mc Sween
2026-05-05 08:26:38 -04:00
committed by Copybot
parent 1aa6f03b3c
commit 98def949ec
16 changed files with 100 additions and 80 deletions

View File

@@ -5,8 +5,12 @@ import { execFile as execFileCb } from 'node:child_process'
import bodyParser from 'body-parser'
import express from 'express'
import YAML from 'js-yaml'
import { isZodErrorLike } from 'zod-validation-error'
import { ParamsError, parseReq, z } from '@overleaf/validation-tools'
import {
InvalidParamsError,
InvalidRequestError,
parseReq,
z,
} from '@overleaf/validation-tools'
import { expressify } from '@overleaf/promise-utils'
const execFile = promisify(execFileCb)
@@ -474,12 +478,13 @@ app.delete(
)
app.use((error, req, res, next) => {
if (error instanceof ParamsError) {
if (error instanceof InvalidParamsError) {
res.status(404).json({ error })
} else if (isZodErrorLike(error)) {
res.status(400).json({ error })
} else if (error instanceof InvalidRequestError) {
res.status(400).json({ error: error.zodError })
} else {
next(error)
}
next(error)
})
purgeDataDir()