< Summary - Heimdall API

Information
Class: ArturRios.Heimdall.Command.Output.AddScopeOwnerCommandOutput
Assembly: ArturRios.Heimdall.Command
File(s): /home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Command/Output/AddScopeOwnerCommandOutput.cs
Line coverage
100%
Covered lines: 3
Uncovered lines: 0
Coverable lines: 3
Total lines: 26
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage
100%
Covered methods: 3
Fully covered methods: 3
Total methods: 3
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%

File(s)

/home/runner/work/heimdall-api/heimdall-api/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
 7///     the new ownership links and whether the request was the idempotent no-op of AF-21d. The
 8///     <c>SCOPE_OWNER</c> row itself has no identifier to return — it is a join row, not an
 9///     addressable resource — and internal Ids never leave the data layer.
 10/// </summary>
 11public class AddScopeOwnerCommandOutput : CommandOutput
 12{
 13    /// <summary>Public identifier of the scope that gained the owner.</summary>
 2214    public Guid ScopeId { get; set; }
 15
 16    /// <summary>Public identifier of the person now owning the scope.</summary>
 2217    public Guid PersonId { get; set; }
 18
 19    /// <summary>
 20    ///     <c>true</c> when the person already owned the scope and nothing was written (AF-21d);
 21    ///     <c>false</c> when this request created the ownership. AF-21d already answers with its own
 22    ///     status (200 against the main flow's 201), so this flag confirms which path ran rather than
 23    ///     being the only way to tell them apart.
 24    /// </summary>
 2325    public bool AlreadyOwner { get; set; }
 26}