From 12aa104d80cc14bf69d0b58d4d472aa448215e82 Mon Sep 17 00:00:00 2001 From: XShine555 Date: Sun, 29 Mar 2026 18:59:50 +0200 Subject: [PATCH] Fix and missing service --- .../MassTransitDependencyInjection.cs | 38 ++++++++++++++----- .../DatabaseDependencyInjection.cs | 6 +++ 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.cs b/Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.cs index ef8d41b..059b1c4 100644 --- a/Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.cs +++ b/Infrastructure/MassTransit/DependencyInjection/MassTransitDependencyInjection.cs @@ -1,25 +1,35 @@ using MassTransit; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; +using Musify.Application.Contracts.Infrastructure; using Musify.Infrastructure.Configuration; -using Musify.Infrastructure.MassTransit.Activities.Audio; -using Musify.Infrastructure.MassTransit.Arguments; -using Musify.Infrastructure.MassTransit.Consumers; -using Musify.Infrastructure.MassTransit.Logs; using Musify.Infrastructure.MassTransit.Activities; using Musify.Infrastructure.MassTransit.Activities.Arguments; -using Musify.Infrastructure.MassTransit.Activities.Logs; -using Musify.Infrastructure.MassTransit.Filters; -using Musify.Infrastructure.MassTransit.RoutingSlip.Builders; +using Musify.Infrastructure.MassTransit.Activities.Audio; using Musify.Infrastructure.MassTransit.Activities.Files; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Options; +using Musify.Infrastructure.MassTransit.Activities.Logs; +using Musify.Infrastructure.MassTransit.Arguments; +using Musify.Infrastructure.MassTransit.Consumers; +using Musify.Infrastructure.MassTransit.Filters; +using Musify.Infrastructure.MassTransit.Logs; +using Musify.Infrastructure.MassTransit.RoutingSlip.Builders; namespace Musify.Infrastructure.MassTransit { public static class MassTransitDependencyInjection { - public static IServiceCollection AddMassTransitClient(this IServiceCollection serviceDescriptors) + public static IServiceCollection AddMassTransitClient(this IServiceCollection serviceDescriptors, IConfiguration configuration) { + serviceDescriptors + .AddOptionsWithValidateOnStart() + .Bind(configuration.GetRequiredSection(MassTransitConfiguration.SectionName)) + .ValidateDataAnnotations(); + + serviceDescriptors.AddSingleton(serviceProvider => + serviceProvider.GetRequiredService>().Value); + + serviceDescriptors.AddScoped(); serviceDescriptors.AddMassTransit(options => { options.UsingRabbitMq((busRegistrationContext, busFactoryConfigurator) => @@ -33,6 +43,14 @@ namespace Musify.Infrastructure.MassTransit public static IServiceCollection AddMassTransitConsumers(this IServiceCollection serviceDescriptors, IConfiguration configuration) { + serviceDescriptors + .AddOptionsWithValidateOnStart() + .Bind(configuration.GetRequiredSection(MassTransitConfiguration.SectionName)) + .ValidateDataAnnotations(); + + serviceDescriptors.AddSingleton(serviceProvider => + serviceProvider.GetRequiredService>().Value); + serviceDescriptors .AddOptionsWithValidateOnStart() .Bind(configuration.GetRequiredSection(WorkerConfiguration.SectionName)) diff --git a/Infrastructure/Persistence/DatabaseDependencyInjection.cs b/Infrastructure/Persistence/DatabaseDependencyInjection.cs index 0a3f01c..ac1af6e 100644 --- a/Infrastructure/Persistence/DatabaseDependencyInjection.cs +++ b/Infrastructure/Persistence/DatabaseDependencyInjection.cs @@ -23,5 +23,11 @@ namespace Musify.Infrastructure.Persistence return serviceDescriptors; } + + public static IServiceCollection AddProcessTrackingStore(this IServiceCollection serviceDescriptors) + { + serviceDescriptors.AddScoped(); + return serviceDescriptors; + } } } \ No newline at end of file