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();
1010function handleCloudFunction ( req ) {
1111 // TODO: set user from req.auth
1212 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+
1321 return new Promise ( function ( resolve , reject ) {
1422 var response = createResponseObject ( resolve , reject ) ;
1523 var request = {
Original file line number Diff line number Diff line change @@ -113,14 +113,17 @@ function ParseServer(args) {
113113
114114function addParseCloud ( ) {
115115 Parse . Cloud . Functions = { } ;
116+ Parse . Cloud . Validators = { } ;
116117 Parse . Cloud . Triggers = {
117118 beforeSave : { } ,
118119 beforeDelete : { } ,
119120 afterSave : { } ,
120121 afterDelete : { }
121122 } ;
122- Parse . Cloud . define = function ( functionName , handler ) {
123+
124+ Parse . Cloud . define = function ( functionName , handler , validationHandler ) {
123125 Parse . Cloud . Functions [ functionName ] = handler ;
126+ Parse . Cloud . Validators [ functionName ] = validationHandler ;
124127 } ;
125128 Parse . Cloud . beforeSave = function ( parseClass , handler ) {
126129 var className = getClassName ( parseClass ) ;
You can’t perform that action at this time.
0 commit comments