Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrModelNotSet = errors.New("model not set")
ErrModelNotSet is when a model factory is not set on the EventHandler.
Functions ¶
This section is empty.
Types ¶
type Error ¶
type Error struct {
// Err is the error.
Err error
// BaseErr is an optional underlying error, for example from the DB driver.
BaseErr error
// Namespace is the namespace for the error.
Namespace string
}
Error is an error in the projector, with the namespace.
type EventHandler ¶
type EventHandler struct {
// contains filtered or unexported fields
}
EventHandler is a CQRS projection handler to run a Projector implementation.
func NewEventHandler ¶
func NewEventHandler(projector Projector, repo eh.ReadWriteRepo, options ...Option) *EventHandler
NewEventHandler creates a new EventHandler.
func (*EventHandler) HandleEvent ¶
HandleEvent implements the HandleEvent method of the eventhorizon.EventHandler interface. It will try to find the correct version of the model, waiting for it the projector has the WithWait option set.
func (*EventHandler) HandlerType ¶ added in v0.4.0
func (h *EventHandler) HandlerType() eh.EventHandlerType
HandlerType implements the HandlerType method of the eventhorizon.EventHandler interface.
func (*EventHandler) SetEntityFactory ¶
func (h *EventHandler) SetEntityFactory(f func() eh.Entity)
SetEntityFactory sets a factory function that creates concrete entity types.
type Option ¶ added in v0.8.0
type Option func(*EventHandler)
Option is an option setter used to configure creation.
type Projector ¶
type Projector interface {
// Project projects an event onto a model and returns the updated model or
// an error.
Project(context.Context, eh.Event, eh.Entity) (eh.Entity, error)
// ProjectorType returns the type of the projector.
ProjectorType() Type
}
Projector is a projector of events onto models.