< Summary

Information
Class: AsiBackbone.EntityFrameworkCore.Configurations.DecisionReceiptLifecycleEventEntityConfiguration
Assembly: AsiBackbone.EntityFrameworkCore
File(s): /home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.EntityFrameworkCore/Configurations/DecisionReceiptLifecycleEventEntityConfiguration.cs
Line coverage
100%
Covered lines: 54
Uncovered lines: 0
Coverable lines: 54
Total lines: 101
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

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

File(s)

/home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.EntityFrameworkCore/Configurations/DecisionReceiptLifecycleEventEntityConfiguration.cs

#LineLine coverage
 1using AsiBackbone.EntityFrameworkCore.Persistence;
 2using Microsoft.EntityFrameworkCore;
 3using Microsoft.EntityFrameworkCore.Metadata.Builders;
 4
 5namespace AsiBackbone.EntityFrameworkCore.Configurations;
 6
 7/// <summary>
 8/// Configures the Entity Framework Core persistence mapping for <see cref="DecisionReceiptLifecycleEventEntity" />.
 9/// </summary>
 10public sealed class DecisionReceiptLifecycleEventEntityConfiguration
 11    : IEntityTypeConfiguration<DecisionReceiptLifecycleEventEntity>
 12{
 13    private const int IdentifierMaxLength = 128;
 14    private const int StageMaxLength = 128;
 15    private const int OperationNameMaxLength = 256;
 16    private const int OutcomeMaxLength = 128;
 17    private const int ConcurrencyStampMaxLength = 64;
 18
 19    /// <inheritdoc />
 20    public void Configure(EntityTypeBuilder<DecisionReceiptLifecycleEventEntity> builder)
 21    {
 1922        ArgumentNullException.ThrowIfNull(builder);
 23
 1924        _ = builder.ToTable("AsiBackboneAuditResidueLifecycleEvents");
 25
 1926        _ = builder.HasKey(lifecycleEvent => lifecycleEvent.Id);
 27
 1928        _ = builder.Property(lifecycleEvent => lifecycleEvent.Id)
 1929            .ValueGeneratedNever();
 30
 1931        _ = builder.Property(lifecycleEvent => lifecycleEvent.ConcurrencyStamp)
 1932            .IsRequired()
 1933            .HasMaxLength(ConcurrencyStampMaxLength)
 1934            .IsConcurrencyToken();
 35
 1936        _ = builder.Property(lifecycleEvent => lifecycleEvent.EventId)
 1937            .IsRequired()
 1938            .HasMaxLength(IdentifierMaxLength);
 39
 1940        _ = builder.Property(lifecycleEvent => lifecycleEvent.Stage)
 1941            .HasConversion<string>()
 1942            .IsRequired()
 1943            .HasMaxLength(StageMaxLength);
 44
 1945        _ = builder.Property(lifecycleEvent => lifecycleEvent.StageSequence)
 1946            .IsRequired();
 47
 1948        _ = builder.Property(lifecycleEvent => lifecycleEvent.OccurredUtc)
 1949            .IsRequired();
 50
 1951        _ = builder.Property(lifecycleEvent => lifecycleEvent.CorrelationId)
 1952            .IsRequired()
 1953            .HasMaxLength(IdentifierMaxLength);
 54
 1955        _ = builder.Property(lifecycleEvent => lifecycleEvent.DecisionReceiptId)
 1956            .HasMaxLength(IdentifierMaxLength);
 57
 1958        _ = builder.Property(lifecycleEvent => lifecycleEvent.TraceId)
 1959            .HasMaxLength(IdentifierMaxLength);
 60
 1961        _ = builder.Property(lifecycleEvent => lifecycleEvent.OperationName)
 1962            .HasMaxLength(OperationNameMaxLength);
 63
 1964        _ = builder.Property(lifecycleEvent => lifecycleEvent.Outcome)
 1965            .HasMaxLength(OutcomeMaxLength);
 66
 1967        _ = builder.Property(lifecycleEvent => lifecycleEvent.MetadataJson)
 1968            .IsRequired();
 69
 1970        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.EventId)
 1971            .IsUnique();
 72
 1973        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.Stage);
 74
 1975        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.StageSequence);
 76
 1977        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.OccurredUtc);
 78
 1979        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.CorrelationId);
 80
 1981        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.DecisionReceiptId);
 82
 1983        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.TraceId);
 84
 1985        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.OperationName);
 86
 1987        _ = builder.HasIndex(lifecycleEvent => lifecycleEvent.Outcome);
 88
 1989        _ = builder.HasIndex(lifecycleEvent => new
 1990        {
 1991            lifecycleEvent.CorrelationId,
 1992            lifecycleEvent.OccurredUtc
 1993        });
 94
 1995        _ = builder.HasIndex(lifecycleEvent => new
 1996        {
 1997            lifecycleEvent.DecisionReceiptId,
 1998            lifecycleEvent.OccurredUtc
 1999        });
 19100    }
 101}