diff --git a/src/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs b/src/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs index a3ee67a..d5f1a6a 100644 --- a/src/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs +++ b/src/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs @@ -34,11 +34,9 @@ public static class DependencyInjection // --- Email Queue (RabbitMQ) --- services.AddSingleton(); services.AddSingleton(); - services.AddSingleton(); // --- RabbitMQ Configuration --- - services.Configure( - configuration.GetSection(RabbitMqConfiguration.SectionName)); + services.AddRabbitMqConnectionFactory(configuration); // --- Data Protection (for encryption) --- services.AddDataProtection() diff --git a/src/DigitalData.MessagingService.RabbitMQ/DependencyInjection.cs b/src/DigitalData.MessagingService.RabbitMQ/DependencyInjection.cs new file mode 100644 index 0000000..45514f4 --- /dev/null +++ b/src/DigitalData.MessagingService.RabbitMQ/DependencyInjection.cs @@ -0,0 +1,28 @@ +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; + +namespace DigitalData.MessagingService.RabbitMQ +{ + /// + /// Dependency injection configuration for Infrastructure layer + /// + public static class DependencyInjection + { + /// + /// Adds Infrastructure layer services to the DI container + /// + public static IServiceCollection AddRabbitMqConnectionFactory( + this IServiceCollection services, + IConfiguration configuration) + { + services.AddSingleton(); + + // --- RabbitMQ Configuration --- + services.Configure( + configuration.GetSection(RabbitMqConfiguration.SectionName)); + + return services; + } + } + +} \ No newline at end of file