diff --git a/src/DigitalData.MessagingService.Application/Common/Interfaces/IOutgoingEmailConsumer.cs b/src/DigitalData.MessagingService.Application/Common/Interfaces/IOutgoingEmailConsumer.cs
deleted file mode 100644
index 227df77..0000000
--- a/src/DigitalData.MessagingService.Application/Common/Interfaces/IOutgoingEmailConsumer.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace DigitalData.MessagingService.Application.Common.Interfaces;
-
-///
-/// Email queue interface for outgoing emails.
-///
-public interface IOutgoingEmailConsumer
-{
-}
diff --git a/src/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs b/src/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs
index e421110..374f69c 100644
--- a/src/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs
+++ b/src/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs
@@ -32,7 +32,7 @@ public static class DependencyInjection
services.AddSingleton();
// --- Email Queue (RabbitMQ) ---
- services.AddSingleton();
+ services.AddSingleton();
services.AddSingleton();
services.AddSingleton();
diff --git a/src/DigitalData.MessagingService.Infrastructure/Queue/OutgoingEmailConsumer.cs b/src/DigitalData.MessagingService.Infrastructure/Queue/OutgoingEmailConsumer.cs
index 918f74e..7258f63 100644
--- a/src/DigitalData.MessagingService.Infrastructure/Queue/OutgoingEmailConsumer.cs
+++ b/src/DigitalData.MessagingService.Infrastructure/Queue/OutgoingEmailConsumer.cs
@@ -15,7 +15,7 @@ namespace DigitalData.MessagingService.Infrastructure.Queue;
/// Provides message persistence, scalability, and reliability.
/// Uses Lazy initialization pattern to avoid blocking constructor.
///
-public sealed class OutgoingEmailConsumer(IOptions config, ILogger Logger, IEmailService EmailService, RabbitMqConnectionFactory CnnFactory) : IOutgoingEmailConsumer, IAsyncDisposable
+public sealed class OutgoingEmailConsumer(IOptions config, ILogger Logger, IEmailService EmailService, RabbitMqConnectionFactory CnnFactory) : IAsyncDisposable
{
private readonly RabbitMqConfiguration _config = config.Value;
private IChannel? _consumeChannel = null; // Dedicated channel for consuming
diff --git a/src/DigitalData.MessagingService.Infrastructure/Services/Background/AsyncInitWorker.cs b/src/DigitalData.MessagingService.Infrastructure/Services/Background/AsyncInitWorker.cs
index 276e7fd..5be68d5 100644
--- a/src/DigitalData.MessagingService.Infrastructure/Services/Background/AsyncInitWorker.cs
+++ b/src/DigitalData.MessagingService.Infrastructure/Services/Background/AsyncInitWorker.cs
@@ -10,7 +10,7 @@ namespace DigitalData.MessagingService.Infrastructure.Services.Background;
/// Leverages a push-based, event-driven RabbitMQ consumer to eliminate polling overhead.
/// Email account configuration is resolved exclusively from application settings; no database access is performed.
///
-public class AsyncInitWorker(IOutgoingEmailConsumer EmailConsumer, IOutgoingEmailPublisher EmailPublisher, RabbitMqConnectionFactory CnnFactory) : BackgroundService
+public class AsyncInitWorker(OutgoingEmailConsumer EmailConsumer, IOutgoingEmailPublisher EmailPublisher, RabbitMqConnectionFactory CnnFactory) : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
@@ -18,10 +18,9 @@ public class AsyncInitWorker(IOutgoingEmailConsumer EmailConsumer, IOutgoingEmai
// message processing is handled asynchronously via registered event callbacks.
await CnnFactory.InitAsync(stoppingToken);
- if (EmailConsumer is OutgoingEmailConsumer outgoingEmailConsumer)
- await outgoingEmailConsumer.InitAsync();
+ await EmailConsumer.InitAsync();
- if (EmailPublisher is OutgoingEmailPublisher outgoingEmailPublisher)
- await outgoingEmailPublisher.InitAsync();
+ if (EmailPublisher is OutgoingEmailPublisher emailPublisher)
+ await emailPublisher.InitAsync();
}
}
\ No newline at end of file