zitadel/internal/v2/eventstore/event_store.go
Silvan 12be21a3ff
refactor(v2): init events (#7823)
creates events structures for initial projections and read models
2024-05-23 06:36:08 +02:00

46 lines
781 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
}
func (gp GlobalPosition) IsLess(other GlobalPosition) bool {
return gp.Position < other.Position || (gp.Position == other.Position && gp.InPositionOrder < other.InPositionOrder)
}
type Reducer interface {
Reduce(events ...*StorageEvent) error
}
type Reduce func(events ...*StorageEvent) error