@page "/admin/users/{Id:int}" @using System.Text.Json @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 @inject ToastService ToastService Back Update
@code { [Parameter] public int Id { get; set; } private HandleForm Form; private UpdateUserRequest Request; private string[] Permissions = []; private async Task Load(LazyLoader _) { var detail = await ApiClient.GetJson($"api/admin/users/{Id}"); Permissions = JsonSerializer.Deserialize(detail.PermissionsJson) ?? []; Request = new() { Email = detail.Email, PermissionsJson = detail.PermissionsJson, Username = detail.Username }; } private async Task OnSubmit() { Request.PermissionsJson = JsonSerializer.Serialize(Permissions); await ApiClient.Patch($"api/admin/users/{Id}", Request); await ToastService.Success("Successfully updated user"); Navigation.NavigateTo("/admin/users"); } }