| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | using Jellyfin.Data.Entities;using Microsoft.EntityFrameworkCore;using Microsoft.EntityFrameworkCore.Metadata.Builders;namespace Jellyfin.Server.Implementations.ModelConfiguration{    /// <summary>    /// FluentAPI configuration for the User entity.    /// </summary>    public class UserConfiguration : IEntityTypeConfiguration<User>    {        /// <inheritdoc/>        public void Configure(EntityTypeBuilder<User> builder)        {            builder                .Property(user => user.Username)                .UseCollation("NOCASE");            builder                .HasOne(u => u.ProfileImage)                .WithOne()                .OnDelete(DeleteBehavior.Cascade);            builder                .HasMany(u => u.Permissions)                .WithOne()                .HasForeignKey(p => p.UserId)                .OnDelete(DeleteBehavior.Cascade);            builder                .HasMany(u => u.Preferences)                .WithOne()                .HasForeignKey(p => p.UserId)                .OnDelete(DeleteBehavior.Cascade);            builder                .HasMany(u => u.AccessSchedules)                .WithOne()                .OnDelete(DeleteBehavior.Cascade);            builder                .HasMany(u => u.DisplayPreferences)                .WithOne()                .OnDelete(DeleteBehavior.Cascade);            builder                .HasMany(u => u.ItemDisplayPreferences)                .WithOne()                .OnDelete(DeleteBehavior.Cascade);            builder                .HasIndex(entity => entity.Username)                .IsUnique();        }    }}
 |