fix weird backend bug

This commit is contained in:
2025-09-12 13:33:08 +02:00
parent e5b5e01ae4
commit f831f0b386
2 changed files with 6 additions and 2 deletions

View File

@@ -11,7 +11,10 @@ export class ApiError extends Error {
} }
const router = Router(); const router = Router();
const asyncHandler = fn => (req, res, next) => Promise.resolve(fn(req, res, next)).catch(next); const asyncHandler = fn => (req, res, next) => Promise.resolve(fn(req, res, next)).catch(err => {
res.error = err;
next();
});
const userSchema = Joi.object({ const userSchema = Joi.object({
username: Joi.string().min(3).max(32).required() username: Joi.string().min(3).max(32).required()

View File

@@ -48,7 +48,8 @@ app.use("/api/docs", swaggerUi.serve, swaggerUi.setup(specs));
app.use("/api", apiRouter); app.use("/api", apiRouter);
// has to be last // has to be last
app.use((err, _req, res) => { app.use((_req, res, _next) => {
const err = res.error;
if (err instanceof ApiError) { if (err instanceof ApiError) {
return res.status(err.status).json({ status: "error", error: err.message }); return res.status(err.status).json({ status: "error", error: err.message });
} }