21 lines
1.0 KiB
C#
21 lines
1.0 KiB
C#
using Microsoft.Extensions.Configuration;
|
|
|
|
namespace PiwigoDirectorySync;
|
|
|
|
public static class AppSettings
|
|
{
|
|
public static readonly IReadOnlySet<string> SupportedExtensions = new HashSet<string> { "jpg", "jpeg", "png" };
|
|
|
|
public static IConfigurationRoot Config { get; } = new ConfigurationBuilder().SetBasePath(AppContext.BaseDirectory)
|
|
.AddJsonFile("appsettings.json", true)
|
|
.AddJsonFile(Path.Combine(Environment.CurrentDirectory, "appsettings.json"), true)
|
|
.AddJsonFile("/etc/PiwigoDirectorySync/appsettings.json", true)
|
|
.AddUserSecrets<Program>(true)
|
|
.AddEnvironmentVariables()
|
|
.Build();
|
|
|
|
public static Settings Settings { get; } = Config.GetSection("settings").Get<Settings>() ?? throw new InvalidOperationException("Could not parse settings");
|
|
|
|
public static string ConnectionString =>
|
|
Config.GetConnectionString(Settings.DbProvider) ?? throw new InvalidOperationException($"Could not find connection string for provider {Settings.DbProvider}");
|
|
} |