< Summary

Information
Class: Elsa.Authorization.PermissionRequirement
Assembly: Elsa.Api.Common
File(s): /home/runner/work/elsa-core/elsa-core/src/common/Elsa.Api.Common/Authorization/PermissionRequirement.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 3
Coverable lines: 3
Total lines: 13
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
.ctor(...)100%210%
get_Permission()100%210%
PolicyName(...)100%210%

File(s)

/home/runner/work/elsa-core/elsa-core/src/common/Elsa.Api.Common/Authorization/PermissionRequirement.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Authorization;
 2
 3namespace Elsa.Authorization;
 4
 5/// <summary>Requires the calling principal to hold a permission satisfying <see cref="Permission"/>.</summary>
 06public sealed class PermissionRequirement(Permission permission) : IAuthorizationRequirement
 7{
 8    /// <summary>The permission the endpoint requires.</summary>
 09    public Permission Permission { get; } = permission;
 10
 11    /// <summary>The policy name carrying <paramref name="permission"/>, used to register one policy per requirement.</s
 012    public static string PolicyName(Permission permission) => $"elsa:permission:{permission}";
 13}