| ArturRios.Heimdall.Command | 4725 | 81 | 4806 | 19456 | 98.3% | | 1349 | 1452 | 92.9% | | 846 | 847 | 99.8% | | 798 | 847 | 94.2% | |
| ArturRios.Heimdall.Command.Auditing.AuditingCommandHandler<T1, T2> | 36 | 0 | 36 | 103 | 100% | | 17 | 18 | 94.4% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Auditing.AuditLogWriter | 22 | 0 | 22 | 43 | 100% | | 6 | 6 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Auditing.CommandHandlerRegistrationExtensions | 8 | 0 | 8 | 34 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Handlers.AcceptScopeOwnerInvitationCommandHandler | 52 | 1 | 53 | 155 | 98.1% | | 19 | 20 | 95% | | 5 | 5 | 100% | | 4 | 5 | 80% | |
| ArturRios.Heimdall.Command.Handlers.AddScopeOwnerCommandHandler | 91 | 0 | 91 | 222 | 100% | | 22 | 26 | 84.6% | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Handlers.AnonymiseExpiredDeletionsCommandHandler | 187 | 2 | 189 | 496 | 98.9% | | 59 | 60 | 98.3% | | 9 | 9 | 100% | | 8 | 9 | 88.8% | |
| ArturRios.Heimdall.Command.Handlers.ConfirmTwoFactorAuthCommandHandler | 66 | 2 | 68 | 235 | 97% | | 30 | 32 | 93.7% | | 4 | 4 | 100% | | 2 | 4 | 50% | |
| ArturRios.Heimdall.Command.Handlers.CreateAdminCommandHandler | 41 | 1 | 42 | 94 | 97.6% | | 5 | 6 | 83.3% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.CreateApplicationCommandHandler | 45 | 1 | 46 | 110 | 97.8% | | 13 | 14 | 92.8% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.CreateScopeCommandHandler | 45 | 1 | 46 | 102 | 97.8% | | 9 | 10 | 90% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.CreateScopeOwnerCommandHandler | 50 | 2 | 52 | 114 | 96.1% | | 8 | 10 | 80% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.CreateScopePermissionCommandHandler | 38 | 1 | 39 | 88 | 97.4% | | 7 | 8 | 87.5% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.CreateUserCommandHandler | 60 | 2 | 62 | 142 | 96.7% | | 12 | 14 | 85.7% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.DeclineScopeOwnerInvitationCommandHandler | 24 | 0 | 24 | 64 | 100% | | 8 | 8 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.DeleteApplicationCommandHandler | 26 | 1 | 27 | 87 | 96.2% | | 11 | 12 | 91.6% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.DeleteGoogleUserCommandHandler | 24 | 0 | 24 | 105 | 100% | | 8 | 8 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.DeletePersonCommandHandler | 50 | 1 | 51 | 170 | 98% | | 27 | 28 | 96.4% | | 3 | 3 | 100% | | 2 | 3 | 66.6% | |
| ArturRios.Heimdall.Command.Handlers.DeleteScopeCommandHandler | 39 | 1 | 40 | 129 | 97.5% | | 5 | 6 | 83.3% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.DeleteScopePermissionCommandHandler | 33 | 1 | 34 | 91 | 97% | | 7 | 8 | 87.5% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.DisableTwoFactorAuthCommandHandler | 29 | 1 | 30 | 100 | 96.6% | | 13 | 14 | 92.8% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.DiscardPendingRegistrationCommandHandler | 27 | 1 | 28 | 86 | 96.4% | | 12 | 14 | 85.7% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.EnableTwoFactorAuthCommandHandler | 70 | 5 | 75 | 243 | 93.3% | | 35 | 40 | 87.5% | | 3 | 3 | 100% | | 2 | 3 | 66.6% | |
| ArturRios.Heimdall.Command.Handlers.ExportMyDataCommandHandler | 180 | 3 | 183 | 268 | 98.3% | | 18 | 28 | 64.2% | | 6 | 7 | 85.7% | | 5 | 7 | 71.4% | |
| ArturRios.Heimdall.Command.Handlers.GoogleSignInCommandHandler | 99 | 0 | 99 | 284 | 100% | | 42 | 44 | 95.4% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Handlers.GoogleSignOutCommandHandler | 10 | 0 | 10 | 66 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.HardDeleteApplicationCommandHandler | 14 | 1 | 15 | 60 | 93.3% | | 3 | 4 | 75% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.HardDeleteGoogleUserCommandHandler | 24 | 1 | 25 | 92 | 96% | | 3 | 4 | 75% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.HardDeletePersonCommandHandler | 67 | 2 | 69 | 188 | 97.1% | | 17 | 20 | 85% | | 3 | 3 | 100% | | 2 | 3 | 66.6% | |
| ArturRios.Heimdall.Command.Handlers.HardDeleteScopeCommandHandler | 63 | 1 | 64 | 158 | 98.4% | | 7 | 8 | 87.5% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.HardDeleteScopePermissionCommandHandler | 14 | 1 | 15 | 59 | 93.3% | | 3 | 4 | 75% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.IssueApplicationCredentialCommandHandler | 34 | 0 | 34 | 83 | 100% | | 10 | 10 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.IssueApplicationTokenCommandHandler | 36 | 0 | 36 | 99 | 100% | | 14 | 14 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.LiftProcessingRestrictionCommandHandler | 49 | 1 | 50 | 151 | 98% | | 26 | 28 | 92.8% | | 5 | 5 | 100% | | 4 | 5 | 80% | |
| ArturRios.Heimdall.Command.Handlers.LoginCommandHandler | 104 | 1 | 105 | 315 | 99% | | 29 | 30 | 96.6% | | 7 | 7 | 100% | | 6 | 7 | 85.7% | |
| ArturRios.Heimdall.Command.Handlers.PasswordRecoveryCommandHandler | 12 | 0 | 12 | 61 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.PromoteScopeUserCommandHandler | 47 | 1 | 48 | 135 | 97.9% | | 19 | 20 | 95% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.PseudonymiseAuditActorsCommandHandler | 140 | 1 | 141 | 386 | 99.2% | | 36 | 38 | 94.7% | | 10 | 10 | 100% | | 9 | 10 | 90% | |
| ArturRios.Heimdall.Command.Handlers.PurgeExpiredTokensCommandHandler | 112 | 0 | 112 | 259 | 100% | | 13 | 14 | 92.8% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Handlers.ReapplyErasuresCommandHandler | 56 | 3 | 59 | 154 | 94.9% | | 15 | 18 | 83.3% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.RegenerateRecoveryCodesCommandHandler | 48 | 3 | 51 | 155 | 94.1% | | 21 | 24 | 87.5% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.RegisterCommandHandler | 20 | 0 | 20 | 71 | 100% | | 4 | 4 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.RemoveScopeOwnerCommandHandler | 37 | 0 | 37 | 123 | 100% | | 16 | 16 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.RequestErasureCommandHandler | 92 | 3 | 95 | 292 | 96.8% | | 46 | 52 | 88.4% | | 5 | 5 | 100% | | 2 | 5 | 40% | |
| ArturRios.Heimdall.Command.Handlers.ResendTwoFactorChallengeCodeCommandHandler | 40 | 0 | 40 | 163 | 100% | | 21 | 22 | 95.4% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Handlers.ResendVerificationEmailCommandHandler | 29 | 1 | 30 | 116 | 96.6% | | 7 | 8 | 87.5% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.ResetPasswordCommandHandler | 57 | 3 | 60 | 226 | 95% | | 18 | 18 | 100% | | 3 | 3 | 100% | | 2 | 3 | 66.6% | |
| ArturRios.Heimdall.Command.Handlers.RestrictProcessingCommandHandler | 28 | 1 | 29 | 99 | 96.5% | | 13 | 14 | 92.8% | | 3 | 3 | 100% | | 2 | 3 | 66.6% | |
| ArturRios.Heimdall.Command.Handlers.RevokeApplicationCredentialCommandHandler | 27 | 0 | 27 | 77 | 100% | | 8 | 8 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.SendPersonPasswordResetCommandHandler | 31 | 0 | 31 | 93 | 100% | | 10 | 10 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.SendPersonVerificationEmailCommandHandler | 35 | 0 | 35 | 109 | 100% | | 14 | 14 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.SetGoogleSignInCommandHandler | 36 | 0 | 36 | 96 | 100% | | 8 | 8 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.SetScopeEmailLinksCommandHandler | 39 | 0 | 39 | 85 | 100% | | 10 | 10 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Handlers.SetSelfRegistrationCommandHandler | 37 | 0 | 37 | 80 | 100% | | 8 | 8 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.UpdateApplicationCommandHandler | 49 | 1 | 50 | 127 | 98% | | 15 | 16 | 93.7% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.UpdatePersonCommandHandler | 160 | 7 | 167 | 527 | 95.8% | | 116 | 124 | 93.5% | | 14 | 14 | 100% | | 12 | 14 | 85.7% | |
| ArturRios.Heimdall.Command.Handlers.UpdateScopeCommandHandler | 40 | 0 | 40 | 107 | 100% | | 10 | 10 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Handlers.UpdateScopePermissionCommandHandler | 37 | 1 | 38 | 93 | 97.3% | | 7 | 8 | 87.5% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.VerifyEmailCommandHandler | 68 | 3 | 71 | 224 | 95.7% | | 26 | 26 | 100% | | 3 | 3 | 100% | | 2 | 3 | 66.6% | |
| ArturRios.Heimdall.Command.Handlers.VerifyTwoFactorAuthCommandHandler | 73 | 2 | 75 | 220 | 97.3% | | 41 | 44 | 93.1% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Handlers.WithdrawScopeOwnerInvitationCommandHandler | 22 | 0 | 22 | 70 | 100% | | 8 | 8 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.AcceptScopeOwnerInvitationCommand | 3 | 0 | 3 | 18 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.AddScopeOwnerCommand | 4 | 0 | 4 | 24 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.ConfirmTwoFactorAuthCommand | 4 | 0 | 4 | 28 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.CreateAdminCommand | 4 | 0 | 4 | 19 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.CreateApplicationCommand | 5 | 0 | 5 | 29 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Command.Input.CreateScopeCommand | 3 | 0 | 3 | 24 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.CreateScopeOwnerCommand | 6 | 0 | 6 | 31 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Input.CreateScopePermissionCommand | 6 | 0 | 6 | 38 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Input.CreateUserCommand | 6 | 0 | 6 | 30 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Input.DeclineScopeOwnerInvitationCommand | 3 | 0 | 3 | 18 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.DeleteApplicationCommand | 4 | 0 | 4 | 25 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.DeleteGoogleUserCommand | 4 | 0 | 4 | 24 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.DeletePersonCommand | 3 | 0 | 3 | 21 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.DeleteScopeCommand | 1 | 0 | 1 | 14 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.DeleteScopePermissionCommand | 4 | 0 | 4 | 24 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.DisableTwoFactorAuthCommand | 5 | 0 | 5 | 32 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Command.Input.DiscardPendingRegistrationCommand | 4 | 0 | 4 | 22 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.EnableTwoFactorAuthCommand | 4 | 0 | 4 | 31 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.ExportMyDataCommand | 2 | 0 | 2 | 32 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.GoogleSignInCommand | 3 | 0 | 3 | 33 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.GoogleSignOutCommand | 2 | 0 | 2 | 23 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.HardDeleteApplicationCommand | 2 | 0 | 2 | 21 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.HardDeleteGoogleUserCommand | 2 | 0 | 2 | 20 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.HardDeletePersonCommand | 3 | 0 | 3 | 22 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.HardDeleteScopeCommand | 1 | 0 | 1 | 15 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.HardDeleteScopePermissionCommand | 2 | 0 | 2 | 20 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.IssueApplicationCredentialCommand | 5 | 0 | 5 | 29 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Command.Input.IssueApplicationTokenCommand | 3 | 0 | 3 | 20 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.LiftProcessingRestrictionCommand | 4 | 0 | 4 | 43 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.LoginCommand | 3 | 0 | 3 | 24 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.PasswordRecoveryCommand | 2 | 0 | 2 | 22 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.PromoteScopeUserCommand | 4 | 0 | 4 | 24 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.ReapplyErasuresCommand | 3 | 0 | 3 | 39 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.RegenerateRecoveryCodesCommand | 4 | 0 | 4 | 32 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.RegisterCommand | 4 | 0 | 4 | 19 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.RemoveScopeOwnerCommand | 4 | 0 | 4 | 24 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.RequestErasureCommand | 4 | 0 | 4 | 38 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.ResendTwoFactorChallengeCodeCommand | 1 | 0 | 1 | 19 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.ResendVerificationEmailCommand | 2 | 0 | 2 | 21 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.ResetPasswordCommand | 2 | 0 | 2 | 17 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.RestrictProcessingCommand | 3 | 0 | 3 | 29 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.RevokeApplicationCredentialCommand | 5 | 0 | 5 | 30 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Command.Input.SendPersonPasswordResetCommand | 3 | 0 | 3 | 20 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.SendPersonVerificationEmailCommand | 3 | 0 | 3 | 20 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.SetGoogleSignInCommand | 4 | 0 | 4 | 34 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.SetScopeEmailLinksCommand | 5 | 0 | 5 | 35 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Command.Input.SetSelfRegistrationCommand | 4 | 0 | 4 | 25 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Input.UpdateApplicationCommand | 6 | 0 | 6 | 41 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Input.UpdatePersonCommand | 8 | 0 | 8 | 51 | 100% | | 0 | 0 | | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.Command.Input.UpdateScopeCommand | 5 | 0 | 5 | 41 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Command.Input.UpdateScopePermissionCommand | 7 | 0 | 7 | 45 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.CreateAdminCommandValidator | 14 | 0 | 14 | 31 | 100% | | 2 | 2 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.CreateApplicationCommandValidator | 7 | 0 | 7 | 21 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.CreateScopeCommandValidator | 13 | 0 | 13 | 34 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.CreateScopeOwnerCommandValidator | 11 | 0 | 11 | 26 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.CreateScopePermissionCommandValidator | 7 | 0 | 7 | 23 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.CreateUserCommandValidator | 5 | 0 | 5 | 17 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.EnableTwoFactorAuthCommandValidator | 7 | 0 | 7 | 23 | 100% | | 4 | 4 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.IssueApplicationCredentialCommandValidator | 5 | 0 | 5 | 16 | 100% | | 2 | 2 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.IssueApplicationTokenCommandValidator | 9 | 0 | 9 | 24 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.LoginCommandValidator | 7 | 0 | 7 | 27 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.PasswordRecoveryCommandValidator | 5 | 0 | 5 | 25 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.PersonFieldRules | 7 | 0 | 7 | 24 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.RegisterCommandValidator | 6 | 0 | 6 | 19 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.ResetPasswordCommandValidator | 7 | 0 | 7 | 27 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.SetGoogleSignInCommandValidator | 5 | 0 | 5 | 19 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.SetScopeEmailLinksCommandValidator | 12 | 0 | 12 | 33 | 100% | | 8 | 8 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.SetSelfRegistrationCommandValidator | 5 | 0 | 5 | 15 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.UpdateApplicationCommandValidator | 7 | 0 | 7 | 23 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.UpdatePersonCommandValidator | 10 | 0 | 10 | 31 | 100% | | 4 | 4 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.UpdateScopeCommandValidator | 25 | 0 | 25 | 55 | 100% | | 9 | 10 | 90% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.UpdateScopePermissionCommandValidator | 7 | 0 | 7 | 25 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.Validation.VerifyEmailCommandValidator | 4 | 0 | 4 | 22 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Input.VerifyEmailCommand | 2 | 0 | 2 | 20 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Input.VerifyTwoFactorAuthCommand | 3 | 0 | 3 | 24 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Input.WithdrawScopeOwnerInvitationCommand | 4 | 0 | 4 | 22 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Output.AcceptScopeOwnerInvitationCommandOutput | 2 | 0 | 2 | 16 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.AddScopeOwnerCommandOutput | 6 | 0 | 6 | 39 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Output.AnonymiseExpiredDeletionsCommandOutput | 7 | 0 | 7 | 49 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Output.ConfirmTwoFactorAuthCommandOutput | 2 | 0 | 2 | 17 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.CreateApplicationCommandOutput | 5 | 0 | 5 | 26 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Command.Output.CreatePersonCommandOutput | 7 | 0 | 7 | 32 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Output.CreateScopeCommandOutput | 9 | 0 | 9 | 37 | 100% | | 0 | 0 | | | 9 | 9 | 100% | | 9 | 9 | 100% | |
| ArturRios.Heimdall.Command.Output.CreateScopePermissionCommandOutput | 6 | 0 | 6 | 32 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportApplication | 4 | 0 | 4 | 261 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportAuditEntry | 7 | 0 | 7 | 261 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportCommandOutput | 14 | 0 | 14 | 261 | 100% | | 0 | 0 | | | 14 | 14 | 100% | | 14 | 14 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportErasure | 7 | 0 | 7 | 261 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportProcessing | 4 | 0 | 4 | 261 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportRecipient | 3 | 0 | 3 | 261 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportRetention | 2 | 0 | 2 | 261 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportSecurity | 16 | 0 | 16 | 261 | 100% | | 0 | 0 | | | 16 | 16 | 100% | | 16 | 16 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportSource | 3 | 0 | 3 | 261 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportSubject | 11 | 0 | 11 | 261 | 100% | | 0 | 0 | | | 11 | 11 | 100% | | 11 | 11 | 100% | |
| ArturRios.Heimdall.Command.Output.DataExportWithheld | 2 | 0 | 2 | 261 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.DeclineScopeOwnerInvitationCommandOutput | 1 | 0 | 1 | 10 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Output.DeleteApplicationCommandOutput | 2 | 0 | 2 | 21 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.DeleteGoogleUserCommandOutput | 2 | 0 | 2 | 22 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.DeletePersonCommandOutput | 2 | 0 | 2 | 20 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.DeleteScopeCommandOutput | 4 | 0 | 4 | 27 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Output.DeleteScopePermissionCommandOutput | 2 | 0 | 2 | 21 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.DisableTwoFactorAuthCommandOutput | 1 | 0 | 1 | 14 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Output.DiscardPendingRegistrationCommandOutput | 1 | 0 | 1 | 13 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Output.EnableTwoFactorAuthCommandOutput | 2 | 0 | 2 | 19 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.GoogleSignInCommandOutput | 4 | 0 | 4 | 42 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Output.HardDeleteApplicationCommandOutput | 1 | 0 | 1 | 16 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Output.HardDeleteGoogleUserCommandOutput | 1 | 0 | 1 | 15 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Output.HardDeletePersonCommandOutput | 3 | 0 | 3 | 20 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Output.HardDeleteScopeCommandOutput | 5 | 0 | 5 | 30 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Command.Output.HardDeleteScopePermissionCommandOutput | 1 | 0 | 1 | 14 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Output.IssueApplicationCredentialCommandOutput | 4 | 0 | 4 | 18 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Output.IssueApplicationTokenCommandOutput | 3 | 0 | 3 | 17 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Output.LiftProcessingRestrictionCommandOutput | 3 | 0 | 3 | 19 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Output.LoginCommandOutput | 7 | 0 | 7 | 58 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Output.PromoteScopeUserCommandOutput | 8 | 0 | 8 | 37 | 100% | | 0 | 0 | | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.Command.Output.PseudonymiseAuditActorsCommandOutput | 4 | 0 | 4 | 34 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Output.PurgeExpiredTokensCommandOutput | 12 | 0 | 12 | 57 | 100% | | 0 | 0 | | | 10 | 10 | 100% | | 10 | 10 | 100% | |
| ArturRios.Heimdall.Command.Output.ReapplyErasuresCommandOutput | 4 | 0 | 4 | 27 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Output.RegenerateRecoveryCodesCommandOutput | 1 | 0 | 1 | 14 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Output.RemoveScopeOwnerCommandOutput | 2 | 0 | 2 | 19 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.RequestErasureCommandOutput | 7 | 0 | 7 | 50 | 100% | | 2 | 2 | 100% | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Output.RestrictProcessingCommandOutput | 3 | 0 | 3 | 16 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Output.RevokeApplicationCredentialCommandOutput | 2 | 0 | 2 | 11 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Output.SendPersonPasswordResetCommandOutput | 1 | 0 | 1 | 13 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Output.SendPersonVerificationEmailCommandOutput | 1 | 0 | 1 | 13 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Output.SetGoogleSignInCommandOutput | 9 | 0 | 9 | 40 | 100% | | 0 | 0 | | | 9 | 9 | 100% | | 9 | 9 | 100% | |
| ArturRios.Heimdall.Command.Output.SetScopeEmailLinksCommandOutput | 10 | 0 | 10 | 29 | 100% | | 0 | 0 | | | 10 | 10 | 100% | | 10 | 10 | 100% | |
| ArturRios.Heimdall.Command.Output.SetSelfRegistrationCommandOutput | 10 | 0 | 10 | 29 | 100% | | 0 | 0 | | | 10 | 10 | 100% | | 10 | 10 | 100% | |
| ArturRios.Heimdall.Command.Output.UpdateApplicationCommandOutput | 6 | 0 | 6 | 29 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Output.UpdatePersonCommandOutput | 9 | 0 | 9 | 41 | 100% | | 0 | 0 | | | 9 | 9 | 100% | | 9 | 9 | 100% | |
| ArturRios.Heimdall.Command.Output.UpdateScopeCommandOutput | 10 | 0 | 10 | 40 | 100% | | 0 | 0 | | | 10 | 10 | 100% | | 10 | 10 | 100% | |
| ArturRios.Heimdall.Command.Output.UpdateScopePermissionCommandOutput | 7 | 0 | 7 | 35 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Output.VerifyTwoFactorAuthCommandOutput | 4 | 0 | 4 | 34 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Output.WithdrawScopeOwnerInvitationCommandOutput | 1 | 0 | 1 | 13 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Registration.CommandServiceCollectionExtensions | 92 | 0 | 92 | 176 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Services.AccountEmailBudget | 25 | 0 | 25 | 112 | 100% | | 27 | 32 | 84.3% | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Command.Services.AdminEmailOptions | 17 | 0 | 17 | 98 | 100% | | 10 | 10 | 100% | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Services.ApplicationCredentialSecret | 5 | 0 | 5 | 38 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Services.ApplicationTokenSubject | 1 | 0 | 1 | 15 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.AuthToken | 1 | 0 | 1 | 62 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.AuthTokenSubject | 7 | 0 | 7 | 62 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Command.Services.DataExportDisclosure | 72 | 0 | 72 | 134 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Services.EmailVerificationOptions | 5 | 0 | 5 | 22 | 100% | | 1 | 2 | 50% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Services.EmailVerificationService | 28 | 0 | 28 | 60 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Services.EmailVerificationTokenRetirement | 10 | 0 | 10 | 48 | 100% | | 4 | 4 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.ErasedPersonInvitations | 8 | 3 | 11 | 56 | 72.7% | | 4 | 4 | 100% | | 1 | 1 | 100% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.Command.Services.GoogleIdTokenPayload | 9 | 0 | 9 | 62 | 100% | | 0 | 0 | | | 9 | 9 | 100% | | 9 | 9 | 100% | |
| ArturRios.Heimdall.Command.Services.IdentityAnonymiser | 8 | 0 | 8 | 135 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Services.InviteeInvitationLookup | 15 | 1 | 16 | 61 | 93.7% | | 5 | 6 | 83.3% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Command.Services.IssuedRecoveryCode | 1 | 0 | 1 | 208 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.LastScopeOwnerGuard | 11 | 0 | 11 | 59 | 100% | | 2 | 2 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.LastSystemAdminGuard | 3 | 0 | 3 | 43 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.LegalBasisRecorder | 14 | 0 | 14 | 77 | 100% | | 12 | 12 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Services.LockedPerson | 18 | 0 | 18 | 73 | 100% | | 3 | 4 | 75% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Services.PasswordHashGate | 33 | 0 | 33 | 184 | 100% | | 6 | 6 | 100% | | 12 | 12 | 100% | | 12 | 12 | 100% | |
| ArturRios.Heimdall.Command.Services.PasswordHashGateSaturatedException | 1 | 0 | 1 | 184 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.PasswordHashing | 10 | 0 | 10 | 67 | 100% | | 8 | 8 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Services.PasswordRecoveryEligibility | 11 | 0 | 11 | 66 | 100% | | 16 | 16 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.PasswordRecoveryProcessor | 39 | 0 | 39 | 107 | 100% | | 8 | 8 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Services.PasswordRecoveryRequest | 1 | 0 | 1 | 21 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.PasswordResetOptions | 5 | 0 | 5 | 24 | 100% | | 1 | 2 | 50% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Services.PasswordResetService | 28 | 0 | 28 | 66 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Services.PasswordResetTokenRetirement | 9 | 1 | 10 | 49 | 90% | | 3 | 4 | 75% | | 1 | 1 | 100% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.Command.Services.PendingRegistrationConfirmation | 3 | 0 | 3 | 287 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Services.PendingRegistrationConfirmer | 86 | 8 | 94 | 287 | 91.4% | | 38 | 42 | 90.4% | | 6 | 6 | 100% | | 4 | 6 | 66.6% | |
| ArturRios.Heimdall.Command.Services.PersonAuthTokenService | 21 | 0 | 21 | 64 | 100% | | 10 | 10 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Services.PersonDependentsRemoval | 31 | 0 | 31 | 85 | 100% | | 6 | 8 | 75% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Services.PersonEmailAuthorization | 8 | 0 | 8 | 36 | 100% | | 8 | 8 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.ReauthenticationBudget | 5 | 0 | 5 | 52 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Services.RecoveryCodes | 52 | 0 | 52 | 208 | 100% | | 34 | 34 | 100% | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.Command.Services.RegistrationOptions | 10 | 0 | 10 | 51 | 100% | | 8 | 8 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Services.RegistrationProcessor | 71 | 0 | 71 | 194 | 100% | | 24 | 24 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Services.RegistrationRequest | 6 | 0 | 6 | 26 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Command.Services.ScopeInvitationNoticeText | 16 | 0 | 16 | 62 | 100% | | 10 | 10 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Services.ScopeInvitationOptions | 11 | 0 | 11 | 46 | 100% | | 8 | 8 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Command.Services.SecondFactorLockout | 8 | 0 | 8 | 60 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Command.Services.SingleUseToken | 8 | 0 | 8 | 20 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.SingleUseTokenHash | 1 | 0 | 1 | 52 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.TotpCodeVerifier | 15 | 0 | 15 | 60 | 100% | | 6 | 6 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Services.TotpSecretProtector | 5 | 0 | 5 | 34 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Command.Services.TwoFactorChallengePrincipal | 1 | 0 | 1 | 47 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.TwoFactorEmailCodeIssuer | 37 | 3 | 40 | 83 | 92.5% | | 5 | 8 | 62.5% | | 3 | 3 | 100% | | 1 | 3 | 33.3% | |
| ArturRios.Heimdall.Command.Services.TwoFactorEmailCodeVerification | 19 | 0 | 19 | 95 | 100% | | 12 | 12 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Command.Services.TwoFactorFactorVerificationResult | 8 | 0 | 8 | 48 | 100% | | 0 | 0 | | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.Command.Services.TwoFactorFactorVerifier | 28 | 0 | 28 | 84 | 100% | | 14 | 14 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Data | 52846 | 57 | 52903 | 58663 | 99.8% | | 218 | 256 | 85.1% | | 277 | 279 | 99.2% | | 264 | 279 | 94.6% | |
| ArturRios.Heimdall.Data.Configuration.AppDbContext | 50 | 0 | 50 | 87 | 100% | | 0 | 0 | | | 24 | 24 | 100% | | 24 | 24 | 100% | |
| ArturRios.Heimdall.Data.Configuration.DbContextDiagnosticsOptions | 3 | 0 | 3 | 18 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Configuration.DesignTimeDbContextFactory | 0 | 10 | 10 | 36 | 0% | | 0 | 2 | 0% | | 0 | 1 | 0% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.Data.EntityMaps.ApplicationCredentialDbMap | 13 | 0 | 13 | 33 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.ApplicationDbMap | 19 | 0 | 19 | 41 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.AttemptNoticeBudgetDbMap | 8 | 0 | 8 | 26 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.AuditLogDbMap | 16 | 0 | 16 | 39 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.EmailVerificationTokenDbMap | 12 | 0 | 12 | 29 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.ErasedSubjectDbMap | 7 | 0 | 7 | 28 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.GoogleIdTokenUseDbMap | 6 | 0 | 6 | 22 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.GoogleUserDbMap | 44 | 0 | 44 | 96 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.PasswordResetTokenDbMap | 12 | 0 | 12 | 29 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.PendingRegistrationDbMap | 19 | 0 | 19 | 39 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.PersonDbMap | 64 | 0 | 64 | 153 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.RoleDbMap | 8 | 0 | 8 | 30 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.ScopeDbMap | 16 | 0 | 16 | 39 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.ScopeOwnerDbMap | 11 | 0 | 11 | 28 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.ScopeOwnerInvitationDbMap | 30 | 0 | 30 | 55 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.ScopePermissionDbMap | 16 | 0 | 16 | 36 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.ScopeUserDbMap | 11 | 0 | 11 | 30 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.TwoFactorAuthDbMap | 18 | 0 | 18 | 43 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.TwoFactorEmailCodeDbMap | 13 | 0 | 13 | 32 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.EntityMaps.TwoFactorRecoveryCodeDbMap | 12 | 0 | 12 | 31 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddAccountEmailBudget | 1407 | 0 | 1407 | 1500 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddApplicationCredential | 1319 | 0 | 1319 | 1410 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddAttemptNoticeBudget | 1393 | 0 | 1393 | 1486 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddAuditLog | 918 | 0 | 918 | 993 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddAuditLogOutcome | 972 | 0 | 972 | 1057 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddAuditLogTargetIndex | 1203 | 0 | 1203 | 1286 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddAuditRetentionIndexes | 1521 | 0 | 1521 | 1627 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddBruteForceGuardsAndEmailUniqueness | 978 | 0 | 978 | 1093 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddDataProtectionKeys | 957 | 0 | 957 | 1031 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddErasedSubject | 1351 | 0 | 1351 | 1469 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddFactorBudgets | 1391 | 0 | 1391 | 1490 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddPendingRegistration | 1215 | 0 | 1215 | 1294 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddPendingRegistrationPublicId | 1222 | 0 | 1222 | 1314 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddPersonLowerEmailIndex | 1516 | 0 | 1516 | 1622 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddPersonScopeId | 942 | 0 | 942 | 1042 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddPersonSecurityStamp | 1315 | 0 | 1315 | 1412 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddScopeEmailLinks | 1213 | 0 | 1213 | 1290 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddScopeOwnerInvitation | 1682 | 0 | 1682 | 1794 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddScopePermission | 697 | 0 | 697 | 765 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddScopeSelfRegistration | 1111 | 0 | 1111 | 1184 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddTwoFactorAuth | 857 | 0 | 857 | 932 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AddTwoFactorRecoveryCode | 877 | 0 | 877 | 951 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AllowClearingAuditActor | 1076 | 0 | 1076 | 1182 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AllowClearingAuditTarget | 1441 | 0 | 1441 | 1556 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AllowClearingErasedSubjectTarget | 1502 | 0 | 1502 | 1616 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AnonymiseDeletedIdentities | 1073 | 0 | 1073 | 1181 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.AppDbContextModelSnapshot | 1496 | 0 | 1496 | 1558 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Data.Migrations.BackfillSeededMasterLegalBasis | 1501 | 0 | 1501 | 1608 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.CapChallengeCodeReissues | 1095 | 0 | 1095 | 1177 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.CapChallengeGuesses | 1105 | 0 | 1105 | 1186 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.HardenPendingRegistration | 1210 | 0 | 1210 | 1287 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.HashSingleUseTokens | 1051 | 0 | 1051 | 1183 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.InitialCreate | 936 | 0 | 936 | 1036 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.MakeAuditLogAppendOnly | 982 | 0 | 982 | 1094 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.ProtectEntityPublicIds | 1363 | 0 | 1363 | 1471 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.ProtectIdentityPublicIds | 1397 | 0 | 1397 | 1534 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.RecordErasureRequests | 1069 | 0 | 1069 | 1153 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.RecordGoogleIdTokenUse | 1416 | 0 | 1416 | 1507 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.RecordLegalBasis | 1131 | 0 | 1131 | 1235 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.RefineAuditLog | 934 | 0 | 934 | 1010 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.ReleaseStuckLoginLockouts | 1305 | 0 | 1305 | 1404 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.RestrictProcessing | 1158 | 0 | 1158 | 1254 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Migrations.TrackOutstandingChallenge | 1098 | 0 | 1098 | 1181 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Persistence.ApplicationCredentialSlots | 28 | 0 | 28 | 54 | 100% | | 6 | 8 | 75% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Persistence.AtomicWrites | 752 | 29 | 781 | 1409 | 96.2% | | 154 | 170 | 90.5% | | 61 | 62 | 98.3% | | 55 | 62 | 88.7% | |
| ArturRios.Heimdall.Data.Persistence.AttemptNoticeBudgets | 14 | 0 | 14 | 50 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Data.Persistence.ErasedSubjects | 16 | 1 | 17 | 54 | 94.1% | | 1 | 2 | 50% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Data.Persistence.InvariantLocks | 10 | 2 | 12 | 69 | 83.3% | | 5 | 6 | 83.3% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Data.Persistence.ScopeCascades | 28 | 0 | 28 | 78 | 100% | | 2 | 2 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Data.Persistence.ScopeOwnerInvitations | 112 | 1 | 113 | 199 | 99.1% | | 28 | 34 | 82.3% | | 10 | 10 | 100% | | 9 | 10 | 90% | |
| ArturRios.Heimdall.Data.Persistence.WriteTransactions | 12 | 2 | 14 | 59 | 85.7% | | 2 | 2 | 100% | | 5 | 5 | 100% | | 4 | 5 | 80% | |
| ArturRios.Heimdall.Data.Registration.DataServiceCollectionExtensions | 16 | 0 | 16 | 74 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Data.Seeding.DatabaseSeeder | 46 | 12 | 58 | 132 | 79.3% | | 13 | 20 | 65% | | 6 | 6 | 100% | | 3 | 6 | 50% | |
| ArturRios.Heimdall.Data.Seeding.MasterUserOptions | 8 | 0 | 8 | 30 | 100% | | 7 | 10 | 70% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Domain | 213 | 3 | 216 | 1597 | 98.6% | | 4 | 4 | 100% | | 208 | 211 | 98.5% | | 208 | 211 | 98.5% | |
| ArturRios.Heimdall.Domain.Entities.Application | 10 | 0 | 10 | 50 | 100% | | 0 | 0 | | | 10 | 10 | 100% | | 10 | 10 | 100% | |
| ArturRios.Heimdall.Domain.Entities.ApplicationCredential | 11 | 0 | 11 | 77 | 100% | | 0 | 0 | | | 10 | 10 | 100% | | 10 | 10 | 100% | |
| ArturRios.Heimdall.Domain.Entities.AttemptNoticeBudget | 5 | 0 | 5 | 57 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Domain.Entities.AuditLog | 8 | 0 | 8 | 95 | 100% | | 0 | 0 | | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.Domain.Entities.EmailVerificationToken | 5 | 0 | 5 | 35 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Domain.Entities.ErasedSubject | 2 | 0 | 2 | 49 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Domain.Entities.GoogleIdTokenUse | 6 | 0 | 6 | 59 | 100% | | 4 | 4 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Domain.Entities.GoogleUser | 23 | 0 | 23 | 166 | 100% | | 0 | 0 | | | 23 | 23 | 100% | | 23 | 23 | 100% | |
| ArturRios.Heimdall.Domain.Entities.PasswordResetToken | 5 | 0 | 5 | 35 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Domain.Entities.PendingRegistration | 11 | 0 | 11 | 64 | 100% | | 0 | 0 | | | 11 | 11 | 100% | | 11 | 11 | 100% | |
| ArturRios.Heimdall.Domain.Entities.Person | 43 | 1 | 44 | 321 | 97.7% | | 0 | 0 | | | 43 | 44 | 97.7% | | 43 | 44 | 97.7% | |
| ArturRios.Heimdall.Domain.Entities.Role | 4 | 0 | 4 | 30 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Domain.Entities.Scope | 17 | 0 | 17 | 109 | 100% | | 0 | 0 | | | 17 | 17 | 100% | | 17 | 17 | 100% | |
| ArturRios.Heimdall.Domain.Entities.ScopeOwner | 4 | 0 | 4 | 27 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Domain.Entities.ScopeOwnerInvitation | 15 | 0 | 15 | 71 | 100% | | 0 | 0 | | | 14 | 14 | 100% | | 14 | 14 | 100% | |
| ArturRios.Heimdall.Domain.Entities.ScopePermission | 9 | 0 | 9 | 51 | 100% | | 0 | 0 | | | 9 | 9 | 100% | | 9 | 9 | 100% | |
| ArturRios.Heimdall.Domain.Entities.ScopeUser | 4 | 0 | 4 | 27 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Domain.Entities.TwoFactorAuth | 14 | 0 | 14 | 105 | 100% | | 0 | 0 | | | 14 | 14 | 100% | | 14 | 14 | 100% | |
| ArturRios.Heimdall.Domain.Entities.TwoFactorEmailCode | 8 | 0 | 8 | 47 | 100% | | 0 | 0 | | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.Domain.Entities.TwoFactorRecoveryCode | 4 | 2 | 6 | 42 | 66.6% | | 0 | 0 | | | 4 | 6 | 66.6% | | 4 | 6 | 66.6% | |
| ArturRios.Heimdall.Domain.Persistence.ScopeMemberIds | 4 | 0 | 4 | 35 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Domain.Persistence.ScopeOwnerInvitationOpening | 1 | 0 | 1 | 45 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query | 1247 | 6 | 1253 | 3784 | 99.5% | | 198 | 206 | 96.1% | | 277 | 277 | 100% | | 271 | 277 | 97.8% | |
| ArturRios.Heimdall.Query.Handlers.CheckApplicationTokenQueryHandler | 28 | 0 | 28 | 63 | 100% | | 4 | 4 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.DetectSecuritySignalsQueryHandler | 54 | 0 | 54 | 128 | 100% | | 4 | 4 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.GetApplicationByIdQueryHandler | 30 | 0 | 30 | 77 | 100% | | 10 | 10 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.GetDetailedHealthQueryHandler | 20 | 0 | 20 | 47 | 100% | | 4 | 4 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.GetGoogleUserByIdQueryHandler | 37 | 0 | 37 | 91 | 100% | | 6 | 6 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Query.Handlers.GetPersonByIdQueryHandler | 58 | 0 | 58 | 142 | 100% | | 21 | 22 | 95.4% | | 10 | 10 | 100% | | 10 | 10 | 100% | |
| ArturRios.Heimdall.Query.Handlers.GetScopeByIdQueryHandler | 42 | 0 | 42 | 92 | 100% | | 8 | 8 | 100% | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Query.Handlers.GetScopePermissionByIdQueryHandler | 28 | 0 | 28 | 70 | 100% | | 4 | 4 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.GetTwoFactorStatusQueryHandler | 37 | 0 | 37 | 89 | 100% | | 4 | 4 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.ListApplicationCredentialsQueryHandler | 31 | 0 | 31 | 62 | 100% | | 4 | 4 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.ListAuditLogQueryHandler | 40 | 0 | 40 | 106 | 100% | | 14 | 14 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.ListErasureRequestsQueryHandler | 43 | 1 | 44 | 106 | 97.7% | | 5 | 6 | 83.3% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Query.Handlers.ListMyScopeInvitationsQueryHandler | 32 | 0 | 32 | 69 | 100% | | 3 | 4 | 75% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.ListPendingRegistrationsQueryHandler | 36 | 0 | 36 | 98 | 100% | | 6 | 6 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.ListScopeAdminsQueryHandler | 44 | 0 | 44 | 129 | 100% | | 16 | 16 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.ListScopeApplicationsQueryHandler | 39 | 1 | 40 | 113 | 97.5% | | 13 | 14 | 92.8% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Query.Handlers.ListScopeGoogleUsersQueryHandler | 42 | 1 | 43 | 120 | 97.6% | | 11 | 12 | 91.6% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Query.Handlers.ListScopeOwnerInvitationsQueryHandler | 37 | 0 | 37 | 87 | 100% | | 6 | 6 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.ListScopeOwnersQueryHandler | 50 | 1 | 51 | 120 | 98% | | 13 | 14 | 92.8% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Query.Handlers.ListScopePermissionsQueryHandler | 36 | 1 | 37 | 102 | 97.2% | | 9 | 10 | 90% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Query.Handlers.ListScopePersonsQueryHandler | 51 | 1 | 52 | 123 | 98% | | 13 | 14 | 92.8% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.Query.Handlers.ListScopesQueryHandler | 37 | 0 | 37 | 100 | 100% | | 10 | 10 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Handlers.ListSystemAdminsQueryHandler | 28 | 0 | 28 | 80 | 100% | | 6 | 6 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.HealthChecks.DatabaseHealthCheck | 10 | 0 | 10 | 41 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Query.Input.CheckApplicationTokenQuery | 1 | 0 | 1 | 12 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.GetApplicationByIdQuery | 5 | 0 | 5 | 26 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Query.Input.GetGoogleUserByIdQuery | 5 | 0 | 5 | 31 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Query.Input.GetPersonByIdQuery | 4 | 0 | 4 | 23 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Query.Input.GetScopeByIdQuery | 4 | 0 | 4 | 23 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Query.Input.GetScopePermissionByIdQuery | 5 | 0 | 5 | 26 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Query.Input.GetTwoFactorStatusQuery | 2 | 0 | 2 | 22 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Input.ListApplicationCredentialsQuery | 4 | 0 | 4 | 16 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Query.Input.ListAuditLogQuery | 8 | 0 | 8 | 51 | 100% | | 0 | 0 | | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.Query.Input.ListErasureRequestsQuery | 3 | 0 | 3 | 31 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Query.Input.ListMyScopeInvitationsQuery | 2 | 0 | 2 | 18 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Input.ListPendingRegistrationsQuery | 3 | 0 | 3 | 23 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Query.Input.ListScopeAdminsQuery | 5 | 0 | 5 | 44 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Query.Input.ListScopeApplicationsQuery | 6 | 0 | 6 | 39 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Query.Input.ListScopeGoogleUsersQuery | 6 | 0 | 6 | 35 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Query.Input.ListScopeOwnerInvitationsQuery | 3 | 0 | 3 | 23 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Query.Input.ListScopeOwnersQuery | 6 | 0 | 6 | 35 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Query.Input.ListScopePermissionsQuery | 5 | 0 | 5 | 34 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Query.Input.ListScopePersonsQuery | 6 | 0 | 6 | 35 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Query.Input.ListScopesQuery | 4 | 0 | 4 | 28 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Query.Input.ListSystemAdminsQuery | 4 | 0 | 4 | 33 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.ListAuditLogQueryValidator | 9 | 0 | 9 | 26 | 100% | | 4 | 4 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.ListScopeAdminsQueryValidator | 8 | 0 | 8 | 20 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.ListScopeApplicationsQueryValidator | 5 | 0 | 5 | 16 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.ListScopeGoogleUsersQueryValidator | 8 | 0 | 8 | 20 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.ListScopeOwnersQueryValidator | 8 | 0 | 8 | 20 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.ListScopePermissionsQueryValidator | 5 | 0 | 5 | 16 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.ListScopePersonsQueryValidator | 8 | 0 | 8 | 20 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.ListScopesQueryValidator | 5 | 0 | 5 | 16 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.ListSystemAdminsQueryValidator | 8 | 0 | 8 | 20 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Input.Validation.PaginatedQueryValidator<T> | 8 | 0 | 8 | 39 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Output.ApplicationCredentialListOutput | 1 | 0 | 1 | 13 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Query.Output.ApplicationCredentialOutput | 6 | 0 | 6 | 23 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Query.Output.ApplicationOutput | 7 | 0 | 7 | 32 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Query.Output.ApplicationTokenCheckOutput | 5 | 0 | 5 | 19 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.Query.Output.AuditLogEntryOutput | 8 | 0 | 8 | 34 | 100% | | 0 | 0 | | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.Query.Output.ErasureRequestOutput | 6 | 0 | 6 | 32 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Query.Output.GoogleUserOutput | 10 | 0 | 10 | 47 | 100% | | 0 | 0 | | | 10 | 10 | 100% | | 10 | 10 | 100% | |
| ArturRios.Heimdall.Query.Output.HealthCheckOutput | 2 | 0 | 2 | 19 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Output.MyScopeInvitationOutput | 6 | 0 | 6 | 24 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.Query.Output.PendingRegistrationOutput | 7 | 0 | 7 | 39 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Query.Output.PersonOutput | 11 | 0 | 11 | 54 | 100% | | 0 | 0 | | | 11 | 11 | 100% | | 11 | 11 | 100% | |
| ArturRios.Heimdall.Query.Output.PersonSummaryOutput | 3 | 0 | 3 | 29 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Query.Output.ScopeOutput | 13 | 0 | 13 | 52 | 100% | | 0 | 0 | | | 13 | 13 | 100% | | 13 | 13 | 100% | |
| ArturRios.Heimdall.Query.Output.ScopeOwnerInvitationOutput | 7 | 0 | 7 | 28 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.Query.Output.ScopePermissionOutput | 8 | 0 | 8 | 38 | 100% | | 0 | 0 | | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.Query.Output.SecuritySignal | 4 | 0 | 4 | 38 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Query.Output.SecuritySignalsOutput | 3 | 0 | 3 | 38 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.Query.Output.ServiceHealthOutput | 2 | 0 | 2 | 13 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Query.Output.TwoFactorStatusOutput | 4 | 0 | 4 | 28 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.Query.Registration.QueryServiceCollectionExtensions | 81 | 0 | 81 | 108 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared | 645 | 0 | 645 | 1524 | 100% | | 40 | 40 | 100% | | 46 | 46 | 100% | | 46 | 46 | 100% | |
| ArturRios.Heimdall.Shared.Messages.ApplicationCredentialMessageMap | 22 | 0 | 22 | 30 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.ApplicationMessageMap | 42 | 0 | 42 | 53 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.ApplicationTokenMessageMap | 19 | 0 | 19 | 27 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.AuditMessageMap | 15 | 0 | 15 | 30 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.AuthMessageMap | 75 | 0 | 75 | 86 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.DataAccessMessageMap | 24 | 0 | 24 | 72 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Shared.Messages.ErasureMessageMap | 34 | 0 | 34 | 45 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.GoogleUserMessageMap | 30 | 0 | 30 | 41 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.PersonMessageMap | 99 | 0 | 99 | 110 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.RequestMessageMap | 5 | 0 | 5 | 13 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.ScopeInvitationMessageMap | 15 | 0 | 15 | 23 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.ScopeMessageMap | 57 | 0 | 57 | 69 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.ScopePermissionMessageMap | 34 | 0 | 34 | 48 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Messages.TwoFactorMessageMap | 47 | 0 | 47 | 58 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Retention.DataRetentionOptions | 82 | 0 | 82 | 430 | 100% | | 20 | 20 | 100% | | 22 | 22 | 100% | | 22 | 22 | 100% | |
| ArturRios.Heimdall.Shared.Security.ApplicationTokenPrincipal | 1 | 0 | 1 | 21 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Security.LogSafeEmail | 4 | 0 | 4 | 57 | 100% | | 2 | 2 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Security.TwoFactorLifetimes | 2 | 0 | 2 | 55 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Services.ApplicationAccessResult | 1 | 0 | 1 | 75 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Services.ApplicationManagementAccess | 17 | 0 | 17 | 75 | 100% | | 8 | 8 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Services.OwnedScopeVisibility | 7 | 0 | 7 | 51 | 100% | | 2 | 2 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.Shared.Services.ScopeOwnershipChecker | 7 | 0 | 7 | 30 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.Shared.Time.UtcInstant | 6 | 0 | 6 | 25 | 100% | | 4 | 4 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi | 2086 | 136 | 2222 | 9536 | 93.8% | | 569 | 692 | 82.2% | | 358 | 371 | 96.4% | | 342 | 371 | 92.1% | |
| ArturRios.Heimdall.WebApi.Binding.MalformedRequestFilter | 8 | 0 | 8 | 52 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Binding.ModelBindingConfiguration | 3 | 0 | 3 | 52 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.Binding.ServerPopulatedBindingMetadataProvider | 3 | 0 | 3 | 52 | 100% | | 2 | 2 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.ConfigurationWarnings | 2 | 4 | 6 | 23 | 33.3% | | 1 | 2 | 50% | | 1 | 1 | 100% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.WebApi.Controllers.ApplicationController | 36 | 0 | 36 | 144 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.ApplicationCredentialController | 21 | 0 | 21 | 87 | 100% | | 2 | 2 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.ApplicationTokenController | 14 | 0 | 14 | 78 | 100% | | 2 | 2 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.AuditController | 6 | 0 | 6 | 42 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.AuthController | 101 | 5 | 106 | 660 | 95.2% | | 0 | 0 | | | 21 | 22 | 95.4% | | 21 | 22 | 95.4% | |
| ArturRios.Heimdall.WebApi.Controllers.GoogleUserController | 23 | 0 | 23 | 111 | 100% | | 0 | 0 | | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.HealthCheckController | 18 | 0 | 18 | 90 | 100% | | 4 | 8 | 50% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.PersonController | 92 | 0 | 92 | 413 | 100% | | 0 | 0 | | | 17 | 17 | 100% | | 17 | 17 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.ScopeController | 59 | 0 | 59 | 215 | 100% | | 0 | 0 | | | 12 | 12 | 100% | | 12 | 12 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.ScopeInvitationController | 32 | 0 | 32 | 120 | 100% | | 2 | 2 | 100% | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.ScopePermissionController | 36 | 0 | 36 | 148 | 100% | | 0 | 0 | | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.WebApi.Controllers.SigningKeysController | 3 | 0 | 3 | 43 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.DatabaseConnectionGuard | 17 | 4 | 21 | 86 | 80.9% | | 3 | 12 | 25% | | 1 | 1 | 100% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.WebApi.DataRetentionRegistrationExtensions | 21 | 18 | 39 | 99 | 53.8% | | 5 | 10 | 50% | | 1 | 1 | 100% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.WebApi.Documentation.JsonWebKeyDocument | 0 | 1 | 1 | 24 | 0% | | 0 | 0 | | | 0 | 1 | 0% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.WebApi.Documentation.JsonWebKeySetDocument | 0 | 1 | 1 | 24 | 0% | | 0 | 0 | | | 0 | 1 | 0% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.WebApi.Documentation.LineEndingDocumentFilter | 42 | 2 | 44 | 356 | 95.4% | | 56 | 74 | 75.6% | | 4 | 4 | 100% | | 3 | 4 | 75% | |
| ArturRios.Heimdall.WebApi.Documentation.SecurityDocumentFilter | 65 | 0 | 65 | 356 | 100% | | 23 | 30 | 76.6% | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.WebApi.Documentation.SwaggerConfiguration | 46 | 5 | 51 | 356 | 90.1% | | 2 | 4 | 50% | | 1 | 1 | 100% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.WebApi.EdgePipeline | 36 | 0 | 36 | 52 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.EmailDeliveryOptions | 15 | 0 | 15 | 57 | 100% | | 7 | 10 | 70% | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.WebApi.Email.LoggingEmailChangeNoticeSender | 3 | 0 | 3 | 20 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.LoggingEmailVerificationSender | 5 | 0 | 5 | 24 | 100% | | 1 | 2 | 50% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.LoggingPasswordResetSender | 5 | 0 | 5 | 23 | 100% | | 1 | 2 | 50% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.LoggingRegistrationAttemptSender | 5 | 0 | 5 | 22 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.LoggingRegistrationLinkSender | 5 | 0 | 5 | 24 | 100% | | 1 | 2 | 50% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.LoggingRestrictionLiftNotifier | 3 | 0 | 3 | 20 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.LoggingScopeInvitationNoticeSender | 7 | 0 | 7 | 29 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Email.LoggingTwoFactorEmailSender | 3 | 0 | 3 | 21 | 100% | | 0 | 0 | | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.MailgunEmailChangeNoticeSender | 3 | 0 | 3 | 36 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Email.MailgunEmailVerificationSender | 16 | 0 | 16 | 41 | 100% | | 4 | 4 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Email.MailgunPasswordResetSender | 20 | 0 | 20 | 47 | 100% | | 4 | 4 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Email.MailgunRegistrationAttemptSender | 13 | 0 | 13 | 35 | 100% | | 2 | 2 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Email.MailgunRegistrationLinkSender | 20 | 0 | 20 | 45 | 100% | | 4 | 4 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Email.MailgunRestrictionLiftNotifier | 15 | 0 | 15 | 54 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.MailgunScopeInvitationNoticeSender | 6 | 0 | 6 | 24 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.WebApi.Email.MailgunSender | 15 | 0 | 15 | 56 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Email.MailgunTwoFactorEmailSender | 9 | 0 | 9 | 30 | 100% | | 0 | 0 | | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Email.PasswordRecoveryDispatcher | 16 | 1 | 17 | 58 | 94.1% | | 1 | 2 | 50% | | 3 | 3 | 100% | | 2 | 3 | 66.6% | |
| ArturRios.Heimdall.WebApi.Email.PasswordRecoveryQueue | 15 | 0 | 15 | 73 | 100% | | 2 | 2 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Email.RegistrationDispatcher | 16 | 1 | 17 | 44 | 94.1% | | 1 | 2 | 50% | | 3 | 3 | 100% | | 2 | 3 | 66.6% | |
| ArturRios.Heimdall.WebApi.Email.RegistrationQueue | 14 | 0 | 14 | 45 | 100% | | 2 | 2 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.EmailRegistrationExtensions | 46 | 19 | 65 | 139 | 70.7% | | 3 | 6 | 50% | | 2 | 2 | 100% | | 0 | 2 | 0% | |
| ArturRios.Heimdall.WebApi.ForwardedHeadersRegistrationExtensions | 8 | 9 | 17 | 47 | 47% | | 2 | 4 | 50% | | 1 | 1 | 100% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.WebApi.GoogleSignInRegistrationExtensions | 9 | 9 | 18 | 58 | 50% | | 2 | 6 | 33.3% | | 1 | 1 | 100% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.WebApi.JwtConfigurationBuilder | 10 | 0 | 10 | 52 | 100% | | 2 | 4 | 50% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.LoggingConfiguration | 13 | 0 | 13 | 70 | 100% | | 2 | 2 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.Metrics.MetricsConfiguration | 21 | 0 | 21 | 95 | 100% | | 4 | 4 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Metrics.MetricsOptions | 13 | 0 | 13 | 97 | 100% | | 12 | 12 | 100% | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.WebApi.Monitoring.ReadinessCache | 10 | 0 | 10 | 39 | 100% | | 4 | 4 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Monitoring.SecurityMonitoringService | 4 | 14 | 18 | 79 | 22.2% | | 0 | 12 | 0% | | 2 | 4 | 50% | | 2 | 4 | 50% | |
| ArturRios.Heimdall.WebApi.Program | 3 | 0 | 3 | 11 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.RateLimitingConfiguration | 74 | 0 | 74 | 231 | 100% | | 24 | 26 | 92.3% | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.WebApi.Retention.AuditRetentionService | 23 | 1 | 24 | 57 | 95.8% | | 7 | 8 | 87.5% | | 4 | 5 | 80% | | 4 | 5 | 80% | |
| ArturRios.Heimdall.WebApi.Retention.IdentityAnonymisationService | 27 | 1 | 28 | 75 | 96.4% | | 12 | 14 | 85.7% | | 4 | 5 | 80% | | 4 | 5 | 80% | |
| ArturRios.Heimdall.WebApi.Retention.ScheduledPassMetrics | 14 | 0 | 14 | 48 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.WebApi.Retention.ScheduledPassResult | 6 | 0 | 6 | 27 | 100% | | 2 | 2 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Retention.ScheduledPassService | 27 | 0 | 27 | 119 | 100% | | 6 | 6 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.WebApi.Retention.TokenRetentionService | 25 | 1 | 26 | 66 | 96.1% | | 6 | 8 | 75% | | 4 | 5 | 80% | | 4 | 5 | 80% | |
| ArturRios.Heimdall.WebApi.Security.ActorExtensions | 4 | 0 | 4 | 25 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.Security.ActorLivenessFilter | 35 | 0 | 35 | 179 | 100% | | 15 | 16 | 93.7% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Security.ApplicationTokenOptions | 33 | 0 | 33 | 111 | 100% | | 22 | 24 | 91.6% | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.WebApi.Security.AuthRateLimitPartition | 9 | 0 | 9 | 54 | 100% | | 13 | 14 | 92.8% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Security.GoogleIdTokenClaims | 8 | 0 | 8 | 78 | 100% | | 5 | 6 | 83.3% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.Security.GoogleIdTokenValidationSettings | 8 | 0 | 8 | 48 | 100% | | 0 | 0 | | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.Security.GoogleIdTokenVerifier | 0 | 22 | 22 | 62 | 0% | | 0 | 8 | 0% | | 0 | 2 | 0% | | 0 | 2 | 0% | |
| ArturRios.Heimdall.WebApi.Security.GoogleSignInOptions | 10 | 1 | 11 | 43 | 90.9% | | 2 | 4 | 50% | | 4 | 5 | 80% | | 4 | 5 | 80% | |
| ArturRios.Heimdall.WebApi.Security.HttpContextActorAccessor | 3 | 0 | 3 | 16 | 100% | | 8 | 8 | 100% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Security.HttpResponseRetryAfterAdvisor | 5 | 1 | 6 | 23 | 83.3% | | 3 | 6 | 50% | | 2 | 2 | 100% | | 1 | 2 | 50% | |
| ArturRios.Heimdall.WebApi.Security.IdentityUser | 13 | 0 | 13 | 76 | 100% | | 0 | 0 | | | 12 | 12 | 100% | | 12 | 12 | 100% | |
| ArturRios.Heimdall.WebApi.Security.IdentityUserMapper | 77 | 1 | 78 | 251 | 98.7% | | 53 | 56 | 94.6% | | 7 | 7 | 100% | | 6 | 7 | 85.7% | |
| ArturRios.Heimdall.WebApi.Security.JwtApplicationTokenService | 51 | 0 | 51 | 105 | 100% | | 17 | 18 | 94.4% | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.WebApi.Security.JwtAuthTokenIssuer | 42 | 0 | 42 | 106 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.WebApi.Security.JwtTwoFactorChallengeTokenIssuer | 27 | 1 | 28 | 120 | 96.4% | | 10 | 14 | 71.4% | | 3 | 3 | 100% | | 2 | 3 | 66.6% | |
| ArturRios.Heimdall.WebApi.Security.LocalGoogleIdTokenVerifier | 37 | 0 | 37 | 105 | 100% | | 13 | 14 | 92.8% | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.WebApi.Security.MfaPendingGuardFilter | 7 | 0 | 7 | 49 | 100% | | 4 | 4 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.Security.PasswordHashSaturationFilter | 7 | 0 | 7 | 60 | 100% | | 2 | 2 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.Security.PersonTokenAudiences | 4 | 0 | 4 | 56 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.WebApi.Security.PersonTokenValidator | 12 | 0 | 12 | 54 | 100% | | 4 | 4 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Security.PublicHostSettings | 31 | 0 | 31 | 251 | 100% | | 26 | 26 | 100% | | 8 | 8 | 100% | | 8 | 8 | 100% | |
| ArturRios.Heimdall.WebApi.Security.SensitiveDiagnostics | 6 | 0 | 6 | 251 | 100% | | 0 | 0 | | | 6 | 6 | 100% | | 6 | 6 | 100% | |
| ArturRios.Heimdall.WebApi.Security.SensitiveDiagnosticsGuard | 33 | 0 | 33 | 251 | 100% | | 29 | 30 | 96.6% | | 4 | 4 | 100% | | 4 | 4 | 100% | |
| ArturRios.Heimdall.WebApi.Security.ServerErrorLoggingFilter | 12 | 0 | 12 | 64 | 100% | | 11 | 16 | 68.7% | | 3 | 3 | 100% | | 3 | 3 | 100% | |
| ArturRios.Heimdall.WebApi.Security.SubjectRightsOnlyGuardFilter | 7 | 0 | 7 | 53 | 100% | | 6 | 6 | 100% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.Security.SuppressedDeveloperPageFilter | 7 | 1 | 8 | 42 | 87.5% | | 0 | 0 | | | 1 | 1 | 100% | | 0 | 1 | 0% | |
| ArturRios.Heimdall.WebApi.Security.TokenLifetimeSetting | 7 | 0 | 7 | 34 | 100% | | 8 | 8 | 100% | | 2 | 2 | 100% | | 2 | 2 | 100% | |
| ArturRios.Heimdall.WebApi.Security.TokenOrigin | 14 | 0 | 14 | 58 | 100% | | 9 | 10 | 90% | | 1 | 1 | 100% | | 1 | 1 | 100% | |
| ArturRios.Heimdall.WebApi.Security.TokenSigningKeys | 51 | 0 | 51 | 167 | 100% | | 18 | 18 | 100% | | 11 | 11 | 100% | | 11 | 11 | 100% | |
| ArturRios.Heimdall.WebApi.Security.TrustedCallerOptions | 24 | 0 | 24 | 109 | 100% | | 12 | 12 | 100% | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.WebApi.Security.TrustedProxyOptions | 25 | 0 | 25 | 115 | 100% | | 18 | 18 | 100% | | 7 | 7 | 100% | | 7 | 7 | 100% | |
| ArturRios.Heimdall.WebApi.Security.UnconfiguredGoogleIdTokenVerifier | 0 | 6 | 6 | 30 | 0% | | 0 | 0 | | | 0 | 2 | 0% | | 0 | 2 | 0% | |
| ArturRios.Heimdall.WebApi.Startup | 111 | 7 | 118 | 371 | 94% | | 17 | 22 | 77.2% | | 11 | 11 | 100% | | 10 | 11 | 90.9% | |
| ArturRios.Heimdall.WebApi.TokenSecurityRegistrationExtensions | 58 | 0 | 58 | 167 | 100% | | 8 | 8 | 100% | | 5 | 5 | 100% | | 5 | 5 | 100% | |
| ArturRios.Heimdall.WebApi.WebApiServiceCollectionExtensions | 62 | 0 | 62 | 131 | 100% | | 0 | 0 | | | 4 | 4 | 100% | | 4 | 4 | 100% | |