< 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    {
 2230        ArgumentNullException.ThrowIfNull(builder);
 31
 2232        _ = builder.ToTable("AsiBackboneHandshakeRequests");
 33
 2234        _ = builder.HasKey(request => request.Id);
 35
 2236        _ = builder.Property(request => request.Id)
 2237            .ValueGeneratedNever();
 38
 2239        _ = builder.Property(request => request.ConcurrencyStamp)
 2240            .IsRequired()
 2241            .HasMaxLength(ConcurrencyStampMaxLength)
 2242            .IsConcurrencyToken();
 43
 2244        _ = builder.Property(request => request.HandshakeId)
 2245            .IsRequired()
 2246            .HasMaxLength(IdentifierMaxLength);
 47
 2248        _ = builder.Property(request => request.SchemaVersion)
 2249            .IsRequired()
 2250            .HasMaxLength(SchemaVersionMaxLength);
 51
 2252        _ = builder.Property(request => request.ActorId)
 2253            .IsRequired()
 2254            .HasMaxLength(IdentifierMaxLength);
 55
 2256        _ = builder.Property(request => request.ActorType)
 2257            .HasConversion<string>()
 2258            .IsRequired()
 2259            .HasMaxLength(ActorTypeMaxLength);
 60
 2261        _ = builder.Property(request => request.ActorDisplayName)
 2262            .HasMaxLength(DisplayNameMaxLength);
 63
 2264        _ = builder.Property(request => request.OperationName)
 2265            .IsRequired()
 2266            .HasMaxLength(OperationNameMaxLength);
 67
 2268        _ = builder.Property(request => request.ReasonCode)
 2269            .IsRequired()
 2270            .HasMaxLength(ReasonCodeMaxLength);
 71
 2272        _ = builder.Property(request => request.Message)
 2273            .IsRequired();
 74
 2275        _ = builder.Property(request => request.RequiredAcknowledgmentCode)
 2276            .IsRequired()
 2277            .HasMaxLength(AcknowledgmentCodeMaxLength);
 78
 2279        _ = builder.Property(request => request.RequiredAcknowledgmentText)
 2280            .IsRequired();
 81
 2282        _ = builder.Property(request => request.RiskLevel)
 2283            .HasConversion<string>()
 2284            .IsRequired()
 2285            .HasMaxLength(RiskLevelMaxLength);
 86
 2287        _ = builder.Property(request => request.RiskCategory)
 2288            .HasMaxLength(RiskCategoryMaxLength);
 89
 2290        _ = builder.Property(request => request.CorrelationId)
 2291            .HasMaxLength(CorrelationMaxLength);
 92
 2293        _ = builder.Property(request => request.TraceId)
 2294            .HasMaxLength(CorrelationMaxLength);
 95
 2296        _ = builder.Property(request => request.PolicyVersion)
 2297            .HasMaxLength(PolicyVersionMaxLength);
 98
 2299        _ = builder.Property(request => request.PolicyHash)
 22100            .HasMaxLength(HashMaxLength);
 101
 22102        _ = builder.HasIndex(request => request.HandshakeId)
 22103            .IsUnique();
 104
 22105        _ = builder.HasIndex(request => request.SchemaVersion);
 106
 22107        _ = builder.HasIndex(request => request.ActorId);
 108
 22109        _ = builder.HasIndex(request => request.ActorType);
 110
 22111        _ = builder.HasIndex(request => request.OperationName);
 112
 22113        _ = builder.HasIndex(request => request.ReasonCode);
 114
 22115        _ = builder.HasIndex(request => request.RequiredAcknowledgmentCode);
 116
 22117        _ = builder.HasIndex(request => request.RiskLevel);
 118
 22119        _ = builder.HasIndex(request => request.RiskCategory);
 120
 22121        _ = builder.HasIndex(request => request.CorrelationId);
 122
 22123        _ = builder.HasIndex(request => request.TraceId);
 124
 22125        _ = builder.HasIndex(request => request.PolicyVersion);
 126
 22127        _ = builder.HasIndex(request => request.PolicyHash);
 128
 22129        _ = builder.HasIndex(request => new
 22130        {
 22131            request.ActorId,
 22132            request.OperationName
 22133        });
 134
 22135        _ = builder.HasIndex(request => new
 22136        {
 22137            request.CorrelationId,
 22138            request.OperationName
 22139        });
 140
 22141        _ = builder.HasIndex(request => new
 22142        {
 22143            request.PolicyVersion,
 22144            request.PolicyHash
 22145        });
 22146    }
 147}