Documentation
¶
Index ¶
- Constants
- Variables
- type Config
- type EventPattern
- type EventTrigger
- func (t *EventTrigger) ExtractEventParams(evt *models.IngestedEvent) map[string]string
- func (t *EventTrigger) Fire(ctx context.Context) error
- func (t *EventTrigger) FireWithParams(ctx context.Context, params map[string]string) ([]FireOutcome, error)
- func (t *EventTrigger) ID() uuid.UUID
- func (t *EventTrigger) Listen(ctx context.Context)
- func (t *EventTrigger) Matches(evt *models.IngestedEvent) bool
- func (t *EventTrigger) Patterns() []EventPattern
- type FireOutcome
- type Option
- type RouteResult
- type Router
- func (r *Router) Reload(ctx context.Context) error
- func (r *Router) Route(ctx context.Context, evt *models.IngestedEvent) (*RouteResult, error)
- func (r *Router) RunLifecycleBridge(ctx context.Context, events <-chan eventstore.Event) error
- func (r *Router) StartLifecycleBridge(ctx context.Context, bus eventstore.Bus) error
- func (r *Router) SubscribeLifecycleBridge(ctx context.Context, bus eventstore.Bus) (<-chan eventstore.Event, error)
- type RouterOption
- type TriggerRouteResult
Constants ¶
View Source
const (
TriggerDepthParam = "_trigger_depth"
)
Variables ¶
View Source
var ErrTriggerChainDepthExceeded = errors.New("trigger chain depth exceeded")
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Events []EventPattern `json:"events,omitempty"`
ParamMapping map[string]string `json:"paramMapping,omitempty"`
DefaultParams map[string]string `json:"defaultParams,omitempty"`
}
type EventPattern ¶
type EventPattern struct {
Type string `json:"type"`
Source string `json:"source,omitempty"`
Filter map[string]string `json:"filter,omitempty"`
}
func (EventPattern) Matches ¶
func (p EventPattern) Matches(evt *models.IngestedEvent) bool
type EventTrigger ¶
type EventTrigger struct {
// contains filtered or unexported fields
}
func (*EventTrigger) ExtractEventParams ¶
func (t *EventTrigger) ExtractEventParams(evt *models.IngestedEvent) map[string]string
func (*EventTrigger) FireWithParams ¶
func (t *EventTrigger) FireWithParams(ctx context.Context, params map[string]string) ([]FireOutcome, error)
func (*EventTrigger) ID ¶
func (t *EventTrigger) ID() uuid.UUID
func (*EventTrigger) Listen ¶
func (t *EventTrigger) Listen(ctx context.Context)
func (*EventTrigger) Matches ¶
func (t *EventTrigger) Matches(evt *models.IngestedEvent) bool
func (*EventTrigger) Patterns ¶
func (t *EventTrigger) Patterns() []EventPattern
type FireOutcome ¶
type Option ¶
type Option func(*EventTrigger)
func WithMaxTriggerDepth ¶
func WithRunJob ¶
func WithRunStoreFactory ¶
func WithRunStoreFactory(fn func() *runstorage.Store) Option
type RouteResult ¶
type RouteResult struct {
EventID uuid.UUID `json:"event_id"`
EventType string `json:"event_type"`
Source string `json:"source,omitempty"`
MatchedTriggers []TriggerRouteResult `json:"matched_triggers"`
}
type Router ¶
type Router struct {
// contains filtered or unexported fields
}
func ConfigureDefaultRouter ¶
func DefaultRouter ¶
func DefaultRouter() *Router
func (*Router) Route ¶
func (r *Router) Route(ctx context.Context, evt *models.IngestedEvent) (*RouteResult, error)
func (*Router) RunLifecycleBridge ¶
func (*Router) StartLifecycleBridge ¶
func (*Router) SubscribeLifecycleBridge ¶
func (r *Router) SubscribeLifecycleBridge(ctx context.Context, bus eventstore.Bus) (<-chan eventstore.Event, error)
type RouterOption ¶
type RouterOption func(*Router)
func WithEventTriggerOptions ¶
func WithEventTriggerOptions(opts ...Option) RouterOption
func WithTriggerLister ¶
Click to show internal directories.
Click to hide internal directories.