import { createClient } from "@/lib/supabase/server"; import { requireUser } from "@/lib/api/auth"; import { apiError, apiSuccess, parseJson } from "@/lib/api/errors"; import * as teams from "@/lib/services/teams"; export async function GET( _request: Request, { params }: { params: Promise<{ competitionId: string }> } ) { try { const { competitionId } = await params; const supabase = await createClient(); await requireUser(supabase); const data = await teams.listTeams(supabase, competitionId); return apiSuccess(data); } catch (e) { return apiError(e); } } export async function POST( request: Request, { params }: { params: Promise<{ competitionId: string }> } ) { try { const { competitionId } = await params; const supabase = await createClient(); await requireUser(supabase); const body = await parseJson<{ name: string; nickname?: string; icon?: string; }>(request); const data = await teams.createTeam(supabase, competitionId, body); return apiSuccess(data, 201); } catch (e) { return apiError(e); } }