Cleaned up interfaces. Extracted server state machine trigger handler to seperated classes. Removed legacy code

This commit is contained in:
2025-09-06 15:34:35 +02:00
parent 7587a7e8e3
commit 348e9560ab
97 changed files with 1256 additions and 4670 deletions

View File

@@ -32,7 +32,7 @@
<div class="sm:col-span-2">
<label class="block text-sm font-medium leading-6 text-base-content">Star</label>
<div class="mt-2">
<InputItem TItem="StarDetailResponse"
<InputItem TItem="StarResponse"
DisplayField="@(x => x.Name)"
SearchField="@(x => x.Name)"
ItemSource="LoadStars"
@@ -91,10 +91,10 @@
[Parameter] public CreateServerRequest Request { get; set; }
[Parameter] public Create Parent { get; set; }
private async Task<StarDetailResponse[]> LoadStars()
private async Task<StarResponse[]> LoadStars()
{
return await PagedData<StarDetailResponse>.All(async (page, pageSize) =>
await ApiClient.GetJson<PagedData<StarDetailResponse>>(
return await PagedData<StarResponse>.All(async (page, pageSize) =>
await ApiClient.GetJson<PagedData<StarResponse>>(
$"api/admin/servers/stars?page={page}&pageSize={pageSize}"
)
);

View File

@@ -43,7 +43,7 @@
[Parameter] public CreateServerRequest Request { get; set; }
[Parameter] public Create Parent { get; set; }
private StarVariableDetailResponse[] StarVariables;
private StarVariableResponse[] StarVariables;
private async Task Load(LazyLoader _)
{
@@ -53,14 +53,14 @@
return;
}
StarVariables = await PagedData<StarVariableDetailResponse>.All(async (page, pageSize) =>
await ApiClient.GetJson<PagedData<StarVariableDetailResponse>>(
StarVariables = await PagedData<StarVariableResponse>.All(async (page, pageSize) =>
await ApiClient.GetJson<PagedData<StarVariableResponse>>(
$"api/admin/servers/stars/{Parent.Star.Id}/variables?page={page}&pageSize={pageSize}"
)
);
}
private async Task UpdateValue(StarVariableDetailResponse starVariable, ChangeEventArgs args)
private async Task UpdateValue(StarVariableResponse starVariable, ChangeEventArgs args)
{
var value = args.Value?.ToString() ?? "";

View File

@@ -45,13 +45,13 @@
[Parameter] public UpdateServerRequest Request { get; set; }
[Parameter] public ServerResponse Server { get; set; }
private StarVariableDetailResponse[] StarVariables;
private StarVariableResponse[] StarVariables;
private ServerVariableResponse[] ServerVariables;
private async Task Load(LazyLoader _)
{
StarVariables = await PagedData<StarVariableDetailResponse>.All(async (page, pageSize) =>
await ApiClient.GetJson<PagedData<StarVariableDetailResponse>>(
StarVariables = await PagedData<StarVariableResponse>.All(async (page, pageSize) =>
await ApiClient.GetJson<PagedData<StarVariableResponse>>(
$"api/admin/servers/stars/{Server.StarId}/variables?page={page}&pageSize={pageSize}"
)
);

View File

@@ -34,7 +34,7 @@
@code
{
[Parameter] public Func<UpdateStarDockerImageRequest, Task> OnSubmit { get; set; }
[Parameter] public StarDockerImageDetailResponse DockerImage { get; set; }
[Parameter] public StarDockerImageResponse DockerImage { get; set; }
private UpdateStarDockerImageRequest Form;
private HandleForm HandleForm;

View File

@@ -65,7 +65,7 @@
@code
{
[Parameter] public Func<UpdateStarVariableRequest, Task> OnSubmit { get; set; }
[Parameter] public StarVariableDetailResponse Variable { get; set; }
[Parameter] public StarVariableResponse Variable { get; set; }
private UpdateStarVariableRequest Form;
private HandleForm HandleForm;

View File

@@ -46,14 +46,14 @@
@code
{
[Parameter] public StarDetailResponse Star { get; set; }
[Parameter] public StarResponse Star { get; set; }
private StarDockerImageDetailResponse[] DockerImages;
private StarDockerImageResponse[] DockerImages;
private LazyLoader LazyLoader;
private async Task Load(LazyLoader _)
{
var pagedVariables = await ApiClient.GetJson<PagedData<StarDockerImageDetailResponse>>(
var pagedVariables = await ApiClient.GetJson<PagedData<StarDockerImageResponse>>(
$"api/admin/servers/stars/{Star.Id}/dockerImages?page=0&pageSize=50"
);
@@ -76,7 +76,7 @@
});
}
private async Task UpdateDockerImage(StarDockerImageDetailResponse dockerImage)
private async Task UpdateDockerImage(StarDockerImageResponse dockerImage)
{
Func<UpdateStarDockerImageRequest, Task> onSubmit = async request =>
{
@@ -93,7 +93,7 @@
});
}
private async Task DeleteDockerImage(StarDockerImageDetailResponse dockerImage)
private async Task DeleteDockerImage(StarDockerImageResponse dockerImage)
{
await AlertService.ConfirmDanger(
"Delete docker image",

View File

@@ -49,13 +49,13 @@
@code
{
[Parameter] public UpdateStarRequest Request { get; set; }
[Parameter] public StarDetailResponse Star { get; set; }
[Parameter] public StarResponse Star { get; set; }
private List<StarDockerImageDetailResponse> DockerImages;
private List<StarDockerImageResponse> DockerImages;
private async Task Load(LazyLoader _)
{
var pagedVariables = await ApiClient.GetJson<PagedData<StarDockerImageDetailResponse>>(
var pagedVariables = await ApiClient.GetJson<PagedData<StarDockerImageResponse>>(
$"api/admin/servers/stars/{Star.Id}/dockerImages?page=0&pageSize=50"
);

View File

@@ -46,14 +46,14 @@
@code
{
[Parameter] public StarDetailResponse Star { get; set; }
[Parameter] public StarResponse Star { get; set; }
private StarVariableDetailResponse[] CurrentVariables;
private StarVariableResponse[] CurrentVariables;
private LazyLoader LazyLoader;
private async Task Load(LazyLoader arg)
{
var pagedVariables = await ApiClient.GetJson<PagedData<StarVariableDetailResponse>>(
var pagedVariables = await ApiClient.GetJson<PagedData<StarVariableResponse>>(
$"api/admin/servers/stars/{Star.Id}/variables?page=0&pageSize=50"
);
@@ -76,7 +76,7 @@
}, "max-w-xl");
}
private async Task UpdateVariable(StarVariableDetailResponse variable)
private async Task UpdateVariable(StarVariableResponse variable)
{
Func<UpdateStarVariableRequest, Task> onSubmit = async request =>
{
@@ -93,7 +93,7 @@
}, "max-w-xl");
}
private async Task DeleteVariable(StarVariableDetailResponse variable)
private async Task DeleteVariable(StarVariableResponse variable)
{
await AlertService.ConfirmDanger(
"Delete variable",

View File

@@ -53,7 +53,7 @@
public List<NodeAllocationResponse> Allocations = new();
public UserResponse? Owner;
public StarDetailResponse? Star;
public StarResponse? Star;
public NodeResponse? Node;
protected override void OnInitialized()

View File

@@ -83,7 +83,7 @@
{
private DataTable<ServerResponse> Table;
private List<StarDetailResponse> Stars = new();
private List<StarResponse> Stars = new();
private List<NodeResponse> Nodes = new();
private async Task<IPagedData<ServerResponse>> LoadData(PaginationOptions options)
@@ -101,7 +101,7 @@
if (Stars.All(x => x.Id != item.StarId))
{
var star = await ApiClient.GetJson<StarDetailResponse>($"api/admin/servers/stars/{item.StarId}");
var star = await ApiClient.GetJson<StarResponse>($"api/admin/servers/stars/{item.StarId}");
Stars.Add(star);
}
}

View File

@@ -35,21 +35,21 @@
</PageHeader>
</div>
<DataTable @ref="Table" TItem="StarDetailResponse">
<DataTable @ref="Table" TItem="StarResponse">
<Configuration>
<Pagination TItem="StarDetailResponse" ItemSource="LoadData" />
<Pagination TItem="StarResponse" ItemSource="LoadData" />
<DataTableColumn TItem="StarDetailResponse" Field="@(x => x.Id)" Name="Id"/>
<DataTableColumn TItem="StarDetailResponse" Field="@(x => x.Name)" Name="Name">
<DataTableColumn TItem="StarResponse" Field="@(x => x.Id)" Name="Id"/>
<DataTableColumn TItem="StarResponse" Field="@(x => x.Name)" Name="Name">
<ColumnTemplate>
<a class="text-primary" href="/admin/servers/stars/update/@(context.Id)">
@context.Name
</a>
</ColumnTemplate>
</DataTableColumn>
<DataTableColumn TItem="StarDetailResponse" Field="@(x => x.Version)" Name="Version"/>
<DataTableColumn TItem="StarDetailResponse" Field="@(x => x.Author)" Name="Author"/>
<DataTableColumn TItem="StarDetailResponse">
<DataTableColumn TItem="StarResponse" Field="@(x => x.Version)" Name="Version"/>
<DataTableColumn TItem="StarResponse" Field="@(x => x.Author)" Name="Author"/>
<DataTableColumn TItem="StarResponse">
<ColumnTemplate>
<div class="flex justify-end">
@if (!string.IsNullOrEmpty(context.DonateUrl))
@@ -89,19 +89,19 @@
@code
{
private DataTable<StarDetailResponse> Table;
private DataTable<StarResponse> Table;
private async Task<IPagedData<StarDetailResponse>> LoadData(PaginationOptions options)
=> await ApiClient.GetJson<PagedData<StarDetailResponse>>($"api/admin/servers/stars?page={options.Page}&pageSize={options.PerPage}");
private async Task<IPagedData<StarResponse>> LoadData(PaginationOptions options)
=> await ApiClient.GetJson<PagedData<StarResponse>>($"api/admin/servers/stars?page={options.Page}&pageSize={options.PerPage}");
private async Task Delete(StarDetailResponse detailResponse)
private async Task Delete(StarResponse response)
{
await AlertService.ConfirmDanger(
"Star deletion",
$"Do you really want to delete the star '{detailResponse.Name}'",
$"Do you really want to delete the star '{response.Name}'",
async () =>
{
await ApiClient.Delete($"api/admin/servers/stars/{detailResponse.Id}");
await ApiClient.Delete($"api/admin/servers/stars/{response.Id}");
await ToastService.Success("Successfully deleted star");
await Table.Refresh();
@@ -109,7 +109,7 @@
);
}
private async Task Export(StarDetailResponse star)
private async Task Export(StarResponse star)
{
var json = await ApiClient.GetString($"api/admin/servers/stars/{star.Id}/export");
@@ -145,7 +145,7 @@
var content = new MultipartFormDataContent();
content.Add(new StreamContent(stream), "file", file.Name);
var star = await ApiClient.PostJson<StarDetailResponse>("api/admin/servers/stars/import", content);
var star = await ApiClient.PostJson<StarResponse>("api/admin/servers/stars/import", content);
await ToastService.Success($"Successfully imported '{star.Name}'");
}

View File

@@ -68,11 +68,11 @@
private HandleForm Form;
private UpdateStarRequest Request;
private StarDetailResponse Detail;
private StarResponse Detail;
private async Task Load(LazyLoader _)
{
Detail = await ApiClient.GetJson<StarDetailResponse>($"api/admin/servers/stars/{Id}");
Detail = await ApiClient.GetJson<StarResponse>($"api/admin/servers/stars/{Id}");
Request = new()
{
Name = Detail.Name,