1
- const plugin = { } ;
2
1
const common = require ( '../../../api/utils/common.js' ) ;
3
2
const plugins = require ( '../../pluginManager.js' ) ;
4
3
const log = require ( '../../../api/utils/log.js' ) ( 'alert:api' ) ;
@@ -7,26 +6,36 @@ const JOB = require('../../../api/parts/jobs');
7
6
const utils = require ( './parts/utils' ) ;
8
7
const _ = require ( 'lodash' ) ;
9
8
10
- ( function ( plugin ) {
11
-
9
+ ( function ( ) {
10
+ /**
11
+ * delete alert job
12
+ * @param {string } alertID - alert record id from db
13
+ * @param {function } callback - callback after deleting
14
+ */
12
15
function deleteJob ( alertID , callback ) {
13
- common . db . collection ( "jobs" ) . remove ( { 'data.alertID' : alertID } , function ( err , result ) {
16
+ common . db . collection ( "jobs" ) . remove ( { 'data.alertID' : alertID } , function ( ) {
14
17
log . d ( 'delete job, alertID:' , alertID ) ;
15
18
if ( callback ) {
16
19
callback ( ) ;
17
20
}
18
21
} ) ;
19
22
}
20
23
24
+ /**
25
+ * update alert job
26
+ * @param {object } alert - alert record data
27
+ */
21
28
function updateJobForAlert ( alert ) {
22
29
if ( alert . enabled ) {
23
30
JOB . job ( 'alerts:monitor' , { alertID : alert . _id } ) . replace ( ) . schedule ( alert . period ) ;
24
31
}
25
32
else {
26
- deleteJob ( alert . _id ) ;
33
+ deleteJob ( alert . _id ) ;
27
34
}
28
35
}
29
-
36
+ /**
37
+ * load job list
38
+ */
30
39
function loadJobs ( ) {
31
40
common . db . collection ( "alerts" ) . find ( { } )
32
41
. toArray ( function ( err , alertsList ) {
@@ -41,7 +50,7 @@ const _ = require('lodash');
41
50
}
42
51
43
52
44
- plugins . register ( "/master" , function ( ob ) {
53
+ plugins . register ( "/master" , function ( ) {
45
54
loadJobs ( ) ;
46
55
} ) ;
47
56
@@ -65,7 +74,7 @@ const _ = require('lodash');
65
74
66
75
67
76
plugins . register ( "/i/alert/save" , function ( ob ) {
68
- let params = ob . params ;
77
+ let paramsInstance = ob . params ;
69
78
let validateUserForWriteAPI = ob . validateUserForWriteAPI ;
70
79
71
80
validateUserForWriteAPI ( function ( params ) {
@@ -112,12 +121,12 @@ const _ = require('lodash');
112
121
log . e ( 'Parse alert failed' , alertConfig ) ;
113
122
common . returnMessage ( params , 500 , "Failed to create an alert" ) ;
114
123
}
115
- } , params ) ;
124
+ } , paramsInstance ) ;
116
125
return true ;
117
126
} ) ;
118
127
119
128
plugins . register ( "/i/alert/delete" , function ( ob ) {
120
- let params = ob . params ;
129
+ let paramsInstance = ob . params ;
121
130
let validateUserForWriteAPI = ob . validateUserForWriteAPI ;
122
131
123
132
validateUserForWriteAPI ( function ( params ) {
@@ -138,12 +147,12 @@ const _ = require('lodash');
138
147
log . e ( 'delete alert failed' , alertID ) ;
139
148
common . returnMessage ( params , 500 , "Failed to delete an alert" ) ;
140
149
}
141
- } , params ) ;
150
+ } , paramsInstance ) ;
142
151
return true ;
143
152
} ) ;
144
153
145
154
plugins . register ( "/i/alert/status" , function ( ob ) {
146
- let params = ob . params ;
155
+ let paramsInstance = ob . params ;
147
156
let validateUserForWriteAPI = ob . validateUserForWriteAPI ;
148
157
validateUserForWriteAPI ( function ( params ) {
149
158
const statusList = JSON . parse ( params . qstring . status ) ;
@@ -163,25 +172,30 @@ const _ = require('lodash');
163
172
plugins . dispatch ( "/updateAlert" , { method : "alertTrigger" } ) ;
164
173
common . returnOutput ( params , result ) ;
165
174
} ) ;
166
- } , params ) ;
175
+ } , paramsInstance ) ;
167
176
return true ;
168
177
} ) ;
169
178
170
179
171
180
plugins . register ( "/o/alert/list" , function ( ob ) {
172
- const params = ob . params ;
181
+ const paramsInstance = ob . params ;
173
182
let validateUserForWriteAPI = ob . validateUserForWriteAPI ;
174
183
validateUserForWriteAPI ( function ( params ) {
175
184
try {
176
185
let query = { } ;
177
186
let count_query = { _id : 'meta' } ;
178
- if ( params . member . global_admin != true ) {
187
+ if ( params . member . global_admin !== true ) {
179
188
query = { createdBy : params . member . _id } ;
180
189
count_query = { _id : 'email:' + params . member . email } ;
181
190
}
182
191
common . db . collection ( "alerts" ) . find ( query ) . toArray ( function ( err , alertsList ) {
183
- common . db . collection ( 'members' ) . find ( { } ) . toArray ( function ( err , members ) {
184
-
192
+ if ( err ) {
193
+ return log . e ( 'got error in listing alerts: %j' , err ) ;
194
+ }
195
+ common . db . collection ( 'members' ) . find ( { } ) . toArray ( function ( err2 , members ) {
196
+ if ( err2 ) {
197
+ return log . e ( 'got error in finding members: %j' , err2 ) ;
198
+ }
185
199
utils . getAlertCount ( count_query , ( count ) => {
186
200
count . r = 0 ;
187
201
alertsList . forEach ( ( a ) => {
@@ -198,13 +212,7 @@ const _ = require('lodash');
198
212
log . e ( 'get alert list failed' ) ;
199
213
common . returnMessage ( params , 500 , "Failed to get alert list" ) ;
200
214
}
201
- } , params ) ;
215
+ } , paramsInstance ) ;
202
216
return true ;
203
217
} ) ;
204
-
205
-
206
-
207
-
208
- } ( plugin ) ) ;
209
-
210
- module . exports = plugin ;
218
+ } ( ) ) ;
0 commit comments