This commit is contained in:
sky
2026-02-19 10:49:17 -05:00
parent b606d6db86
commit 5be3f06fe2

View File

@ -186,33 +186,40 @@ app.post("/api/analytics/game", async (req, res) => {
app.use("/api/analytics/get", async(req, res) => { app.use("/api/analytics/get", async(req, res) => {
const sql = ` const sql = `
SELECT SELECT
CASE WHEN game = 'nso_fix' THEN 'nso' ELSE game END AS game_name, CASE
SUM(plays) as total_plays WHEN game = 'nso_fix' THEN 'nso'
FROM stats WHEN game = 'untitledgoosegamee' THEN 'untitledgoosegame' -- Fixes that typo too!
GROUP BY game_name ELSE game
ORDER BY total_plays DESC END AS name,
`; SUM(plays) as plays
FROM stats
GROUP BY name
ORDER BY plays DESC
`;
const query = top.prepare(sql); const query = top.prepare(sql);
let data = query.all(); let data = query.all();
res.send(data); res.send(data);
return; return;
}); });
app.use("/metrics", async(req, res) => { app.use("/metrics", async(req, res) => {
const sql = ` const sql = `
SELECT SELECT
CASE WHEN game = 'nso_fix' THEN 'nso' ELSE game END AS game, CASE
SUM(plays) as plays WHEN game = 'nso_fix' THEN 'nso'
FROM stats ELSE game
GROUP BY game END AS name,
ORDER BY plays DESC SUM(plays) as plays
`; FROM stats
GROUP BY name
ORDER BY plays DESC
`;
const query = top.prepare(sql); const query = top.prepare(sql);
let data = query.all(); let data = query.all();
let returnData = "#HELP game_plays_total The total number of plays per game.\n"; let returnData = "#HELP game_plays_total The total number of plays per game.\n";
returnData+="#TYPE game_plays_total counter\n" returnData+="#TYPE game_plays_total counter\n"
data.forEach(e => { data.forEach(e => {
returnData+=`game_plays_total{name="${e.game}"} ${e.plays}\n` returnData+=`game_plays_total{name="${e.name}"} ${e.plays}\n`
}); });
returnData+="#HELP online_users The total number of people online.\n"; returnData+="#HELP online_users The total number of people online.\n";
returnData+="#TYPE online_users gauge\n" returnData+="#TYPE online_users gauge\n"