< Summary

Information
Class: AsiBackbone.EntityFrameworkCore.Configurations.AcknowledgmentRequestEntityConfiguration
Assembly: AsiBackbone.EntityFrameworkCore
File(s): /home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.EntityFrameworkCore/Configurations/AcknowledgmentRequestEntityConfiguration.cs
Line coverage
100%
Covered lines: 81
Uncovered lines: 0
Coverable lines: 81
Total lines: 147
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/AcknowledgmentRequestEntityConfiguration.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="AcknowledgmentRequestEntity" />.
 9/// </summary>
 10public sealed class AcknowledgmentRequestEntityConfiguration
 11    : IEntityTypeConfiguration<AcknowledgmentRequestEntity>
 12{
 13    private const int IdentifierMaxLength = 128;
 14    private const int SchemaVersionMaxLength = 64;
 15    private const int DisplayNameMaxLength = 256;
 16    private const int OperationNameMaxLength = 256;
 17    private const int ActorTypeMaxLength = 64;
 18    private const int ReasonCodeMaxLength = 256;
 19    private const int AcknowledgmentCodeMaxLength = 128;
 20    private const int RiskLevelMaxLength = 64;
 21    private const int RiskCategoryMaxLength = 128;
 22    private const int CorrelationMaxLength = 128;
 23    private const int PolicyVersionMaxLength = 128;
 24    private const int HashMaxLength = 512;
 25    private const int ConcurrencyStampMaxLength = 64;
 26
 27    /// <inheritdoc />
 28    public void Configure(EntityTypeBuilder<AcknowledgmentRequestEntity> builder)
 29    {
 1930        ArgumentNullException.ThrowIfNull(builder);
 31
 1932        _ = builder.ToTable("AsiBackboneHandshakeRequests");
 33
 1934        _ = builder.HasKey(request => request.Id);
 35
 1936        _ = builder.Property(request => request.Id)
 1937            .ValueGeneratedNever();
 38
 1939        _ = builder.Property(request => request.ConcurrencyStamp)
 1940            .IsRequired()
 1941            .HasMaxLength(ConcurrencyStampMaxLength)
 1942            .IsConcurrencyToken();
 43
 1944        _ = builder.Property(request => request.HandshakeId)
 1945            .IsRequired()
 1946            .HasMaxLength(IdentifierMaxLength);
 47
 1948        _ = builder.Property(request => request.SchemaVersion)
 1949            .IsRequired()
 1950            .HasMaxLength(SchemaVersionMaxLength);
 51
 1952        _ = builder.Property(request => request.ActorId)
 1953            .IsRequired()
 1954            .HasMaxLength(IdentifierMaxLength);
 55
 1956        _ = builder.Property(request => request.ActorType)
 1957            .HasConversion<string>()
 1958            .IsRequired()
 1959            .HasMaxLength(ActorTypeMaxLength);
 60
 1961        _ = builder.Property(request => request.ActorDisplayName)
 1962            .HasMaxLength(DisplayNameMaxLength);
 63
 1964        _ = builder.Property(request => request.OperationName)
 1965            .IsRequired()
 1966            .HasMaxLength(OperationNameMaxLength);
 67
 1968        _ = builder.Property(request => request.ReasonCode)
 1969            .IsRequired()
 1970            .HasMaxLength(ReasonCodeMaxLength);
 71
 1972        _ = builder.Property(request => request.Message)
 1973            .IsRequired();
 74
 1975        _ = builder.Property(request => request.RequiredAcknowledgmentCode)
 1976            .IsRequired()
 1977            .HasMaxLength(AcknowledgmentCodeMaxLength);
 78
 1979        _ = builder.Property(request => request.RequiredAcknowledgmentText)
 1980            .IsRequired();
 81
 1982        _ = builder.Property(request => request.RiskLevel)
 1983            .HasConversion<string>()
 1984            .IsRequired()
 1985            .HasMaxLength(RiskLevelMaxLength);
 86
 1987        _ = builder.Property(request => request.RiskCategory)
 1988            .HasMaxLength(RiskCategoryMaxLength);
 89
 1990        _ = builder.Property(request => request.CorrelationId)
 1991            .HasMaxLength(CorrelationMaxLength);
 92
 1993        _ = builder.Property(request => request.TraceId)
 1994            .HasMaxLength(CorrelationMaxLength);
 95
 1996        _ = builder.Property(request => request.PolicyVersion)
 1997            .HasMaxLength(PolicyVersionMaxLength);
 98
 1999        _ = builder.Property(request => request.PolicyHash)
 19100            .HasMaxLength(HashMaxLength);
 101
 19102        _ = builder.HasIndex(request => request.HandshakeId)
 19103            .IsUnique();
 104
 19105        _ = builder.HasIndex(request => request.SchemaVersion);
 106
 19107        _ = builder.HasIndex(request => request.ActorId);
 108
 19109        _ = builder.HasIndex(request => request.ActorType);
 110
 19111        _ = builder.HasIndex(request => request.OperationName);
 112
 19113        _ = builder.HasIndex(request => request.ReasonCode);
 114
 19115        _ = builder.HasIndex(request => request.RequiredAcknowledgmentCode);
 116
 19117        _ = builder.HasIndex(request => request.RiskLevel);
 118
 19119        _ = builder.HasIndex(request => request.RiskCategory);
 120
 19121        _ = builder.HasIndex(request => request.CorrelationId);
 122
 19123        _ = builder.HasIndex(request => request.TraceId);
 124
 19125        _ = builder.HasIndex(request => request.PolicyVersion);
 126
 19127        _ = builder.HasIndex(request => request.PolicyHash);
 128
 19129        _ = builder.HasIndex(request => new
 19130        {
 19131            request.ActorId,
 19132            request.OperationName
 19133        });
 134
 19135        _ = builder.HasIndex(request => new
 19136        {
 19137            request.CorrelationId,
 19138            request.OperationName
 19139        });
 140
 19141        _ = builder.HasIndex(request => new
 19142        {
 19143            request.PolicyVersion,
 19144            request.PolicyHash
 19145        });
 19146    }
 147}