From 82aa8d11432ac4a4102e2e9a019be3fff8c38189 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Fri, 13 Dec 2024 14:00:43 +0100 Subject: [PATCH] =?UTF-8?q?refactor(DIExtensions):=20Alle=20TryAddSingelto?= =?UTF-8?q?n=20wurden=20in=20AddSingelton=20umgewandelt,=20um=20im=20Falle?= =?UTF-8?q?=20einer=20falschen=20Ausnahme=20den=20Fehler=20zu=20protokolli?= =?UTF-8?q?eren.=20=20-=20SetAsDefault-Parameter=20hinzugef=C3=BCgt,=20um?= =?UTF-8?q?=20nicht-generische=20IRSAFactory=20im=20Falle=20einer=20Konfig?= =?UTF-8?q?uration=20=C3=BCber=20appsettings=20registrieren=20zu=20k=C3=B6?= =?UTF-8?q?nnen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DigitalData.Core.Security/DIExtensions.cs | 41 +++++++++-------------- 1 file changed, 16 insertions(+), 25 deletions(-) diff --git a/DigitalData.Core.Security/DIExtensions.cs b/DigitalData.Core.Security/DIExtensions.cs index bc7688b..b9a32dc 100644 --- a/DigitalData.Core.Security/DIExtensions.cs +++ b/DigitalData.Core.Security/DIExtensions.cs @@ -3,7 +3,6 @@ using DigitalData.Core.Security.Config; using DigitalData.Core.Security.Cryptographer; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; using System.Text.Json; using System.Text.Json.Serialization; @@ -22,31 +21,23 @@ namespace DigitalData.Core.Security return options; } - private static IServiceCollection AddAsymCryptService(this IServiceCollection services) - where TAsymCryptParams : AsymCryptParams - { - services.TryAddScoped, AsymCryptService>(); - return services; - } + private static IServiceCollection AddAsymCryptService(this IServiceCollection services) where TAsymCryptParams : AsymCryptParams + => services.AddScoped, AsymCryptService>(); public static IServiceCollection AddAsymCryptService(this IServiceCollection services, IConfigurationSection section) where TAsymCryptParams : AsymCryptParams - => services.Configure(section).AddAsymCryptService(); + => services.Configure(section).AddAsymCryptService(); public static IServiceCollection AddAsymCryptService(this IServiceCollection services, TAsymCryptParams param) where TAsymCryptParams : AsymCryptParams - => services.AddSingleton(Options.Create(param)).AddAsymCryptService(); + => services.AddSingleton(Options.Create(param)).AddAsymCryptService(); /// /// Registers default RSA Factory instance with default params /// /// - /// - public static IServiceCollection AddRSAFactory(this IServiceCollection services) - { - services.TryAddScoped(_ => Instance.RSAFactory); - return services; - } + /// The updated with the RSA Factory registered. + public static IServiceCollection AddRSAFactory(this IServiceCollection services) => services.AddScoped(_ => Instance.RSAFactory); /// /// Registers a custom RSA Factory instance with specified parameters from the given configuration section. @@ -54,13 +45,15 @@ namespace DigitalData.Core.Security /// /// /// - /// - public static IServiceCollection AddRSAFactory(this IServiceCollection services, IConfigurationSection section) + /// If true, the factory is registered as the default . Otherwise, it is registered as . + /// The updated with the RSA Factory registered. + public static IServiceCollection AddRSAFactory(this IServiceCollection services, IConfigurationSection section, bool setAsDefault = false) where TRSAFactoryParams : RSAFactoryParams { services.Configure(section); - services.TryAddSingleton, RSAFactory>(); - return services; + return setAsDefault + ? services.AddSingleton>() + : services.AddSingleton, RSAFactory>(); } /// @@ -74,12 +67,10 @@ namespace DigitalData.Core.Security public static IServiceCollection AddRSAFactory(this IServiceCollection services, TRSAFactoryParams rsaParams, bool setAsDefault = false) where TRSAFactoryParams : RSAFactoryParams { - services.TryAddSingleton(Options.Create(rsaParams)); - if (setAsDefault) - services.TryAddSingleton>(); - else - services.TryAddSingleton, RSAFactory>(); - return services; + services.AddSingleton(Options.Create(rsaParams)); + return setAsDefault + ? services.AddSingleton>() + : services.AddSingleton, RSAFactory>(); } } } \ No newline at end of file