diff --git a/modules/api/api.js b/modules/api/api.js index c646c5e..4e4abb6 100644 --- a/modules/api/api.js +++ b/modules/api/api.js @@ -38,6 +38,7 @@ const motdFile = 'public/motd' const versionFile = 'public/version' const passwordFile = 'data/dataEditorPasswords.json' const dataEditsLog = 'stats/dataEdits' +const dailyDataCountFile = 'stats/dailyDataCount' app.set('view engine', 'ejs') app.set('views', [ @@ -338,5 +339,14 @@ app.post('*', function (req, res) { }) exports.app = app +exports.dailyAction = () => { + utils.AppendToFile(JSON.stringify({ + date: new Date(), + subjectCount: data.Subjects.length, + questionCOunt: data.Subjects.reduce((acc, subj) => { + return acc + subj.Questions.length + }, 0) + }), dailyDataCountFile) +} logger.Log('API module started', logger.GetColor('yellow')) diff --git a/server.js b/server.js index 6c464fe..2589204 100755 --- a/server.js +++ b/server.js @@ -98,6 +98,7 @@ Object.keys(modules).forEach(function (k, i) { }) } x.app = mod.app + x.dailyAction = mod.dailyAction x.urls.forEach((url) => { app.use(vhost(url, x.app)) }) @@ -149,11 +150,17 @@ function setLogTimer () { if (e > 100) { setTimeout(setLogTimer, e) } else { - logger.Log('Log timer malfunction :/') + logger.Log('Log timer malfunction :/', logger.GetColor('redbg')) } - const line = '-------------------------------------------------------------------------------' + Object.keys(modules).forEach((k, i) => { + const x = modules[k] + if (x.dailyAction) { + x.dailyAction() + } + }) + const line = '===================================================================================================================================================' logger.Log(line) utils.AppendToFile(line, locLogFile) utils.AppendToFile(line, allLogFile)