< Summary - Syki

Information
Class: Syki.Back.Database.Identity.SykiUserRoleDbConfig
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Database/Identity/SykiUserRoleDbConfig.cs
Tag: 56_26538939494
Line coverage
100%
Covered lines: 20
Uncovered lines: 0
Coverable lines: 20
Total lines: 36
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/syki/syki/Back/Database/Identity/SykiUserRoleDbConfig.cs

#LineLine coverage
 1using Syki.Back.Domain.Identity;
 2
 3namespace Syki.Back.Database.Identity;
 4
 5public class SykiUserRoleDbConfig : IEntityTypeConfiguration<SykiUserRole>
 6{
 7    public void Configure(EntityTypeBuilder<SykiUserRole> entity)
 8    {
 49        entity.ToTable("user_roles", DbSchemas.Syki);
 10
 411        entity.HasKey(e => new { e.InstitutionId, e.UserId, e.RoleId });
 12
 413        entity.Property(e => e.InstitutionId).ValueGeneratedNever();
 414        entity.Property(e => e.UserId).ValueGeneratedNever();
 415        entity.Property(e => e.RoleId).ValueGeneratedNever();
 16
 417        entity.HasOne(e => e.Institution)
 418            .WithMany()
 419            .HasPrincipalKey(c => c.Id)
 420            .HasForeignKey(e => e.InstitutionId);
 21
 422        entity.HasOne(e => e.User)
 423            .WithMany()
 424            .HasPrincipalKey(c => c.Id)
 425            .HasForeignKey(e => e.UserId);
 26
 427        entity.HasOne(e => e.Role)
 428            .WithMany()
 429            .HasPrincipalKey(u => u.Id)
 430            .HasForeignKey(e => e.RoleId);
 31
 32        // Garante que cada usuário vai ter apenas uma role em cada instituição
 433        entity.HasIndex(e => new { e.InstitutionId, e.UserId })
 434            .IsUnique();
 435    }
 36}