Files
electric-cherry/src/routes/api/servers/[name]/matches/+server.ts
T

18 lines
722 B
TypeScript

import { readMatchQuery } from '$lib/match-history-query.js';
import { json } from '@sveltejs/kit';
import { serverMatchHistory } from '$lib/server/fleet/match-history.js';
export function GET({ params, url }: { params: { name: string }; url: URL }) {
const limit = Number(url.searchParams.get('limit') ?? 25);
if (!Number.isSafeInteger(limit) || limit < 1 || limit > 10000) {
return json({ error: 'limit must be between 1 and 10000' }, { status: 400 });
}
let query;
try {
query = readMatchQuery(url.searchParams);
} catch {
return json({ error: 'Invalid match history filters.' }, { status: 400 });
}
return json(serverMatchHistory(params.name, limit, query));
}