Updated mooncore versions. Removed unused imports and legacy configuration loading

This commit is contained in:
2025-02-28 09:55:47 +01:00
parent 6c5e4c2a1e
commit b1092985ff
4 changed files with 24 additions and 51 deletions

View File

@@ -24,7 +24,7 @@
<PrivateAssets>all</PrivateAssets> <PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference> </PackageReference>
<PackageReference Include="MoonCore" Version="1.8.3" /> <PackageReference Include="MoonCore" Version="1.8.4" />
<PackageReference Include="MoonCore.Extended" Version="1.3.0" /> <PackageReference Include="MoonCore.Extended" Version="1.3.0" />
<PackageReference Include="MoonCore.PluginFramework" Version="1.0.5" /> <PackageReference Include="MoonCore.PluginFramework" Version="1.0.5" />
<PackageReference Include="SharpZipLib" Version="1.4.2" /> <PackageReference Include="SharpZipLib" Version="1.4.2" />

View File

@@ -6,23 +6,20 @@ using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.IdentityModel.Tokens; using Microsoft.IdentityModel.Tokens;
using MoonCore.Configuration; using MoonCore.Configuration;
using MoonCore.EnvConfiguration;
using MoonCore.Extended.Abstractions; using MoonCore.Extended.Abstractions;
using MoonCore.Extended.Extensions; using MoonCore.Extended.Extensions;
using MoonCore.Extended.Helpers; using MoonCore.Extended.Helpers;
using MoonCore.Extended.JwtInvalidation; using MoonCore.Extended.JwtInvalidation;
using MoonCore.Extensions; using MoonCore.Extensions;
using MoonCore.Helpers; using MoonCore.Helpers;
using MoonCore.PluginFramework.Extensions;
using MoonCore.Plugins;
using MoonCore.Services; using MoonCore.Services;
using Moonlight.ApiServer.Configuration; using Moonlight.ApiServer.Configuration;
using Moonlight.ApiServer.Database.Entities; using Moonlight.ApiServer.Database.Entities;
using Moonlight.ApiServer.Helpers; using Moonlight.ApiServer.Helpers;
using Moonlight.ApiServer.Interfaces.OAuth2;
using Moonlight.ApiServer.Interfaces.Startup; using Moonlight.ApiServer.Interfaces.Startup;
using Moonlight.ApiServer.Models; using Moonlight.ApiServer.Models;
using Moonlight.ApiServer.Services; using Moonlight.ApiServer.Services;
using Moonlight.Client.Services;
namespace Moonlight.ApiServer; namespace Moonlight.ApiServer;
@@ -42,8 +39,7 @@ public class Startup
// Configuration // Configuration
private AppConfiguration Configuration; private AppConfiguration Configuration;
private ConfigurationService ConfigurationService; private IConfigurationRoot ConfigurationRoot;
private ConfigurationOptions ConfigurationOptions;
// WebApplication Stuff // WebApplication Stuff
private WebApplication WebApplication; private WebApplication WebApplication;
@@ -80,7 +76,6 @@ public class Startup
await RegisterBase(); await RegisterBase();
await RegisterDatabase(); await RegisterDatabase();
await RegisterAuth(); await RegisterAuth();
await RegisterCaching();
await HookPluginBuild(); await HookPluginBuild();
await RegisterPluginAssets(); await RegisterPluginAssets();
@@ -121,7 +116,6 @@ public class Startup
private Task CreateStorage() private Task CreateStorage()
{ {
Directory.CreateDirectory("storage"); Directory.CreateDirectory("storage");
Directory.CreateDirectory(PathBuilder.Dir("storage", "logs"));
Directory.CreateDirectory(PathBuilder.Dir("storage", "plugins")); Directory.CreateDirectory(PathBuilder.Dir("storage", "plugins"));
return Task.CompletedTask; return Task.CompletedTask;
@@ -374,43 +368,32 @@ public class Startup
#region Configurations #region Configurations
private Task SetupAppConfiguration() private async Task SetupAppConfiguration()
{ {
ConfigurationService = new ConfigurationService(); // Configure configuration (wow)
var configurationBuilder = new ConfigurationBuilder();
// Setup options // Ensure configuration file exists
ConfigurationOptions = new ConfigurationOptions(); var jsonFilePath = PathBuilder.File(Directory.GetCurrentDirectory(), "storage", "app.json");
ConfigurationOptions.AddConfiguration<AppConfiguration>("app"); if (!File.Exists(jsonFilePath))
ConfigurationOptions.Path = PathBuilder.Dir("storage"); await File.WriteAllTextAsync(jsonFilePath, JsonSerializer.Serialize(new AppConfiguration()));
ConfigurationOptions.EnvironmentPrefix = "MOONLIGHT";
// Create minimal logger configurationBuilder.AddJsonFile(
var loggerFactory = new LoggerFactory(); jsonFilePath
loggerFactory.AddMoonCore(configuration =>
{
configuration.Console.Enable = true;
configuration.Console.EnableAnsiMode = true;
configuration.FileLogging.Enable = false;
});
var logger = loggerFactory.CreateLogger<ConfigurationService>();
// Retrieve configuration
Configuration = ConfigurationService.GetConfiguration<AppConfiguration>(
ConfigurationOptions,
logger
); );
return Task.CompletedTask; configurationBuilder.AddEnvironmentVariables(prefix: "MOONLIGHT_", separator: "_");
ConfigurationRoot = configurationBuilder.Build();
// Retrieve configuration
Configuration = ConfigurationRoot.Get<AppConfiguration>()!;
} }
private Task RegisterAppConfiguration() private Task RegisterAppConfiguration()
{ {
ConfigurationService.RegisterInDi(ConfigurationOptions, WebApplicationBuilder.Services); WebApplicationBuilder.Services.AddSingleton(Configuration);
WebApplicationBuilder.Services.AddSingleton(ConfigurationService);
return Task.CompletedTask; return Task.CompletedTask;
} }
@@ -497,13 +480,15 @@ public class Startup
#region Database #region Database
private async Task RegisterDatabase() private Task RegisterDatabase()
{ {
WebApplicationBuilder.Services.AddDatabaseMappings(); WebApplicationBuilder.Services.AddDatabaseMappings();
WebApplicationBuilder.Services.AddServiceCollectionAccessor(); WebApplicationBuilder.Services.AddServiceCollectionAccessor();
WebApplicationBuilder.Services.AddScoped(typeof(DatabaseRepository<>)); WebApplicationBuilder.Services.AddScoped(typeof(DatabaseRepository<>));
WebApplicationBuilder.Services.AddScoped(typeof(CrudHelper<,>)); WebApplicationBuilder.Services.AddScoped(typeof(CrudHelper<,>));
return Task.CompletedTask;
} }
private async Task PrepareDatabase() private async Task PrepareDatabase()
@@ -572,14 +557,4 @@ public class Startup
} }
#endregion #endregion
#region Caching
private Task RegisterCaching()
{
WebApplicationBuilder.Services.AddMemoryCache();
return Task.CompletedTask;
}
#endregion
} }

