File tree 2 files changed +27
-0
lines changed
2 files changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -1352,6 +1352,27 @@ describe('Cloud Code', () => {
1352
1352
} ) ;
1353
1353
} ) ;
1354
1354
1355
+ it ( 'allow cloud to encode Parse Objects' , async ( ) => {
1356
+ const user = new Parse . User ( ) ;
1357
+ user . setUsername ( 'username' ) ;
1358
+ user . setPassword ( 'password' ) ;
1359
+ user . set ( 'deleted' , false ) ;
1360
+ await user . signUp ( ) ;
1361
+ Parse . Cloud . define (
1362
+ 'deleteAccount' ,
1363
+ async req => {
1364
+ expect ( req . params . object instanceof Parse . Object ) . toBeTrue ( ) ;
1365
+ req . params . object . set ( 'deleted' , true ) ;
1366
+ await req . params . object . save ( null , { useMasterKey : true } ) ;
1367
+ return 'Object deleted' ;
1368
+ } ,
1369
+ {
1370
+ requireMaster : true ,
1371
+ }
1372
+ ) ;
1373
+ await Parse . Cloud . run ( 'deleteAccount' , { object : user . toPointer ( ) } , { useMasterKey : true } ) ;
1374
+ } ) ;
1375
+
1355
1376
it ( 'beforeSave should not affect fetched pointers' , done => {
1356
1377
Parse . Cloud . beforeSave ( 'BeforeSaveUnchanged' , ( ) => { } ) ;
1357
1378
Original file line number Diff line number Diff line change @@ -18,6 +18,12 @@ function parseObject(obj) {
18
18
return Object . assign ( new Date ( obj . iso ) , obj ) ;
19
19
} else if ( obj && obj . __type == 'File' ) {
20
20
return Parse . File . fromJSON ( obj ) ;
21
+ } else if ( obj && obj . __type == 'Pointer' ) {
22
+ return Parse . Object . fromJSON ( {
23
+ __type : 'Pointer' ,
24
+ className : obj . className ,
25
+ objectId : obj . objectId ,
26
+ } ) ;
21
27
} else if ( obj && typeof obj === 'object' ) {
22
28
return parseParams ( obj ) ;
23
29
} else {
You can’t perform that action at this time.
0 commit comments