"use server"; import { revalidatePath } from "next/cache"; import { fetchApi } from "@/lib/api"; import type { AccUpdate, UserUpdate } from "@/lib/types"; export type ActionResult = { ok: true } | { ok: false; error: string }; export async function updateAccount(data: AccUpdate): Promise { try { await fetchApi("/update-acc-data", { method: "POST", body: data }); revalidatePath("/"); return { ok: true }; } catch (err) { return { ok: false, error: err instanceof Error ? err.message : String(err) }; } } export async function updateUser(data: UserUpdate): Promise { try { await fetchApi("/update-user-data", { method: "POST", body: data }); revalidatePath("/users"); return { ok: true }; } catch (err) { return { ok: false, error: err instanceof Error ? err.message : String(err) }; } } export async function createAccount(data: AccUpdate): Promise { try { await fetchApi("/create-acc-data", { method: "POST", body: data }); revalidatePath("/"); return { ok: true }; } catch (err) { return { ok: false, error: err instanceof Error ? err.message : String(err) }; } } export async function createUser(data: UserUpdate): Promise { try { await fetchApi("/create-user-data", { method: "POST", body: data }); revalidatePath("/users"); return { ok: true }; } catch (err) { return { ok: false, error: err instanceof Error ? err.message : String(err) }; } } export async function deleteAccount(username: string): Promise { try { await fetchApi("/delete-acc-data", { method: "POST", body: { username } }); revalidatePath("/"); return { ok: true }; } catch (err) { return { ok: false, error: err instanceof Error ? err.message : String(err) }; } } export async function deleteUser(f_username: string): Promise { try { await fetchApi("/delete-user-data", { method: "POST", body: { f_username } }); revalidatePath("/users"); return { ok: true }; } catch (err) { return { ok: false, error: err instanceof Error ? err.message : String(err) }; } }