adds round telemetry support

This commit is contained in:
2026-09-17 14:35:42 -04:00
parent 8e04a190b3
commit 858704bb10
12 changed files with 191 additions and 3 deletions
+15
View File
@@ -0,0 +1,15 @@
import { db } from '../db/index.js';
import type { RoundTelemetry } from '../../telemetry.js';
export function listTelemetry(): RoundTelemetry[] {
return db().prepare(`SELECT t.server, t.round, t.players, t.received_at AS receivedAt
FROM server_telemetry t JOIN servers s ON s.name = t.server
WHERE s.destroyed_at IS NULL`).all() as RoundTelemetry[];
}
export function saveTelemetry(report: RoundTelemetry): void {
db().prepare(`INSERT INTO server_telemetry (server, round, players, received_at)
VALUES (?, ?, ?, ?) ON CONFLICT(server) DO UPDATE SET
round = excluded.round, players = excluded.players, received_at = excluded.received_at`)
.run(report.server, report.round, report.players, report.receivedAt);
}