From e83d1351cb6e757ed03c808c8865baccc5e91273 Mon Sep 17 00:00:00 2001 From: ChiaraBm Date: Wed, 16 Jul 2025 21:29:43 +0200 Subject: [PATCH] Fixed server create ui --- .../Controllers/Admin/Servers/ServersController.cs | 3 +++ .../AllocationsServerCreate.razor | 10 +++++----- .../CreateServerPartials/GeneralServerCreate.razor | 12 +++++------- .../VariablesServerCreate.razor | 7 ++++--- .../UI/Views/Admin/All/Create.razor | 14 +++++++------- 5 files changed, 24 insertions(+), 22 deletions(-) diff --git a/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServersController.cs b/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServersController.cs index a3013a8..b0fba4d 100644 --- a/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServersController.cs +++ b/MoonlightServers.ApiServer/Http/Controllers/Admin/Servers/ServersController.cs @@ -291,6 +291,9 @@ public class ServersController : Controller var server = await ServerRepository .Get() .Include(x => x.Node) + .Include(x => x.Star) + .Include(x => x.Variables) + .Include(x => x.Backups) .FirstOrDefaultAsync(x => x.Id == id); if (server == null) diff --git a/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/AllocationsServerCreate.razor b/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/AllocationsServerCreate.razor index d35b612..75dedec 100644 --- a/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/AllocationsServerCreate.razor +++ b/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/AllocationsServerCreate.razor @@ -3,6 +3,7 @@ @using MoonCore.Models @using MoonlightServers.Shared.Http.Responses.Admin.NodeAllocations @using MoonCore.Blazor.FlyonUi.Forms +@using MoonlightServers.Frontend.UI.Views.Admin.All @using MoonlightServers.Shared.Http.Responses.Admin.Nodes @inject HttpApiClient ApiClient @@ -14,7 +15,7 @@ @@ -24,19 +25,18 @@ @code { [Parameter] public CreateServerRequest Request { get; set; } - [Parameter] public List Allocations { get; set; } - [Parameter] public NodeResponse? Node { get; set; } + [Parameter] public Create Parent { get; set; } private async Task ItemSource() { // Handle unselected node // ReSharper disable once ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract - if (Node == null) + if (Parent.Node == null) return []; var items = await PagedData.All(async (page, pageSize) => await ApiClient.GetJson>( - $"api/admin/servers/nodes/{Node.Id}/allocations/free?page={page}&pageSize={pageSize}" + $"api/admin/servers/nodes/{Parent.Node.Id}/allocations/free?page={page}&pageSize={pageSize}" ) ); diff --git a/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/GeneralServerCreate.razor b/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/GeneralServerCreate.razor index c1999ea..384dd5d 100644 --- a/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/GeneralServerCreate.razor +++ b/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/GeneralServerCreate.razor @@ -5,6 +5,7 @@ @using MoonlightServers.Shared.Http.Responses.Admin.Stars @using Moonlight.Shared.Http.Responses.Admin.Users @using MoonCore.Blazor.FlyonUi.Forms +@using MoonlightServers.Frontend.UI.Views.Admin.All @inject HttpApiClient ApiClient @@ -23,7 +24,7 @@ DisplayField="@(x => x.Username)" SearchField="@(x => x.Username)" ItemSource="LoadUsers" - @bind-Value="User"> + @bind-Value="Parent.Owner"> @@ -35,7 +36,7 @@ DisplayField="@(x => x.Name)" SearchField="@(x => x.Name)" ItemSource="LoadStars" - @bind-Value="Star"> + @bind-Value="Parent.Star"> @@ -47,7 +48,7 @@ DisplayField="@(x => x.Name)" SearchField="@(x => x.Name)" ItemSource="LoadNodes" - @bind-Value="Node"> + @bind-Value="Parent.Node"> @@ -88,10 +89,7 @@ @code { [Parameter] public CreateServerRequest Request { get; set; } - - [Parameter] public UserResponse? User { get; set; } - [Parameter] public NodeResponse? Node { get; set; } - [Parameter] public StarDetailResponse? Star { get; set; } + [Parameter] public Create Parent { get; set; } private async Task LoadStars() { diff --git a/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/VariablesServerCreate.razor b/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/VariablesServerCreate.razor index 058db02..cdc5dd4 100644 --- a/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/VariablesServerCreate.razor +++ b/MoonlightServers.Frontend/UI/Components/Servers/CreateServerPartials/VariablesServerCreate.razor @@ -2,6 +2,7 @@ @using MoonlightServers.Shared.Http.Requests.Admin.Servers @using MoonCore.Helpers @using MoonCore.Models +@using MoonlightServers.Frontend.UI.Views.Admin.All @using MoonlightServers.Shared.Http.Requests.Admin.ServerVariables @using MoonlightServers.Shared.Http.Responses.Admin.Stars @using MoonlightServers.Shared.Http.Responses.Admin.StarVariables @@ -40,13 +41,13 @@ @code { [Parameter] public CreateServerRequest Request { get; set; } - [Parameter] public StarDetailResponse? Star { get; set; } + [Parameter] public Create Parent { get; set; } private StarVariableDetailResponse[] StarVariables; private async Task Load(LazyLoader _) { - if (Star == null) + if (Parent.Star == null) { StarVariables = []; return; @@ -54,7 +55,7 @@ StarVariables = await PagedData.All(async (page, pageSize) => await ApiClient.GetJson>( - $"api/admin/servers/stars/{Request.StarId}/variables?page={page}&pageSize={pageSize}" + $"api/admin/servers/stars/{Parent.Star.Id}/variables?page={page}&pageSize={pageSize}" ) ); } diff --git a/MoonlightServers.Frontend/UI/Views/Admin/All/Create.razor b/MoonlightServers.Frontend/UI/Views/Admin/All/Create.razor index 47be71f..f5b6088 100644 --- a/MoonlightServers.Frontend/UI/Views/Admin/All/Create.razor +++ b/MoonlightServers.Frontend/UI/Views/Admin/All/Create.razor @@ -31,13 +31,13 @@ - + - + - + @@ -51,10 +51,10 @@ private HandleForm Form; private CreateServerRequest Request; - private List Allocations = new(); - private UserResponse? Owner; - private StarDetailResponse? Star; - private NodeResponse? Node; + public List Allocations = new(); + public UserResponse? Owner; + public StarDetailResponse? Star; + public NodeResponse? Node; protected override void OnInitialized() {