< Summary

Information
Class: Elsa.Identity.Models.RoleDeletionImpact
Assembly: Elsa.Identity
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/Models/RoleDeletionModels.cs
Line coverage
71%
Covered lines: 5
Uncovered lines: 2
Coverable lines: 7
Total lines: 108
Line coverage: 71.4%
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_RoleId()100%210%
get_DependencyVersion()100%11100%
get_ExecutionMode()100%11100%
get_CanDelete()100%11100%
get_CanRemediate()100%210%
get_Dependencies()100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/Models/RoleDeletionModels.cs

#LineLine coverage
 1using System.Security.Claims;
 2
 3namespace Elsa.Identity.Models;
 4
 5/// <summary>Identifies whether a role dependency can be changed through an administration API.</summary>
 6public enum RoleDeletionDependencyOwnership
 7{
 8    Configuration,
 9    Database
 10}
 11
 12/// <summary>Describes how a role-remediation command will be executed.</summary>
 13public enum RoleDeletionExecutionMode
 14{
 15    Atomic,
 16    BestEffort
 17}
 18
 19/// <summary>A safe reference to a role from an installed module.</summary>
 20public sealed record RoleDeletionDependency(
 21    string Source,
 22    string OwnerId,
 23    string OwnerKey,
 24    string PolicyBranch,
 25    RoleDeletionDependencyOwnership Ownership,
 26    string? ConfigurationPath,
 27    long? ExpectedRevision,
 28    bool RemovesLastDefaultRole);
 29
 30/// <summary>A contributor-owned dependency snapshot.</summary>
 31public sealed record RoleDeletionDependencySnapshot(
 32    string Source,
 33    string Version,
 34    bool SupportsAtomicRemoval,
 35    IReadOnlyCollection<RoleDeletionDependency> Dependencies);
 36
 37/// <summary>The aggregated impact of deleting a role.</summary>
 1138public sealed record RoleDeletionImpact(
 039    string RoleId,
 840    string DependencyVersion,
 441    RoleDeletionExecutionMode ExecutionMode,
 542    bool CanDelete,
 043    bool CanRemediate,
 1744    IReadOnlyCollection<RoleDeletionDependency> Dependencies);
 45
 46/// <summary>Inputs used to prevalidate or remove one contributor's editable references.</summary>
 47public sealed record RoleReferenceRemovalRequest(
 48    string RoleId,
 49    ClaimsPrincipal Actor,
 50    string ExpectedContributorVersion,
 51    IReadOnlyCollection<RoleDeletionDependency> Dependencies);
 52
 53/// <summary>Inputs for the coordinated remediation command.</summary>
 54public sealed record RoleDeletionRemediationCommand(
 55    string RoleId,
 56    ClaimsPrincipal Actor,
 57    string ExpectedDependencyVersion,
 58    bool ConfirmRemoveFromEditablePolicies,
 59    bool ConfirmEmptyDefaultRoles,
 60    bool ConfirmBestEffort);
 61
 62public abstract record RoleReferenceRemovalValidationResult
 63{
 64    private RoleReferenceRemovalValidationResult()
 65    {
 66    }
 67
 68    public sealed record Valid : RoleReferenceRemovalValidationResult;
 69    public sealed record Forbidden(string Code) : RoleReferenceRemovalValidationResult;
 70    public sealed record Conflict(string Code) : RoleReferenceRemovalValidationResult;
 71}
 72
 73public abstract record RoleReferenceRemovalResult
 74{
 75    private RoleReferenceRemovalResult()
 76    {
 77    }
 78
 79    public sealed record Success(IReadOnlyCollection<string> ChangedOwnerIds) : RoleReferenceRemovalResult;
 80    public sealed record Conflict(string Code, IReadOnlyCollection<string> ChangedOwnerIds) : RoleReferenceRemovalResult
 81    public sealed record Failed(string Code, IReadOnlyCollection<string> ChangedOwnerIds) : RoleReferenceRemovalResult;
 82}
 83
 84public abstract record RoleDeletionInspectionResult
 85{
 86    private RoleDeletionInspectionResult()
 87    {
 88    }
 89
 90    public sealed record Success(RoleDeletionImpact Impact) : RoleDeletionInspectionResult;
 91    public sealed record NotFound : RoleDeletionInspectionResult;
 92    public sealed record Forbidden : RoleDeletionInspectionResult;
 93}
 94
 95public abstract record RoleDeletionOperationResult
 96{
 97    private RoleDeletionOperationResult()
 98    {
 99    }
 100
 101    public sealed record Deleted(IReadOnlyCollection<string> ChangedOwnerIds) : RoleDeletionOperationResult;
 102    public sealed record NotFound : RoleDeletionOperationResult;
 103    public sealed record Forbidden : RoleDeletionOperationResult;
 104    public sealed record Blocked(RoleDeletionImpact Impact) : RoleDeletionOperationResult;
 105    public sealed record PreconditionFailed(RoleDeletionImpact Impact) : RoleDeletionOperationResult;
 106    public sealed record ConfirmationRequired(RoleDeletionImpact Impact, IReadOnlyCollection<string> Warnings) : RoleDel
 107    public sealed record Incomplete(RoleDeletionImpact Impact, IReadOnlyCollection<string> ChangedOwnerIds, string Code)
 108}