18 lines
722 B
TypeScript
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));
|
|
}
|