< Summary - Heimdall API

Information
Class: ArturRios.Heimdall.Query.Output.PersonSummaryOutput
Assembly: ArturRios.Heimdall.Query
File(s): /home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Query/Output/PersonSummaryOutput.cs
Line coverage
100%
Covered lines: 3
Uncovered lines: 0
Coverable lines: 3
Total lines: 29
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_Id()100%11100%
get_Name()100%11100%
get_Email()100%11100%

File(s)

/home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Query/Output/PersonSummaryOutput.cs

#LineLine coverage
 1using ArturRios.Mediator.Query;
 2
 3namespace ArturRios.Heimdall.Query.Output;
 4
 5/// <summary>
 6///     The minimum a person picker needs: who they are and how to recognise them (FR-PE-12,
 7///     FR-PE-13).
 8/// </summary>
 9/// <remarks>
 10///     A separate type from <see cref="PersonOutput" />, and deliberately so. UC-07's visibility rule
 11///     otherwise lets a Scope Admin see only the administrators co-owning their own scopes, and
 12///     UI-14 needs them to find one they share no scope with — so this listing's audience is wider
 13///     than that rule. Three fields is what makes the widening safe: a Scope Admin learns that an
 14///     administrator with a given name and address exists, which they can already establish by
 15///     submitting that address to <c>POST /api/scopes/{id}/owners</c> and reading the duplicate-email
 16///     refusal. Reusing <see cref="PersonOutput" /> would instead hand them <c>Role</c>,
 17///     <c>OwnedScopeIds</c>, <c>EmailVerified</c>, <c>TwoFactorEnabled</c>, and the timestamps.
 18/// </remarks>
 19public class PersonSummaryOutput : QueryOutput
 20{
 21    /// <summary>Public identifier of the person.</summary>
 15522    public Guid Id { get; set; }
 23
 24    /// <summary>Full name.</summary>
 20925    public string Name { get; set; } = string.Empty;
 26
 27    /// <summary>Email address.</summary>
 18128    public string Email { get; set; } = string.Empty;
 29}

Methods/Properties

get_Id()
get_Name()
get_Email()