@page "/admin/users/{Id:int}"
@using MoonCore.Helpers
@using Moonlight.Shared.Http.Requests.Admin.Users
@using Moonlight.Shared.Http.Responses.Admin.Users
@using MoonCore.Blazor.FlyonUi.Forms
@inject HttpApiClient ApiClient
@inject NavigationManager Navigation
@inject ToastService ToastService
Back
Update
@code
{
[Parameter] public int Id { get; set; }
private HandleForm Form;
private UpdateUserRequest Request;
private List Permissions = [];
private async Task Load(LazyLoader _)
{
var detail = await ApiClient.GetJson($"api/admin/users/{Id}");
Permissions = detail.Permissions.ToList();
Request = new()
{
Email = detail.Email,
Permissions = detail.Permissions,
Username = detail.Username
};
}
private async Task OnSubmit()
{
Request.Permissions = Permissions.ToArray();
await ApiClient.Patch($"api/admin/users/{Id}", Request);
await ToastService.Success("Successfully updated user");
Navigation.NavigateTo("/admin/users");
}
}