Files
worklenz/worklenz-backend/src/middlewares/schema-validator.ts

16 lines
535 B
TypeScript

import {NextFunction, Request, Response} from "express";
import {Schema, Validator} from "jsonschema";
import {ServerResponse} from "../models/server-response";
export default function (schema: Schema) {
return (req: Request, res: Response, next: NextFunction) => {
const validator = new Validator();
const result = validator.validate(req.body, schema);
if (!result.valid)
return res.status(400).send(new ServerResponse(false, null, (result.errors[0]?.schema as any).message || null));
return next();
};
}