Documentation
¶
Index ¶
Constants ¶
View Source
const (
// EntityTypePage identifies page entities for workflow transitions.
EntityTypePage = "page"
)
Variables ¶
View Source
var ( // ErrDefinitionEntityRequired indicates the workflow definition lacks an entity identifier. ErrDefinitionEntityRequired = errors.New("workflow: definition entity required") // ErrDefinitionStatesRequired indicates the workflow definition does not declare any states. ErrDefinitionStatesRequired = errors.New("workflow: definition requires at least one state") // ErrStateNameRequired indicates a workflow state is missing its name. ErrStateNameRequired = errors.New("workflow: state name required") // ErrDuplicateState indicates duplicate workflow state names were declared. ErrDuplicateState = errors.New("workflow: duplicate state") // ErrDuplicateDefinition indicates multiple definitions were provided for the same entity. ErrDuplicateDefinition = errors.New("workflow: duplicate entity definition") // ErrTransitionNameRequired indicates a transition lacks a name. ErrTransitionNameRequired = errors.New("workflow: transition name required") // ErrTransitionStateUnknown indicates a transition references a state that was not declared. ErrTransitionStateUnknown = errors.New("workflow: transition references unknown state") // ErrDuplicateTransition indicates the same transition name is declared multiple times for a state. ErrDuplicateTransition = errors.New("workflow: duplicate transition for state") // ErrInitialStateInvalid indicates the supplied initial state flag is inconsistent or unknown. ErrInitialStateInvalid = errors.New("workflow: invalid initial state") )
Functions ¶
func CompileDefinitionConfigs ¶
func CompileDefinitionConfigs(configs []runtimeconfig.WorkflowDefinitionConfig) ([]interfaces.WorkflowDefinition, error)
CompileDefinitionConfigs converts configuration-driven workflow definitions into runtime definitions. Validation is applied to ensure state and transition integrity before registration.
Types ¶
type PageContext ¶
type PageContext struct {
ID uuid.UUID
ContentID uuid.UUID
TemplateID uuid.UUID
ParentID *uuid.UUID
Slug string
Status domain.Status
WorkflowState domain.WorkflowState
CurrentVersion int
PublishedVersion *int
PublishAt *time.Time
UnpublishAt *time.Time
CreatedBy uuid.UUID
UpdatedBy uuid.UUID
}
PageContext captures metadata about a page used during workflow transitions.
func (PageContext) Metadata ¶
func (c PageContext) Metadata() map[string]any
Metadata renders the context as a map suitable for workflow metadata payloads.
Click to show internal directories.
Click to hide internal directories.