// app/api/events/[event_id]/results/route.ts import { query } from '@/lib/db'; import { NextResponse, NextRequest } from 'next/server'; export const dynamic = 'force-dynamic'; export async function GET( request: NextRequest, context: { params: Promise<{ event_id: string }> } ) { const { event_id } = await context.params; try { const standingsSql = ` SELECT tcs.team_id, t.name as team_name, tcs.total_points, tcs.races_participated, tcs.best_finish, json_agg( json_build_object( 'driver_guid', u.driver_guid, 'driver_name', u.driver_name, 'position', er.position, 'points_awarded', er.points_awarded, 'laps_completed', er.laps_completed, 'dnf', er.dnf ) ORDER BY er.position ASC ) as drivers FROM team_championship_standings tcs JOIN teams t ON tcs.team_id = t.id LEFT JOIN event_results er ON tcs.event_id = er.event_id AND tcs.team_id = er.team_id LEFT JOIN users u ON er.driver_guid = u.driver_guid WHERE tcs.event_id = $1 GROUP BY tcs.team_id, t.name, tcs.total_points, tcs.races_participated, tcs.best_finish ORDER BY tcs.total_points DESC, tcs.best_finish ASC `; const standings = await query(standingsSql, [event_id]); return NextResponse.json({ standings }); } catch (error) { console.error('[Event Results API] Error:', error); return NextResponse.json({ error: 'Failed to fetch results' }, { status: 500 }); } }