-
Notifications
You must be signed in to change notification settings - Fork 0
/
utility.js
33 lines (28 loc) · 1.04 KB
/
utility.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
* copied from Vcc project created by ravi modha @ Pixometry Infosoft
*/
var validator = require('isvalid');
var ExampleResponse = require('./validation/exampleResponse');
var ApplicationUtils = function (){};
//This method acts as a validation bridge between routes and validation_schema
ApplicationUtils.validateRequest = function(schema,errorCallback){
return function validate(request,response,next){
validator((request.body || request.params),
schema,
function(err){
if (err) {
if (errorCallback !== undefined) {
errorCallback(request, response);
}
var customResponse = new ExampleResponse(response);
customResponse.setStatusCode(err.message.errorCode)
.setResponseBody({error: err.message.message})
.send();
} else {
next();
}
}
);
};
};
module.exports = ApplicationUtils;