@@ -654,26 +654,39 @@ Parse.Cloud.afterLiveQueryEvent('MyObject', request => {
654
654
original .set (' name' , ' yolo' );
655
655
});
656
656
657
+ // Prevent LiveQuery trigger unless 'foo' is modified
658
+ Parse .Cloud .afterLiveQueryEvent (' MyObject' , (request ) => {
659
+ const object = request .object ;
660
+ const original = request .original ;
661
+ if (! original) {
662
+ return ;
663
+ }
664
+ if (object .get (' foo' ) != original .get (' foo' )) {
665
+ req .sendEvent = false ;
666
+ }
667
+ });
668
+
657
669
// Including an object on LiveQuery event, on update only.
658
- Parse .Cloud .afterLiveQueryEvent (' MyObject' , async request => {
659
- if (request .event != ' update) {
670
+ Parse .Cloud .afterLiveQueryEvent (' MyObject' , async ( request ) => {
671
+ if (request .event != " update" ) {
660
672
request .sendEvent = false ;
661
673
return ;
662
674
}
663
675
const object = request .object ;
664
- const pointer = object.get(' child' );
676
+ const pointer = object .get (" child" );
665
677
await pointer .fetch ();
666
678
});
667
679
668
- // Prevent LiveQuery trigger unless ' foo' is modified
669
- Parse.Cloud.afterLiveQueryEvent(' MyObject' , request => {
670
- const object = request.object;
671
- const original = request.original;
672
- if (!original) {
680
+ // Extend matchesQuery functionality to LiveQuery
681
+ Parse .Cloud .afterLiveQueryEvent (' MyObject' , async (request ) => {
682
+ if (req .event != " Create" ) {
673
683
return ;
674
684
}
675
- if (object.get(' foo' ) != original.get(' foo' )) {
676
- req.sendEvent = false;
685
+ const query = request .object .relation (' children' ).query ();
686
+ query .equalTo (' foo' ,' bart' );
687
+ const first = await query .first ();
688
+ if (! first) {
689
+ request .sendEvent = false ;
677
690
}
678
691
});
679
692
` ` `
0 commit comments