import { createClient } from "@/lib/supabase/server"; import { requireUser } from "@/lib/api/auth"; import { apiError, apiSuccess, parseJson } from "@/lib/api/errors"; import * as issues from "@/lib/services/issues"; export async function GET(request: Request) { try { const supabase = await createClient(); const user = await requireUser(supabase); const { searchParams } = new URL(request.url); const asMaster = searchParams.get("as") === "master"; const data = await issues.listIssuesForUser( supabase, user.id, asMaster ); 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<{ leagueId: string; competitionId?: string; subject: string; body: string; }>(request); const data = await issues.createIssue(supabase, user.id, { leagueId: body.leagueId, competitionId: body.competitionId, subject: body.subject, body: body.body, }); return apiSuccess(data, 201); } catch (e) { return apiError(e); } }