import { ApiError } from "@/lib/api-error";

/** Retour d'échec commun à toutes les Server Actions : le Problem Details relayé. */
export type ActionFailure = { error: string; status?: number };

export const JSON_HEADERS = { "content-type": "application/json" };

/**
 * Relaye le Problem Details de l'api ; toute autre erreur remonte au `error.tsx` —
 * jamais d'erreur brute du serveur au navigateur (architecture §9).
 */
export function relay(error: unknown): ActionFailure {
  if (error instanceof ApiError) {
    return { error: error.detail ?? error.title, status: error.status };
  }
  throw error;
}
