From eaece9e3342d00b311e49cbca44194deb26d4c53 Mon Sep 17 00:00:00 2001 From: ChiaraBm Date: Fri, 11 Jul 2025 17:13:37 +0200 Subject: [PATCH] Separating runtime from application code to improve building. Upgraded mooncore packages. Started switching to flyonui. Added PluginFramework plugin loading via mooncore --- .../Moonlight.ApiServer.Runtime.csproj | 21 +++++ Moonlight.ApiServer.Runtime/PluginLoader.cs | 10 ++ Moonlight.ApiServer.Runtime/Program.cs | 9 ++ .../Properties/launchSettings.json | 29 ++++++ .../Controllers/Admin/Sys/FilesController.cs | 42 ++++----- .../Controllers/Admin/Sys/ThemeController.cs | 2 +- .../{ => Frontend}/FrontendController.cs | 16 +++- .../Controllers/Frontend/FrontendPage.razor | 51 ++++++++++ .../Controllers/Swagger/SwaggerController.cs | 2 - .../Implementations/Startup/CoreStartup.cs | 25 ++++- .../Implementations/UserAuthInvalidation.cs | 62 ++++++++++++ .../Moonlight.ApiServer.csproj | 14 +-- .../Plugins/PluginStartupAttribute.cs | 7 -- .../Services/FrontendService.cs | 23 ++++- Moonlight.ApiServer/Startup.cs | 88 +++++------------- .../Moonlight.Client.Runtime.csproj | 64 +++++++++++++ Moonlight.Client.Runtime/PluginLoader.cs | 10 ++ Moonlight.Client.Runtime/Program.cs | 9 ++ .../Properties/launchSettings.json | 14 +++ .../Styles/additions/animations.css | 0 .../Styles/additions/buttons.css | 0 .../Styles/additions/cards.css | 0 .../Styles/additions/fonts.css | 6 +- .../Styles/additions/forms.css | 0 .../Styles/additions/loaders.css | 0 .../Styles/additions/progress.css | 0 .../Styles/additions/scrollbar.css | 0 .../Styles/additions/tabs.css | 0 .../Styles/additions/theme.css | 0 .../Styles/additions/theme.white.css | 0 .../Styles/exports.css | 0 .../Styles/mappings/mooncore.map | 0 .../Styles/package-lock.json | 0 .../Styles/package.json | 4 +- .../Styles/preTailwind.css | 0 .../Styles/resolveNuget.js | 0 .../Styles/style.css | 5 + .../wwwroot/frontend.example.json | 0 .../wwwroot/img/icon-192.png | Bin 0 -> 8571 bytes .../wwwroot/img/icon-512.png | Bin 0 -> 42042 bytes .../wwwroot/img/pfp_placeholder.png | Bin 0 -> 167274 bytes .../wwwroot/manifest.webmanifest | 0 .../wwwroot/service-worker.js | 0 .../wwwroot/service-worker.published.js | 0 .../wwwroot/svg/logo.svg | 0 Moonlight.Client/GlobalUsings.cs | 6 ++ .../Implementations/CoreStartup.cs | 1 + .../Implementations/SysFileSystemProvider.cs | 1 - Moonlight.Client/Moonlight.Client.csproj | 16 ++-- .../Plugins/PluginStartupAttribute.cs | 7 -- Moonlight.Client/Program.cs | 13 --- .../Services/RemoteAuthStateManager.cs | 2 +- Moonlight.Client/Services/WindowService.cs | 2 - Moonlight.Client/Startup.cs | 34 +++---- Moonlight.Client/UI/Layouts/MainLayout.razor | 2 +- Moonlight.Client/UI/Partials/AppSidebar.razor | 3 +- .../UI/Partials/Design/ThemeSettings.razor | 11 ++- .../UI/Views/Admin/Api/Create.razor | 3 +- .../UI/Views/Admin/Api/Index.razor | 2 +- .../UI/Views/Admin/Users/Create.razor | 1 - .../UI/Views/Admin/Users/Index.razor | 2 +- .../UI/Views/Admin/Users/Update.razor | 1 - Moonlight.Client/_Imports.razor | 10 +- Moonlight.Client/wwwroot/index.html | 38 -------- Moonlight.Client/wwwroot/svg/completed.svg | 1 - Moonlight.Client/wwwroot/svg/notfound.svg | 1 - Moonlight.sln | 12 +++ 67 files changed, 448 insertions(+), 234 deletions(-) create mode 100644 Moonlight.ApiServer.Runtime/Moonlight.ApiServer.Runtime.csproj create mode 100644 Moonlight.ApiServer.Runtime/PluginLoader.cs create mode 100644 Moonlight.ApiServer.Runtime/Program.cs create mode 100644 Moonlight.ApiServer.Runtime/Properties/launchSettings.json rename Moonlight.ApiServer/Http/Controllers/{ => Frontend}/FrontendController.cs (62%) create mode 100644 Moonlight.ApiServer/Http/Controllers/Frontend/FrontendPage.razor create mode 100644 Moonlight.ApiServer/Implementations/UserAuthInvalidation.cs delete mode 100644 Moonlight.ApiServer/Plugins/PluginStartupAttribute.cs create mode 100644 Moonlight.Client.Runtime/Moonlight.Client.Runtime.csproj create mode 100644 Moonlight.Client.Runtime/PluginLoader.cs create mode 100644 Moonlight.Client.Runtime/Program.cs create mode 100644 Moonlight.Client.Runtime/Properties/launchSettings.json rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/animations.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/buttons.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/cards.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/fonts.css (68%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/forms.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/loaders.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/progress.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/scrollbar.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/tabs.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/theme.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/additions/theme.white.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/exports.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/mappings/mooncore.map (100%) mode change 100755 => 100644 rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/package-lock.json (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/package.json (80%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/preTailwind.css (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/resolveNuget.js (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/Styles/style.css (69%) rename {Moonlight.Client => Moonlight.Client.Runtime}/wwwroot/frontend.example.json (100%) create mode 100644 Moonlight.Client.Runtime/wwwroot/img/icon-192.png create mode 100644 Moonlight.Client.Runtime/wwwroot/img/icon-512.png create mode 100644 Moonlight.Client.Runtime/wwwroot/img/pfp_placeholder.png rename {Moonlight.Client => Moonlight.Client.Runtime}/wwwroot/manifest.webmanifest (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/wwwroot/service-worker.js (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/wwwroot/service-worker.published.js (100%) rename {Moonlight.Client => Moonlight.Client.Runtime}/wwwroot/svg/logo.svg (100%) create mode 100644 Moonlight.Client/GlobalUsings.cs delete mode 100644 Moonlight.Client/Plugins/PluginStartupAttribute.cs delete mode 100644 Moonlight.Client/Program.cs delete mode 100644 Moonlight.Client/wwwroot/index.html delete mode 100644 Moonlight.Client/wwwroot/svg/completed.svg delete mode 100644 Moonlight.Client/wwwroot/svg/notfound.svg diff --git a/Moonlight.ApiServer.Runtime/Moonlight.ApiServer.Runtime.csproj b/Moonlight.ApiServer.Runtime/Moonlight.ApiServer.Runtime.csproj new file mode 100644 index 00000000..c9706e8e --- /dev/null +++ b/Moonlight.ApiServer.Runtime/Moonlight.ApiServer.Runtime.csproj @@ -0,0 +1,21 @@ + + + + net9.0 + enable + enable + True + + + + + + + + + + + + + + diff --git a/Moonlight.ApiServer.Runtime/PluginLoader.cs b/Moonlight.ApiServer.Runtime/PluginLoader.cs new file mode 100644 index 00000000..2d5fc003 --- /dev/null +++ b/Moonlight.ApiServer.Runtime/PluginLoader.cs @@ -0,0 +1,10 @@ +using MoonCore.PluginFramework; +using Moonlight.ApiServer.Plugins; + +namespace Moonlight.ApiServer.Runtime; + +[PluginLoader] +public partial class PluginLoader : IPluginStartup +{ + +} \ No newline at end of file diff --git a/Moonlight.ApiServer.Runtime/Program.cs b/Moonlight.ApiServer.Runtime/Program.cs new file mode 100644 index 00000000..619c343a --- /dev/null +++ b/Moonlight.ApiServer.Runtime/Program.cs @@ -0,0 +1,9 @@ +using Moonlight.ApiServer; +using Moonlight.ApiServer.Runtime; + +var startup = new Startup(); + +var pluginLoader = new PluginLoader(); +pluginLoader.Initialize(); + +await startup.Run(args, pluginLoader.Instances); \ No newline at end of file diff --git a/Moonlight.ApiServer.Runtime/Properties/launchSettings.json b/Moonlight.ApiServer.Runtime/Properties/launchSettings.json new file mode 100644 index 00000000..8c3160eb --- /dev/null +++ b/Moonlight.ApiServer.Runtime/Properties/launchSettings.json @@ -0,0 +1,29 @@ +{ + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "http://localhost:5165", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "HTTP_PROXY": "", + "HTTPS_PROXY": "" + }, + "hotReloadEnabled": true + }, + "WASM Debug": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "applicationUrl": "http://localhost:5165", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "HTTP_PROXY": "", + "HTTPS_PROXY": "" + }, + "hotReloadEnabled": true, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}" + } + } +} \ No newline at end of file diff --git a/Moonlight.ApiServer/Http/Controllers/Admin/Sys/FilesController.cs b/Moonlight.ApiServer/Http/Controllers/Admin/Sys/FilesController.cs index 32cc0346..fdec530c 100644 --- a/Moonlight.ApiServer/Http/Controllers/Admin/Sys/FilesController.cs +++ b/Moonlight.ApiServer/Http/Controllers/Admin/Sys/FilesController.cs @@ -16,14 +16,14 @@ namespace Moonlight.ApiServer.Http.Controllers.Admin.Sys; [Authorize(Policy = "permissions:admin.system.files")] public class FilesController : Controller { - private readonly string BaseDirectory = PathBuilder.Dir("storage"); + private readonly string BaseDirectory = "storage"; private readonly long ChunkSize = ByteConverter.FromMegaBytes(20).Bytes; [HttpGet("list")] public Task List([FromQuery] string path) { var safePath = SanitizePath(path); - var physicalPath = PathBuilder.Dir(BaseDirectory, safePath); + var physicalPath = Path.Combine(BaseDirectory, safePath); var entries = new List(); @@ -84,7 +84,7 @@ public class FilesController : Controller var positionToSkipTo = ChunkSize * chunkId; var safePath = SanitizePath(path); - var physicalPath = PathBuilder.File(BaseDirectory, safePath); + var physicalPath = Path.Combine(BaseDirectory, safePath); var baseDir = Path.GetDirectoryName(physicalPath); if (!string.IsNullOrEmpty(baseDir)) @@ -113,11 +113,11 @@ public class FilesController : Controller var oldSafePath = SanitizePath(oldPath); var newSafePath = SanitizePath(newPath); - var oldPhysicalDirPath = PathBuilder.Dir(BaseDirectory, oldSafePath); + var oldPhysicalDirPath = Path.Combine(BaseDirectory, oldSafePath); if (Directory.Exists(oldPhysicalDirPath)) { - var newPhysicalDirPath = PathBuilder.Dir(BaseDirectory, newSafePath); + var newPhysicalDirPath = Path.Combine(BaseDirectory, newSafePath); Directory.Move( oldPhysicalDirPath, @@ -126,8 +126,8 @@ public class FilesController : Controller } else { - var oldPhysicalFilePath = PathBuilder.File(BaseDirectory, oldSafePath); - var newPhysicalFilePath = PathBuilder.File(BaseDirectory, newSafePath); + var oldPhysicalFilePath = Path.Combine(BaseDirectory, oldSafePath); + var newPhysicalFilePath = Path.Combine(BaseDirectory, newSafePath); System.IO.File.Move( oldPhysicalFilePath, @@ -142,13 +142,13 @@ public class FilesController : Controller public Task Delete([FromQuery] string path) { var safePath = SanitizePath(path); - var physicalDirPath = PathBuilder.Dir(BaseDirectory, safePath); + var physicalDirPath = Path.Combine(BaseDirectory, safePath); if (Directory.Exists(physicalDirPath)) Directory.Delete(physicalDirPath, true); else { - var physicalFilePath = PathBuilder.File(BaseDirectory, safePath); + var physicalFilePath = Path.Combine(BaseDirectory, safePath); System.IO.File.Delete(physicalFilePath); } @@ -160,7 +160,7 @@ public class FilesController : Controller public Task CreateDirectory([FromQuery] string path) { var safePath = SanitizePath(path); - var physicalPath = PathBuilder.Dir(BaseDirectory, safePath); + var physicalPath = Path.Combine(BaseDirectory, safePath); Directory.CreateDirectory(physicalPath); return Task.CompletedTask; @@ -170,7 +170,7 @@ public class FilesController : Controller public async Task Download([FromQuery] string path) { var safePath = SanitizePath(path); - var physicalPath = PathBuilder.File(BaseDirectory, safePath); + var physicalPath = Path.Combine(BaseDirectory, safePath); await using var fs = System.IO.File.Open(physicalPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); await fs.CopyToAsync(Response.Body); @@ -192,7 +192,7 @@ public class FilesController : Controller private async Task CompressTarGz(string path, string[] itemsToCompress) { var safePath = SanitizePath(path); - var destination = PathBuilder.File(BaseDirectory, safePath); + var destination = Path.Combine(BaseDirectory, safePath); await using var outStream = System.IO.File.Create(destination); await using var gzoStream = new GZipOutputStream(outStream); @@ -201,7 +201,7 @@ public class FilesController : Controller foreach (var itemName in itemsToCompress) { var safeFilePath = SanitizePath(itemName); - var filePath = PathBuilder.File(BaseDirectory, safeFilePath); + var filePath = Path.Combine(BaseDirectory, safeFilePath); var fi = new FileInfo(filePath); @@ -210,7 +210,7 @@ public class FilesController : Controller else { var safeDirePath = SanitizePath(itemName); - var dirPath = PathBuilder.Dir(BaseDirectory, safeDirePath); + var dirPath = Path.Combine(BaseDirectory, safeDirePath); await AddDirectoryToTarGz(tarStream, dirPath); } @@ -267,7 +267,7 @@ public class FilesController : Controller private async Task CompressZip(string path, string[] itemsToCompress) { var safePath = SanitizePath(path); - var destination = PathBuilder.File(BaseDirectory, safePath); + var destination = Path.Combine(BaseDirectory, safePath); await using var outStream = System.IO.File.Create(destination); await using var zipOutputStream = new ZipOutputStream(outStream); @@ -275,7 +275,7 @@ public class FilesController : Controller foreach (var itemName in itemsToCompress) { var safeFilePath = SanitizePath(itemName); - var filePath = PathBuilder.File(BaseDirectory, safeFilePath); + var filePath = Path.Combine(BaseDirectory, safeFilePath); var fi = new FileInfo(filePath); @@ -284,7 +284,7 @@ public class FilesController : Controller else { var safeDirePath = SanitizePath(itemName); - var dirPath = PathBuilder.Dir(BaseDirectory, safeDirePath); + var dirPath = Path.Combine(BaseDirectory, safeDirePath); await AddDirectoryToZip(zipOutputStream, dirPath); } @@ -350,7 +350,7 @@ public class FilesController : Controller var safeDestination = SanitizePath(destination); var safeArchivePath = SanitizePath(path); - var archivePath = PathBuilder.File(BaseDirectory, safeArchivePath); + var archivePath = Path.Combine(BaseDirectory, safeArchivePath); await using var fs = System.IO.File.Open(archivePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); await using var gzipInputStream = new GZipInputStream(fs); @@ -364,7 +364,7 @@ public class FilesController : Controller break; var safeFilePath = SanitizePath(entry.Name); - var fileDestination = PathBuilder.File(BaseDirectory, safeDestination, safeFilePath); + var fileDestination = Path.Combine(BaseDirectory, safeDestination, safeFilePath); var parentFolder = Path.GetDirectoryName(fileDestination); // Ensure parent directory exists, if it's not the base directory @@ -393,7 +393,7 @@ public class FilesController : Controller var safeDestination = SanitizePath(destination); var safeArchivePath = SanitizePath(path); - var archivePath = PathBuilder.File(BaseDirectory, safeArchivePath); + var archivePath = Path.Combine(BaseDirectory, safeArchivePath); await using var fs = System.IO.File.Open(archivePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); await using var zipInputStream = new ZipInputStream(fs); @@ -409,7 +409,7 @@ public class FilesController : Controller continue; var safeFilePath = SanitizePath(entry.Name); - var fileDestination = PathBuilder.File(BaseDirectory, safeDestination, safeFilePath); + var fileDestination = Path.Combine(BaseDirectory, safeDestination, safeFilePath); var parentFolder = Path.GetDirectoryName(fileDestination); // Ensure parent directory exists, if it's not the base directory diff --git a/Moonlight.ApiServer/Http/Controllers/Admin/Sys/ThemeController.cs b/Moonlight.ApiServer/Http/Controllers/Admin/Sys/ThemeController.cs index aca9704f..1ec69246 100644 --- a/Moonlight.ApiServer/Http/Controllers/Admin/Sys/ThemeController.cs +++ b/Moonlight.ApiServer/Http/Controllers/Admin/Sys/ThemeController.cs @@ -14,7 +14,7 @@ public class ThemeController : Controller [Authorize(Policy = "permissions:admin.system.theme.update")] public async Task Patch([FromBody] UpdateThemeRequest request) { - var themePath = PathBuilder.File("storage", "theme.json"); + var themePath = Path.Combine("storage", "theme.json"); await System.IO.File.WriteAllTextAsync( themePath, diff --git a/Moonlight.ApiServer/Http/Controllers/FrontendController.cs b/Moonlight.ApiServer/Http/Controllers/Frontend/FrontendController.cs similarity index 62% rename from Moonlight.ApiServer/Http/Controllers/FrontendController.cs rename to Moonlight.ApiServer/Http/Controllers/Frontend/FrontendController.cs index 721ab6a6..028971c6 100644 --- a/Moonlight.ApiServer/Http/Controllers/FrontendController.cs +++ b/Moonlight.ApiServer/Http/Controllers/Frontend/FrontendController.cs @@ -1,14 +1,12 @@ -using System.Text.Json; +using System.Text; using Microsoft.AspNetCore.Mvc; -using MoonCore.Exceptions; -using MoonCore.Helpers; -using Moonlight.ApiServer.Configuration; using Moonlight.ApiServer.Services; using Moonlight.Shared.Misc; -namespace Moonlight.ApiServer.Http.Controllers; +namespace Moonlight.ApiServer.Http.Controllers.Frontend; [ApiController] +[Route("/")] public class FrontendController : Controller { private readonly FrontendService FrontendService; @@ -21,4 +19,12 @@ public class FrontendController : Controller [HttpGet("frontend.json")] public async Task GetConfiguration() => await FrontendService.GetConfiguration(); + + [HttpGet] + public async Task Index() + { + var content = await FrontendService.GenerateIndexHtml(); + + return Results.Text(content, "text/html", Encoding.UTF8); + } } \ No newline at end of file diff --git a/Moonlight.ApiServer/Http/Controllers/Frontend/FrontendPage.razor b/Moonlight.ApiServer/Http/Controllers/Frontend/FrontendPage.razor new file mode 100644 index 00000000..277bed24 --- /dev/null +++ b/Moonlight.ApiServer/Http/Controllers/Frontend/FrontendPage.razor @@ -0,0 +1,51 @@ +@using Moonlight.Shared.Misc + + + + + + + @Configuration.Title + + + @foreach (var style in Configuration.Styles) + { + + } + + + + + + + +
+ +
+
+
+
+
+
+
+
+
+
+ +
+ +@foreach (var script in Configuration.Scripts) +{ + +} + + + + + + + +@code +{ + [Parameter] public FrontendConfiguration Configuration { get; set; } +} diff --git a/Moonlight.ApiServer/Http/Controllers/Swagger/SwaggerController.cs b/Moonlight.ApiServer/Http/Controllers/Swagger/SwaggerController.cs index 49e12005..5c8941fc 100644 --- a/Moonlight.ApiServer/Http/Controllers/Swagger/SwaggerController.cs +++ b/Moonlight.ApiServer/Http/Controllers/Swagger/SwaggerController.cs @@ -2,13 +2,11 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using MoonCore.Helpers; -using MoonCore.Services; using Moonlight.ApiServer.Configuration; using Moonlight.ApiServer.Models; namespace Moonlight.ApiServer.Http.Controllers.Swagger; -[AllowAnonymous] [Route("api/swagger")] public class SwaggerController : Controller { diff --git a/Moonlight.ApiServer/Implementations/Startup/CoreStartup.cs b/Moonlight.ApiServer/Implementations/Startup/CoreStartup.cs index 6f79c079..a125946c 100644 --- a/Moonlight.ApiServer/Implementations/Startup/CoreStartup.cs +++ b/Moonlight.ApiServer/Implementations/Startup/CoreStartup.cs @@ -4,6 +4,7 @@ using Moonlight.ApiServer.Database; using Moonlight.ApiServer.Implementations.Diagnose; using Moonlight.ApiServer.Implementations.Metrics; using Moonlight.ApiServer.Interfaces; +using Moonlight.ApiServer.Models; using Moonlight.ApiServer.Plugins; using Moonlight.ApiServer.Services; using OpenTelemetry.Metrics; @@ -11,7 +12,6 @@ using OpenTelemetry.Trace; namespace Moonlight.ApiServer.Implementations.Startup; -[PluginStartup] public class CoreStartup : IPluginStartup { public Task BuildApplication(IServiceProvider serviceProvider, IHostApplicationBuilder builder) @@ -81,20 +81,37 @@ public class CoreStartup : IPluginStartup #endregion + #region Client / Frontend + + if (configuration.Client.Enable) + { + builder.Services.AddSingleton(new FrontendConfigurationOption() + { + Scripts = + [ + "/_content/Moonlight.Client/js/moonlight.js", "/_content/Moonlight.Client/js/moonCore.js", + "/_content/Moonlight.Client/ace/ace.js" + ], + Styles = ["/css/style.min.css"] + }); + } + + #endregion + return Task.CompletedTask; } public Task ConfigureApplication(IServiceProvider serviceProvider, IApplicationBuilder app) { var configuration = serviceProvider.GetRequiredService(); - + #region Prometheus - if(configuration.Metrics.Enable) + if (configuration.Metrics.Enable) app.UseOpenTelemetryPrometheusScrapingEndpoint(); #endregion - + return Task.CompletedTask; } diff --git a/Moonlight.ApiServer/Implementations/UserAuthInvalidation.cs b/Moonlight.ApiServer/Implementations/UserAuthInvalidation.cs new file mode 100644 index 00000000..000dbb32 --- /dev/null +++ b/Moonlight.ApiServer/Implementations/UserAuthInvalidation.cs @@ -0,0 +1,62 @@ +using System.Security.Claims; +using Microsoft.EntityFrameworkCore; +using MoonCore.Extended.Abstractions; +using MoonCore.Extended.JwtInvalidation; +using Moonlight.ApiServer.Database.Entities; + +namespace Moonlight.ApiServer.Implementations; + +public class UserAuthInvalidation : IJwtInvalidateHandler +{ + private readonly DatabaseRepository UserRepository; + private readonly DatabaseRepository ApiKeyRepository; + + public UserAuthInvalidation( + DatabaseRepository userRepository, + DatabaseRepository apiKeyRepository + ) + { + UserRepository = userRepository; + ApiKeyRepository = apiKeyRepository; + } + + public async Task Handle(ClaimsPrincipal principal) + { + var userIdClaim = principal.FindFirstValue("userId"); + + if (!string.IsNullOrEmpty(userIdClaim)) + { + var userId = int.Parse(userIdClaim); + + var user = await UserRepository + .Get() + .FirstOrDefaultAsync(x => x.Id == userId); + + if (user == null) + return true; // User is deleted, invalidate session + + var iatStr = principal.FindFirstValue("iat")!; + var iat = DateTimeOffset.FromUnixTimeSeconds(long.Parse(iatStr)); + + // If the token has been issued before the token valid time, its expired, and we want to invalidate it + return user.TokenValidTimestamp > iat; + } + + var apiKeyIdClaim = principal.FindFirstValue("apiKeyId"); + + if (!string.IsNullOrEmpty(apiKeyIdClaim)) + { + var apiKeyId = int.Parse(apiKeyIdClaim); + + var apiKey = await ApiKeyRepository + .Get() + .FirstOrDefaultAsync(x => x.Id == apiKeyId); + + // If the api key exists, we don't want to invalidate the request. + // If it doesn't exist we want to invalidate the request + return apiKey == null; + } + + return true; + } +} \ No newline at end of file diff --git a/Moonlight.ApiServer/Moonlight.ApiServer.csproj b/Moonlight.ApiServer/Moonlight.ApiServer.csproj index 1da9f290..b84c8850 100644 --- a/Moonlight.ApiServer/Moonlight.ApiServer.csproj +++ b/Moonlight.ApiServer/Moonlight.ApiServer.csproj @@ -6,7 +6,6 @@ enable - @@ -30,13 +29,14 @@ true - - + + - - - - + + + + + diff --git a/Moonlight.ApiServer/Plugins/PluginStartupAttribute.cs b/Moonlight.ApiServer/Plugins/PluginStartupAttribute.cs deleted file mode 100644 index d38a0555..00000000 --- a/Moonlight.ApiServer/Plugins/PluginStartupAttribute.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Moonlight.ApiServer.Plugins; - -[AttributeUsage(AttributeTargets.Class)] -public class PluginStartupAttribute : Attribute -{ - -} \ No newline at end of file diff --git a/Moonlight.ApiServer/Services/FrontendService.cs b/Moonlight.ApiServer/Services/FrontendService.cs index cf478f82..0ae03fc5 100644 --- a/Moonlight.ApiServer/Services/FrontendService.cs +++ b/Moonlight.ApiServer/Services/FrontendService.cs @@ -6,6 +6,7 @@ using MoonCore.Attributes; using MoonCore.Exceptions; using MoonCore.Helpers; using Moonlight.ApiServer.Configuration; +using Moonlight.ApiServer.Http.Controllers.Frontend; using Moonlight.ApiServer.Models; using Moonlight.Shared.Misc; @@ -17,23 +18,26 @@ public class FrontendService private readonly AppConfiguration Configuration; private readonly IWebHostEnvironment WebHostEnvironment; private readonly IEnumerable ConfigurationOptions; + private readonly IServiceProvider ServiceProvider; public FrontendService( AppConfiguration configuration, IWebHostEnvironment webHostEnvironment, - IEnumerable configurationOptions + IEnumerable configurationOptions, + IServiceProvider serviceProvider ) { Configuration = configuration; WebHostEnvironment = webHostEnvironment; ConfigurationOptions = configurationOptions; + ServiceProvider = serviceProvider; } public async Task GetConfiguration() { var configuration = new FrontendConfiguration() { - Title = "Moonlight", + Title = "Moonlight", // TODO: CONFIG ApiUrl = Configuration.PublicUrl, HostEnvironment = "ApiServer" }; @@ -62,7 +66,20 @@ public class FrontendService return configuration; } - public async Task GenerateZip() + public async Task GenerateIndexHtml() // TODO: Cache + { + var configuration = await GetConfiguration(); + + return await ComponentHelper.RenderComponent( + ServiceProvider, + parameters => + { + parameters["Configuration"] = configuration; + } + ); + } + + public async Task GenerateZip() // TODO: Rework to be able to extract everything successfully { // We only allow the access to this function when we are actually hosting the frontend if (!Configuration.Client.Enable) diff --git a/Moonlight.ApiServer/Startup.cs b/Moonlight.ApiServer/Startup.cs index aac517d7..4cd04911 100644 --- a/Moonlight.ApiServer/Startup.cs +++ b/Moonlight.ApiServer/Startup.cs @@ -12,6 +12,7 @@ using MoonCore.Extended.Helpers; using MoonCore.Extended.JwtInvalidation; using MoonCore.Extensions; using MoonCore.Helpers; +using MoonCore.Logging; using MoonCore.Permissions; using Moonlight.ApiServer.Configuration; using Moonlight.ApiServer.Database; @@ -111,8 +112,7 @@ public class Startup private Task CreateStorage() { Directory.CreateDirectory("storage"); - Directory.CreateDirectory(PathBuilder.Dir("storage", "logs")); - Directory.CreateDirectory(PathBuilder.Dir("storage", "plugins")); + Directory.CreateDirectory(Path.Combine("storage", "logs")); return Task.CompletedTask; } @@ -142,7 +142,7 @@ public class Startup private Task UseBase() { WebApplication.UseRouting(); - WebApplication.UseApiExceptionHandler(); + WebApplication.UseExceptionHandler(); if (Configuration.Client.Enable) { @@ -161,7 +161,7 @@ public class Startup WebApplication.MapControllers(); if (Configuration.Client.Enable) - WebApplication.MapFallbackToFile("index.html"); + WebApplication.MapFallbackToController("Index", "Frontend"); return Task.CompletedTask; } @@ -194,7 +194,7 @@ public class Startup serviceCollection.AddLogging(builder => { builder.ClearProviders(); - builder.AddProviders(LoggerProviders); + builder.AddAnsiConsole(); }); PluginLoadServiceProvider = serviceCollection.BuildServiceProvider(); @@ -202,8 +202,6 @@ public class Startup // Collect startups var pluginStartups = new List(); - pluginStartups.Add(new CoreStartup()); - pluginStartups.AddRange(AdditionalPlugins); // Used by the development server // Do NOT remove the following comment, as its used to place the plugin startup register calls @@ -291,7 +289,7 @@ public class Startup var configurationBuilder = new ConfigurationBuilder(); // Ensure configuration file exists - var jsonFilePath = PathBuilder.File(Directory.GetCurrentDirectory(), "storage", "app.json"); + var jsonFilePath = Path.Combine(Directory.GetCurrentDirectory(), "storage", "app.json"); if (!File.Exists(jsonFilePath)) await File.WriteAllTextAsync(jsonFilePath, JsonSerializer.Serialize(new AppConfiguration())); @@ -336,18 +334,8 @@ public class Startup private Task SetupLogging() { - LoggerProviders = LoggerBuildHelper.BuildFromConfiguration(configuration => - { - configuration.Console.Enable = true; - configuration.Console.EnableAnsiMode = true; - configuration.FileLogging.Enable = true; - configuration.FileLogging.Path = PathBuilder.File("storage", "logs", "latest.log"); - configuration.FileLogging.EnableLogRotation = true; - configuration.FileLogging.RotateLogNameTemplate = PathBuilder.File("storage", "logs", "apiserver.{0}.log"); - }); - LoggerFactory = new LoggerFactory(); - LoggerFactory.AddProviders(LoggerProviders); + LoggerFactory.AddAnsiConsole(); Logger = LoggerFactory.CreateLogger(); @@ -358,30 +346,33 @@ public class Startup { // Configure application logging WebApplicationBuilder.Logging.ClearProviders(); - WebApplicationBuilder.Logging.AddProviders(LoggerProviders); + WebApplicationBuilder.Logging.AddAnsiConsole(); + WebApplicationBuilder.Logging.AddFile(Path.Combine("storage", "logs", "moonlight.log")); // Logging levels - var logConfigPath = PathBuilder.File("storage", "logConfig.json"); + var logConfigPath = Path.Combine("storage", "logConfig.json"); // Ensure logging config, add a default one is missing if (!File.Exists(logConfigPath)) { - var logLevels = new Dictionary + var defaultLogLevels = new Dictionary { { "Default", "Information" }, { "Microsoft.AspNetCore", "Warning" }, { "System.Net.Http.HttpClient", "Warning" } }; - var logLevelsJson = JsonSerializer.Serialize(logLevels); - var logConfig = "{\"LogLevel\":" + logLevelsJson + "}"; - await File.WriteAllTextAsync(logConfigPath, logConfig); + var logLevelsJson = JsonSerializer.Serialize(defaultLogLevels); + await File.WriteAllTextAsync(logConfigPath, logLevelsJson); } // Add logging configuration - WebApplicationBuilder.Logging.AddConfiguration( + var logLevels = JsonSerializer.Deserialize>( await File.ReadAllTextAsync(logConfigPath) - ); + )!; + + foreach (var level in logLevels) + WebApplicationBuilder.Logging.AddFilter(level.Key, Enum.Parse(level.Value)); // Mute exception handler middleware // https://github.com/dotnet/aspnetcore/issues/19740 @@ -406,7 +397,6 @@ public class Startup WebApplicationBuilder.Services.AddServiceCollectionAccessor(); WebApplicationBuilder.Services.AddScoped(typeof(DatabaseRepository<>)); - WebApplicationBuilder.Services.AddScoped(typeof(CrudHelper<,>)); return Task.CompletedTask; } @@ -442,43 +432,9 @@ public class Startup ValidIssuer = Configuration.PublicUrl }; }); - - WebApplicationBuilder.Services.AddJwtInvalidation("coreAuthentication", options => - { - options.InvalidateTimeProvider = async (provider, principal) => - { - var userIdClaim = principal.Claims.FirstOrDefault(x => x.Type == "userId"); - - if (userIdClaim != null) - { - var userId = int.Parse(userIdClaim.Value); - - var userRepository = provider.GetRequiredService>(); - var user = await userRepository.Get().FirstOrDefaultAsync(x => x.Id == userId); - - if (user == null) - return DateTime.MaxValue; - - return user.TokenValidTimestamp; - } - - var apiKeyIdClaim = principal.Claims.FirstOrDefault(x => x.Type == "apiKeyId"); - - if (apiKeyIdClaim != null) - { - var apiKeyId = int.Parse(apiKeyIdClaim.Value); - - var apiKeyRepository = provider.GetRequiredService>(); - var apiKey = await apiKeyRepository.Get().FirstOrDefaultAsync(x => x.Id == apiKeyId); - - // If the api key exists, we don't want to invalidate the request. - // If it doesn't exist we want to invalidate the request - return apiKey == null ? DateTime.MaxValue : DateTime.MinValue; - } - - return DateTime.MaxValue; - }; - }); + + WebApplicationBuilder.Services.AddJwtBearerInvalidation("coreAuthentication"); + WebApplicationBuilder.Services.AddScoped(); WebApplicationBuilder.Services.AddAuthorization(); @@ -499,8 +455,6 @@ public class Startup { WebApplication.UseAuthentication(); - WebApplication.UseJwtInvalidation(); - WebApplication.UseAuthorization(); return Task.CompletedTask; diff --git a/Moonlight.Client.Runtime/Moonlight.Client.Runtime.csproj b/Moonlight.Client.Runtime/Moonlight.Client.Runtime.csproj new file mode 100644 index 00000000..54698be4 --- /dev/null +++ b/Moonlight.Client.Runtime/Moonlight.Client.Runtime.csproj @@ -0,0 +1,64 @@ + + + + net9.0 + enable + enable + True + + + + + + + + + + + + + + + + + true + styles + Never + + + true + styles + Never + + + true + styles + Never + + + true + styles + Never + + + true + styles + Never + + + true + styles + Never + + + + + + + + + <_ContentIncludedByDefault Remove="wwwroot\js\moonCore.js" /> + <_ContentIncludedByDefault Remove="wwwroot\js\moonlight.js" /> + + + diff --git a/Moonlight.Client.Runtime/PluginLoader.cs b/Moonlight.Client.Runtime/PluginLoader.cs new file mode 100644 index 00000000..78b278a9 --- /dev/null +++ b/Moonlight.Client.Runtime/PluginLoader.cs @@ -0,0 +1,10 @@ +using MoonCore.PluginFramework; +using Moonlight.Client.Plugins; + +namespace Moonlight.Client.Runtime; + +[PluginLoader] +public partial class PluginLoader : IPluginStartup +{ + +} \ No newline at end of file diff --git a/Moonlight.Client.Runtime/Program.cs b/Moonlight.Client.Runtime/Program.cs new file mode 100644 index 00000000..5cb70381 --- /dev/null +++ b/Moonlight.Client.Runtime/Program.cs @@ -0,0 +1,9 @@ +using Moonlight.Client; +using Moonlight.Client.Runtime; + +var startup = new Startup(); + +var pluginLoader = new PluginLoader(); +pluginLoader.Initialize(); + +await startup.Run(args, pluginLoader.Instances); \ No newline at end of file diff --git a/Moonlight.Client.Runtime/Properties/launchSettings.json b/Moonlight.Client.Runtime/Properties/launchSettings.json new file mode 100644 index 00000000..d9cbefe5 --- /dev/null +++ b/Moonlight.Client.Runtime/Properties/launchSettings.json @@ -0,0 +1,14 @@ +{ + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": false, + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", + "applicationUrl": "http://localhost:5165", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} \ No newline at end of file diff --git a/Moonlight.Client/Styles/additions/animations.css b/Moonlight.Client.Runtime/Styles/additions/animations.css similarity index 100% rename from Moonlight.Client/Styles/additions/animations.css rename to Moonlight.Client.Runtime/Styles/additions/animations.css diff --git a/Moonlight.Client/Styles/additions/buttons.css b/Moonlight.Client.Runtime/Styles/additions/buttons.css similarity index 100% rename from Moonlight.Client/Styles/additions/buttons.css rename to Moonlight.Client.Runtime/Styles/additions/buttons.css diff --git a/Moonlight.Client/Styles/additions/cards.css b/Moonlight.Client.Runtime/Styles/additions/cards.css similarity index 100% rename from Moonlight.Client/Styles/additions/cards.css rename to Moonlight.Client.Runtime/Styles/additions/cards.css diff --git a/Moonlight.Client/Styles/additions/fonts.css b/Moonlight.Client.Runtime/Styles/additions/fonts.css similarity index 68% rename from Moonlight.Client/Styles/additions/fonts.css rename to Moonlight.Client.Runtime/Styles/additions/fonts.css index e3567e61..30676ad8 100644 --- a/Moonlight.Client/Styles/additions/fonts.css +++ b/Moonlight.Client.Runtime/Styles/additions/fonts.css @@ -1,6 +1,6 @@ -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=fallback') layer; -@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&display=swap') layer; -@import url("https://cdn.jsdelivr.net/npm/lucide-static/font/lucide.css") layer; +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=fallback') layer(base); +@import url('https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200..900;1,200..900&display=swap') layer(base); +@import url("https://cdn.jsdelivr.net/npm/lucide-static/font/lucide.css") layer(base); @theme { --font-inter: "Inter", var(--font-sans); diff --git a/Moonlight.Client/Styles/additions/forms.css b/Moonlight.Client.Runtime/Styles/additions/forms.css similarity index 100% rename from Moonlight.Client/Styles/additions/forms.css rename to Moonlight.Client.Runtime/Styles/additions/forms.css diff --git a/Moonlight.Client/Styles/additions/loaders.css b/Moonlight.Client.Runtime/Styles/additions/loaders.css similarity index 100% rename from Moonlight.Client/Styles/additions/loaders.css rename to Moonlight.Client.Runtime/Styles/additions/loaders.css diff --git a/Moonlight.Client/Styles/additions/progress.css b/Moonlight.Client.Runtime/Styles/additions/progress.css similarity index 100% rename from Moonlight.Client/Styles/additions/progress.css rename to Moonlight.Client.Runtime/Styles/additions/progress.css diff --git a/Moonlight.Client/Styles/additions/scrollbar.css b/Moonlight.Client.Runtime/Styles/additions/scrollbar.css similarity index 100% rename from Moonlight.Client/Styles/additions/scrollbar.css rename to Moonlight.Client.Runtime/Styles/additions/scrollbar.css diff --git a/Moonlight.Client/Styles/additions/tabs.css b/Moonlight.Client.Runtime/Styles/additions/tabs.css similarity index 100% rename from Moonlight.Client/Styles/additions/tabs.css rename to Moonlight.Client.Runtime/Styles/additions/tabs.css diff --git a/Moonlight.Client/Styles/additions/theme.css b/Moonlight.Client.Runtime/Styles/additions/theme.css similarity index 100% rename from Moonlight.Client/Styles/additions/theme.css rename to Moonlight.Client.Runtime/Styles/additions/theme.css diff --git a/Moonlight.Client/Styles/additions/theme.white.css b/Moonlight.Client.Runtime/Styles/additions/theme.white.css similarity index 100% rename from Moonlight.Client/Styles/additions/theme.white.css rename to Moonlight.Client.Runtime/Styles/additions/theme.white.css diff --git a/Moonlight.Client/Styles/exports.css b/Moonlight.Client.Runtime/Styles/exports.css similarity index 100% rename from Moonlight.Client/Styles/exports.css rename to Moonlight.Client.Runtime/Styles/exports.css diff --git a/Moonlight.Client/Styles/mappings/mooncore.map b/Moonlight.Client.Runtime/Styles/mappings/mooncore.map old mode 100755 new mode 100644 similarity index 100% rename from Moonlight.Client/Styles/mappings/mooncore.map rename to Moonlight.Client.Runtime/Styles/mappings/mooncore.map diff --git a/Moonlight.Client/Styles/package-lock.json b/Moonlight.Client.Runtime/Styles/package-lock.json similarity index 100% rename from Moonlight.Client/Styles/package-lock.json rename to Moonlight.Client.Runtime/Styles/package-lock.json diff --git a/Moonlight.Client/Styles/package.json b/Moonlight.Client.Runtime/Styles/package.json similarity index 80% rename from Moonlight.Client/Styles/package.json rename to Moonlight.Client.Runtime/Styles/package.json index 25753cb8..716d25ce 100644 --- a/Moonlight.Client/Styles/package.json +++ b/Moonlight.Client.Runtime/Styles/package.json @@ -6,9 +6,9 @@ "xml2js": "^0.6.2" }, "scripts": { - "pretailwind-build": "node resolveNuget.js ../Moonlight.Client.csproj", + "pretailwind-build": "node resolveNuget.js ../Moonlight.Client.Runtime.csproj", "tailwind-build": "npx tailwindcss -i style.css -o ../wwwroot/css/style.min.css", - "pretailwind": "node resolveNuget.js ../Moonlight.Client.csproj", + "pretailwind": "node resolveNuget.js ../Moonlight.Client.Runtime.csproj", "tailwind": "npx tailwindcss -i style.css -o ../wwwroot/css/style.min.css --watch" } } diff --git a/Moonlight.Client/Styles/preTailwind.css b/Moonlight.Client.Runtime/Styles/preTailwind.css similarity index 100% rename from Moonlight.Client/Styles/preTailwind.css rename to Moonlight.Client.Runtime/Styles/preTailwind.css diff --git a/Moonlight.Client/Styles/resolveNuget.js b/Moonlight.Client.Runtime/Styles/resolveNuget.js similarity index 100% rename from Moonlight.Client/Styles/resolveNuget.js rename to Moonlight.Client.Runtime/Styles/resolveNuget.js diff --git a/Moonlight.Client/Styles/style.css b/Moonlight.Client.Runtime/Styles/style.css similarity index 69% rename from Moonlight.Client/Styles/style.css rename to Moonlight.Client.Runtime/Styles/style.css index 130fb3e0..e79f77f2 100644 --- a/Moonlight.Client/Styles/style.css +++ b/Moonlight.Client.Runtime/Styles/style.css @@ -13,4 +13,9 @@ @source "../**/*.razor"; @source "../**/*.cs"; @source "../**/*.html"; + +@source "../../Moonlight.Client/**/*.razor"; +@source "../../Moonlight.Client/**/*.cs"; +@source "../../Moonlight.Client/**/*.html"; + @source "./mappings/*.map"; \ No newline at end of file diff --git a/Moonlight.Client/wwwroot/frontend.example.json b/Moonlight.Client.Runtime/wwwroot/frontend.example.json similarity index 100% rename from Moonlight.Client/wwwroot/frontend.example.json rename to Moonlight.Client.Runtime/wwwroot/frontend.example.json diff --git a/Moonlight.Client.Runtime/wwwroot/img/icon-192.png b/Moonlight.Client.Runtime/wwwroot/img/icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..1b417d98749fea315cc4b118fee4b9d8bea628c6 GIT binary patch literal 8571 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 literal 0 HcmV?d00001 diff --git a/Moonlight.Client.Runtime/wwwroot/img/pfp_placeholder.png b/Moonlight.Client.Runtime/wwwroot/img/pfp_placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..1108ddbbb86d446829a76a60a82bc863e35a7fa5 GIT binary patch literal 167274 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 M07*qoM6N<$f;G~fssI20 literal 0 HcmV?d00001 diff --git a/Moonlight.Client/wwwroot/manifest.webmanifest b/Moonlight.Client.Runtime/wwwroot/manifest.webmanifest similarity index 100% rename from Moonlight.Client/wwwroot/manifest.webmanifest rename to Moonlight.Client.Runtime/wwwroot/manifest.webmanifest diff --git a/Moonlight.Client/wwwroot/service-worker.js b/Moonlight.Client.Runtime/wwwroot/service-worker.js similarity index 100% rename from Moonlight.Client/wwwroot/service-worker.js rename to Moonlight.Client.Runtime/wwwroot/service-worker.js diff --git a/Moonlight.Client/wwwroot/service-worker.published.js b/Moonlight.Client.Runtime/wwwroot/service-worker.published.js similarity index 100% rename from Moonlight.Client/wwwroot/service-worker.published.js rename to Moonlight.Client.Runtime/wwwroot/service-worker.published.js diff --git a/Moonlight.Client/wwwroot/svg/logo.svg b/Moonlight.Client.Runtime/wwwroot/svg/logo.svg similarity index 100% rename from Moonlight.Client/wwwroot/svg/logo.svg rename to Moonlight.Client.Runtime/wwwroot/svg/logo.svg diff --git a/Moonlight.Client/GlobalUsings.cs b/Moonlight.Client/GlobalUsings.cs new file mode 100644 index 00000000..0598b4b1 --- /dev/null +++ b/Moonlight.Client/GlobalUsings.cs @@ -0,0 +1,6 @@ +// Global using directives + +global using Microsoft.AspNetCore.Components.Web; +global using Microsoft.JSInterop; +global using Microsoft.Extensions.Logging; +global using MoonCore.Blazor.FlyonUi.Components; \ No newline at end of file diff --git a/Moonlight.Client/Implementations/CoreStartup.cs b/Moonlight.Client/Implementations/CoreStartup.cs index 55005986..06ae3249 100644 --- a/Moonlight.Client/Implementations/CoreStartup.cs +++ b/Moonlight.Client/Implementations/CoreStartup.cs @@ -1,4 +1,5 @@ using Microsoft.AspNetCore.Components.WebAssembly.Hosting; +using Microsoft.Extensions.DependencyInjection; using Moonlight.Client.Interfaces; using Moonlight.Client.Plugins; diff --git a/Moonlight.Client/Implementations/SysFileSystemProvider.cs b/Moonlight.Client/Implementations/SysFileSystemProvider.cs index 4e6ca06e..32718012 100644 --- a/Moonlight.Client/Implementations/SysFileSystemProvider.cs +++ b/Moonlight.Client/Implementations/SysFileSystemProvider.cs @@ -1,7 +1,6 @@ using MoonCore.Blazor.Services; using MoonCore.Blazor.Tailwind.Fm; using MoonCore.Blazor.Tailwind.Fm.Models; -using MoonCore.Blazor.Tailwind.Services; using MoonCore.Helpers; using Moonlight.Shared.Http.Requests.Admin.Sys.Files; using Moonlight.Shared.Http.Responses.Admin.Sys; diff --git a/Moonlight.Client/Moonlight.Client.csproj b/Moonlight.Client/Moonlight.Client.csproj index b3988510..46b6a65e 100644 --- a/Moonlight.Client/Moonlight.Client.csproj +++ b/Moonlight.Client/Moonlight.Client.csproj @@ -1,5 +1,5 @@  - + net9.0 enable @@ -22,11 +22,9 @@ - - - - - + + + @@ -56,4 +54,10 @@ + + + + + <_ContentIncludedByDefault Remove="wwwroot\css\style.min.css" /> + \ No newline at end of file diff --git a/Moonlight.Client/Plugins/PluginStartupAttribute.cs b/Moonlight.Client/Plugins/PluginStartupAttribute.cs deleted file mode 100644 index d55d5491..00000000 --- a/Moonlight.Client/Plugins/PluginStartupAttribute.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Moonlight.Client.Plugins; - -[AttributeUsage(AttributeTargets.Class)] -public class PluginStartupAttribute : Attribute -{ - -} \ No newline at end of file diff --git a/Moonlight.Client/Program.cs b/Moonlight.Client/Program.cs deleted file mode 100644 index 6e5b4824..00000000 --- a/Moonlight.Client/Program.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Moonlight.Client; - -var startup = new Startup(); - -try -{ - await startup.Run(args); -} -catch (Exception e) -{ - Console.WriteLine(e); - throw; -} \ No newline at end of file diff --git a/Moonlight.Client/Services/RemoteAuthStateManager.cs b/Moonlight.Client/Services/RemoteAuthStateManager.cs index e621446b..43302b90 100644 --- a/Moonlight.Client/Services/RemoteAuthStateManager.cs +++ b/Moonlight.Client/Services/RemoteAuthStateManager.cs @@ -2,8 +2,8 @@ using System.Web; using Microsoft.AspNetCore.Components; using Microsoft.AspNetCore.Components.Authorization; +using MoonCore.Blazor.FlyonUi.Auth; using MoonCore.Blazor.Services; -using MoonCore.Blazor.Tailwind.Auth; using MoonCore.Exceptions; using MoonCore.Helpers; using Moonlight.Shared.Http.Requests.Auth; diff --git a/Moonlight.Client/Services/WindowService.cs b/Moonlight.Client/Services/WindowService.cs index 266b4b9d..692706c3 100644 --- a/Moonlight.Client/Services/WindowService.cs +++ b/Moonlight.Client/Services/WindowService.cs @@ -1,5 +1,3 @@ -using Microsoft.JSInterop; - namespace Moonlight.Client.Services; public class WindowService diff --git a/Moonlight.Client/Startup.cs b/Moonlight.Client/Startup.cs index 4e01ee27..2963ee95 100644 --- a/Moonlight.Client/Startup.cs +++ b/Moonlight.Client/Startup.cs @@ -1,21 +1,18 @@ -using System.Reflection; -using System.Runtime.Loader; using System.Text.Json; -using Microsoft.AspNetCore.Components.Web; using Microsoft.AspNetCore.Components.WebAssembly.Hosting; -using Microsoft.JSInterop; +using Microsoft.Extensions.DependencyInjection; +using MoonCore.Blazor.FlyonUi; +using MoonCore.Blazor.FlyonUi.Auth; using MoonCore.Blazor.Services; -using MoonCore.Blazor.Tailwind.Extensions; -using MoonCore.Blazor.Tailwind.Auth; using MoonCore.Extensions; using MoonCore.Helpers; +using MoonCore.Logging; using MoonCore.Permissions; -using Moonlight.Client.Implementations; -using Moonlight.Client.Interfaces; using Moonlight.Client.Plugins; using Moonlight.Client.Services; using Moonlight.Shared.Misc; using Moonlight.Client.UI; +using WindowService = Moonlight.Client.Services.WindowService; namespace Moonlight.Client; @@ -27,7 +24,6 @@ public class Startup private FrontendConfiguration Configuration; // Logging - private ILoggerProvider[] LoggerProviders; private ILoggerFactory LoggerFactory; private ILogger Logger; @@ -143,12 +139,13 @@ public class Startup }); WebAssemblyHostBuilder.Services.AddScoped(); - WebAssemblyHostBuilder.Services.AddMoonCoreBlazorTailwind(); + WebAssemblyHostBuilder.Services.AddFileManagerOperations(); + WebAssemblyHostBuilder.Services.AddFlyonUiServices(); WebAssemblyHostBuilder.Services.AddScoped(); WebAssemblyHostBuilder.Services.AddScoped(); - WebAssemblyHostBuilder.Services.AutoAddServices(); + WebAssemblyHostBuilder.Services.AutoAddServices(); return Task.CompletedTask; } @@ -179,7 +176,7 @@ public class Startup startupSc.AddLogging(builder => { builder.ClearProviders(); - builder.AddProviders(LoggerProviders); + builder.AddAnsiConsole(); }); PluginLoadServiceProvider = startupSc.BuildServiceProvider(); @@ -187,8 +184,6 @@ public class Startup // Collect startups var pluginStartups = new List(); - pluginStartups.Add(new CoreStartup()); - pluginStartups.AddRange(AdditionalPlugins); // Used by the development server // Do NOT remove the following comment, as its used to place the plugin startup register calls @@ -259,15 +254,8 @@ public class Startup private Task SetupLogging() { - LoggerProviders = LoggerBuildHelper.BuildFromConfiguration(configuration => - { - configuration.Console.Enable = true; - configuration.Console.EnableAnsiMode = true; - configuration.FileLogging.Enable = false; - }); - LoggerFactory = new LoggerFactory(); - LoggerFactory.AddProviders(LoggerProviders); + LoggerFactory.AddAnsiConsole(); Logger = LoggerFactory.CreateLogger(); @@ -277,7 +265,7 @@ public class Startup private Task RegisterLogging() { WebAssemblyHostBuilder.Logging.ClearProviders(); - WebAssemblyHostBuilder.Logging.AddProviders(LoggerProviders); + WebAssemblyHostBuilder.Logging.AddAnsiConsole(); return Task.CompletedTask; } diff --git a/Moonlight.Client/UI/Layouts/MainLayout.razor b/Moonlight.Client/UI/Layouts/MainLayout.razor index 0f292a70..1a12401e 100644 --- a/Moonlight.Client/UI/Layouts/MainLayout.razor +++ b/Moonlight.Client/UI/Layouts/MainLayout.razor @@ -22,7 +22,7 @@
-
+
An unhandled error has occurred. diff --git a/Moonlight.Client/UI/Partials/AppSidebar.razor b/Moonlight.Client/UI/Partials/AppSidebar.razor index e698a6d9..f47ef4aa 100644 --- a/Moonlight.Client/UI/Partials/AppSidebar.razor +++ b/Moonlight.Client/UI/Partials/AppSidebar.razor @@ -1,12 +1,11 @@ @using System.Security.Claims @using Microsoft.AspNetCore.Authorization @using Microsoft.AspNetCore.Components.Authorization -@using MoonCore.Blazor.Tailwind.Auth +@using MoonCore.Blazor.FlyonUi.Auth @using Moonlight.Client.Interfaces @using Moonlight.Client.Models @using Moonlight.Client.UI.Layouts -@inject ToastService ToastService @inject NavigationManager Navigation @inject AuthenticationStateManager AuthStateManager @inject IEnumerable SidebarItemProviders diff --git a/Moonlight.Client/UI/Partials/Design/ThemeSettings.razor b/Moonlight.Client/UI/Partials/Design/ThemeSettings.razor index 17a1f29e..9881cf0a 100644 --- a/Moonlight.Client/UI/Partials/Design/ThemeSettings.razor +++ b/Moonlight.Client/UI/Partials/Design/ThemeSettings.razor @@ -9,7 +9,8 @@ @inject FrontendConfiguration FrontendConfiguration @inject ThemeService ThemeService @inject ToastService ToastService -@inject DownloadService DownloadService + +@* @inject DownloadService DownloadService *@
@@ -108,7 +109,7 @@ AddSetting("danger", "danger-300", 252, 165, 165); AddSetting("danger", "danger-400", 248, 113, 113); AddSetting("danger", "danger", 239, 68, 68); - AddSetting("danger", "danger-600", 220, 38, 38); + AddSetting("danger", "error", 220, 38, 38); AddSetting("danger", "danger-700", 185, 28, 28); AddSetting("danger", "danger-800", 153, 27, 27); AddSetting("danger", "danger-900", 127, 29, 29); @@ -192,7 +193,7 @@ { if (FrontendConfiguration.HostEnvironment != "ApiServer") { - await ToastService.Danger( + await ToastService.Error( "Theme Settings", "Unable to save the theme settings. If you are using a static host, you need to configure the colors in the frontend.json file" ); @@ -215,7 +216,7 @@ var json = JsonSerializer.Serialize(ThemeService.Variables); // Download the theme configuration - await DownloadService.DownloadString("theme.json", json); + //await DownloadService.DownloadString("theme.json", json); await ToastService.Success("Successfully exported theme configuration"); } @@ -224,7 +225,7 @@ { if (!eventArgs.File.Name.EndsWith(".json")) { - await ToastService.Danger("Only .json files are allowed"); + await ToastService.Error("Only .json files are allowed"); return; } diff --git a/Moonlight.Client/UI/Views/Admin/Api/Create.razor b/Moonlight.Client/UI/Views/Admin/Api/Create.razor index af9e2cb5..691175f3 100644 --- a/Moonlight.Client/UI/Views/Admin/Api/Create.razor +++ b/Moonlight.Client/UI/Views/Admin/Api/Create.razor @@ -10,7 +10,8 @@ @inject NavigationManager Navigation @inject ToastService ToastService @inject AlertService AlertService -@inject DownloadService DownloadService + +@* @inject DownloadService DownloadService *@ diff --git a/Moonlight.Client/UI/Views/Admin/Api/Index.razor b/Moonlight.Client/UI/Views/Admin/Api/Index.razor index 6f6e4baa..ad3634d3 100644 --- a/Moonlight.Client/UI/Views/Admin/Api/Index.razor +++ b/Moonlight.Client/UI/Views/Admin/Api/Index.razor @@ -2,8 +2,8 @@ @using MoonCore.Helpers @using MoonCore.Models -@using MoonCore.Blazor.Tailwind.Dt @using Moonlight.Shared.Http.Responses.Admin.ApiKeys +@using MoonCore.Blazor.FlyonUi.DataTables @inject HttpApiClient ApiClient @inject AlertService AlertService diff --git a/Moonlight.Client/UI/Views/Admin/Users/Create.razor b/Moonlight.Client/UI/Views/Admin/Users/Create.razor index 022951a7..69fbaa12 100644 --- a/Moonlight.Client/UI/Views/Admin/Users/Create.razor +++ b/Moonlight.Client/UI/Views/Admin/Users/Create.razor @@ -3,7 +3,6 @@ @using System.Text.Json @using MoonCore.Helpers @using Moonlight.Shared.Http.Requests.Admin.Users -@using MoonCore.Blazor.Tailwind.Input2 @inject HttpApiClient ApiClient @inject NavigationManager Navigation diff --git a/Moonlight.Client/UI/Views/Admin/Users/Index.razor b/Moonlight.Client/UI/Views/Admin/Users/Index.razor index 870e944a..f0a89872 100644 --- a/Moonlight.Client/UI/Views/Admin/Users/Index.razor +++ b/Moonlight.Client/UI/Views/Admin/Users/Index.razor @@ -2,8 +2,8 @@ @using MoonCore.Helpers @using MoonCore.Models -@using MoonCore.Blazor.Tailwind.Dt @using Moonlight.Shared.Http.Responses.Admin.Users +@using MoonCore.Blazor.FlyonUi.DataTables @inject HttpApiClient ApiClient @inject AlertService AlertService diff --git a/Moonlight.Client/UI/Views/Admin/Users/Update.razor b/Moonlight.Client/UI/Views/Admin/Users/Update.razor index 36c4b269..fd48300a 100644 --- a/Moonlight.Client/UI/Views/Admin/Users/Update.razor +++ b/Moonlight.Client/UI/Views/Admin/Users/Update.razor @@ -4,7 +4,6 @@ @using MoonCore.Helpers @using Moonlight.Shared.Http.Requests.Admin.Users @using Moonlight.Shared.Http.Responses.Admin.Users -@using MoonCore.Blazor.Tailwind.Input2 @inject HttpApiClient ApiClient @inject NavigationManager Navigation diff --git a/Moonlight.Client/_Imports.razor b/Moonlight.Client/_Imports.razor index 1eb61723..33fab635 100644 --- a/Moonlight.Client/_Imports.razor +++ b/Moonlight.Client/_Imports.razor @@ -8,9 +8,7 @@ @using Microsoft.JSInterop @using Moonlight.Client -@using MoonCore.Blazor.Tailwind.Components -@using MoonCore.Blazor.Tailwind.Alerts -@using MoonCore.Blazor.Tailwind.Helpers -@using MoonCore.Blazor.Tailwind.Modals -@using MoonCore.Blazor.Tailwind.Services -@using MoonCore.Blazor.Tailwind.Toasts \ No newline at end of file +@using MoonCore.Blazor.FlyonUi.Components +@using MoonCore.Blazor.FlyonUi.Modals +@using MoonCore.Blazor.FlyonUi.Toasts +@using MoonCore.Blazor.FlyonUi.Alerts \ No newline at end of file diff --git a/Moonlight.Client/wwwroot/index.html b/Moonlight.Client/wwwroot/index.html deleted file mode 100644 index 98f69182..00000000 --- a/Moonlight.Client/wwwroot/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - Moonlight.Client - - - - - - - - -
- -
-
-
-
-
-
-
-
-
-
- -
- - - - - - - - - diff --git a/Moonlight.Client/wwwroot/svg/completed.svg b/Moonlight.Client/wwwroot/svg/completed.svg deleted file mode 100644 index 6d51f78d..00000000 --- a/Moonlight.Client/wwwroot/svg/completed.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Moonlight.Client/wwwroot/svg/notfound.svg b/Moonlight.Client/wwwroot/svg/notfound.svg deleted file mode 100644 index 8174fed0..00000000 --- a/Moonlight.Client/wwwroot/svg/notfound.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/Moonlight.sln b/Moonlight.sln index f8306250..6ee5c7aa 100644 --- a/Moonlight.sln +++ b/Moonlight.sln @@ -6,6 +6,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moonlight.Client", "Moonlig EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moonlight.Shared", "Moonlight.Shared\Moonlight.Shared.csproj", "{C82E4F2A-91D2-4BC7-9AA7-241FDAAFC823}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moonlight.ApiServer.Runtime", "Moonlight.ApiServer.Runtime\Moonlight.ApiServer.Runtime.csproj", "{97FC686D-BC8A-4145-90C7-CA86B598441E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Moonlight.Client.Runtime", "Moonlight.Client.Runtime\Moonlight.Client.Runtime.csproj", "{72F21AA4-4721-4B4C-B2FF-CFDCBB1BCB05}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -24,6 +28,14 @@ Global {C82E4F2A-91D2-4BC7-9AA7-241FDAAFC823}.Debug|Any CPU.Build.0 = Debug|Any CPU {C82E4F2A-91D2-4BC7-9AA7-241FDAAFC823}.Release|Any CPU.ActiveCfg = Release|Any CPU {C82E4F2A-91D2-4BC7-9AA7-241FDAAFC823}.Release|Any CPU.Build.0 = Release|Any CPU + {97FC686D-BC8A-4145-90C7-CA86B598441E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {97FC686D-BC8A-4145-90C7-CA86B598441E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {97FC686D-BC8A-4145-90C7-CA86B598441E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {97FC686D-BC8A-4145-90C7-CA86B598441E}.Release|Any CPU.Build.0 = Release|Any CPU + {72F21AA4-4721-4B4C-B2FF-CFDCBB1BCB05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {72F21AA4-4721-4B4C-B2FF-CFDCBB1BCB05}.Debug|Any CPU.Build.0 = Debug|Any CPU + {72F21AA4-4721-4B4C-B2FF-CFDCBB1BCB05}.Release|Any CPU.ActiveCfg = Release|Any CPU + {72F21AA4-4721-4B4C-B2FF-CFDCBB1BCB05}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution EndGlobalSection