Documentation
¶
Index ¶
- type Repo
- func (r *Repo) Find(ctx context.Context, id uuid.UUID) (eh.Entity, error)
- func (r *Repo) FindAll(ctx context.Context) ([]eh.Entity, error)
- func (r *Repo) HandleEvent(ctx context.Context, event eh.Event) error
- func (r *Repo) HandlerType() eh.EventHandlerType
- func (r *Repo) Parent() eh.ReadRepo
- func (r *Repo) Remove(ctx context.Context, id uuid.UUID) error
- func (r *Repo) Save(ctx context.Context, entity eh.Entity) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Repo ¶
type Repo struct { eh.ReadWriteRepo // contains filtered or unexported fields }
Repo is a middleware that adds caching to a read repository. It will update the cache when it receives events affecting the cached items. The primary purpose is to use it with smaller collections accessed often. Note that there is no limit to the cache size.
func Repository ¶
Repository returns a parent ReadRepo if there is one.
func (*Repo) FindAll ¶
FindAll implements the FindAll method of the eventhorizon.ReadRepo interface.
func (*Repo) HandleEvent ¶ added in v0.8.3
HandleEvent implements the HandleEvent method of the eventhorizon.EventHandler interface. It will bust the cache for any updates to the relevant aggregate. The repo should be added with a eh.MatchAny or eh.MatchAggregate for best effect (depending on if the underlying repo is used for all or individual aggregate types).
func (*Repo) HandlerType ¶ added in v0.8.3
func (r *Repo) HandlerType() eh.EventHandlerType
HandlerType implements the HandlerType method of the eventhorizon.EventHandler interface.