< Summary - Syki

Information
Class: Syki.Front.Pages.Academic.AcademicWebhooksPage
Assembly: Front
File(s): /home/runner/work/syki/syki/Front/Pages/Academic/AcademicWebhooksPage.razor
Tag: 4_16869239191
Line coverage
0%
Covered lines: 0
Uncovered lines: 17
Coverable lines: 17
Total lines: 81
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor()100%210%
OnInitializedAsync()100%210%
LoadData()100%210%
OpenDrawer()100%210%
GetNotFoundMessage()0%620%

File(s)

/home/runner/work/syki/syki/Front/Pages/Academic/AcademicWebhooksPage.razor

#LineLine coverage
 1@using Syki.Front.Features.Academic.CreateWebhookSubscription
 2
 3@namespace Syki.Front.Pages.Academic
 4
 5@page "/academic/webhooks"
 6@attribute [Authorize(Roles = "Academic")]
 7
 8<SykiPageTitle Title="Webhooks" />
 9
 10<MudContainer Class="my-4 px-4">
 11    <SykiPageHeader Icon="@Icons.Material.Filled.Webhook" Title="Webhooks" ButtonText="Novo Webhook" OnClick="@OpenDrawe
 12    <SykiPageAlert Text="Configure webhooks para receber notificações quando determinados eventos acontecerem no sistema
 13    <MudContainer Class="px-0 mb-4">
 14        <MudDataGrid
 15            T="GetWebhooksOut"
 16            Class="pa-4"
 17            Items="@_webhooks"
 18            Dense="true"
 19            Hover="true"
 20            ReadOnly="true"
 21            Loading="@_loading"
 22            RowsPerPage="10"
 23            FooterClass="d-flex"
 24        >
 25            <Columns>
 26                <PropertyColumn Property="x => x.Name" Title="Nome" />
 27                <PropertyColumn Property="x => x.Url" Title="Url" />
 28                <PropertyColumn Property="x => x.CallsCount.ToThousandSeparated()" Title="Chamadas" />
 29                <PropertyColumn Property="x => x.CreatedAt.ToLocalTime().Format()" Title="Criado em" />
 30
 31                <TemplateColumn>
 32                    <CellTemplate>
 33                        <MudIconButton Size="@Size.Small" Icon="@Icons.Material.Filled.RemoveRedEye" Href="@($"/academic
 34                    </CellTemplate>
 35                </TemplateColumn>
 36            </Columns>
 37            <NoRecordsContent>
 038                @(GetNotFoundMessage())
 39            </NoRecordsContent>
 40            <PagerContent>
 41                <SykiDataGridPager T="GetWebhooksOut"/>
 42            </PagerContent>
 43        </MudDataGrid>
 44    </MudContainer>
 45</MudContainer>
 46
 047<CreateWebhookSubscriptionDrawer @ref="@_drawer" AfterSubmit="@LoadData" />
 048
 049@inject NavigationManager Nav
 050@inject IDialogService DialogService
 051@inject GetWebhooksClient GetWebhooksClient
 052
 53@code
 54{
 55    private bool _loading;
 56    private string _searchString;
 057    private List<GetWebhooksOut> _webhooks = [];
 58    private CreateWebhookSubscriptionDrawer _drawer = default!;
 59
 60    protected override async Task OnInitializedAsync()
 61    {
 062        await LoadData();
 063    }
 64
 65    private async Task LoadData()
 66    {
 067        _loading = true;
 068        _webhooks = await GetWebhooksClient.Get();
 069        _loading = false;
 070    }
 71
 72    private async Task OpenDrawer()
 73    {
 074        await _drawer.Open();
 075    }
 76
 77    private string GetNotFoundMessage()
 78    {
 079        return (_searchString.IsEmpty()) ? "Não existem webhooks cadastrados ainda." : "Nenhum webhook encontrado.";
 80    }
 81}