< Summary

Information
Class: Elsa.Connections.Contracts.ConnectionUseRequest
Assembly: Elsa.Connections
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Connections/Contracts/IConnectionUseAuthorizer.cs
Line coverage
100%
Covered lines: 7
Uncovered lines: 0
Coverable lines: 7
Total lines: 26
Line coverage: 100%
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
.ctor(...)100%11100%
get_Principal()100%11100%
get_Kind()100%11100%
get_TenantId()100%11100%
get_EnvironmentId()100%11100%
get_ConnectionId()100%11100%
get_Purpose()100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Connections/Contracts/IConnectionUseAuthorizer.cs

#LineLine coverage
 1using System.Security.Claims;
 2
 3namespace Elsa.Connections.Contracts;
 4
 5public interface IConnectionUseAuthorizer
 6{
 7    Task<bool> AuthorizeAsync(ConnectionUseRequest request, CancellationToken cancellationToken = default);
 8}
 9
 10/// <summary>
 11/// Scope identifiers select a resource; they are not proof of authorization. Implementations must validate the
 12/// authenticated principal and apply separate human-use and server-background policies.
 13/// </summary>
 22314public sealed record ConnectionUseRequest(
 49815    ClaimsPrincipal Principal,
 56616    ConnectionUseKind Kind,
 22517    string TenantId,
 22118    string EnvironmentId,
 17119    string ConnectionId,
 74920    string Purpose);
 21
 22public enum ConnectionUseKind
 23{
 24    Human,
 25    BackgroundSystem
 26}