public ChangeFeedSubscriber( CosmosClient client, IMediator mediator, IEncryptObjects encryptor, IOptions <ChangeFeedSubscriberOptions> config, ILogger <ChangeFeedSubscriber> logger) { _mediator = mediator; _encryptor = encryptor; _logger = logger; var container = client.GetContainer(config.Value.DatabaseName, config.Value.DataContainerName); _processor = container.GetChangeFeedProcessorBuilder <CosmosEventStoreEntity>("EventStoreProcessor", OnChange) .WithInstanceName($"PaymentGateway_{Guid.NewGuid()}") .WithLeaseContainer(client.GetContainer(config.Value.DatabaseName, config.Value.LeaseContainerName)) .WithStartTime(DateTime.MinValue.ToUniversalTime()) .Build(); }
public CosmosEventStore(CosmosClient client, IEncryptObjects encryptor, IOptions <CosmosEventStoreOptions> options, ILogger <CosmosEventStore> logger) { _container = client.GetContainer(options.Value.DatabaseName, options.Value.ContainerName); _encryptor = encryptor; _logger = logger; }