LANCommander/LANCommander.Launcher/Startup/ApplicationSettings.cs

31 lines
978 B
C#
Raw Permalink Normal View History

using LANCommander.Launcher.Models;
using LANCommander.SDK.Extensions;
using LANCommander.SDK.Providers;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Photino.Blazor;
using Serilog;
namespace LANCommander.Launcher.Startup;
public static class ApplicationSettings
{
public static PhotinoBlazorAppBuilder AddSettings(this PhotinoBlazorAppBuilder builder)
{
Log.Debug("Loading settings file");
var configurationBuilder = new ConfigurationBuilder();
var configuration = configurationBuilder.ReadFromFile<Settings.Settings>();
var refresher = configurationBuilder.ReadFromServer<Settings.Settings>(configuration);
configuration = configurationBuilder.Build();
builder.Services.Configure<Settings.Settings>(configuration);
builder.Services.AddSingleton(refresher);
Log.Debug("Validating settings");
return builder;
}
}