@using Moonlight.Frontend.Helpers
@using MoonlightServers.Shared
@using MoonlightServers.Shared.Admin.Templates
@using ShadcnBlazor.Dialogs
@using ShadcnBlazor.Buttons
@using ShadcnBlazor.Extras.Forms
@using ShadcnBlazor.Extras.Toasts
@using ShadcnBlazor.Fields
@using ShadcnBlazor.Inputs
@using ShadcnBlazor.Switches
@inherits ShadcnBlazor.Extras.Dialogs.DialogBase
@inject HttpClient HttpClient
@inject ToastService ToastService
Create Docker Image
Create a new docker image
@code
{
[Parameter] public DetailedTemplateDto Template { get; set; }
[Parameter] public Func OnSubmit { get; set; }
private CreateDockerImageDto Model = new();
private EnhancedEditForm Form;
private async Task OnValidSubmitAsync(EditContext editContext, ValidationMessageStore validationMessageStore)
{
var response = await HttpClient.PostAsJsonAsync(
$"api/admin/servers/templates/{Template.Id}/dockerImages",
Model,
SerializationContext.Default.Options
);
if (!response.IsSuccessStatusCode)
{
await ProblemDetailsHelper.HandleProblemDetailsAsync(response, Model, validationMessageStore);
return false;
}
await OnSubmit.Invoke();
await ToastService.SuccessAsync(
"Docker Image Creation",
$"Successfully created variable {Model.DisplayName}"
);
await CloseAsync();
return true;
}
}