Yaltopia-FIFA/app/api/issues/route.ts
Kirubel-Kibru-Yaltopia 89440985f1
Some checks failed
Deploy to Cloudflare Workers / deploy (push) Has been cancelled
x
2026-05-24 21:46:10 +03:00

44 lines
1.2 KiB
TypeScript

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);
}
}