@@ -14,6 +14,16 @@ var RestQuery = require('./RestQuery');
14
14
var RestWrite = require ( './RestWrite' ) ;
15
15
var triggers = require ( './triggers' ) ;
16
16
17
+ function checkTriggers ( className , config , types ) {
18
+ return types . some ( ( triggerType ) => {
19
+ return triggers . getTrigger ( className , triggers . Types [ triggerType ] , config . applicationId ) ;
20
+ } ) ;
21
+ }
22
+
23
+ function checkLiveQuery ( className , config ) {
24
+ return config . liveQueryController && config . liveQueryController . hasLiveQuery ( className )
25
+ }
26
+
17
27
// Returns a promise for an object with optional keys 'results' and 'count'.
18
28
function find ( config , auth , className , restWhere , restOptions , clientSDK ) {
19
29
enforceRoleSecurity ( 'find' , className , auth ) ;
@@ -49,10 +59,9 @@ function del(config, auth, className, objectId) {
49
59
var inflatedObject ;
50
60
51
61
return Promise . resolve ( ) . then ( ( ) => {
52
- if ( triggers . getTrigger ( className , triggers . Types . beforeDelete , config . applicationId ) ||
53
- triggers . getTrigger ( className , triggers . Types . afterDelete , config . applicationId ) ||
54
- ( config . liveQueryController && config . liveQueryController . hasLiveQuery ( className ) ) ||
55
- className == '_Session' ) {
62
+ const hasTriggers = checkTriggers ( className , config , [ 'beforeDelete' , 'afterDelete' ] ) ;
63
+ const hasLiveQuery = checkLiveQuery ( className , config ) ;
64
+ if ( hasTriggers || hasLiveQuery || className == '_Session' ) {
56
65
return find ( config , Auth . master ( config ) , className , { objectId : objectId } )
57
66
. then ( ( response ) => {
58
67
if ( response && response . results && response . results . length ) {
@@ -108,9 +117,9 @@ function update(config, auth, className, objectId, restObject, clientSDK) {
108
117
enforceRoleSecurity ( 'update' , className , auth ) ;
109
118
110
119
return Promise . resolve ( ) . then ( ( ) => {
111
- if ( triggers . getTrigger ( className , triggers . Types . beforeSave , config . applicationId ) ||
112
- triggers . getTrigger ( className , triggers . Types . afterSave , config . applicationId ) ||
113
- ( config . liveQueryController && config . liveQueryController . hasLiveQuery ( className ) ) ) {
120
+ const hasTriggers = checkTriggers ( className , config , [ ' beforeSave' , 'afterSave' ] ) ;
121
+ const hasLiveQuery = checkLiveQuery ( className , config ) ;
122
+ if ( hasTriggers || hasLiveQuery ) {
114
123
return find ( config , Auth . master ( config ) , className , { objectId : objectId } ) ;
115
124
}
116
125
return Promise . resolve ( { } ) ;
0 commit comments