Documentation
¶
Index ¶
- type Event
- type EventHandler
- type EventStore
- type Mediator
- func (m *Mediator) ClearEvents(ctx context.Context, eventName string) error
- func (m *Mediator) GetEvents(ctx context.Context, eventName string, limit int64) ([]map[string]interface{}, error)
- func (m *Mediator) Publish(ctx context.Context, event Event) error
- func (m *Mediator) SetEventStore(store EventStore)
- func (m *Mediator) Subscribe(eventName string, handler EventHandler)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Event ¶
type Event struct {
Name string
Payload interface{}
}
Event represents a generic event in the system
type EventHandler ¶
EventHandler is a function type that handles events
type EventStore ¶
type EventStore interface {
// StoreEvent stores an event
StoreEvent(ctx context.Context, event Event) error
// GetEvents retrieves events by event name
GetEvents(ctx context.Context, eventName string, limit int64) ([]map[string]interface{}, error)
// ClearEvents removes all events for a given event name
ClearEvents(ctx context.Context, eventName string) error
}
EventStore defines the interface for event storage
type Mediator ¶
type Mediator struct {
// contains filtered or unexported fields
}
Mediator manages event subscriptions and publishing
func (*Mediator) ClearEvents ¶
ClearEvents removes all events for a given event name
func (*Mediator) GetEvents ¶
func (m *Mediator) GetEvents(ctx context.Context, eventName string, limit int64) ([]map[string]interface{}, error)
GetEvents retrieves events from the event store
func (*Mediator) Publish ¶
Publish sends an event to all registered handlers and stores it if event store is configured
func (*Mediator) SetEventStore ¶
func (m *Mediator) SetEventStore(store EventStore)
SetEventStore sets the event store for the mediator
func (*Mediator) Subscribe ¶
func (m *Mediator) Subscribe(eventName string, handler EventHandler)
Subscribe adds an event handler for a specific event type
Click to show internal directories.
Click to hide internal directories.