using Jellyfin.Data.Entities; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace Jellyfin.Server.Implementations.ModelConfiguration { /// /// FluentAPI configuration for the Permission entity. /// public class PermissionConfiguration : IEntityTypeConfiguration { /// public void Configure(EntityTypeBuilder builder) { // Used to get a user's permissions or a specific permission for a user. // Also prevents multiple values being created for a user. // Filtered over non-null user ids for when other entities (groups, API keys) get permissions builder .HasIndex(p => new { p.UserId, p.Kind }) .HasFilter("[UserId] IS NOT NULL") .IsUnique(); } } }