Simplify Publisher DI by removing Configuration wrapper class

This commit is contained in:
2026-07-28 14:33:41 +02:00
parent a38e8f9680
commit e8359abafd

View File

@@ -7,32 +7,14 @@ namespace DigitalData.MessagingService.Publisher;
public static class DependencyInjection
{
public static IServiceCollection AddMessagingServicePublisher(this IServiceCollection services, Action<Configuration>? configure = null)
public static IServiceCollection AddMessagingServicePublisher(this IServiceCollection services, Action<RabbitMqConfiguration>? configure = null)
{
if(configure is not null)
{
var configuration = new Configuration(services);
configure(configuration);
}
services.AddRabbitMqConnectionFactory(configure);
// --- Email Queue (RabbitMQ) ---
services.AddSingleton<IOutgoingEmailPublisher, OutgoingEmailPublisher>();
return services;
}
public class Configuration
{
private readonly IServiceCollection _services;
internal Configuration(IServiceCollection services)
{
_services = services;
}
public Configuration AddRabbitMqConnectionFactory(IConfiguration configuration)
{
_services.AddRabbitMqConnectionFactory(configuration);
return this;
}
}
}