From 6328477bc459eca0243b685553dbd75b925fdc8a Mon Sep 17 00:00:00 2001 From: soryu Date: Mon, 26 Jan 2026 17:03:45 +0000 Subject: Add dynamic contract type templates with user customization (#33) - Add 'execute' contract type as a built-in template in backend - Fix API response field name mismatch (types -> contractTypes) - Remove duplicate ContractTypeTemplate definition in api.ts - Merge built-in types from API with user templates from localStorage - User templates created in the Templates page now appear in contract creation Co-authored-by: Claude Opus 4.5 --- makima/frontend/src/lib/api.ts | 38 +------------------------------------- 1 file changed, 1 insertion(+), 37 deletions(-) (limited to 'makima/frontend/src/lib') diff --git a/makima/frontend/src/lib/api.ts b/makima/frontend/src/lib/api.ts index 64ce591..b3c18a5 100644 --- a/makima/frontend/src/lib/api.ts +++ b/makima/frontend/src/lib/api.ts @@ -1529,7 +1529,7 @@ export interface ContractTypeTemplate { /** Response from list contract types endpoint */ export interface ListContractTypesResponse { - types: ContractTypeTemplate[]; + contractTypes: ContractTypeTemplate[]; } /** @@ -2044,42 +2044,6 @@ export async function getTemplate(id: string): Promise { return res.json(); } -// ============================================================================= -// Contract Type Templates (Workflow Definitions) -// ============================================================================= - -/** A contract type template defining a workflow */ -export interface ContractTypeTemplate { - /** Unique identifier (e.g., 'simple', 'specification', 'feature-development') */ - id: string; - /** Display name */ - name: string; - /** What this contract type is for */ - description: string; - /** Ordered list of phases in the workflow */ - phases: string[]; - /** Starting phase */ - defaultPhase: string; - /** True for built-in types ('simple', 'specification') */ - isBuiltin: boolean; -} - -export interface ListContractTypesResponse { - contractTypes: ContractTypeTemplate[]; -} - -/** - * List all available contract type templates. - * Returns built-in types (simple, specification) and any custom types. - */ -export async function listContractTypes(): Promise { - const res = await authFetch(`${API_BASE}/api/v1/contract-types`); - if (!res.ok) { - throw new Error(`Failed to list contract types: ${res.statusText}`); - } - return res.json(); -} - // ============================================================================= // Supervisor Question Types and Functions // ============================================================================= -- cgit v1.2.3