11var Ajv = require ( 'ajv' ) ;
22
33class Validator {
4- constructor ( options ) {
5- this . ajv = new Ajv ( options ) ;
6- }
4+ constructor ( ajvOptions ) {
5+ this . ajv = new Ajv ( ajvOptions ) ;
6+ this . validate = this . validate . bind ( this ) ;
7+ }
78 /**
89 * Express middleware for validating requests
910 *
1011 * @param {Object } options
1112 * @returns
1213 */
13- validate ( options ) {
14- var self = this ;
15- return function ( req , res , next ) {
16- var validationErrors = { } ;
14+ validate ( options ) {
15+ var self = this ;
16+ return function ( req , res , next ) {
17+ var validationErrors = { } ;
1718
18- Object . keys ( options ) . forEach ( function ( requestProperty ) {
19- let schema = options [ requestProperty ] ;
20- let validateFunction = this . ajv . compile ( schema ) ;
19+ Object . keys ( options ) . forEach ( function ( requestProperty ) {
20+ let schema = options [ requestProperty ] ;
21+ let validateFunction = this . ajv . compile ( schema ) ;
2122
22- var valid = validateFunction ( req [ requestProperty ] ) ;
23+ let valid = validateFunction ( req [ requestProperty ] ) ;
2324
24- if ( ! valid ) {
25- validationErrors [ requestProperty ] = validateFunction . errors ;
26- }
27- } , self ) ;
25+ if ( ! valid ) {
26+ validationErrors [ requestProperty ] = validateFunction . errors ;
27+ }
28+ } , self ) ;
2829
29- if ( Object . keys ( validationErrors ) . length != 0 ) {
30- next ( new ValidationError ( validationErrors ) ) ;
31- } else {
32- next ( ) ;
33- }
34- } ;
35- }
30+ if ( Object . keys ( validationErrors ) . length != 0 ) {
31+ next ( new ValidationError ( validationErrors ) ) ;
32+ } else {
33+ next ( ) ;
34+ }
35+ } ;
36+ }
3637}
3738
3839
@@ -51,14 +52,14 @@ class ValidationError extends Error {
5152 *
5253 * @memberOf ValidationError
5354 */
54- constructor ( validationErrors ) {
55- super ( ) ;
56- this . name = 'JsonSchemaValidationError' ;
57- this . validationErrors = validationErrors ;
58- }
55+ constructor ( validationErrors ) {
56+ super ( ) ;
57+ this . name = 'JsonSchemaValidationError' ;
58+ this . validationErrors = validationErrors ;
59+ }
5960} ;
6061
6162module . exports = {
62- Validator,
63- ValidationError
63+ Validator,
64+ ValidationError
6465} ;
0 commit comments