Some checks failed
Deploy to Cloudflare Workers / deploy (push) Has been cancelled
65 lines
1.6 KiB
TypeScript
65 lines
1.6 KiB
TypeScript
"use server";
|
|
|
|
import { revalidatePath } from "next/cache";
|
|
import { createClient } from "@/lib/supabase/server";
|
|
import * as teams from "@/lib/services/teams";
|
|
import * as players from "@/lib/services/players";
|
|
|
|
export async function updateTeamProfile(
|
|
teamId: string,
|
|
data: { home_stadium_name?: string; logo_path?: string }
|
|
) {
|
|
const supabase = await createClient();
|
|
await teams.updateTeam(supabase, teamId, data);
|
|
revalidatePath("/leagues");
|
|
}
|
|
|
|
export async function setTeamAvailability(
|
|
teamId: string,
|
|
windows: { day_of_week: number; start_time?: string; end_time?: string }[]
|
|
) {
|
|
const supabase = await createClient();
|
|
await teams.setAvailability(supabase, teamId, windows);
|
|
revalidatePath("/leagues");
|
|
}
|
|
|
|
export async function addToRoster(
|
|
teamId: string,
|
|
competitionId: string,
|
|
playerId: string
|
|
) {
|
|
const supabase = await createClient();
|
|
const {
|
|
data: { user },
|
|
} = await supabase.auth.getUser();
|
|
if (!user) throw new Error("Unauthorized");
|
|
|
|
await players.addToRoster(supabase, user.id, {
|
|
teamId,
|
|
competitionId,
|
|
playerId,
|
|
});
|
|
revalidatePath("/leagues");
|
|
}
|
|
|
|
export async function registerTransfer(
|
|
competitionId: string,
|
|
playerId: string,
|
|
fromTeamId: string,
|
|
toTeamId: string
|
|
) {
|
|
const supabase = await createClient();
|
|
const {
|
|
data: { user },
|
|
} = await supabase.auth.getUser();
|
|
if (!user) throw new Error("Unauthorized");
|
|
|
|
await players.registerTransfer(supabase, user.id, {
|
|
competitionId,
|
|
playerId,
|
|
fromTeamId,
|
|
toTeamId,
|
|
});
|
|
revalidatePath("/leagues");
|
|
}
|