< Summary - Heimdall API

Information
Class: ArturRios.Heimdall.Command.Output.AddScopeOwnerCommandOutput
Assembly: ArturRios.Heimdall.Command
File(s): /home/ci/agent/workspace/heimdall-api-docs_main/app/src/Application/ArturRios.Heimdall.Command/Output/AddScopeOwnerCommandOutput.cs
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 39
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage
100%
Covered methods: 6
Fully covered methods: 6
Total methods: 6
Method coverage: 100%
Full method coverage: 100%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_ScopeId()100%11100%
get_PersonId()100%11100%
get_AlreadyOwner()100%11100%
get_Invited()100%11100%
get_InvitationId()100%11100%
get_InvitationExpiresAt()100%11100%

File(s)

/home/ci/agent/workspace/heimdall-api-docs_main/app/src/Application/ArturRios.Heimdall.Command/Output/AddScopeOwnerCommandOutput.cs

#LineLine coverage
 1using ArturRios.Mediator.Command;
 2
 3namespace ArturRios.Heimdall.Command.Output;
 4
 5/// <summary>
 6///     Result of <see cref="Input.AddScopeOwnerCommand" /> (UC-21). Reports the two <c>PublicId</c>s the
 7///     ownership links, whether the request was the idempotent no-op of AF-21d, and — for a Scope Admin
 8///     actor — the invitation opened instead of the ownership (FR-SC-14). The <c>SCOPE_OWNER</c> row itself
 9///     has no identifier to return — it is a join row, not an addressable resource — and internal Ids never
 10///     leave the data layer.
 11/// </summary>
 12public class AddScopeOwnerCommandOutput : CommandOutput
 13{
 14    /// <summary>Public identifier of the scope.</summary>
 4515    public Guid ScopeId { get; set; }
 16
 17    /// <summary>Public identifier of the person added or invited.</summary>
 4518    public Guid PersonId { get; set; }
 19
 20    /// <summary>
 21    ///     <c>true</c> when the person already owned the scope and nothing was written (AF-21d). AF-21d already
 22    ///     answers with its own status (200 against the main flow's 201), so this flag confirms which path ran
 23    ///     rather than being the only way to tell them apart.
 24    /// </summary>
 4825    public bool AlreadyOwner { get; set; }
 26
 27    /// <summary>
 28    ///     <c>true</c> when a Scope Admin asked and the person was invited rather than added (FR-SC-14): they
 29    ///     own nothing until they accept (UC-60). The answer is then 202. Always <c>false</c> for a System
 30    ///     Admin and for AF-21d.
 31    /// </summary>
 3832    public bool Invited { get; set; }
 33
 34    /// <summary>The open invitation's public id when <see cref="Invited" />; what UC-58 withdraws it by.</summary>
 4135    public Guid? InvitationId { get; set; }
 36
 37    /// <summary>When the open invitation stops being acceptable, when <see cref="Invited" />.</summary>
 3338    public DateTime? InvitationExpiresAt { get; set; }
 39}