ReportContent-Vertrag, Content-Builder mit Tagesfilter, Services für Tages-/Abschlussbericht, Bearbeiten, Absenden, Freigabe, Zurückweisen, neue Version, Unterschrift und PDF-Erzeugung (playwright-core, Worker-Processor, Dockerfile-Stage worker). Stubs für L2-Transition/Blocker und Dokumenten-Store. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
12 lines
568 B
TypeScript
12 lines
568 B
TypeScript
import type { CompletionBlocker } from "@/lib/work-orders/status";
|
|
|
|
/** Result of report server actions (client-safe; "use server" files may only export async functions). */
|
|
export type ReportActionErrorCode = "generic" | "not_found" | "forbidden" | "conflict" | "invalid" | "blocked";
|
|
|
|
export type ReportActionState =
|
|
| { status: "idle" }
|
|
| { status: "ok"; reportId?: string; at: number }
|
|
| { status: "error"; code: ReportActionErrorCode; field?: string; blockers?: CompletionBlocker[]; at: number };
|
|
|
|
export const IDLE: ReportActionState = { status: "idle" };
|