Some checks failed
Deploy to Cloudflare Workers / deploy (push) Has been cancelled
40 lines
1.0 KiB
TypeScript
40 lines
1.0 KiB
TypeScript
"use server";
|
|
|
|
import { revalidatePath } from "next/cache";
|
|
import { createClient } from "@/lib/supabase/server";
|
|
import * as players from "@/lib/services/players";
|
|
|
|
export async function createPlayer(formData: FormData) {
|
|
const supabase = await createClient();
|
|
const {
|
|
data: { user },
|
|
} = await supabase.auth.getUser();
|
|
if (!user) throw new Error("Unauthorized");
|
|
|
|
await players.createPlayer(supabase, user.id, {
|
|
display_name: formData.get("display_name") as string,
|
|
external_id: (formData.get("external_id") as string) || undefined,
|
|
});
|
|
|
|
revalidatePath("/players");
|
|
}
|
|
|
|
export async function updatePlayerStatus(
|
|
playerId: string,
|
|
status: "active" | "inactive"
|
|
) {
|
|
const supabase = await createClient();
|
|
await players.updatePlayerStatus(supabase, playerId, status);
|
|
revalidatePath("/players");
|
|
}
|
|
|
|
export async function togglePlayerStatus(
|
|
playerId: string,
|
|
currentStatus: string
|
|
) {
|
|
await updatePlayerStatus(
|
|
playerId,
|
|
currentStatus === "active" ? "inactive" : "active"
|
|
);
|
|
}
|