< Summary - Heimdall API

Information
Class: ArturRios.Heimdall.Query.Output.ScopeOutput
Assembly: ArturRios.Heimdall.Query
File(s): /home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Query/Output/ScopeOutput.cs
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 52
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage
100%
Covered methods: 13
Fully covered methods: 13
Total methods: 13
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_Description()100%11100%
get_GoogleSignInEnabled()100%11100%
get_SelfRegistrationEnabled()100%11100%
get_DefaultLegalBasis()100%11100%
get_PrivacyNoticeUri()100%11100%
get_EmailVerificationUrl()100%11100%
get_PasswordResetUrl()100%11100%
get_IsDeleted()100%11100%
get_OwnerIds()100%11100%
get_CreatedAt()100%11100%
get_UpdatedAt()100%11100%

File(s)

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

#LineLine coverage
 1using ArturRios.Mediator.Query;
 2
 3namespace ArturRios.Heimdall.Query.Output;
 4
 5/// <summary>
 6///     Scope data returned by the view/list queries (UC-02). Only externally-facing <c>PublicId</c>
 7///     identifiers are exposed; internal Ids never leave the data layer.
 8/// </summary>
 9public class ScopeOutput : QueryOutput
 10{
 11    /// <summary>Public identifier of the scope.</summary>
 7612    public Guid Id { get; set; }
 13
 14    /// <summary>Scope display name.</summary>
 12815    public string Name { get; set; } = string.Empty;
 16
 17    /// <summary>Scope description, if any.</summary>
 5418    public string? Description { get; set; }
 19
 20    /// <summary>Whether Google sign-in is enabled for the scope.</summary>
 5421    public bool GoogleSignInEnabled { get; set; }
 22
 23    /// <summary>Whether anonymous self-registration is open for the scope (UC-47).</summary>
 5424    public bool SelfRegistrationEnabled { get; set; }
 25
 26    /// <summary>
 27    ///     The lawful basis this tenant processes its users' data on (see <c>LegalBases</c>), or
 28    ///     <c>null</c> where it takes the deployment default (NFR-23).
 29    /// </summary>
 5430    public int? DefaultLegalBasis { get; set; }
 31
 32    /// <summary>Where this tenant publishes its own privacy notice, if it has one.</summary>
 5433    public string? PrivacyNoticeUri { get; set; }
 34
 35    /// <summary>Base link for this scope's verification emails, or <c>null</c> to use the global one.</summary>
 5636    public string? EmailVerificationUrl { get; set; }
 37
 38    /// <summary>Base link for this scope's password-reset emails, or <c>null</c> to use the global one.</summary>
 5639    public string? PasswordResetUrl { get; set; }
 40
 41    /// <summary>Whether the scope is logically deleted.</summary>
 5542    public bool IsDeleted { get; set; }
 43
 44    /// <summary>Public identifiers of the scope's owners.</summary>
 10945    public IEnumerable<Guid> OwnerIds { get; set; } = new List<Guid>();
 46
 47    /// <summary>Creation timestamp.</summary>
 5448    public DateTime CreatedAt { get; set; }
 49
 50    /// <summary>Last update timestamp.</summary>
 5451    public DateTime UpdatedAt { get; set; }
 52}