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