From 1bd30ee34323f150c63fc537e0d131dca29dc4ef Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Sun, 5 Jun 2022 00:19:10 +0200 Subject: refactor: Implement caching in VaultService and use VaultService instead of IOptions --- server/src/Utilities/BasicAuthenticationHandler.cs | 4 +- server/src/Utilities/ConfigurationExtensions.cs | 54 ++++++++++++++++++++-- 2 files changed, 52 insertions(+), 6 deletions(-) (limited to 'server/src/Utilities') diff --git a/server/src/Utilities/BasicAuthenticationHandler.cs b/server/src/Utilities/BasicAuthenticationHandler.cs index 1793c95..6138193 100644 --- a/server/src/Utilities/BasicAuthenticationHandler.cs +++ b/server/src/Utilities/BasicAuthenticationHandler.cs @@ -17,11 +17,11 @@ public class BasicAuthenticationHandler : AuthenticationHandler configuration + VaultService vaultService ) : base(options, logger, encoder, clock) { _context = context; - _configuration = configuration.Value; + _configuration = vaultService.GetCurrentAppConfiguration(); _logger = logger.CreateLogger(); } diff --git a/server/src/Utilities/ConfigurationExtensions.cs b/server/src/Utilities/ConfigurationExtensions.cs index ff978f0..405c702 100644 --- a/server/src/Utilities/ConfigurationExtensions.cs +++ b/server/src/Utilities/ConfigurationExtensions.cs @@ -9,11 +9,34 @@ public static class ConfigurationExtensions var user = configuration.DB_USER; var password = configuration.DB_PASSWORD; + var res = ""; if (config.GetValue("ASPNETCORE_ENVIRONMENT") == "Development") { - return $"Server={host};Port={port};Database={database};User Id={user};Password={password};Include Error Detail=true"; + res = $"Server={host};Port={port};Database={database};User Id={user};Password={password};Include Error Detail=true"; + } else { + res = $"Server={host};Port={port};Database={database};User Id={user};Password={password}"; } - return $"Server={host};Port={port};Database={database};User Id={user};Password={password}"; + Log.Debug("Using app database connection string: " + res); + return res; + } + + public static string GetAppDatabaseConnectionString(this IConfiguration config, Func configuration) { + var _configuration = configuration(); + var host = _configuration.DB_HOST; + var port = _configuration.DB_PORT; + var database = _configuration.DB_NAME; + var user = _configuration.DB_USER; + var password = _configuration.DB_PASSWORD; + + var res = ""; + if (config.GetValue("ASPNETCORE_ENVIRONMENT") == "Development") { + res = $"Server={host};Port={port};Database={database};User Id={user};Password={password};Include Error Detail=true"; + } else { + res = $"Server={host};Port={port};Database={database};User Id={user};Password={password}"; + } + + Log.Debug("Using app database connection string: " + res); + return res; } public static string GetQuartzDatabaseConnectionString(this IConfiguration config, AppConfiguration configuration) { @@ -23,11 +46,34 @@ public static class ConfigurationExtensions var user = configuration.QUARTZ_DB_USER; var password = configuration.QUARTZ_DB_PASSWORD; + var res = ""; + if (config.GetValue("ASPNETCORE_ENVIRONMENT") == "Development") { + res = $"Server={host};Port={port};Database={database};User Id={user};Password={password};Include Error Detail=true"; + } else { + res = $"Server={host};Port={port};Database={database};User Id={user};Password={password}"; + } + + Log.Debug("Using quartz database connection string: " + res); + return res; + } + + public static string GetQuartzDatabaseConnectionString(this IConfiguration config, Func configuration) { + var _configuration = configuration(); + var host = _configuration.QUARTZ_DB_HOST; + var port = _configuration.QUARTZ_DB_PORT; + var database = _configuration.QUARTZ_DB_NAME; + var user = _configuration.QUARTZ_DB_USER; + var password = _configuration.QUARTZ_DB_PASSWORD; + + var res = ""; if (config.GetValue("ASPNETCORE_ENVIRONMENT") == "Development") { - return $"Server={host};Port={port};Database={database};User Id={user};Password={password};Include Error Detail=true"; + res = $"Server={host};Port={port};Database={database};User Id={user};Password={password};Include Error Detail=true"; + } else { + res = $"Server={host};Port={port};Database={database};User Id={user};Password={password}"; } - return $"Server={host};Port={port};Database={database};User Id={user};Password={password}"; + Log.Debug("Using quartz database connection string: " + res); + return res; } public static string GetVersion(this IConfiguration configuration) { -- cgit v1.3