import { createClient } from "@/lib/supabase/server"; import { requireUser } from "@/lib/api/auth"; import { apiError, apiSuccess, parseJson } from "@/lib/api/errors"; import * as leagues from "@/lib/services/leagues"; export async function GET() { try { const supabase = await createClient(); await requireUser(supabase); const data = await leagues.listLeagues(supabase); return apiSuccess(data); } catch (e) { return apiError(e); } } export async function POST(request: Request) { try { const supabase = await createClient(); const user = await requireUser(supabase); const body = await parseJson<{ name: string; description?: string }>(request); if (!body.name?.trim()) { return apiError(new Error("name is required")); } const data = await leagues.createLeague(supabase, user.id, body); return apiSuccess(data, 201); } catch (e) { return apiError(e); } }