< Summary

Information
Class: Elsa.Dashboard.Abstractions.Contracts.IDashboardContributor
Assembly: Elsa.Dashboard.Abstractions
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Dashboard.Abstractions/Contracts/IDashboardContributor.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 5
Coverable lines: 5
Total lines: 76
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
GetOverviewAsync(...)100%210%
GetFindingsAsync(...)100%210%
GetWorkflowTrendsAsync(...)100%210%
GetRecentActivityAsync(...)100%210%
GetWorkflowHotspotsAsync(...)100%210%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Dashboard.Abstractions/Contracts/IDashboardContributor.cs

#LineLine coverage
 1using Elsa.Dashboard.Abstractions.Models;
 2
 3namespace Elsa.Dashboard.Abstractions.Contracts;
 4
 5public interface IDashboardContributor
 6{
 7    string Id { get; }
 8
 9    int Order { get; }
 10
 11    ValueTask<DashboardOverviewContribution?> GetOverviewAsync(DashboardContext context)
 12    {
 013        return ValueTask.FromResult<DashboardOverviewContribution?>(null);
 14    }
 15
 16    ValueTask<IReadOnlyCollection<DashboardFinding>> GetFindingsAsync(DashboardContext context)
 17    {
 018        return ValueTask.FromResult<IReadOnlyCollection<DashboardFinding>>([]);
 19    }
 20
 21    ValueTask<DashboardTrendResponse?> GetWorkflowTrendsAsync(DashboardTrendContext context)
 22    {
 023        return ValueTask.FromResult<DashboardTrendResponse?>(null);
 24    }
 25
 26    ValueTask<DashboardRecentActivityResponse?> GetRecentActivityAsync(DashboardListContext context)
 27    {
 028        return ValueTask.FromResult<DashboardRecentActivityResponse?>(null);
 29    }
 30
 31    ValueTask<DashboardWorkflowHotspotsResponse?> GetWorkflowHotspotsAsync(DashboardHotspotsContext context)
 32    {
 033        return ValueTask.FromResult<DashboardWorkflowHotspotsResponse?>(null);
 34    }
 35}
 36
 37public record DashboardContext(
 38    DashboardRange Range,
 39    bool IncludeSystem,
 40    CancellationToken CancellationToken,
 41    string? TenantId = null,
 42    string? EnvironmentName = null);
 43
 44public record DashboardTrendContext(
 45    DashboardRange Range,
 46    string Granularity,
 47    bool IncludeSystem,
 48    CancellationToken CancellationToken,
 49    string? TenantId = null,
 50    string? EnvironmentName = null);
 51
 52public record DashboardListContext(
 53    DashboardRange Range,
 54    int Take,
 55    bool IncludeSystem,
 56    CancellationToken CancellationToken,
 57    string? TenantId = null,
 58    string? EnvironmentName = null);
 59
 60public record DashboardHotspotsContext(
 61    DashboardRange Range,
 62    string Metric,
 63    int Take,
 64    bool IncludeSystem,
 65    CancellationToken CancellationToken,
 66    string? TenantId = null,
 67    string? EnvironmentName = null);
 68
 69public record DashboardOverviewContribution
 70{
 71    public DashboardRuntimeStatus? Runtime { get; init; }
 72    public DashboardWorkflowInstanceMetrics? WorkflowInstances { get; init; }
 73    public DashboardDiagnosticsSummary? Diagnostics { get; init; }
 74    public IReadOnlyCollection<DashboardMetricCard> Metrics { get; init; } = [];
 75    public IReadOnlyCollection<DashboardPanelSummary> Panels { get; init; } = [];
 76}