Versions in this module Expand all Collapse all v1 v1.0.0 Jan 15, 2024 Changes in this version + const FlowStatusActive + const FlowStatusCancelled + const FlowStatusCompleted + const FlowStatusFailed + const FlowStatusNotStarted + const LinkStatusFalse + const LinkStatusSkipped + const LinkStatusTrue + const TaskStatusDone + const TaskStatusEntered + const TaskStatusFailed + const TaskStatusNotStarted + const TaskStatusReady + const TaskStatusSkipped + const TaskStatusWaiting + func Register(flowModel *FlowModel) + func RegisterDefault(flowModel *FlowModel) + type EnterResult int + const EREval + const ERNotReady + const ERSkip + type EvalResult int + const EvalDone + const EvalFail + const EvalRepeat + const EvalSkip + const EvalWait + type FlowBehavior interface + Done func(context FlowContext) + Resume func(context FlowContext) (resumed bool) + Start func(context FlowContext) (started bool, taskEntries []*TaskEntry) + StartErrorHandler func(context FlowContext) (taskEntries []*TaskEntry) + TaskDone func(context FlowContext) (flowDone bool) + type FlowContext interface + FlowDefinition func() *definition.Definition + Logger func() log.Logger + Status func() FlowStatus + TaskInstances func() []TaskInstance + type FlowModel struct + func Default() *FlowModel + func Get(id string) (*FlowModel, error) + func New(name string) *FlowModel + func Registered() []*FlowModel + func (fm *FlowModel) GetDefaultTaskBehavior() TaskBehavior + func (fm *FlowModel) GetFlowBehavior() FlowBehavior + func (fm *FlowModel) GetTaskBehavior(id string) TaskBehavior + func (fm *FlowModel) IsValidTaskType(taskType string) bool + func (fm *FlowModel) Name() string + func (fm *FlowModel) RegisterDefaultTaskBehavior(id string, taskBehavior TaskBehavior) + func (fm *FlowModel) RegisterFlowBehavior(flowBehavior FlowBehavior) + func (fm *FlowModel) RegisterTaskBehavior(id string, taskBehavior TaskBehavior) + type FlowStatus int + type LinkInstance interface + Link func() *definition.Link + SetStatus func(status LinkStatus) + Status func() LinkStatus + type LinkStatus int + type TaskBehavior interface + Done func(context TaskContext) (notifyFlow bool, taskEntries []*TaskEntry, err error) + Enter func(context TaskContext) (enterResult EnterResult) + Error func(context TaskContext, err error) (handled bool, taskEntries []*TaskEntry) + Eval func(context TaskContext) (evalResult EvalResult, err error) + PostEval func(context TaskContext) (evalResult EvalResult, err error) + Skip func(context TaskContext) (notifyFlow bool, taskEntries []*TaskEntry, propagateSkip bool) + type TaskContext interface + EvalActivity func() (done bool, err error) + EvalLink func(link *definition.Link) (bool, error) + FlowLogger func() log.Logger + GetFromLinkInstances func() []LinkInstance + GetSetting func(name string) (value interface{}, exists bool) + GetToLinkInstances func() []LinkInstance + GetWorkingData func(key string) (interface{}, bool) + PostEvalActivity func() (done bool, err error) + SetStatus func(status TaskStatus) + SetWorkingData func(key string, value interface{}) + Status func() TaskStatus + Task func() *definition.Task + type TaskEntry struct + EnterCode int + Task *definition.Task + type TaskInstance interface + Status func() TaskStatus + Task func() *definition.Task + type TaskStatus int