< Summary - Jellyfin

Information
Class: Jellyfin.Server.Implementations.ModelConfiguration.PermissionConfiguration
Assembly: Jellyfin.Server.Implementations
File(s): /srv/git/jellyfin/Jellyfin.Server.Implementations/ModelConfiguration/PermissionConfiguration.cs
Line coverage
100%
Covered lines: 5
Uncovered lines: 0
Coverable lines: 5
Total lines: 24
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

Coverage history

Coverage history 0 25 50 75 100

Metrics

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

File(s)

/srv/git/jellyfin/Jellyfin.Server.Implementations/ModelConfiguration/PermissionConfiguration.cs

#LineLine coverage
 1using Jellyfin.Data.Entities;
 2using Microsoft.EntityFrameworkCore;
 3using Microsoft.EntityFrameworkCore.Metadata.Builders;
 4
 5namespace Jellyfin.Server.Implementations.ModelConfiguration
 6{
 7    /// <summary>
 8    /// FluentAPI configuration for the Permission entity.
 9    /// </summary>
 10    public class PermissionConfiguration : IEntityTypeConfiguration<Permission>
 11    {
 12        /// <inheritdoc/>
 13        public void Configure(EntityTypeBuilder<Permission> builder)
 14        {
 15            // Used to get a user's permissions or a specific permission for a user.
 16            // Also prevents multiple values being created for a user.
 17            // Filtered over non-null user ids for when other entities (groups, API keys) get permissions
 118            builder
 119                .HasIndex(p => new { p.UserId, p.Kind })
 120                .HasFilter("[UserId] IS NOT NULL")
 121                .IsUnique();
 122        }
 23    }
 24}