@namespace Oqtane.Modules.Admin.Apis @inherits ModuleBase @inject IApiService ApiService @inject NavigationManager NavigationManager @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer

@if (_permissions != null) { }
@SharedLocalizer["Cancel"] @code { private string _entityname; private string _permissionnames; private string _permissions; #pragma warning disable 649 private PermissionGrid _permissionGrid; #pragma warning restore 649 public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; protected override async Task OnInitializedAsync() { try { _entityname = PageState.QueryString["entity"]; var api = await ApiService.GetApiAsync(PageState.Site.SiteId, _entityname); if (api != null) { var apis = await ApiService.GetApisAsync(PageState.Site.SiteId); _permissionnames = apis.SingleOrDefault(item => item.EntityName == _entityname).Permissions; _permissions = api.Permissions; } } catch (Exception ex) { await logger.LogError(ex, "Error Loading API {EntityName} {Error}", _entityname, ex.Message); AddModuleMessage(Localizer["Error.Module.Load"], MessageType.Error); } } private async Task SaveModuleDefinition() { try { var api = new Api(); api.SiteId = PageState.Site.SiteId; api.EntityName = _entityname; api.Permissions = _permissionGrid.GetPermissions(); await ApiService.UpdateApiAsync(api); await logger.LogInformation("API Saved {Api}", api); NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { await logger.LogError(ex, "Error Saving Api {EntityName} {Error}", _entityname, ex.Message); AddModuleMessage(Localizer["Error.Module.Save"], MessageType.Error); } } }