/** * ACTIVE = in operation / ARCHIVED = archived */ export const PipelineStatus = { "ACTIVE": "ACTIVE", "ARCHIVED": "ARCHIVED" } as const; export type PipelineStatus = (typeof PipelineStatus)[keyof typeof PipelineStatus]; /** * Priority. LOW / MEDIUM / HIGH / URGENT */ export const PipelineItemPriority = { "LOW": "LOW", "MEDIUM": "MEDIUM", "HIGH": "HIGH", "URGENT": "URGENT" } as const; export type PipelineItemPriority = (typeof PipelineItemPriority)[keyof typeof PipelineItemPriority]; /** * PipelineItem lifecycle. DRAFT = visible only to the creator and hidden from operational lists, OPEN = published and in progress, CLOSED = explicitly closed. Independent of the PipelineStage category (DONE/CANCELED); transitioning to CLOSED only happens via an explicit ClosePipelineItem call. Approval workflows are not carried on the PipelineItem; the owning domain holds them as needed. */ export const PipelineItemLifecycle = { "DRAFT": "DRAFT", "OPEN": "OPEN", "CLOSED": "CLOSED" } as const; export type PipelineItemLifecycle = (typeof PipelineItemLifecycle)[keyof typeof PipelineItemLifecycle]; /** * Change category. CONTENT = title/description / FIELD = assignee/priority/dueDate / LIFECYCLE = DRAFT→OPEN→CLOSED / LABEL = label attach/detach */ export const PipelineItemChangeChangeType = { "CONTENT": "CONTENT", "FIELD": "FIELD", "LIFECYCLE": "LIFECYCLE", "LABEL": "LABEL" } as const; export type PipelineItemChangeChangeType = (typeof PipelineItemChangeChangeType)[keyof typeof PipelineItemChangeChangeType]; /** * Name of the changed field. TITLE / DESCRIPTION / ASSIGNEE / PRIORITY / DUE_DATE / LIFECYCLE / LABEL */ export const PipelineItemChangeFieldName = { "TITLE": "TITLE", "DESCRIPTION": "DESCRIPTION", "ASSIGNEE": "ASSIGNEE", "PRIORITY": "PRIORITY", "DUE_DATE": "DUE_DATE", "LIFECYCLE": "LIFECYCLE", "LABEL": "LABEL" } as const; export type PipelineItemChangeFieldName = (typeof PipelineItemChangeFieldName)[keyof typeof PipelineItemChangeFieldName]; /** * Semantic category of the stage. NOT_STARTED = not yet started, IN_PROGRESS = being worked on, DONE = completed, CANCELED = canceled */ export const PipelineStageCategory = { "NOT_STARTED": "NOT_STARTED", "IN_PROGRESS": "IN_PROGRESS", "DONE": "DONE", "CANCELED": "CANCELED" } as const; export type PipelineStageCategory = (typeof PipelineStageCategory)[keyof typeof PipelineStageCategory];