third place marks

This commit is contained in:
2026-06-27 12:15:34 -05:00
parent bf931e70c0
commit a721de5b23
4 changed files with 115 additions and 187 deletions

View File

@@ -2,6 +2,7 @@ import { NextResponse } from "next/server";
import { fetchMatchesAndTeams, fetchOdds, attachOdds, fetchLiveScores, applyLiveScores, assignKONumbersBySlots } from "@/lib/feeds";
import { computeGroupTables, computeThirdPlaceTable } from "@/lib/standings";
import { qualifiedThirdGroups, resolveAnnexC } from "@/lib/bracket";
import { securelyQualifiedThirdTeams } from "@/lib/third-place-security";
// Diese Route wird vom Frontend gepollt. Sie ist der einzige Ort, der die
// Upstream-Feeds berührt — gecacht, damit Rate Limits eingehalten werden.
@@ -41,6 +42,9 @@ export async function GET() {
const qGroups = qualifiedThirdGroups(thirdTable);
const annex = qGroups.length === 8 ? resolveAnnexC(qGroups) : null;
// Sichere Drittplatzierte (Team-IDs, deren Top-8-Platz mathematisch feststeht)
const secureThirdTeams = securelyQualifiedThirdTeams(matches, teams);
return NextResponse.json({
updatedAt: new Date().toISOString(),
teams,
@@ -48,6 +52,7 @@ export async function GET() {
groupTables,
groupTablesLive,
thirdTable,
secureThirdTeams: [...secureThirdTeams],
annexAssignment: annex,
annexResolved: annex != null,
});