process

package
v1.1.3 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TotalsOf added in v0.1.71

func TotalsOf[T OKer](items []T) (total, oks, noks int)

Types

type API

type API interface {
	SearchProcessDefinitions(ctx context.Context, filter ProcessDefinitionFilter, opts ...foptions.FacadeOption) (ProcessDefinitions, error)
	SearchProcessDefinitionsLatest(ctx context.Context, filter ProcessDefinitionFilter, opts ...foptions.FacadeOption) (ProcessDefinitions, error)
	GetProcessDefinition(ctx context.Context, key string, opts ...foptions.FacadeOption) (ProcessDefinition, error)

	CreateProcessInstance(ctx context.Context, data ProcessInstanceData, opts ...foptions.FacadeOption) (ProcessInstance, error)
	CreateProcessInstances(ctx context.Context, datas []ProcessInstanceData, opts ...foptions.FacadeOption) ([]ProcessInstance, error)
	GetProcessInstance(ctx context.Context, key string, opts ...foptions.FacadeOption) (ProcessInstance, error)
	SearchProcessInstances(ctx context.Context, filter ProcessInstanceFilter, size int32, opts ...foptions.FacadeOption) (ProcessInstances, error)
	CancelProcessInstance(ctx context.Context, key string, opts ...foptions.FacadeOption) (CancelReport, error)
	DeleteProcessInstance(ctx context.Context, key string, opts ...foptions.FacadeOption) (DeleteReport, error)
	GetDirectChildrenOfProcessInstance(ctx context.Context, key string, opts ...foptions.FacadeOption) (ProcessInstances, error)
	FilterProcessInstanceWithOrphanParent(ctx context.Context, items []ProcessInstance, opts ...foptions.FacadeOption) ([]ProcessInstance, error)
	WaitForProcessInstanceState(ctx context.Context, key string, desired States, opts ...foptions.FacadeOption) (State, error)
	Walker

	CreateNProcessInstances(ctx context.Context, data ProcessInstanceData, n int, parallel int, opts ...foptions.FacadeOption) ([]ProcessInstance, error)
	CancelProcessInstances(ctx context.Context, keys []string, parallel int, failFast bool, opts ...foptions.FacadeOption) (CancelReports, error)
	DeleteProcessInstances(ctx context.Context, keys []string, parallel int, failFast bool, opts ...foptions.FacadeOption) (DeleteReports, error)
}

func New

func New(pdApi pdsvc.API, piApi pisvc.API, log *slog.Logger) API

type CancelReport added in v0.1.71

type CancelReport = Reporter

type CancelReports added in v0.1.71

type CancelReports struct {
	Items []CancelReport `json:"items,omitempty"`
}

func (CancelReports) Totals added in v0.1.71

func (c CancelReports) Totals() (total int, oks int, noks int)

type DeleteReport added in v0.1.71

type DeleteReport = Reporter

type DeleteReports added in v0.1.71

type DeleteReports struct {
	Items []DeleteReport `json:"items,omitempty"`
}

func (DeleteReports) Totals added in v0.1.71

func (c DeleteReports) Totals() (total int, oks int, noks int)

type OKer added in v0.1.71

type OKer interface {
	OK() bool
}

type ProcessDefinition

type ProcessDefinition struct {
	BpmnProcessId     string                       `json:"bpmnProcessId,omitempty"`
	Key               string                       `json:"key,omitempty"`
	Name              string                       `json:"name,omitempty"`
	TenantId          string                       `json:"tenantId,omitempty"`
	ProcessVersion    int32                        `json:"processVersion,omitempty"`
	ProcessVersionTag string                       `json:"processVersionTag,omitempty"`
	Statistics        *ProcessDefinitionStatistics `json:"statistics,omitempty"`
}

type ProcessDefinitionFilter added in v0.1.71

type ProcessDefinitionFilter struct {
	Key               string `json:"key,omitempty"`
	BpmnProcessId     string `json:"bpmnProcessId,omitempty"`
	ProcessVersion    int32  `json:"processVersion,omitempty"`
	ProcessVersionTag string `json:"processVersionTag,omitempty"`
}

type ProcessDefinitionStatistics added in v1.1.0

type ProcessDefinitionStatistics struct {
	Active    int64 `json:"active"`
	Canceled  int64 `json:"canceled"`
	Completed int64 `json:"completed"`
	Incidents int64 `json:"incidents"`
}

type ProcessDefinitions

type ProcessDefinitions struct {
	Total int32               `json:"total,omitempty"`
	Items []ProcessDefinition `json:"items,omitempty"`
}

type ProcessInstance

