Simplify telemetry to three game events
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
import type { GameEvent, TelemetryPlayerStats } from '../../src/lib/telemetry.js';
|
||||
|
||||
export const roster = (count = 4): TelemetryPlayerStats[] => Array.from({ length: count }, (_, i) => ({
|
||||
name: `Player ${i + 1}`, guid: `1234567890123456${i}`, kills: 100 + i,
|
||||
headshots: 50, downs: 1, revives: 2, score: 5000
|
||||
}));
|
||||
export function gameEvent(event: GameEvent['event'], round = 25, players = 4, server = 't5_zombie_theater_1', map = 'zombie_theater'): GameEvent {
|
||||
return event === 'game_start'
|
||||
? { event, server, map, players: roster(players).map(({ name, guid }) => ({ name, guid })) }
|
||||
: { event, server, map, round, players: roster(players) };
|
||||
}
|
||||
export async function postTelemetry(body: unknown, contentType = 'application/json') {
|
||||
const { POST } = await import('../../src/routes/api/telemetry/+server.js');
|
||||
return POST({ request: new Request('http://localhost/api/telemetry', {
|
||||
method: 'POST', headers: { 'Content-Type': contentType }, body: JSON.stringify(body)
|
||||
}) });
|
||||
}
|
||||
Reference in New Issue
Block a user