Table of Contents

Class EventStore

Namespace
Cratis.Chronicle
Assembly
Cratis.Chronicle.dll

Represents an implementation of IEventStore.

public class EventStore : IEventStore
Inheritance
EventStore
Implements
Inherited Members

Constructors

EventStore(EventStoreName, EventStoreNamespaceName, IChronicleConnection, IClientArtifactsProvider, IEventTypeMigrators, ICorrelationIdAccessor, IConcurrencyScopeStrategies, ICausationManager, IIdentityProvider, IJsonSchemaGenerator, INamingPolicy, IServiceProvider, IClientArtifactsActivator, bool, JsonSerializerOptions, bool, ILoggerFactory)

Initializes a new instance of the EventStore class.

public EventStore(EventStoreName eventStoreName, EventStoreNamespaceName @namespace, IChronicleConnection connection, IClientArtifactsProvider clientArtifactsProvider, IEventTypeMigrators eventTypeMigrators, ICorrelationIdAccessor correlationIdAccessor, IConcurrencyScopeStrategies concurrencyScopeStrategies, ICausationManager causationManager, IIdentityProvider identityProvider, IJsonSchemaGenerator schemaGenerator, INamingPolicy namingPolicy, IServiceProvider serviceProvider, IClientArtifactsActivator artifactActivator, bool autoDiscoverAndRegister, JsonSerializerOptions jsonSerializerOptions, bool enableEventTypeGenerationValidation, ILoggerFactory loggerFactory)

Parameters

eventStoreName EventStoreName

Name of the event store.

namespace EventStoreNamespaceName

Namespace for the event store.

connection IChronicleConnection

Cratis.Chronicle.Connections.IChronicleConnection for working with the connection to Chronicle.

clientArtifactsProvider IClientArtifactsProvider

IClientArtifactsProvider for getting client artifacts.

eventTypeMigrators IEventTypeMigrators

IEventTypeMigrators for getting event type migrators.

correlationIdAccessor ICorrelationIdAccessor

ICorrelationIdAccessor for getting correlation.

concurrencyScopeStrategies IConcurrencyScopeStrategies

IConcurrencyScopeStrategies for managing concurrency scopes.

causationManager ICausationManager

ICausationManager for getting causation.

identityProvider IIdentityProvider

IIdentityProvider for resolving identity for operations.

schemaGenerator IJsonSchemaGenerator

IJsonSchemaGenerator for generating JSON schemas.

namingPolicy INamingPolicy

INamingPolicy to use for converting names during serialization.

serviceProvider IServiceProvider

IServiceProvider for getting instances of services.

artifactActivator IClientArtifactsActivator

IClientArtifactsActivator for creating artifact instances.

autoDiscoverAndRegister bool

Whether to automatically discover and register artifacts.

jsonSerializerOptions JsonSerializerOptions

JsonSerializerOptions for serialization.

enableEventTypeGenerationValidation bool

Whether to enable event type generation chain validation. Defaults to false.

loggerFactory ILoggerFactory

ILoggerFactory for creating loggers.

Properties

Connection

Gets the Cratis.Chronicle.Connections.IChronicleConnection used for the IEventStore.

public IChronicleConnection Connection { get; }

Property Value

IChronicleConnection

Constraints

Gets the IConstraints for the event store.

public IConstraints Constraints { get; }

Property Value

IConstraints

EventLog

Gets the IEventLog event sequence.

public IEventLog EventLog { get; }

Property Value

IEventLog

EventTypes

Gets the IEventTypes for the event store.

public IEventTypes EventTypes { get; }

Property Value

IEventTypes

FailedPartitions

Gets the IFailedPartitions for the event store.

public IFailedPartitions FailedPartitions { get; }

Property Value

IFailedPartitions

Jobs

Gets the IJobs for the event store.

public IJobs Jobs { get; }

Property Value

IJobs

Name

Gets the Name for the event store.

public EventStoreName Name { get; }

Property Value

EventStoreName

Namespace

Gets the namespace for the event store.

public EventStoreNamespaceName Namespace { get; }

Property Value

EventStoreNamespaceName

Projections

Gets the IProjections for the event store.

public IProjections Projections { get; }

Property Value

IProjections

Reactors

Gets the IReactors for the event store.

public IReactors Reactors { get; }

Property Value

IReactors

ReadModels

Gets the IReadModels for the event store.

public IReadModels ReadModels { get; }

Property Value

IReadModels

Reducers

Gets the IReducers for the event store.

public IReducers Reducers { get; }

Property Value

IReducers

Seeding

Gets the IEventSeeding for the event store.

public IEventSeeding Seeding { get; }

Property Value

IEventSeeding

Subscriptions

Gets the IEventStoreSubscriptions for the event store.

public IEventStoreSubscriptions Subscriptions { get; }

Property Value

IEventStoreSubscriptions

UnitOfWorkManager

Gets the IClientArtifactsProvider for the event store.

public IUnitOfWorkManager UnitOfWorkManager { get; }

Property Value

IUnitOfWorkManager

Webhooks

Gets the IWebhooks for the event store.

public IWebhooks Webhooks { get; }

Property Value

IWebhooks

Methods

DiscoverAll()

Discover all artifacts for the event store.

public Task DiscoverAll()

Returns

Task

Awaitable task.

GetEventSequence(EventSequenceId)

Get an event sequence by id.

public IEventSequence GetEventSequence(EventSequenceId id)

Parameters

id EventSequenceId

The identifier of the event sequence to get.

Returns

IEventSequence

IEventSequence instance.

GetNamespaces(CancellationToken)

List namespaces in the event store.

public Task<IEnumerable<EventStoreNamespaceName>> GetNamespaces(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Optional CancellationToken.

Returns

Task<IEnumerable<EventStoreNamespaceName>>

An asynchronous enumerable for all namespace names.

RegisterAll()

Register all artifacts for the event store.

public Task RegisterAll()

Returns

Task

Awaitable task.