Skip to content
This repository was archived by the owner on May 5, 2023. It is now read-only.

Commit d5d1eff

Browse files
committed
Merged similar functions in to one(3)
1 parent 8b1255d commit d5d1eff

File tree

1 file changed

+37
-58
lines changed

1 file changed

+37
-58
lines changed

index.js

Lines changed: 37 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,41 @@ async function logSquadAttendance(squad) {
156156

157157
}
158158

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+
159194
function getSquadChartData(serverLogs, squadMembers) {
160195

161196
var toReturn = []
@@ -232,35 +267,7 @@ app.get('/echo', async (req, res) => {
232267
const echotSquad = process.env.ECHO.toString().split(',')
233268
logger.trace('echoSquad: ' + echotSquad, 'webserver/echo')
234269

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)
264271
logger.trace('serverLogs: ' + JSON.stringify(serverLogs), 'webserver/echo')
265272

266273
var chartData = getSquadChartData(serverLogs, echotSquad)
@@ -309,35 +316,7 @@ app.get('/foxtrot', async (req, res) => {
309316
const foxtrotSquad = process.env.FOXTROT.toString().split(',')
310317
logger.trace('foxtrotSquad: ' + foxtrotSquad, 'webserver/foxtrot')
311318

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)
341320
logger.trace('serverLogs: ' + JSON.stringify(serverLogs), 'webserver/foxtrot')
342321

343322
var chartData = getSquadChartData(serverLogs, foxtrotSquad)

0 commit comments

Comments
 (0)