The core infrastructure backend (API, database, Docker, etc).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

32 lines
1.1 KiB

using Bit.Core.Settings;
using Microsoft.Extensions.Configuration;
namespace Bit.SeederUtility.Configuration;
public static class GlobalSettingsFactory
{
private static GlobalSettings? _globalSettings;
public static GlobalSettings GlobalSettings
{
get { return _globalSettings ??= LoadGlobalSettings(); }
}
private static GlobalSettings LoadGlobalSettings()
{
var configBuilder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? "Production"}.json", optional: true, reloadOnChange: true)
.AddUserSecrets("bitwarden-Api")
.AddEnvironmentVariables();
var configuration = configBuilder.Build();
var globalSettingsSection = configuration.GetSection("globalSettings");
var settings = new GlobalSettings();
globalSettingsSection.Bind(settings);
return settings;
}
}