Documentation
¶
Index ¶
- Variables
- func NewULID() string
- type Aggregate
- type AggregatorMock
- type BaseEvent
- type Event
- type EventOnSave
- type EventOnSaveWithContext
- type Record
- type Repository
- type RepositoryMock
- func (r RepositoryMock) Load(id string, aggr Aggregate) (deleted bool, err error)
- func (r RepositoryMock) LoadWithContext(ctx context.Context, id string, aggr Aggregate) (deleted bool, err error)
- func (r RepositoryMock) Save(events ...Event) (err error)
- func (r RepositoryMock) SaveWithContext(ctx context.Context, events ...Event) (err error)
- type Serializer
- type SerializerMock
- type Store
- type StoreMock
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrDeleted = errors.New("Not found (was deleted)") ErrNoHistory = errors.New("No history found") )
Functions ¶
Types ¶
type AggregatorMock ¶
AggregatorMock is a mock
func CreateAggregatorMock ¶
func CreateAggregatorMock() *AggregatorMock
CreateAggregatorMock returns a aggregatorMock
func (AggregatorMock) On ¶
func (o AggregatorMock) On(ctx context.Context, event Event) error
On is a mock
func (AggregatorMock) SetAggregateID ¶
func (o AggregatorMock) SetAggregateID(id string)
SetAggregateID is not implemented
type EventOnSave ¶
type EventOnSaveWithContext ¶
type Record ¶
type Record struct {
AggregateID string `json:"aggregateId"`
SequenceID string `json:"sequenceId"`
Timestamp int64 `json:"timestamp"`
Type string `json:"type"`
Data []byte `json:"data"`
UserID string `json:"userId"`
}
Record is a store row
type Repository ¶
type Repository interface {
Save(events ...Event) (err error)
SaveWithContext(ctx context.Context, events ...Event) (err error)
Load(id string, aggr Aggregate) (deleted bool, err error)
LoadWithContext(ctx context.Context, id string, aggr Aggregate) (deleted bool, err error)
}
Repository is a interface
func NewRepository ¶
func NewRepository(store Store, serializer Serializer) Repository
NewRepository returns a new repository
type RepositoryMock ¶
RepositoryMock is a mock
func CreateRepositoryMock ¶
func CreateRepositoryMock() *RepositoryMock
CreateRepositoryMock returns a repositoryMock
func (RepositoryMock) Load ¶
func (r RepositoryMock) Load(id string, aggr Aggregate) (deleted bool, err error)
Load is a mock
func (RepositoryMock) LoadWithContext ¶
func (r RepositoryMock) LoadWithContext(ctx context.Context, id string, aggr Aggregate) (deleted bool, err error)
LoadWithContext is a mock
func (RepositoryMock) Save ¶
func (r RepositoryMock) Save(events ...Event) (err error)
Save is a mock
func (RepositoryMock) SaveWithContext ¶
func (r RepositoryMock) SaveWithContext(ctx context.Context, events ...Event) (err error)
SaveWithContext is a mock
type Serializer ¶
type Serializer interface {
Unmarshal(data []byte, eventType string) (event Event, err error)
Marshal(event Event) (data []byte, err error)
}
Serializer is a interface
type SerializerMock ¶
SerializerMock is a mock
func CreateSerializerMock ¶
func CreateSerializerMock() *SerializerMock
CreateSerializerMock returns a serializerMock
type Store ¶
type Store interface {
Save(records ...Record) error
SaveWithContext(ctx context.Context, records ...Record) error
Load(id string) (record []Record, err error)
LoadWithContext(ctx context.Context, id string) (record []Record, err error)
}
Store is a interface
Click to show internal directories.
Click to hide internal directories.