@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.Tailwind.Input2 @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 string[] Permissions = []; protected override void OnInitialized() { Request = new(); } private async Task OnSubmit() { Request.PermissionsJson = JsonSerializer.Serialize(Permissions); Request.ExpiresAt = Request.ExpiresAt.ToUniversalTime(); var response = await ApiClient.PostJson("api/admin/apikeys", Request); await DownloadService.DownloadString( $"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"); } }