"use server"; import { revalidatePath } from "next/cache"; import { createClient } from "@/lib/supabase/server"; type ActionResult = { success: boolean; error?: string }; export async function saveHireDraft(payload: { id?: string; step: number; data: Record; }): Promise { const supabase = await createClient(); const { data: { user }, } = await supabase.auth.getUser(); if (!user) return { success: false, error: "Nicht angemeldet." }; if (payload.id) { const { error } = await supabase .from("hire_drafts") .update({ step: payload.step, payload: payload.data, updated_at: new Date().toISOString() }) .eq("id", payload.id); if (error) return { success: false, error: error.message }; revalidatePath("/"); return { success: true, id: payload.id }; } const { data, error } = await supabase .from("hire_drafts") .insert({ created_by: user.id, step: payload.step, payload: payload.data }) .select("id") .single(); if (error) return { success: false, error: error.message }; revalidatePath("/"); return { success: true, id: data.id }; } export async function deleteHireDraft(id: string): Promise { const supabase = await createClient(); const { error } = await supabase.from("hire_drafts").delete().eq("id", id); if (error) return { success: false, error: error.message }; revalidatePath("/"); return { success: true }; }