Initial commit: Angular frontend and Expressjs backend
This commit is contained in:
15
worklenz-backend/src/middlewares/schema-validator.ts
Normal file
15
worklenz-backend/src/middlewares/schema-validator.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
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();
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user