1
1
var plugin = { } ,
2
2
common = require ( '../../../api/utils/common.js' ) ,
3
3
plugins = require ( '../../pluginManager.js' ) ,
4
- async = require ( 'async' ) ,
5
4
moment = require ( 'moment' ) ;
6
5
7
- ( function ( plugin ) {
6
+ ( function ( ) {
8
7
plugins . register ( "/i" , function ( ob ) {
9
8
var params = ob . params ;
10
9
@@ -38,17 +37,17 @@ var plugin = {},
38
37
var options = { } ;
39
38
40
39
41
- if ( hasSession && params . qstring . hour !== undefined && params . qstring . dow !== undefined ) {
40
+ if ( hasSession && params . qstring . hour && params . qstring . dow ) {
42
41
var sessionDate = common . initTimeObj ( params . appTimezone , params . qstring . timestamp ) ;
43
- var id = "[CLY]_session" + "_" + sessionDate . monthly . replace ( '.' , ':' ) ;
42
+ let id = "[CLY]_session" + "_" + sessionDate . monthly . replace ( '.' , ':' ) ;
44
43
45
44
criteria = {
46
45
"_id" : id
47
46
} ;
48
47
49
- var incData = { } ;
48
+ let incData = { } ;
50
49
incData [ 'd.' + params . qstring . dow + "." + params . qstring . hour + ".count" ] = 1 ;
51
- var setData = { } ;
50
+ let setData = { } ;
52
51
setData . _id = id ;
53
52
setData . m = sessionDate . monthly . replace ( '.' , ':' ) ;
54
53
setData . s = "[CLY]_session" ;
@@ -80,7 +79,7 @@ var plugin = {},
80
79
var timeStamp = events [ i ] . timestamp || params . qstring . timestamp ;
81
80
var eventDate = common . initTimeObj ( params . appTimezone , timeStamp ) ;
82
81
83
- var id = events [ i ] . key + "_" + eventDate . monthly . replace ( '.' , ':' ) ;
82
+ let id = events [ i ] . key + "_" + eventDate . monthly . replace ( '.' , ':' ) ;
84
83
85
84
criteria = {
86
85
"_id" : id
@@ -94,11 +93,11 @@ var plugin = {},
94
93
continue ;
95
94
}
96
95
97
- var incData = ( query [ id ] && query [ id ] . update ) ? query [ id ] . update . $inc : { } ;
96
+ let incData = ( query [ id ] && query [ id ] . update ) ? query [ id ] . update . $inc : { } ;
98
97
incData [ 'd.' + dow + "." + hour + ".count" ] = incData [ 'd.' + dow + "." + hour + ".count" ] ?
99
98
incData [ 'd.' + dow + "." + hour + ".count" ] + events [ i ] . count : events [ i ] . count ;
100
99
101
- var setData = { } ;
100
+ let setData = { } ;
102
101
setData . _id = id ;
103
102
setData . m = eventDate . monthly . replace ( '.' , ':' ) ;
104
103
setData . s = events [ i ] . key ;
@@ -132,7 +131,7 @@ var plugin = {},
132
131
return true ;
133
132
}
134
133
135
- eventData = eventData == undefined ? { list : [ ] } : eventData ;
134
+ eventData = eventData || { list : [ ] } ;
136
135
137
136
var limit = plugins . getConfig ( "api" , params . app && params . app . plugins , true ) . event_limit ;
138
137
var overLimit = eventData . list . count > limit ;
@@ -141,7 +140,7 @@ var plugin = {},
141
140
var bulk = common . db . _native . collection ( collectionName ) . initializeUnorderedBulkOp ( ) ;
142
141
143
142
144
- Object . keys ( query ) . forEach ( function ( key , index ) {
143
+ Object . keys ( query ) . forEach ( function ( key ) {
145
144
var queryObject = query [ key ] ;
146
145
var s = queryObject . update . $set . s ;
147
146
@@ -152,12 +151,7 @@ var plugin = {},
152
151
153
152
154
153
if ( bulk . length > 0 ) {
155
- bulk . execute ( function ( err , updateResult ) {
156
- if ( err ) {
157
- //there was an error
158
- }
159
- //all done
160
- } ) ;
154
+ bulk . execute ( function ( ) { } ) ;
161
155
}
162
156
} ) ;
163
157
} ) ;
@@ -169,7 +163,7 @@ var plugin = {},
169
163
plugins . register ( "/o" , function ( ob ) {
170
164
var params = ob . params ;
171
165
172
- if ( params . qstring . method == "times-of-day" ) {
166
+ if ( params . qstring . method === "times-of-day" ) {
173
167
var appId = params . qstring . app_id ;
174
168
var todType = params . qstring . tod_type ;
175
169
@@ -198,13 +192,19 @@ var plugin = {},
198
192
return false ;
199
193
} ) ;
200
194
195
+ /**
196
+ * Fetch Times of Day Plugin
197
+ * @param {string } collectionName | Name of collection
198
+ * @param {object } criteria | Filter object
199
+ * @param {func } callback | Callback function
200
+ */
201
201
function fetchTodData ( collectionName , criteria , callback ) {
202
202
common . db . collection ( collectionName ) . find ( criteria ) . toArray ( function ( err , results ) {
203
203
if ( err ) {
204
204
return callback ( err ) ;
205
205
}
206
206
207
- var timesOfDay = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ] . map ( function ( x ) {
207
+ var timesOfDay = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 ] . map ( ( ) => {
208
208
return Array ( 24 ) . fill ( 0 ) ;
209
209
} ) ;
210
210
@@ -235,27 +235,26 @@ var plugin = {},
235
235
} ) ;
236
236
237
237
plugins . register ( "/dashboard/data" , function ( ob ) {
238
- return new Promise ( ( resolve , reject ) => {
239
- var params = ob . params ;
238
+ return new Promise ( ( resolve ) => {
240
239
var data = ob . data ;
241
240
242
- if ( data . widget_type == "times-of-day" ) {
241
+ if ( data . widget_type === "times-of-day" ) {
243
242
var collectionName = "" ;
244
243
var criteria = { } ;
245
244
246
245
var appId = data . apps [ 0 ] ;
247
246
var dataType = data . data_type ;
248
- var period = data . period ;
247
+ let period = data . period ;
249
248
250
249
var todType = "[CLY]_session" ;
251
250
252
- if ( dataType == "event" ) {
251
+ if ( dataType === "event" ) {
253
252
var event = data . events [ 0 ] ;
254
253
var eventKey = event . split ( "***" ) [ 1 ] ;
255
254
todType = eventKey ;
256
255
}
257
256
258
- var criteria = {
257
+ criteria = {
259
258
"s" : todType
260
259
} ;
261
260
@@ -265,7 +264,7 @@ var plugin = {},
265
264
criteria . m = { $in : periodRange . split ( ',' ) } ;
266
265
}
267
266
268
- var collectionName = "timesofday" + appId ;
267
+ collectionName = "timesofday" + appId ;
269
268
fetchTodData ( collectionName , criteria , function ( err , result ) {
270
269
data . dashData = {
271
270
data : result || [ ]
@@ -277,18 +276,24 @@ var plugin = {},
277
276
resolve ( ) ;
278
277
}
279
278
279
+ /**
280
+ * Get date range for period
281
+ * @param {string } period | Period
282
+ * @return {string|null } | Response
283
+ */
280
284
function getDateRange ( period ) {
285
+ let d ;
281
286
switch ( period ) {
282
287
case "current" :
283
- var d = moment ( ) ;
288
+ d = moment ( ) ;
284
289
return d . year ( ) + ":" + ( d . month ( ) + 1 ) ;
285
290
case "previous" :
286
- var d = moment ( ) . add ( - 1 , "M" ) ;
291
+ d = moment ( ) . add ( - 1 , "M" ) ;
287
292
return d . year ( ) + ":" + ( d . month ( ) + 1 ) ;
288
293
case "last_3" :
289
294
var response = [ ] ;
290
- for ( var i = 0 ; i < 3 ; i ++ ) {
291
- var d = moment ( ) . add ( - 1 * i , "M" ) ;
295
+ for ( let i = 0 ; i < 3 ; i ++ ) {
296
+ d = moment ( ) . add ( - 1 * i , "M" ) ;
292
297
response . push ( d . year ( ) + ":" + ( d . month ( ) + 1 ) ) ;
293
298
}
294
299
return response . join ( ',' ) ;
0 commit comments