< Summary - Heimdall API

Information
Class: ArturRios.Heimdall.Data.EntityMaps.TwoFactorEmailCodeDbMap
Assembly: ArturRios.Heimdall.Data
File(s): /home/ci/agent/workspace/heimdall-api-docs_main/app/src/Infrastructure/ArturRios.Heimdall.Data/EntityMaps/TwoFactorEmailCodeDbMap.cs
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 32
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage
100%
Covered methods: 1
Fully covered methods: 1
Total methods: 1
Method coverage: 100%
Full method coverage: 100%

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Configure(...)100%11100%

File(s)

/home/ci/agent/workspace/heimdall-api-docs_main/app/src/Infrastructure/ArturRios.Heimdall.Data/EntityMaps/TwoFactorEmailCodeDbMap.cs

#LineLine coverage
 1using ArturRios.Heimdall.Domain.Entities;
 2using Microsoft.EntityFrameworkCore;
 3using Microsoft.EntityFrameworkCore.Metadata.Builders;
 4
 5namespace ArturRios.Heimdall.Data.EntityMaps;
 6
 7internal static class TwoFactorEmailCodeDbMap
 8{
 9    public static void Configure(this EntityTypeBuilder<TwoFactorEmailCode> emailCode)
 10    {
 411        emailCode.ToTable("two_factor_email_code");
 12
 13        // Internal bigint Id only; never addressed by ID — reached through the owning
 14        // TwoFactorAuth configuration.
 415        emailCode.HasKey(x => x.Id);
 16
 417        emailCode.Property(x => x.CodeHash).IsRequired();
 418        emailCode.Property(x => x.Salt).IsRequired();
 19
 420        emailCode.Property(x => x.ExpiresAt).IsRequired();
 421        emailCode.Property(x => x.Used).HasDefaultValue(false);
 22
 423        emailCode.Property(x => x.CreatedAt).HasDefaultValueSql("now()");
 24
 25        // Codes are removed when their two-factor configuration is removed.
 426        emailCode.HasOne(x => x.TwoFactorAuth)
 427            .WithMany(t => t.EmailCodes)
 428            .HasForeignKey(x => x.TwoFactorAuthId)
 429            .IsRequired()
 430            .OnDelete(DeleteBehavior.Cascade);
 431    }
 32}