events

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2025 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrHandlerAlreadyRegistered = errors.New("handler already registered")

Functions

This section is empty.

Types

type BaseEvent

type BaseEvent struct {
	ID            string
	Type          string
	AggregateID   string
	AggregateType string
	Timestamp     time.Time
	Version       int
	Data          interface{}
	Metadata      map[string]string
}

func (BaseEvent) GetAggregateID

func (e BaseEvent) GetAggregateID() string

func (BaseEvent) GetAggregateType

func (e BaseEvent) GetAggregateType() string

func (BaseEvent) GetData

func (e BaseEvent) GetData() interface{}

func (BaseEvent) GetID

func (e BaseEvent) GetID() string

func (BaseEvent) GetMetadata

func (e BaseEvent) GetMetadata() map[string]string

func (BaseEvent) GetTimestamp

func (e BaseEvent) GetTimestamp() time.Time

func (BaseEvent) GetType

func (e BaseEvent) GetType() string

func (BaseEvent) GetVersion

func (e BaseEvent) GetVersion() int

type DomainEventDispatcher

type DomainEventDispatcher struct {
	// contains filtered or unexported fields
}

func NewEventDispatcher

func NewEventDispatcher() *DomainEventDispatcher

NewEventDispatcher cria uma nova instância de DomainEventDispatcher

func (*DomainEventDispatcher) Clear

func (ed *DomainEventDispatcher) Clear()

Clear remove todos os handlers registrados

func (*DomainEventDispatcher) Dispatch

func (ed *DomainEventDispatcher) Dispatch(ctx context.Context, event Event) error

Dispatch despacha um evento para todos os handlers registrados

func (*DomainEventDispatcher) Has

func (ed *DomainEventDispatcher) Has(eventName string, handler EventHandler) bool

Has verifica se um handler está registrado para um evento específico

func (*DomainEventDispatcher) Register

func (ed *DomainEventDispatcher) Register(eventName string, handler EventHandler) error

Register registra um handler para um evento específico

func (*DomainEventDispatcher) Remove

func (ed *DomainEventDispatcher) Remove(eventName string, handler EventHandler) error

Remove um handler específico de um evento

type Event

type Event interface {
	GetID() string
	GetType() string
	GetAggregateID() string
	GetAggregateType() string
	GetTimestamp() time.Time
	GetVersion() int
	GetData() interface{}
	GetMetadata() map[string]string
}

type EventDispatcher

type EventDispatcher interface {
	Register(eventName string, handler EventHandler) error
	Dispatch(ctx context.Context, event Event) error
	Remove(eventName string, handler EventHandler) error
	Has(eventName string, handler EventHandler) bool
	Clear()
}

type EventHandler

type EventHandler interface {
	Handle(ctx context.Context, event Event, wg *sync.WaitGroup)
}

type MockEventHandler

type MockEventHandler struct {
	Called chan bool
}

MockEventHandler é uma implementação de EventHandler para testes

func NewMockEventHandler

func NewMockEventHandler() *MockEventHandler

NewMockEventHandler cria uma nova instância de MockEventHandler

func (*MockEventHandler) Handle

func (m *MockEventHandler) Handle(ctx context.Context, event Event, wg *sync.WaitGroup)

Handle define o método Handle do EventHandler para MockEventHandler

Jump to

Keyboard shortcuts

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