< Summary

Information
Class: AsiBackbone.EntityFrameworkCore.Configurations.AsiBackboneHandshakeRequestEntityConfiguration
Assembly: AsiBackbone.EntityFrameworkCore
File(s): /home/runner/work/AsiBackbone/AsiBackbone/src/AsiBackbone.EntityFrameworkCore/Configurations/AsiBackboneHandshakeRequestEntityConfiguration.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/AsiBackboneHandshakeRequestEntityConfiguration.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="AsiBackboneHandshakeRequestEntity" />.
 9/// </summary>
 10public sealed class AsiBackboneHandshakeRequestEntityConfiguration
 11    : IEntityTypeConfiguration<AsiBackboneHandshakeRequestEntity>
 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<AsiBackboneHandshakeRequestEntity> builder)
 29    {
 3630        ArgumentNullException.ThrowIfNull(builder);
 31
 3632        _ = builder.ToTable("AsiBackboneHandshakeRequests");
 33
 3634        _ = builder.HasKey(request => request.Id);
 35
 3636        _ = builder.Property(request => request.Id)
 3637            .ValueGeneratedNever();
 38
 3639        _ = builder.Property(request => request.ConcurrencyStamp)
 3640            .IsRequired()
 3641            .HasMaxLength(ConcurrencyStampMaxLength)
 3642            .IsConcurrencyToken();
 43
 3644        _ = builder.Property(request => request.HandshakeId)
 3645            .IsRequired()
 3646            .HasMaxLength(IdentifierMaxLength);
 47
 3648        _ = builder.Property(request => request.SchemaVersion)
 3649            .IsRequired()
 3650            .HasMaxLength(SchemaVersionMaxLength);
 51
 3652        _ = builder.Property(request => request.ActorId)
 3653            .IsRequired()
 3654            .HasMaxLength(IdentifierMaxLength);
 55
 3656        _ = builder.Property(request => request.ActorType)
 3657            .HasConversion<string>()
 3658            .IsRequired()
 3659            .HasMaxLength(ActorTypeMaxLength);
 60
 3661        _ = builder.Property(request => request.ActorDisplayName)
 3662            .HasMaxLength(DisplayNameMaxLength);
 63
 3664        _ = builder.Property(request => request.OperationName)
 3665            .IsRequired()
 3666            .HasMaxLength(OperationNameMaxLength);
 67
 3668        _ = builder.Property(request => request.ReasonCode)
 3669            .IsRequired()
 3670            .HasMaxLength(ReasonCodeMaxLength);
 71
 3672        _ = builder.Property(request => request.Message)
 3673            .IsRequired();
 74
 3675        _ = builder.Property(request => request.RequiredAcknowledgmentCode)
 3676            .IsRequired()
 3677            .HasMaxLength(AcknowledgmentCodeMaxLength);
 78
 3679        _ = builder.Property(request => request.RequiredAcknowledgmentText)
 3680            .IsRequired();
 81
 3682        _ = builder.Property(request => request.RiskLevel)
 3683            .HasConversion<string>()
 3684            .IsRequired()
 3685            .HasMaxLength(RiskLevelMaxLength);
 86
 3687        _ = builder.Property(request => request.RiskCategory)
 3688            .HasMaxLength(RiskCategoryMaxLength);
 89
 3690        _ = builder.Property(request => request.CorrelationId)
 3691            .HasMaxLength(CorrelationMaxLength);
 92
 3693        _ = builder.Property(request => request.TraceId)
 3694            .HasMaxLength(CorrelationMaxLength);
 95
 3696        _ = builder.Property(request => request.PolicyVersion)
 3697            .HasMaxLength(PolicyVersionMaxLength);
 98
 3699        _ = builder.Property(request => request.PolicyHash)
 36100            .HasMaxLength(HashMaxLength);
 101
 36102        _ = builder.HasIndex(request => request.HandshakeId)
 36103            .IsUnique();
 104
 36105        _ = builder.HasIndex(request => request.SchemaVersion);
 106
 36107        _ = builder.HasIndex(request => request.ActorId);
 108
 36109        _ = builder.HasIndex(request => request.ActorType);
 110
 36111        _ = builder.HasIndex(request => request.OperationName);
 112
 36113        _ = builder.HasIndex(request => request.ReasonCode);
 114
 36115        _ = builder.HasIndex(request => request.RequiredAcknowledgmentCode);
 116
 36117        _ = builder.HasIndex(request => request.RiskLevel);
 118
 36119        _ = builder.HasIndex(request => request.RiskCategory);
 120
 36121        _ = builder.HasIndex(request => request.CorrelationId);
 122
 36123        _ = builder.HasIndex(request => request.TraceId);
 124
 36125        _ = builder.HasIndex(request => request.PolicyVersion);
 126
 36127        _ = builder.HasIndex(request => request.PolicyHash);
 128
 36129        _ = builder.HasIndex(request => new
 36130        {
 36131            request.ActorId,
 36132            request.OperationName
 36133        });
 134
 36135        _ = builder.HasIndex(request => new
 36136        {
 36137            request.CorrelationId,
 36138            request.OperationName
 36139        });
 140
 36141        _ = builder.HasIndex(request => new
 36142        {
 36143            request.PolicyVersion,
 36144            request.PolicyHash
 36145        });
 36146    }
 147}