public static IBrighterBuilder UseDynamoDbOutbox( this IBrighterBuilder brighterBuilder, IAmazonDynamoDB connection, DynamoDbConfiguration configuration, ServiceLifetime serviceLifetime = ServiceLifetime.Singleton) { brighterBuilder.Services.AddSingleton <DynamoDbConfiguration>(configuration); brighterBuilder.Services.AddSingleton <IAmazonDynamoDB>(connection); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutboxSync <Message>), BuildDynamoDbOutbox, serviceLifetime)); brighterBuilder.Services.Add(new ServiceDescriptor(typeof(IAmAnOutboxAsync <Message>), BuildDynamoDbOutbox, serviceLifetime)); return(brighterBuilder); }
/// <summary> /// Initialises a new instance of the <see cref="DynamoDbOutbox"/> class. /// </summary> /// <param name="client">The DynamoDBContext</param> /// <param name="configuration">The DynamoDB Operation Configuration</param> public DynamoDbOutbox(IAmazonDynamoDB client, DynamoDbConfiguration configuration) { _configuration = configuration; _context = new DynamoDBContext(client); }