"use server";
import { redirect } from "next/navigation";
import { revalidatePath } from "next/cache";
import { isLocalAdmin } from "@/lib/admin-auth";
import { updateBooking } from "@/lib/local-bookings";
import { isSupabaseConfigured } from "@/lib/supabase/server";
import { createAdminClient } from "@/lib/supabase/admin";
export async function changeStatus(form:FormData) {
  if(!await isLocalAdmin())redirect("/admin/login");
  const id=String(form.get("id")||""); const status=String(form.get("status")||"");
  if(!["requested","confirmed","completed","cancelled","no_show"].includes(status))throw new Error("Invalid status.");
  if(isSupabaseConfigured()) {const {error}=await createAdminClient().from("appointments").update({status}).eq("id",id);if(error)throw new Error("Unable to update appointment.");}
  else await updateBooking(id,status);
  revalidatePath("/admin/local");
}
