@@ -156,6 +156,41 @@ async function logSquadAttendance(squad) {
156
156
157
157
}
158
158
159
+ function getSquadServerLogs ( dbState , squad ) {
160
+
161
+ var toReturn = [ ]
162
+
163
+ dbState . slice ( ) . reverse ( ) . forEach ( serverLog => {
164
+
165
+ var strippedPlayers = serverLog . players . toString ( ) . replaceAll ( / \s * \[ .* ?] / g, '' )
166
+
167
+ var temp = {
168
+ missionName : String ,
169
+ date : String ,
170
+ playerCount : Number ,
171
+ squadCount : Number ,
172
+ attendance : Number ,
173
+ players : Array
174
+ }
175
+
176
+ var tempPlayers = [ ]
177
+ temp . missionName = serverLog . missionName
178
+ temp . date = serverLog . date . split ( 'T' ) [ 0 ]
179
+ temp . playerCount = serverLog . playerCount
180
+ squad . forEach ( member => {
181
+ if ( strippedPlayers . toString ( ) . includes ( member ) ) {
182
+ tempPlayers . push ( member )
183
+ }
184
+ } )
185
+ temp . players = tempPlayers
186
+ temp . squadCount = tempPlayers . length
187
+ temp . attendance = ( ( temp . squadCount / squad . length ) * 100 ) . toFixed ( 2 )
188
+ toReturn . unshift ( temp )
189
+ } )
190
+
191
+ return toReturn
192
+ }
193
+
159
194
function getSquadChartData ( serverLogs , squadMembers ) {
160
195
161
196
var toReturn = [ ]
@@ -232,35 +267,7 @@ app.get('/echo', async (req, res) => {
232
267
const echotSquad = process . env . ECHO . toString ( ) . split ( ',' )
233
268
logger . trace ( 'echoSquad: ' + echotSquad , 'webserver/echo' )
234
269
235
- var serverLogs = [ ]
236
-
237
- dbState . slice ( ) . reverse ( ) . forEach ( serverLog => {
238
-
239
- var strippedPlayers = serverLog . players . toString ( ) . replaceAll ( / \s * \[ .* ?] / g, '' )
240
-
241
- var temp = {
242
- missionName : String ,
243
- date : String ,
244
- playerCount : Number ,
245
- squadCount : Number ,
246
- attendance : Number ,
247
- players : Array
248
- }
249
-
250
- var tempPlayers = [ ]
251
- temp . missionName = serverLog . missionName
252
- temp . date = serverLog . date . split ( 'T' ) [ 0 ]
253
- temp . playerCount = serverLog . playerCount
254
- echotSquad . forEach ( member => {
255
- if ( strippedPlayers . toString ( ) . includes ( member ) ) {
256
- tempPlayers . push ( member )
257
- }
258
- } )
259
- temp . players = tempPlayers
260
- temp . squadCount = tempPlayers . length
261
- temp . attendance = ( ( temp . squadCount / echotSquad . length ) * 100 ) . toFixed ( 2 )
262
- serverLogs . unshift ( temp )
263
- } )
270
+ var serverLogs = getSquadServerLogs ( dbState , echotSquad )
264
271
logger . trace ( 'serverLogs: ' + JSON . stringify ( serverLogs ) , 'webserver/echo' )
265
272
266
273
var chartData = getSquadChartData ( serverLogs , echotSquad )
@@ -309,35 +316,7 @@ app.get('/foxtrot', async (req, res) => {
309
316
const foxtrotSquad = process . env . FOXTROT . toString ( ) . split ( ',' )
310
317
logger . trace ( 'foxtrotSquad: ' + foxtrotSquad , 'webserver/foxtrot' )
311
318
312
- var serverLogs = [ ]
313
-
314
- dbState . slice ( ) . reverse ( ) . forEach ( serverLog => {
315
-
316
- var strippedPlayers = serverLog . players . toString ( ) . replaceAll ( / \s * \[ .* ?] / g, '' )
317
-
318
- var temp = {
319
- missionName : String ,
320
- date : String ,
321
- playerCount : Number ,
322
- squadCount : Number ,
323
- attendance : Number ,
324
- players : Array
325
- }
326
-
327
- var tempPlayers = [ ]
328
- temp . missionName = serverLog . missionName
329
- temp . date = serverLog . date . split ( 'T' ) [ 0 ]
330
- temp . playerCount = serverLog . playerCount
331
- foxtrotSquad . forEach ( member => {
332
- if ( strippedPlayers . toString ( ) . includes ( member ) ) {
333
- tempPlayers . push ( member )
334
- }
335
- } )
336
- temp . players = tempPlayers
337
- temp . squadCount = tempPlayers . length
338
- temp . attendance = ( ( temp . squadCount / foxtrotSquad . length ) * 100 ) . toFixed ( 2 )
339
- serverLogs . unshift ( temp )
340
- } )
319
+ var serverLogs = getSquadServerLogs ( dbState , foxtrotSquad )
341
320
logger . trace ( 'serverLogs: ' + JSON . stringify ( serverLogs ) , 'webserver/foxtrot' )
342
321
343
322
var chartData = getSquadChartData ( serverLogs , foxtrotSquad )
0 commit comments