From 8cfa803cd3050271c19692214efd89da0cf642b7 Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 2 Nov 2026 15:23:32 +0100 Subject: [PATCH] Refactor DI and update namespace structure Removed `AddMessagingServiceApplication` method from `DependencyInjection` class, simplifying service configuration. Updated namespaces from `DigitalData.MessagingService.Infrastructure` to `DigitalData.MessagingService.Infrastructure.DependencyInjection` for better organization. Adjusted `Program.cs` to use a lambda for setting `LuckyPennySoftLicenseKey`. Updated `using` directives in `EmailSyncWorker.cs` and `Program.cs` to reflect these changes. --- .../DependencyInjection/DependencyInjection.cs | 9 --------- .../{ => DependencyInjection}/DependencyInjection.cs | 2 +- .../MessagingServiceInfrastructureConfiguration.cs | 2 +- .../Services/Background/EmailSyncWorker.cs | 2 +- .../DigitalData.MessagingService.API/Program.cs | 4 ++-- 5 files changed, 5 insertions(+), 14 deletions(-) rename src/infrastructure/DigitalData.MessagingService.Infrastructure/{ => DependencyInjection}/DependencyInjection.cs (98%) rename src/infrastructure/DigitalData.MessagingService.Infrastructure/{ => DependencyInjection}/MessagingServiceInfrastructureConfiguration.cs (96%) diff --git a/src/core/DigitalData.MessagingService.Application/DependencyInjection/DependencyInjection.cs b/src/core/DigitalData.MessagingService.Application/DependencyInjection/DependencyInjection.cs index ba20e18..000e580 100644 --- a/src/core/DigitalData.MessagingService.Application/DependencyInjection/DependencyInjection.cs +++ b/src/core/DigitalData.MessagingService.Application/DependencyInjection/DependencyInjection.cs @@ -38,14 +38,5 @@ public static class DependencyInjection return services; } - - public static IServiceCollection AddMessagingServiceApplication(this IServiceCollection services, IConfiguration configuration) - { - return services.AddMessagingServiceApplication(cfg => - { - cfg.SetLuckyPennySoftLicenseKey(configuration); - cfg.ConfigureEmailAccounts(configuration); - }); - } } #endif \ No newline at end of file diff --git a/src/infrastructure/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs b/src/infrastructure/DigitalData.MessagingService.Infrastructure/DependencyInjection/DependencyInjection.cs similarity index 98% rename from src/infrastructure/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs rename to src/infrastructure/DigitalData.MessagingService.Infrastructure/DependencyInjection/DependencyInjection.cs index f6b1f86..dfa6799 100644 --- a/src/infrastructure/DigitalData.MessagingService.Infrastructure/DependencyInjection.cs +++ b/src/infrastructure/DigitalData.MessagingService.Infrastructure/DependencyInjection/DependencyInjection.cs @@ -11,7 +11,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -namespace DigitalData.MessagingService.Infrastructure; +namespace DigitalData.MessagingService.Infrastructure.DependencyInjection; /// /// Dependency injection configuration for Infrastructure layer diff --git a/src/infrastructure/DigitalData.MessagingService.Infrastructure/MessagingServiceInfrastructureConfiguration.cs b/src/infrastructure/DigitalData.MessagingService.Infrastructure/DependencyInjection/MessagingServiceInfrastructureConfiguration.cs similarity index 96% rename from src/infrastructure/DigitalData.MessagingService.Infrastructure/MessagingServiceInfrastructureConfiguration.cs rename to src/infrastructure/DigitalData.MessagingService.Infrastructure/DependencyInjection/MessagingServiceInfrastructureConfiguration.cs index 0558aa6..73287d2 100644 --- a/src/infrastructure/DigitalData.MessagingService.Infrastructure/MessagingServiceInfrastructureConfiguration.cs +++ b/src/infrastructure/DigitalData.MessagingService.Infrastructure/DependencyInjection/MessagingServiceInfrastructureConfiguration.cs @@ -3,7 +3,7 @@ using DigitalData.MessagingService.RabbitMQ; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -namespace DigitalData.MessagingService.Infrastructure; +namespace DigitalData.MessagingService.Infrastructure.DependencyInjection; public class MessagingServiceInfrastructureConfiguration { diff --git a/src/infrastructure/DigitalData.MessagingService.Infrastructure/Services/Background/EmailSyncWorker.cs b/src/infrastructure/DigitalData.MessagingService.Infrastructure/Services/Background/EmailSyncWorker.cs index ffeac18..4756761 100644 --- a/src/infrastructure/DigitalData.MessagingService.Infrastructure/Services/Background/EmailSyncWorker.cs +++ b/src/infrastructure/DigitalData.MessagingService.Infrastructure/Services/Background/EmailSyncWorker.cs @@ -1,8 +1,8 @@ using DigitalData.MessagingService.Application.Common.Interfaces; using DigitalData.MessagingService.Application.Common.Interfaces.Repositories; -using DigitalData.MessagingService.Application.Common.Options; using DigitalData.MessagingService.Domain.Entities; using DigitalData.MessagingService.Domain.Enums; +using DigitalData.MessagingService.Infrastructure.Options; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; diff --git a/src/presentation/DigitalData.MessagingService.API/Program.cs b/src/presentation/DigitalData.MessagingService.API/Program.cs index 4d58332..eaa280b 100644 --- a/src/presentation/DigitalData.MessagingService.API/Program.cs +++ b/src/presentation/DigitalData.MessagingService.API/Program.cs @@ -1,6 +1,6 @@ using DigitalData.MessagingService.API.Middleware; using DigitalData.MessagingService.Application.DependencyInjection; -using DigitalData.MessagingService.Infrastructure; +using DigitalData.MessagingService.Infrastructure.DependencyInjection; using DigitalData.MessagingService.Infrastructure.Services.Background; using HealthChecks.UI.Client; using Microsoft.AspNetCore.Diagnostics.HealthChecks; @@ -65,7 +65,7 @@ try builder.Configuration.AddJsonFile("appsettings.Secrets.json", optional: true, reloadOnChange: true); // Register Application layer (MediatR, AutoMapper, FluentValidation) - builder.Services.AddMessagingServiceApplication(builder.Configuration); + builder.Services.AddMessagingServiceApplication(cfg => cfg.SetLuckyPennySoftLicenseKey(builder.Configuration)); // Register Infrastructure layer (RabbitMQ, Repositories, etc.) builder.Services.AddInfrastructure(cfg => cfg