type ProcessInstance struct {
	BpmnProcessId             string                 `json:"bpmnProcessId,omitempty"`
	EndDate                   string                 `json:"endDate,omitempty"`
	Incident                  bool                   `json:"incident,omitempty"`
	Key                       string                 `json:"key,omitempty"`
	ParentFlowNodeInstanceKey string                 `json:"parentFlowNodeInstanceKey,omitempty"`
	ParentKey                 string                 `json:"parentKey,omitempty"`
	ParentProcessInstanceKey  string                 `json:"parentProcessInstanceKey,omitempty"`
	ProcessDefinitionKey      string                 `json:"processDefinitionKey,omitempty"`
	ProcessVersion            int32                  `json:"processVersion,omitempty"`
	ProcessVersionTag         string                 `json:"processVersionTag,omitempty"`
	StartDate                 string                 `json:"startDate,omitempty"`
	State                     State                  `json:"state,omitempty"`
	TenantId                  string                 `json:"tenantId,omitempty"`
	Variables                 map[string]interface{} `json:"variables,omitempty"`
}

type ProcessInstanceData added in v0.1.64

type ProcessInstanceData struct {
	BpmnProcessId               string                 `json:"bpmnProcessId,omitempty"`               // ProcessDefinitionId in API
	ProcessDefinitionSpecificId string                 `json:"processDefinitionSpecificId,omitempty"` // ProcessDefinitionKey in API
	ProcessDefinitionVersion    int32                  `json:"processDefinitionVersion,omitempty"`
	Variables                   map[string]interface{} `json:"variables,omitempty"`
	TenantId                    string                 `json:"tenantId,omitempty"`
}

type ProcessInstanceFilter added in v0.1.71

type ProcessInstanceFilter struct {
	Key                  string `json:"key,omitempty"`
	BpmnProcessId        string `json:"bpmnProcessId,omitempty"`
	ProcessVersion       int32  `json:"version,omitempty"`
	ProcessVersionTag    string `json:"versionTag,omitempty"`
	ProcessDefinitionKey string `json:"processDefinitionKey,omitempty"`
	State                State  `json:"state,omitempty"`
	ParentKey            string `json:"parentKey,omitempty"`
}

type ProcessInstances

type ProcessInstances struct {
	Total int32             `json:"total,omitempty"`
	Items []ProcessInstance `json:"items,omitempty"`
}

func (ProcessInstances) FilterByHavingIncidents

func (r ProcessInstances) FilterByHavingIncidents(has bool) ProcessInstances

func (ProcessInstances) FilterChildrenOnly

func (r ProcessInstances) FilterChildrenOnly() ProcessInstances

func (ProcessInstances) FilterRootsOnly added in v0.1.72

func (r ProcessInstances) FilterRootsOnly() ProcessInstances

type Reporter added in v0.1.71

type Reporter struct {
	Key        string `json:"key,omitempty"`
	Ok         bool   `json:"ok,omitempty"`
	StatusCode int    `json:"statusCode,omitempty"`
	Status     string `json:"status,omitempty"`
}

func (Reporter) OK added in v0.1.71

func (r Reporter) OK() bool

type State

type State string
const (
	StateAll        State = "ALL"
	StateActive     State = "ACTIVE"
	StateCompleted  State = "COMPLETED"
	StateCanceled   State = "CANCELED"
	StateTerminated State = "TERMINATED"
	StateAbsent     State = "ABSENT"
)

func ParseState

func ParseState(in string) (State, bool)

func (State) EqualsIgnoreCase

func (s State) EqualsIgnoreCase(other State) bool

func (State) In

func (s State) In(states ...State) bool

func (State) IsTerminal

func (s State) IsTerminal() bool

func (State) String

func (s State) String() string

type States

type States []State

func ParseStates

func ParseStates(in []string) (States, error)

func (States) Contains

func (sx States) Contains(state State) bool

func (States) String

func (sx States) String() string

func (States) Strings

func (sx States) Strings() []string

type Walker

type Walker interface {
	Ancestry(ctx context.Context, startKey string, opts ...foptions.FacadeOption) (rootKey string, path []string, chain map[string]ProcessInstance, err error)
	Descendants(ctx context.Context, rootKey string, opts ...foptions.FacadeOption) (desc []string, edges map[string][]string, chain map[string]ProcessInstance, err error)
	Family(ctx context.Context, startKey string, opts ...foptions.FacadeOption) (fam []string, edges map[string][]string, chain map[string]ProcessInstance, err error)
}

func AsWalker

func AsWalker(client API) (Walker, bool)

Jump to

Keyboard shortcuts

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