< Summary - Heimdall API

Information
Class: ArturRios.Heimdall.Command.Output.AnonymiseExpiredDeletionsCommandOutput
Assembly: ArturRios.Heimdall.Command
File(s): /home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Command/Output/AnonymiseExpiredDeletionsCommandOutput.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 35
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage
100%
Covered methods: 5
Fully covered methods: 5
Total methods: 5
Method coverage: 100%
Full method coverage: 100%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_PersonsAnonymised()100%11100%
get_GoogleUsersAnonymised()100%11100%
get_DependentsRemoved()100%11100%
get_AnonymisedIds()100%11100%
get_TotalAnonymised()100%11100%

File(s)

/home/runner/work/heimdall-api/heimdall-api/src/Application/ArturRios.Heimdall.Command/Output/AnonymiseExpiredDeletionsCommandOutput.cs

#LineLine coverage
 1using ArturRios.Mediator.Command;
 2
 3namespace ArturRios.Heimdall.Command.Output;
 4
 5/// <summary>
 6///     Result of <see cref="Input.AnonymiseExpiredDeletionsCommand" />: how many identities the run
 7///     anonymised. Zero is an ordinary successful run.
 8/// </summary>
 9public class AnonymiseExpiredDeletionsCommandOutput : CommandOutput
 10{
 11    /// <summary>Persons anonymised.</summary>
 4312    public int PersonsAnonymised { get; set; }
 13
 14    /// <summary>Google Users anonymised.</summary>
 3715    public int GoogleUsersAnonymised { get; set; }
 16
 17    /// <summary>Dependent rows removed alongside them — tokens and two-factor configurations.</summary>
 2818    public int DependentsRemoved { get; set; }
 19
 20    /// <summary>
 21    ///     Public identifiers of the identities this run anonymised — the erasure ledger (NFR-25).
 22    /// </summary>
 23    /// <remarks>
 24    ///     Logged by the scheduled service so the list survives outside the database, which is what
 25    ///     makes a restore reconcilable: a backup taken before an erasure request reinstates the
 26    ///     person with no trace of the request, and nothing inside the database then knows to act.
 27    ///     These identifiers are safe to keep and to ship off the host precisely because the
 28    ///     identities they name have been anonymised — a <c>PublicId</c> that resolves to nobody is
 29    ///     not personal data.
 30    /// </remarks>
 5431    public IEnumerable<Guid> AnonymisedIds { get; set; } = [];
 32
 33    /// <summary>Identities anonymised across both tables.</summary>
 934    public int TotalAnonymised => PersonsAnonymised + GoogleUsersAnonymised;
 35}