import { logger } from "@/lib/logger"; export interface ActionResult { ok: boolean; data?: T; error?: string; } export async function wrapAction( fn: () => Promise, actionName: string, ): Promise> { try { const data = await fn(); return { ok: true, data }; } catch (err) { const message = err instanceof Error ? err.message : "Unknown error"; logger.error(`Action failed: ${actionName}`, { action: actionName, error: message, }); return { ok: false, error: message }; } } export function actionError( actionName: string, message: string, ): ActionResult { logger.error(`Action failed: ${actionName}`, { action: actionName, error: message, }); return { ok: false, error: message }; }