From addba9cdfa59170d3f0a3fdc11753c973a308272 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Fri, 9 May 2025 17:12:24 +0200 Subject: [PATCH] Refactor backdoor handling and configuration loading - Changed `TryGet` method return type from `bool?` to `bool` in `BackdoorExtensions.cs` for improved clarity. - Updated configuration retrieval in `DependencyInjection.cs` to use `GetSection("backdoors")` for targeted loading. - Added `backdoors.json` configuration file in `Program.cs` to enhance modularity and organization of settings. --- src/DigitalData.Auth.API/Models/BackdoorExtensions.cs | 2 +- src/DigitalData.Auth.API/Models/DependencyInjection.cs | 2 +- src/DigitalData.Auth.API/Program.cs | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/DigitalData.Auth.API/Models/BackdoorExtensions.cs b/src/DigitalData.Auth.API/Models/BackdoorExtensions.cs index 8d7b5ea..590e3c0 100644 --- a/src/DigitalData.Auth.API/Models/BackdoorExtensions.cs +++ b/src/DigitalData.Auth.API/Models/BackdoorExtensions.cs @@ -4,7 +4,7 @@ public static class BackdoorExtensions { public static Backdoor? GetOrDefault(this IEnumerable backdoors, string username) => backdoors.Where(b => b.Username == username).FirstOrDefault(); - public static bool? TryGet(this IEnumerable backdoors, string username, out Backdoor backdoor) + public static bool TryGet(this IEnumerable backdoors, string username, out Backdoor backdoor) { var _backdoor = backdoors.Where(b => b.Username == username).FirstOrDefault() ?? default; #pragma warning disable CS8601 diff --git a/src/DigitalData.Auth.API/Models/DependencyInjection.cs b/src/DigitalData.Auth.API/Models/DependencyInjection.cs index ce67382..3ecca38 100644 --- a/src/DigitalData.Auth.API/Models/DependencyInjection.cs +++ b/src/DigitalData.Auth.API/Models/DependencyInjection.cs @@ -6,7 +6,7 @@ public static class DependencyInjection { public static IServiceCollection AddBackdoors(this IServiceCollection services, IConfiguration configuration) { - var backdoors = configuration.Get>() ?? Enumerable.Empty(); + var backdoors = configuration.GetSection("backdoors").Get>() ?? Enumerable.Empty(); return services.AddSingleton(Options.Create(backdoors)); } } diff --git a/src/DigitalData.Auth.API/Program.cs b/src/DigitalData.Auth.API/Program.cs index 8eb989e..9186a12 100644 --- a/src/DigitalData.Auth.API/Program.cs +++ b/src/DigitalData.Auth.API/Program.cs @@ -27,6 +27,8 @@ try builder.Configuration.AddJsonFile("consumer-repository.json", true, true); + builder.Configuration.AddJsonFile("backdoors.json", true, true); + var config = builder.Configuration; var apiParams = config.Get() ?? throw new InvalidOperationException("AuthApiOptions is missing or invalid in appsettings.");