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();
        }
Esempio n. 2
0
 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;
 }