workflow

package
v0.42.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2026 License: MIT Imports: 9 Imported by: 0

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL