@page "/admin/api/create" @using System.Text.Json @using MoonCore.Helpers @using Moonlight.Shared.Http.Requests.Admin.ApiKeys @using Moonlight.Shared.Http.Responses.Admin.ApiKeys @using MoonCore.Blazor.FlyonUi.Forms @using MoonCore.Blazor.FlyonUi.Helpers @inject HttpApiClient ApiClient @inject NavigationManager Navigation @inject ToastService ToastService @inject AlertService AlertService @inject DownloadService DownloadService Back Create
@code { private HandleForm Form; private CreateApiKeyRequest Request; private List Permissions = []; protected override void OnInitialized() { Request = new(); } private async Task OnSubmit() { Request.Permissions = Permissions.ToArray(); Request.ExpiresAt = Request.ExpiresAt.ToUniversalTime(); var response = await ApiClient.PostJson("api/admin/apikeys", Request); await DownloadService.Download( $"moonlight-key-{response.Id}.txt", response.Secret ); await AlertService.Success( "API Key successfully created", "The API Key has been downloaded. Dont lose it, you cant view it anymore" ); await ToastService.Success("Successfully created api key"); Navigation.NavigateTo("/admin/api"); } }