From 01361a3efef50b444f515e33a1299503d49675b1 Mon Sep 17 00:00:00 2001 From: XShine555 Date: Mon, 30 Mar 2026 15:55:44 +0200 Subject: [PATCH] Missing configuration DI --- Application/Application.csproj | 2 +- .../ConfigurationDependencyInjection.cs | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 Application/Configuration/ConfigurationDependencyInjection.cs diff --git a/Application/Application.csproj b/Application/Application.csproj index e1d9a0d..ac3e192 100644 --- a/Application/Application.csproj +++ b/Application/Application.csproj @@ -6,7 +6,7 @@ enable Musify.Application Musify.Application - 0.1.0 + 0.1.1 NotS1mp https://github.com/XShine555/MusifyBackend diff --git a/Application/Configuration/ConfigurationDependencyInjection.cs b/Application/Configuration/ConfigurationDependencyInjection.cs new file mode 100644 index 0000000..c7e2504 --- /dev/null +++ b/Application/Configuration/ConfigurationDependencyInjection.cs @@ -0,0 +1,45 @@ +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Options; + +namespace Musify.Application.Configuration +{ + public static class ConfigurationDependencyInjection + { + public static IServiceCollection AddApplicationStorageConfiguration(this IServiceCollection serviceDescriptors, IConfiguration configuration) + { + serviceDescriptors + .AddOptionsWithValidateOnStart() + .Bind(configuration.GetRequiredSection(ApplicationStorageConfiguration.SectionName)) + .ValidateDataAnnotations(); + serviceDescriptors.AddSingleton(serviceProvider => + serviceProvider.GetRequiredService>().Value); + + return serviceDescriptors; + } + + public static IServiceCollection AddPlayListConfiguration(this IServiceCollection serviceDescriptors, IConfiguration configuration) + { + serviceDescriptors + .AddOptionsWithValidateOnStart() + .Bind(configuration.GetRequiredSection(PlayListConfiguration.SectionName)) + .ValidateDataAnnotations(); + serviceDescriptors.AddSingleton(serviceProvider => + serviceProvider.GetRequiredService>().Value); + + return serviceDescriptors; + } + + public static IServiceCollection AddTrackConfiguration(this IServiceCollection serviceDescriptors, IConfiguration configuration) + { + serviceDescriptors + .AddOptionsWithValidateOnStart() + .Bind(configuration.GetRequiredSection(TrackConfiguration.SectionName)) + .ValidateDataAnnotations(); + serviceDescriptors.AddSingleton(serviceProvider => + serviceProvider.GetRequiredService>().Value); + + return serviceDescriptors; + } + } +} \ No newline at end of file