context

package
v0.11.3 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthContext

type AuthContext struct {
	// Access token for OAuth2 and token-based authentication
	AccessToken string `json:"accessToken,omitempty"`

	// Full OAuth2 token data
	Token *oauth2.Token `json:"token,omitempty"`

	// Token source for refreshing OAuth2 tokens
	TokenSource *oauth2.TokenSource `json:"tokenSource,omitempty"`

	// Token type (Bearer, MAC, etc.)
	TokenType string `json:"tokenType,omitempty"`

	// Basic auth credentials
	Username string `json:"username,omitempty"`
	Password string `json:"password,omitempty"`

	// API key and secret
	Secret string `json:"secret,omitempty"`
	Key    string `json:"key,omitempty"`

	// OAuth2 scopes
	Scopes []string `json:"scopes,omitempty"`

	// Additional parameters for custom auth types
	Extra map[string]string `json:"extra,omitempty"`
}

AuthContext provides authentication data for API calls

func NewAuthContext

func NewAuthContext(accessToken string) *AuthContext

NewAuthContext creates a basic AuthContext with the given token

func (*AuthContext) GetCustomAuth

func (c *AuthContext) GetCustomAuth() (map[string]string, error)

GetCustomAuth retrieves custom authentication data

func (*AuthContext) GetExtra

func (c *AuthContext) GetExtra() (map[string]string, error)

GetExtra retrieves additional parameters from the auth context

func (*AuthContext) WithExtraParam

func (c *AuthContext) WithExtraParam(key, value string) *AuthContext

WithExtraParam adds a parameter to the context

func (*AuthContext) WithKey

func (c *AuthContext) WithKey(key string) *AuthContext

WithKey adds an API key to the context

func (*AuthContext) WithScopes

func (c *AuthContext) WithScopes(scopes []string) *AuthContext

WithScopes adds OAuth2 scopes to the context

func (*AuthContext) WithSecret

func (c *AuthContext) WithSecret(secret string) *AuthContext

WithSecret adds a secret to the context

func (*AuthContext) WithUsernamePassword

func (c *AuthContext) WithUsernamePassword(username, password string) *AuthContext

WithUsernamePassword adds basic auth credentials to the context

type BaseContext added in v0.11.0

type BaseContext interface {
	// Context returns the underlying Go context for the execution operation.
	Context() context.Context

	// Logger returns a structured logger for the execution.
	Logger() core.Logger

	// Input returns the validated input data for the trigger execution.
	Input() core.JSONObject

	// AuthContext provides authentication context for the trigger execution.
	AuthContext() (*AuthContext, error)

	// Auth provides authentication context for the trigger execution.
	Auth() *AuthContext
}

type DynamicFieldContext added in v0.11.0

type DynamicFieldContext interface {
	BaseContext

	// Respond sends a response containing the provided data and total count of items, adhering to dynamic options structure.
	// Returns a `DynamicOptionsResponse` object with items and metadata or an error if processing the response fails.
	Respond(data any, totalItems int) (*core.DynamicOptionsResponse, error)

	// RespondJSON creates a JSON response containing the provided data and total item count. Returns the JSON or an error.
	RespondJSON(data any, totalItems int) (core.JSON, error)

	// WorkflowID returns the unique identifier of the workflow.
	WorkflowID() xid.ID

	// WorkflowVersionID returns the unique identifier of the workflow version.
	WorkflowVersionID() xid.ID

	// FieldName returns the name of the current field within the workflow context.
	FieldName() string

	// OperationID returns the unique identifier of the current operation within the workflow context.
	OperationID() string

	// StepID returns the unique identifier of the step in the workflow.
	StepID() string

	// Filter returns filtering parameters for dynamic options, including offset, limit, and filter term.
	Filter() *core.DynamicOptionsFilterParams
}

DynamicFieldContext defines the interface for performing an action in a workflow. It provides methods for handling action execution, including input validation, authentication, output processing, and error handling.

type ExecuteContext

type ExecuteContext interface {
	BaseContext

	// WorkflowID returns the unique identifier of the workflow.
	WorkflowID() xid.ID

	// WorkflowVersionID returns the unique identifier of the workflow version.
	WorkflowVersionID() xid.ID

	// ProjectID returns the unique identifier of the project.
	ProjectID() xid.ID

	// TriggerID returns the unique identifier of the trigger being executed.
	TriggerID() string

	// RunID returns the unique identifier of the current workflow run.
	RunID() xid.ID

	// Logger returns a structured logger for the execution.
	Logger() core.Logger

	// Logger returns a structured logger for the execution.
	LastRun() *time.Time

	// SetInput updates the input data for the trigger execution.
	SetInput(input core.JSONObject) error

	// Environment returns the environment for the trigger execution.
	Environment() core.Environment

	// Validate validates the input against the trigger's schema.
	Validate() error

	// EmitEvent allows triggers to emit events during execution.
	EmitEvent(eventType string, payload core.JSON) error

	// SetOutput sets the output data from the trigger execution.
	SetOutput(output core.JSON) error

	// PauseExecution pauses the workflow execution, to be resumed later.
	PauseExecution(reason string) error

	// SetMetadata stores execution metadata for the workflow run.
	SetMetadata(key string, value interface{}) error

	// GetMetadata retrieves stored execution metadata.
	GetMetadata(key string) (interface{}, error)

	// ExecutionState returns the current state of the execution.
	ExecutionState() core.StepRunStatus

	// Schema returns the input schema for the trigger.
	Schema() *smartform.FormSchema

	// Cancel signals that the execution should be canceled.
	Cancel() error

	// IsCanceled checks if the execution has been canceled.
	IsCanceled() bool
}