View File

@@ -24,7 +24,7 @@
<PackageReference Include="Blazor-ApexCharts" Version="4.0.1" /> <PackageReference Include="Blazor-ApexCharts" Version="4.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.10"/> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.10"/>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.10" PrivateAssets="all"/> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="8.0.10" PrivateAssets="all"/>
<PackageReference Include="MoonCore" Version="1.8.3" /> <PackageReference Include="MoonCore" Version="1.8.4" />
<PackageReference Include="MoonCore.Blazor" Version="1.2.9" /> <PackageReference Include="MoonCore.Blazor" Version="1.2.9" />
<PackageReference Include="MoonCore.PluginFramework" Version="1.0.5"/> <PackageReference Include="MoonCore.PluginFramework" Version="1.0.5"/>
<PackageReference Include="MoonCore.Blazor.Tailwind" Version="1.3.2" /> <PackageReference Include="MoonCore.Blazor.Tailwind" Version="1.3.2" />

View File

@@ -9,8 +9,6 @@ using MoonCore.Blazor.Tailwind.Extensions;
using MoonCore.Blazor.Tailwind.Auth; using MoonCore.Blazor.Tailwind.Auth;
using MoonCore.Extensions; using MoonCore.Extensions;
using MoonCore.Helpers; using MoonCore.Helpers;
using MoonCore.Plugins;
using Moonlight.Client.Implementations;
using Moonlight.Client.Interfaces; using Moonlight.Client.Interfaces;
using Moonlight.Client.Services; using Moonlight.Client.Services;
using Moonlight.Shared.Misc; using Moonlight.Shared.Misc;