mirror of
https://github.com/bitwarden/server.git
synced 2025-05-09 13:42:21 -05:00
35 lines
1.2 KiB
C#
35 lines
1.2 KiB
C#
using Bit.Core.Settings;
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
namespace Bit.DbSeederUtility;
|
|
|
|
public static class GlobalSettingsFactory
|
|
{
|
|
private static GlobalSettings? _globalSettings;
|
|
|
|
public static GlobalSettings GlobalSettings
|
|
{
|
|
get { return _globalSettings ??= LoadGlobalSettings(); }
|
|
}
|
|
|
|
private static GlobalSettings LoadGlobalSettings()
|
|
{
|
|
Console.WriteLine("Loading global settings...");
|
|
|
|
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") // Load user secrets from the API project
|
|
.AddEnvironmentVariables();
|
|
|
|
var configuration = configBuilder.Build();
|
|
var globalSettingsSection = configuration.GetSection("globalSettings");
|
|
|
|
var settings = new GlobalSettings();
|
|
globalSettingsSection.Bind(settings);
|
|
|
|
return settings;
|
|
}
|
|
}
|