"use server"; import { revalidatePath } from "next/cache"; import { currentUserId } from "@/lib/auth/session"; import { withUser } from "@/lib/db"; import type { ActionResult } from "@/lib/db/rpc"; export async function saveReport(payload: { name: string; config: Record }): Promise { const userId = await currentUserId(); if (!userId) return { success: false, error: "Nicht angemeldet." }; try { await withUser(userId, (tx) => tx.insertInto("saved_reports").values({ created_by: userId, name: payload.name, config: payload.config }).execute() ); revalidatePath("/reports"); return { success: true }; } catch (err) { return { success: false, error: err instanceof Error ? err.message : "Unbekannter Fehler." }; } } export async function deleteReport(id: string): Promise { try { await withUser(await currentUserId(), (tx) => tx.deleteFrom("saved_reports").where("id", "=", id).execute()); revalidatePath("/reports"); return { success: true }; } catch (err) { return { success: false, error: err instanceof Error ? err.message : "Unbekannter Fehler." }; } }