@using Moonlight.Frontend.Helpers @using Moonlight.Shared.Http @using Moonlight.Shared.Http.Requests.Admin.Users @using Moonlight.Shared.Http.Responses @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 Create new user Create a new user by giving it a username and an email address
Username Email Address
Save changes
@code { [Parameter] public Func OnCompleted { get; set; } private CreateUserDto Request; protected override void OnInitialized() { Request = new(); } private async Task OnSubmitAsync(EditContext editContext, ValidationMessageStore validationMessageStore) { var response = await HttpClient.PostAsJsonAsync( "/api/admin/users", Request, SerializationContext.Default.Options ); if (!response.IsSuccessStatusCode) { await ProblemDetailsHelper.HandleProblemDetailsAsync(response, Request, validationMessageStore); return false; } await ToastService.SuccessAsync( "User creation", $"Successfully created user {Request.Username}" ); await OnCompleted.Invoke(); await CloseAsync(); return true; } }