refactor(v2): init eventstore package (#7806)

* refactor(v2): init database package

* refactor(v2): init eventstore package

* add mock package

* test query constructors

* option based push analog to query
This commit is contained in:
Silvan
2024-04-26 17:05:21 +02:00
committed by GitHub
parent 2254434692
commit 5811a7b6a5
16 changed files with 5681 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
package eventstore
import (
"context"
)
func NewEventstore(querier Querier, pusher Pusher) *EventStore {
return &EventStore{
Pusher: pusher,
Querier: querier,
}
}
func NewEventstoreFromOne(o one) *EventStore {
return NewEventstore(o, o)
}
type EventStore struct {
Pusher
Querier
}
type one interface {
Pusher
Querier
}
type healthier interface {
Health(ctx context.Context) error
}
type GlobalPosition struct {
Position float64
InPositionOrder uint32
}
type Reducer interface {
Reduce(events ...*Event[StoragePayload]) error
}
type Reduce func(events ...*Event[StoragePayload]) error