File tree Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Expand file tree Collapse file tree 2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,14 @@ var router = new PromiseRouter();
10
10
function handleCloudFunction ( req ) {
11
11
// TODO: set user from req.auth
12
12
if ( Parse . Cloud . Functions [ req . params . functionName ] ) {
13
+ // Run the validator for this function first
14
+ if ( Parse . Cloud . Validators [ req . params . functionName ] ) {
15
+ var result = Parse . Cloud . Validators [ req . params . functionName ] ( req . body ) ;
16
+ if ( ! result ) {
17
+ throw new Parse . Error ( Parse . Error . SCRIPT_FAILED , 'Validation failed.' ) ;
18
+ }
19
+ }
20
+
13
21
return new Promise ( function ( resolve , reject ) {
14
22
var response = createResponseObject ( resolve , reject ) ;
15
23
var request = {
Original file line number Diff line number Diff line change @@ -113,14 +113,17 @@ function ParseServer(args) {
113
113
114
114
function addParseCloud ( ) {
115
115
Parse . Cloud . Functions = { } ;
116
+ Parse . Cloud . Validators = { } ;
116
117
Parse . Cloud . Triggers = {
117
118
beforeSave : { } ,
118
119
beforeDelete : { } ,
119
120
afterSave : { } ,
120
121
afterDelete : { }
121
122
} ;
122
- Parse . Cloud . define = function ( functionName , handler ) {
123
+
124
+ Parse . Cloud . define = function ( functionName , handler , validationHandler ) {
123
125
Parse . Cloud . Functions [ functionName ] = handler ;
126
+ Parse . Cloud . Validators [ functionName ] = validationHandler ;
124
127
} ;
125
128
Parse . Cloud . beforeSave = function ( parseClass , handler ) {
126
129
var className = getClassName ( parseClass ) ;
You can’t perform that action at this time.
0 commit comments