using DigitalData.EmailProfiler.Application.Common.Interfaces; using DigitalData.EmailProfiler.Infrastructure.Messaging; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; namespace DigitalData.EmailProfiler.Infrastructure; /// /// Dependency injection configuration for Infrastructure layer /// public static class DependencyInjection { /// /// Adds Infrastructure layer services to the DI container /// public static IServiceCollection AddInfrastructure( this IServiceCollection services, IConfiguration configuration) { // Register RabbitMQ configuration services.Configure( configuration.GetSection(RabbitMqConfiguration.SectionName)); // Register RabbitMQ command publisher services.AddSingleton(); // Register RabbitMQ command consumer as hosted service services.AddHostedService(); return services; } }