Updated mooncore versions. Removed legacy configuration loading

This commit is contained in:
2025-02-28 11:01:31 +01:00
parent 8f1cc29b8d
commit 3699b8d54a
3 changed files with 20 additions and 33 deletions

View File

@@ -9,8 +9,8 @@
<ItemGroup>
<PackageReference Include="Docker.DotNet" Version="3.125.15" />
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.1.0" />
<PackageReference Include="MoonCore" Version="1.8.3" />
<PackageReference Include="MoonCore.Extended" Version="1.2.8" />
<PackageReference Include="MoonCore" Version="1.8.4" />
<PackageReference Include="MoonCore.Extended" Version="1.3.0" />
<PackageReference Include="MoonCore.Unix" Version="1.0.2" />
<PackageReference Include="Stateless" Version="5.17.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2"/>

View File

@@ -1,6 +1,7 @@
using System.Text.Json;
using Docker.DotNet;
using MoonCore.Configuration;
using MoonCore.EnvConfiguration;
using MoonCore.Extended.Extensions;
using MoonCore.Extensions;
using MoonCore.Helpers;
@@ -17,8 +18,6 @@ public class Startup
// Configuration
private AppConfiguration Configuration;
private ConfigurationService ConfigurationService;
private ConfigurationOptions ConfigurationOptions;
// Logging
private ILoggerProvider[] LoggerProviders;
@@ -119,42 +118,31 @@ public class Startup
#region Configurations
private Task SetupAppConfiguration()
private async Task SetupAppConfiguration()
{
ConfigurationService = new ConfigurationService();
var configurationBuilder = new ConfigurationBuilder();
// Ensure configuration file exists
var jsonFilePath = PathBuilder.File(Directory.GetCurrentDirectory(), "storage", "app.json");
// Setup options
ConfigurationOptions = new ConfigurationOptions();
if (!File.Exists(jsonFilePath))
await File.WriteAllTextAsync(jsonFilePath, JsonSerializer.Serialize(new AppConfiguration()));
ConfigurationOptions.AddConfiguration<AppConfiguration>("app");
ConfigurationOptions.Path = PathBuilder.Dir("storage");
ConfigurationOptions.EnvironmentPrefix = "WebAppTemplate".ToUpper();
configurationBuilder.AddJsonFile(
jsonFilePath
);
configurationBuilder.AddEnvironmentVariables(prefix: "MOONLIGHT_", separator: "_");
// Create minimal logger
var loggerFactory = new LoggerFactory();
loggerFactory.AddMoonCore(configuration =>
{
configuration.Console.Enable = true;
configuration.Console.EnableAnsiMode = true;
configuration.FileLogging.Enable = false;
});
var logger = loggerFactory.CreateLogger<ConfigurationService>();
var configurationRoot = configurationBuilder.Build();
// Retrieve configuration
Configuration = ConfigurationService.GetConfiguration<AppConfiguration>(
ConfigurationOptions,
logger
);
return Task.CompletedTask;
Configuration = configurationRoot.Get<AppConfiguration>()!;
}
private Task RegisterAppConfiguration()
{
ConfigurationService.RegisterInDi(ConfigurationOptions, WebApplicationBuilder.Services);
WebApplicationBuilder.Services.AddSingleton(ConfigurationService);
WebApplicationBuilder.Services.AddSingleton(Configuration);
return Task.CompletedTask;
}