zitadel/internal/v2/eventstore/event_store.go
Silvan 5811a7b6a5
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
2024-04-26 15:05:21 +00:00

42 lines
617 B
Go

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