ExecuteContext defines the interface for executing a trigger in a workflow. It provides methods for handling trigger execution, including input validation, authentication, and output processing.

type LifecycleContext

type LifecycleContext interface {
	// Context returns the underlying Go context for the lifecycle operation.
	Context() context.Context

	// WorkflowID returns the unique identifier of the workflow.
	WorkflowID() xid.ID

	// ProjectID returns the unique identifier of the project.
	ProjectID() xid.ID

	// TriggerID returns the unique identifier of the trigger being managed.
	TriggerID() string

	// Logger returns a structured logger for the trigger.
	Logger() core.Logger

	// Config returns the configuration for the trigger.
	Config() map[string]interface{}

	// Input returns the Input for the trigger.
	Input() map[string]interface{}

	// GetLastRunTime returns the timestamp of the last successful run.
	GetLastRunTime() (*time.Time, error)

	// SetLastRunTime updates the timestamp of the last successful run.
	SetLastRunTime(time.Time) error

	// GetState retrieves stored state for stateful triggers.
	GetState() (map[string]interface{}, error)

	// SetState stores state for stateful triggers.
	SetState(map[string]interface{}) error

	// TriggerCriteria returns the configured criteria for the trigger.
	TriggerCriteria() (*core.TriggerCriteria, error)

	// EmitEvent allows triggers to emit events that can be processed by the workflow runtime.
	EmitEvent(payload core.JSON) error

	// StoreMetadata allows triggers to store metadata about their execution.
	StoreMetadata(key string, value interface{}) error

	// GetMetadata retrieves stored metadata.
	GetMetadata(key string) (interface{}, error)

	// Cancel signals that the trigger should be canceled.
	Cancel() error

	// IsCanceled checks if the trigger has been canceled.
	IsCanceled() bool
}

LifecycleContext defines the interface for trigger lifecycle management. It provides methods for handling the setup, teardown, and lifecycle state of triggers within a workflow.

type PerformContext

type PerformContext interface {
	BaseContext

	// WorkflowID returns the unique identifier of the workflow.
	WorkflowID() xid.ID

	// WorkflowVersionID returns the unique identifier of the workflow version.
	WorkflowVersionID() xid.ID

	// ProjectID returns the unique identifier of the project.
	ProjectID() xid.ID

	// StepID returns the unique identifier of the step in the workflow.
	StepID() string

	// RunID returns the unique identifier of the current workflow run.
	RunID() xid.ID

	// StepRunID returns the unique identifier of the current step run.
	StepRunID() xid.ID

	// PreviousStepOutput returns the output from the previous step in the workflow.
	PreviousStepOutput() (core.JSONObject, error)

	// Validate validates the input against the action's schema.
	Validate() error

	// SetOutput sets the output data from the action.
	SetOutput(output core.JSON) error

	// PauseExecution pauses the workflow execution, to be resumed later.
	PauseExecution(reason string, resumeAfter *time.Time) error

	// SetMetadata stores execution metadata for the workflow run.
	SetMetadata(key string, value interface{}) error

	// GetMetadata retrieves stored execution metadata.
	GetMetadata(key string) (interface{}, error)

	// ExecutionState returns the current state of the execution.
	ExecutionState() core.StepRunStatus

	// Schema returns the input schema for the action.
	Schema() *smartform.FormSchema

	// Retry schedules the action to be retried after the specified duration.
	Retry(after time.Duration, reason string) error

	// MarkFailed marks the action as failed with a reason.
	MarkFailed(reason string) error

	// Cancel signals that the action should be canceled.
	Cancel() error

	// IsCanceled checks if the action has been canceled.
	IsCanceled() bool

	// WorkflowContextData returns the workflow context data for the current run.
	WorkflowContextData() (map[string]interface{}, error)

	// UpdateWorkflowContext updates the workflow context data.
	UpdateWorkflowContext(data map[string]interface{}) error
}

PerformContext defines the interface for performing an action in a workflow. It provides methods for handling action execution, including input validation, authentication, output processing, and error handling.

Jump to

Keyboard shortcuts

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