1
1
// triggers.js
2
- var Parse = require ( 'parse/node' ) . Parse ,
3
- cache = require ( './cache' ) ;
2
+ import Parse from 'parse/node' ;
3
+ import cache from './cache' ;
4
4
5
- var Types = {
5
+ export const Types = {
6
6
beforeSave : 'beforeSave' ,
7
7
afterSave : 'afterSave' ,
8
8
beforeDelete : 'beforeDelete' ,
9
9
afterDelete : 'afterDelete'
10
10
} ;
11
11
12
- var BaseStore = function ( ) {
13
- this . Functions = { }
14
- this . Validators = { }
15
- this . Triggers = Object . keys ( Types ) . reduce ( function ( base , key ) {
12
+ const baseStore = function ( ) {
13
+
14
+ let Validators = { } ;
15
+ let Functions = { } ;
16
+ let Triggers = Object . keys ( Types ) . reduce ( function ( base , key ) {
16
17
base [ key ] = { } ;
17
18
return base ;
18
19
} , { } ) ;
20
+
21
+ return Object . freeze ( {
22
+ Functions,
23
+ Validators,
24
+ Triggers
25
+ } ) ;
19
26
}
20
27
21
- var _triggerStore = { } ;
28
+ const _triggerStore = { } ;
22
29
23
- function addFunction ( functionName , handler , validationHandler , applicationId ) {
30
+ export function addFunction ( functionName , handler , validationHandler , applicationId ) {
24
31
applicationId = applicationId || Parse . applicationId ;
25
- _triggerStore [ applicationId ] = _triggerStore [ applicationId ] || new BaseStore ( ) ;
32
+ _triggerStore [ applicationId ] = _triggerStore [ applicationId ] || baseStore ( ) ;
26
33
_triggerStore [ applicationId ] . Functions [ functionName ] = handler ;
27
34
_triggerStore [ applicationId ] . Validators [ functionName ] = validationHandler ;
28
35
}
29
36
30
- function addTrigger ( type , className , handler , applicationId ) {
37
+ export function addTrigger ( type , className , handler , applicationId ) {
31
38
applicationId = applicationId || Parse . applicationId ;
32
- _triggerStore [ applicationId ] = _triggerStore [ applicationId ] || new BaseStore ( ) ;
39
+ _triggerStore [ applicationId ] = _triggerStore [ applicationId ] || baseStore ( ) ;
33
40
_triggerStore [ applicationId ] . Triggers [ type ] [ className ] = handler ;
34
41
}
35
42
36
- function removeFunction ( functionName , applicationId ) {
43
+ export function removeFunction ( functionName , applicationId ) {
37
44
applicationId = applicationId || Parse . applicationId ;
38
45
delete _triggerStore [ applicationId ] . Functions [ functionName ]
39
46
}
40
47
41
- function removeTrigger ( type , className , applicationId ) {
48
+ export function removeTrigger ( type , className , applicationId ) {
42
49
applicationId = applicationId || Parse . applicationId ;
43
50
delete _triggerStore [ applicationId ] . Triggers [ type ] [ className ]
44
51
}
45
52
46
- function _unregister ( a , b , c , d ) {
53
+ export function _unregister ( a , b , c , d ) {
47
54
if ( d ) {
48
55
removeTrigger ( c , d , a ) ;
49
56
delete _triggerStore [ a ] [ b ] [ c ] [ d ] ;
@@ -53,7 +60,7 @@ function _unregister(a,b,c,d) {
53
60
}
54
61
55
62
56
- var getTrigger = function ( className , triggerType , applicationId ) {
63
+ export function getTrigger ( className , triggerType , applicationId ) {
57
64
if ( ! applicationId ) {
58
65
throw "Missing ApplicationID" ;
59
66
}
@@ -67,27 +74,27 @@ var getTrigger = function(className, triggerType, applicationId) {
67
74
return undefined ;
68
75
} ;
69
76
70
- function triggerExists ( className : string , type : string ) : boolean {
71
- return ( getTrigger ( className , type ) != undefined ) ;
77
+ export function triggerExists ( className : string , type : string , applicationId : string ) : boolean {
78
+ return ( getTrigger ( className , type , applicationId ) != undefined ) ;
72
79
}
73
80
74
- var getFunction = function ( functionName , applicationId ) {
81
+ export function getFunction ( functionName , applicationId ) {
75
82
var manager = _triggerStore [ applicationId ] ;
76
83
if ( manager && manager . Functions ) {
77
84
return manager . Functions [ functionName ] ;
78
85
} ;
79
86
return undefined ;
80
87
}
81
88
82
- var getValidator = function ( functionName , applicationId ) {
89
+ export function getValidator ( functionName , applicationId ) {
83
90
var manager = _triggerStore [ applicationId ] ;
84
91
if ( manager && manager . Validators ) {
85
92
return manager . Validators [ functionName ] ;
86
93
} ;
87
94
return undefined ;
88
95
}
89
96
90
- var getRequestObject = function ( triggerType , auth , parseObject , originalParseObject ) {
97
+ export function getRequestObject ( triggerType , auth , parseObject , originalParseObject ) {
91
98
var request = {
92
99
triggerName : triggerType ,
93
100
object : parseObject ,
@@ -116,7 +123,7 @@ var getRequestObject = function(triggerType, auth, parseObject, originalParseObj
116
123
// The API will call this with REST API formatted objects, this will
117
124
// transform them to Parse.Object instances expected by Cloud Code.
118
125
// Any changes made to the object in a beforeSave will be included.
119
- var getResponseObject = function ( request , resolve , reject ) {
126
+ export function getResponseObject ( request , resolve , reject ) {
120
127
return {
121
128
success : function ( response ) {
122
129
// Use the JSON response
@@ -141,7 +148,7 @@ var getResponseObject = function(request, resolve, reject) {
141
148
// Resolves to an object, empty or containing an object key. A beforeSave
142
149
// trigger will set the object key to the rest format object to save.
143
150
// originalParseObject is optional, we only need that for befote/afterSave functions
144
- var maybeRunTrigger = function ( triggerType , auth , parseObject , originalParseObject , applicationId ) {
151
+ export function maybeRunTrigger ( triggerType , auth , parseObject , originalParseObject , applicationId ) {
145
152
if ( ! parseObject ) {
146
153
return Promise . resolve ( { } ) ;
147
154
}
@@ -160,38 +167,10 @@ var maybeRunTrigger = function(triggerType, auth, parseObject, originalParseObje
160
167
161
168
// Converts a REST-format object to a Parse.Object
162
169
// data is either className or an object
163
- function inflate ( data , restObject ) {
170
+ export function inflate ( data , restObject ) {
164
171
var copy = typeof data == 'object' ? data : { className : data } ;
165
172
for ( var key in restObject ) {
166
173
copy [ key ] = restObject [ key ] ;
167
174
}
168
175
return Parse . Object . fromJSON ( copy ) ;
169
176
}
170
-
171
- << < << << 5 fae41183ed476976ff29a4c247aa78b00b83a9e
172
- module . exports = {
173
- getTrigger : getTrigger ,
174
- getRequestObject : getRequestObject ,
175
- inflate : inflate ,
176
- maybeRunTrigger : maybeRunTrigger ,
177
- triggerExists : triggerExists ,
178
- Types : Types
179
- } ;
180
- = === ===
181
- var TriggerManager = { } ;
182
-
183
- TriggerManager . getTrigger = getTrigger ;
184
- TriggerManager . getRequestObject = getRequestObject ;
185
- TriggerManager . inflate = inflate ;
186
- TriggerManager . maybeRunTrigger = maybeRunTrigger ;
187
- TriggerManager . Types = Types ;
188
- TriggerManager . addFunction = addFunction ;
189
- TriggerManager . getFunction = getFunction ;
190
- TriggerManager . removeTrigger = removeTrigger ;
191
- TriggerManager . removeFunction = removeFunction ;
192
- TriggerManager . getValidator = getValidator ;
193
- TriggerManager . addTrigger = addTrigger ;
194
- TriggerManager . _unregister = _unregister ;
195
-
196
- module . exports = TriggerManager ;
197
- > >>> >>> Adds Hooks API
0 commit comments