@page "/users/{Id:int}" @using LucideBlazor @using ShadcnBlazor.Buttons @using ShadcnBlazor.Labels @using ShadcnBlazor.Cards @using ShadcnBlazor.Extras.Common @using ShadcnBlazor.Extras.FormHandlers @using ShadcnBlazor.Extras.Toasts @using ShadcnBlazor.Inputs @using Moonlight.Frontend.Mappers @using Moonlight.Shared.Http.Requests.Users @using Moonlight.Shared.Http.Responses.Users @inject HttpClient HttpClient @inject NavigationManager Navigation @inject ToastService ToastService

Update user

Update an existing user
@code { [Parameter] public int Id { get; set; } private FormHandler Form; private UpdateUserDto Request; private UserDto User; private async Task LoadAsync(LazyLoader _) { var user = await HttpClient.GetFromJsonAsync($"api/users/{Id}", Constants.SerializerOptions); User = user!; Request = UserMapper.ToUpdate(User); } private async Task OnSubmitAsync() { await HttpClient.PatchAsJsonAsync( $"/api/users/{User.Id}", Request ); await ToastService.SuccessAsync( "User creation", $"Successfully updated user {Request.Username}" ); Navigation.NavigateTo("/users"); } }