Some checks failed
Deploy to Cloudflare Workers / deploy (push) Has been cancelled
33 lines
1.0 KiB
TypeScript
33 lines
1.0 KiB
TypeScript
import { createClient } from "@/lib/supabase/server";
|
|
import { requireUser } from "@/lib/api/auth";
|
|
import { apiError, apiSuccess } from "@/lib/api/errors";
|
|
import { getMasterCalendarMatches } from "@/lib/services/calendar";
|
|
import { resolvePortalRole } from "@/lib/auth/resolve-portal-role";
|
|
|
|
export async function GET(request: Request) {
|
|
try {
|
|
const supabase = await createClient();
|
|
const user = await requireUser(supabase);
|
|
const { role } = await resolvePortalRole(supabase, user);
|
|
if (role !== "league_master") {
|
|
return apiError(new Error("League master access required"));
|
|
}
|
|
const { searchParams } = new URL(request.url);
|
|
const from = searchParams.get("from");
|
|
const to = searchParams.get("to");
|
|
if (!from || !to) {
|
|
return apiError(new Error("from and to query params required"));
|
|
}
|
|
const data = await getMasterCalendarMatches(
|
|
supabase,
|
|
user.id,
|
|
false,
|
|
from,
|
|
to
|
|
);
|
|
return apiSuccess(data);
|
|
} catch (e) {
|
|
return apiError(e);
|
|
}
|
|
}
|