summaryrefslogtreecommitdiff
path: root/server.js
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2021-05-18 23:51:32 +0200
committerTor Andersson <tor@ccxvii.net>2021-05-19 01:16:00 +0200
commite65239e53bf7f9ce53ec0157fe41fad94beea682 (patch)
treed40016a5d41a7e88bb47163c05aa3d07e0645f89 /server.js
parent216c4053f4e27d98958151e7dd9bd2894166889b (diff)
downloadserver-e65239e53bf7f9ce53ec0157fe41fad94beea682.tar.gz
server: Add a /stats page to show game result statistics.
Diffstat (limited to 'server.js')
-rw-r--r--server.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/server.js b/server.js
index edf3ef9..719b288 100644
--- a/server.js
+++ b/server.js
@@ -311,6 +311,20 @@ app.get('/users', function (req, res) {
res.render('users.ejs', { user: req.user, message: req.flash('message'), userList: rows });
});
+const QUERY_STATS = db.prepare(`
+ SELECT title_name, scenario, result, count(*) AS count
+ FROM games
+ JOIN titles ON games.title_id=titles.title_id
+ WHERE status=2 AND private=0
+ GROUP BY title_name, scenario, result
+ `);
+
+app.get('/stats', function (req, res) {
+ LOG(req, "GET /stats");
+ let stats = QUERY_STATS.all();
+ res.render('stats.ejs', { user: req.user, message: req.flash('message'), stats: stats });
+});
+
app.get('/change_password', must_be_logged_in, function (req, res) {
LOG(req, "GET /change_password");
res.render('change_password.ejs', { user: req.user, message: req.flash('message') });