eventstroredb

package
v0.0.0-...-dc7611c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2024 License: MIT Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ModuleFunc provided to fxlog
	// https://uber-go.github.io/fx/modules.html
	ModuleFunc = func(projectionBuilderConstructor interface{}) fx.Option {
		return fx.Module(
			"eventstoredbfx",
			fx.Provide(projectionBuilderConstructor),
			eventstoreProviders,
			eventstoreInvokes,
		)
	}
)

Functions

func NewEsdbSubscriptionCheckpointRepository

func NewEsdbSubscriptionCheckpointRepository(
	client *esdb.Client,
	logger logger.Logger,
	esdbSerializer *EsdbSerializer,
) contracts.SubscriptionCheckpointRepository

func NewEventStoreAggregateStore

func NewEventStoreAggregateStore[T models.IHaveEventSourcedAggregate](
	log logger.Logger,
	eventStore store.EventStore,
	serializer *EsdbSerializer,
	tracer trace.Tracer,
) store.AggregateStore[T]

func NewEventStoreDB

func NewEventStoreDB(cfg *config.EventStoreDbOptions) (*esdb.Client, error)

func NewEventStoreDbEventStore

func NewEventStoreDbEventStore(
	log logger.Logger,
	client *esdb.Client,
	serializer *EsdbSerializer,
	tracer trace.Tracer,
) store.EventStore

Types

type CheckpointStored

type CheckpointStored struct {
	Position       uint64
	SubscriptionId string
	CheckpointAt   time.Time
	*events.Event
}

type EsdbSerializer

type EsdbSerializer struct {
	// contains filtered or unexported fields
}

func NewEsdbSerializer

func NewEsdbSerializer(
	metadataSerializer serializer.MetadataSerializer,
	eventSerializer serializer.EventSerializer,
) *EsdbSerializer

func (*EsdbSerializer) Deserialize

func (e *EsdbSerializer) Deserialize(
	resolveEvent *esdb.ResolvedEvent,
) (interface{}, metadata.Metadata, error)

func (*EsdbSerializer) DomainEventToStreamEvent

func (e *EsdbSerializer) DomainEventToStreamEvent(
	domainEvent domain.IDomainEvent,
	meta metadata.Metadata,
	position int64,
) *models.StreamEvent

func (*EsdbSerializer) EsdbPositionToStreamReadPosition

func (e *EsdbSerializer) EsdbPositionToStreamReadPosition(
	position esdb.Position,
) readPosition.StreamReadPosition

func (*EsdbSerializer) EsdbReadStreamToResolvedEvents

func (e *EsdbSerializer) EsdbReadStreamToResolvedEvents(
	stream *esdb.ReadStream,
) ([]*esdb.ResolvedEvent, error)

func (*EsdbSerializer) EsdbWriteResultToAppendEventResult

func (e *EsdbSerializer) EsdbWriteResultToAppendEventResult(
	writeResult *esdb.WriteResult,
) *appendResult.AppendEventsResult

func (*EsdbSerializer) ExpectedStreamVersionToEsdbExpectedRevision

func (e *EsdbSerializer) ExpectedStreamVersionToEsdbExpectedRevision(
	expectedVersion expectedStreamVersion.ExpectedStreamVersion,
) esdb.ExpectedRevision

func (*EsdbSerializer) ResolvedEventToStreamEvent

func (e *EsdbSerializer) ResolvedEventToStreamEvent(
	resolveEvent *esdb.ResolvedEvent,
) (*models.StreamEvent, error)

func (*EsdbSerializer) ResolvedEventsToStreamEvents

func (e *EsdbSerializer) ResolvedEventsToStreamEvents(
	resolveEvents []*esdb.ResolvedEvent,
) ([]*models.StreamEvent, error)

func (*EsdbSerializer) Serialize

func (e *EsdbSerializer) Serialize(
	data interface{},
	meta metadata.Metadata,
) (*esdb.EventData, error)

func (*EsdbSerializer) StreamEventToEventData

func (e *EsdbSerializer) StreamEventToEventData(
	streamEvent *models.StreamEvent,
) (esdb.EventData, error)

func (*EsdbSerializer) StreamReadPositionToStreamPosition

func (e *EsdbSerializer) StreamReadPositionToStreamPosition(
	readPosition readPosition.StreamReadPosition,
) esdb.StreamPosition

func (*EsdbSerializer) StreamTruncatePositionToInt64

func (e *EsdbSerializer) StreamTruncatePositionToInt64(
	truncatePosition truncatePosition.StreamTruncatePosition,
) uint64

type EsdbSubscriptionAllWorker

type EsdbSubscriptionAllWorker interface {
	SubscribeAll(
		ctx context.Context,
		subscriptionOption *EventStoreDBSubscriptionToAllOptions,
	) error
}

func NewEsdbSubscriptionAllWorker

func NewEsdbSubscriptionAllWorker(
	log logger.Logger,
	db *esdb.Client,
	cfg *config.EventStoreDbOptions,
	esdbSerializer *EsdbSerializer,
	subscriptionRepository contracts.SubscriptionCheckpointRepository,
	projectionBuilderFunc ProjectionBuilderFuc,
) EsdbSubscriptionAllWorker

type EventStoreDBSubscriptionToAllOptions

type EventStoreDBSubscriptionToAllOptions struct {
	SubscriptionId              string
	FilterOptions               *esdb.SubscriptionFilter
	Credentials                 *esdb.Credentials
	ResolveLinkTos              bool
	IgnoreDeserializationErrors bool
	Prefix                      string
}

type ProjectionBuilderFuc

type ProjectionBuilderFuc func(builder ProjectionsBuilder)

type ProjectionsBuilder

type ProjectionsBuilder interface {
	AddProjection(projection projection.IProjection) ProjectionsBuilder
	AddProjections(projections []projection.IProjection) ProjectionsBuilder
	Build() *ProjectionsConfigurations
}

func NewProjectionsBuilder

func NewProjectionsBuilder() ProjectionsBuilder

type ProjectionsConfigurations

type ProjectionsConfigurations struct {
	Projections []projection.IProjection
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL