@using Moonlight.Frontend.Helpers @using Moonlight.Frontend.Mappers @using Moonlight.Shared.Http.Requests.Admin.Users @using Moonlight.Shared.Http.Responses @using Moonlight.Shared.Http.Responses.Admin.Users @using ShadcnBlazor.Dialogs @using ShadcnBlazor.Extras.Forms @using ShadcnBlazor.Extras.Toasts @using ShadcnBlazor.Fields @using ShadcnBlazor.Inputs @inherits ShadcnBlazor.Extras.Dialogs.DialogBase @inject HttpClient HttpClient @inject ToastService ToastService Update @User.Username Update the user by giving it a username and an email address
Username Email Address
Save changes
@code { [Parameter] public Func OnCompleted { get; set; } [Parameter] public UserDto User { get; set; } private UpdateUserDto Request; protected override void OnInitialized() { Request = UserMapper.ToUpdate(User); } private async Task OnSubmitAsync(EditContext editContext, ValidationMessageStore validationMessageStore) { var response = await HttpClient.PatchAsJsonAsync( $"/api/admin/users/{User.Id}", Request ); if (!response.IsSuccessStatusCode) { await ProblemDetailsHelper.HandleProblemDetailsAsync(response, Request, validationMessageStore); return false; } await ToastService.SuccessAsync( "User update", $"Successfully updated user {Request.Username}" ); await OnCompleted.Invoke(); await CloseAsync(); return true; } }