< Summary - Jellyfin

Line coverage
99%
Covered lines: 652
Uncovered lines: 3
Coverable lines: 655
Total lines: 721
Line coverage: 99.5%
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 5/16/2026 - 12:15:55 AM Line coverage: 99.5% (652/655) Total lines: 721

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
File 1: Up(...)100%11100%
File 1: Down(...)100%210%
File 2: BuildTargetModel(...)100%11100%

File(s)

/srv/git/jellyfin/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20230626233818_AddTrickplayInfos.cs

#LineLine coverage
 1using System;
 2using Microsoft.EntityFrameworkCore.Migrations;
 3
 4#nullable disable
 5
 6namespace Jellyfin.Server.Implementations.Migrations
 7{
 8    /// <inheritdoc />
 9    public partial class AddTrickplayInfos : Migration
 10    {
 11        /// <inheritdoc />
 12        protected override void Up(MigrationBuilder migrationBuilder)
 13        {
 2714            migrationBuilder.CreateTable(
 2715                name: "TrickplayInfos",
 2716                columns: table => new
 2717                {
 2718                    ItemId = table.Column<Guid>(type: "TEXT", nullable: false),
 2719                    Width = table.Column<int>(type: "INTEGER", nullable: false),
 2720                    Height = table.Column<int>(type: "INTEGER", nullable: false),
 2721                    TileWidth = table.Column<int>(type: "INTEGER", nullable: false),
 2722                    TileHeight = table.Column<int>(type: "INTEGER", nullable: false),
 2723                    ThumbnailCount = table.Column<int>(type: "INTEGER", nullable: false),
 2724                    Interval = table.Column<int>(type: "INTEGER", nullable: false),
 2725                    Bandwidth = table.Column<int>(type: "INTEGER", nullable: false)
 2726                },
 2727                constraints: table =>
 2728                {
 2729                    table.PrimaryKey("PK_TrickplayInfos", x => new { x.ItemId, x.Width });
 2730                });
 2731        }
 32
 33        /// <inheritdoc />
 34        protected override void Down(MigrationBuilder migrationBuilder)
 35        {
 036            migrationBuilder.DropTable(
 037                name: "TrickplayInfos");
 038        }
 39    }
 40}

/srv/git/jellyfin/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/20230626233818_AddTrickplayInfos.Designer.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using Jellyfin.Database.Implementations;
 4using Microsoft.EntityFrameworkCore;
 5using Microsoft.EntityFrameworkCore.Infrastructure;
 6using Microsoft.EntityFrameworkCore.Migrations;
 7using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 8
 9#nullable disable
 10
 11namespace Jellyfin.Server.Implementations.Migrations
 12{
 13    [DbContext(typeof(JellyfinDbContext))]
 14    [Migration("20230626233818_AddTrickplayInfos")]
 15    partial class AddTrickplayInfos
 16    {
 17        /// <inheritdoc />
 18        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 19        {
 20#pragma warning disable 612, 618
 2721            modelBuilder.HasAnnotation("ProductVersion", "7.0.7");
 22
 2723            modelBuilder.Entity("Jellyfin.Data.Entities.AccessSchedule", b =>
 2724                {
 2725                    b.Property<int>("Id")
 2726                        .ValueGeneratedOnAdd()
 2727                        .HasColumnType("INTEGER");
 2728
 2729                    b.Property<int>("DayOfWeek")
 2730                        .HasColumnType("INTEGER");
 2731
 2732                    b.Property<double>("EndHour")
 2733                        .HasColumnType("REAL");
 2734
 2735                    b.Property<double>("StartHour")
 2736                        .HasColumnType("REAL");
 2737
 2738                    b.Property<Guid>("UserId")
 2739                        .HasColumnType("TEXT");
 2740
 2741                    b.HasKey("Id");
 2742
 2743                    b.HasIndex("UserId");
 2744
 2745                    b.ToTable("AccessSchedules");
 2746                });
 47
 2748            modelBuilder.Entity("Jellyfin.Data.Entities.ActivityLog", b =>
 2749                {
 2750                    b.Property<int>("Id")
 2751                        .ValueGeneratedOnAdd()
 2752                        .HasColumnType("INTEGER");
 2753
 2754                    b.Property<DateTime>("DateCreated")
 2755                        .HasColumnType("TEXT");
 2756
 2757                    b.Property<string>("ItemId")
 2758                        .HasMaxLength(256)
 2759                        .HasColumnType("TEXT");
 2760
 2761                    b.Property<int>("LogSeverity")
 2762                        .HasColumnType("INTEGER");
 2763
 2764                    b.Property<string>("Name")
 2765                        .IsRequired()
 2766                        .HasMaxLength(512)
 2767                        .HasColumnType("TEXT");
 2768
 2769                    b.Property<string>("Overview")
 2770                        .HasMaxLength(512)
 2771                        .HasColumnType("TEXT");
 2772
 2773                    b.Property<uint>("RowVersion")
 2774                        .IsConcurrencyToken()
 2775                        .HasColumnType("INTEGER");
 2776
 2777                    b.Property<string>("ShortOverview")
 2778                        .HasMaxLength(512)
 2779                        .HasColumnType("TEXT");
 2780
 2781                    b.Property<string>("Type")
 2782                        .IsRequired()
 2783                        .HasMaxLength(256)
 2784                        .HasColumnType("TEXT");
 2785
 2786                    b.Property<Guid>("UserId")
 2787                        .HasColumnType("TEXT");
 2788
 2789                    b.HasKey("Id");
 2790
 2791                    b.HasIndex("DateCreated");
 2792
 2793                    b.ToTable("ActivityLogs");
 2794                });
 95
 2796            modelBuilder.Entity("Jellyfin.Data.Entities.CustomItemDisplayPreferences", b =>
 2797                {
 2798                    b.Property<int>("Id")
 2799                        .ValueGeneratedOnAdd()
 27100                        .HasColumnType("INTEGER");
 27101
 27102                    b.Property<string>("Client")
 27103                        .IsRequired()
 27104                        .HasMaxLength(32)
 27105                        .HasColumnType("TEXT");
 27106
 27107                    b.Property<Guid>("ItemId")
 27108                        .HasColumnType("TEXT");
 27109
 27110                    b.Property<string>("Key")
 27111                        .IsRequired()
 27112                        .HasColumnType("TEXT");
 27113
 27114                    b.Property<Guid>("UserId")
 27115                        .HasColumnType("TEXT");
 27116
 27117                    b.Property<string>("Value")
 27118                        .HasColumnType("TEXT");
 27119
 27120                    b.HasKey("Id");
 27121
 27122                    b.HasIndex("UserId", "ItemId", "Client", "Key")
 27123                        .IsUnique();
 27124
 27125                    b.ToTable("CustomItemDisplayPreferences");
 27126                });
 127
 27128            modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
 27129                {
 27130                    b.Property<int>("Id")
 27131                        .ValueGeneratedOnAdd()
 27132                        .HasColumnType("INTEGER");
 27133
 27134                    b.Property<int>("ChromecastVersion")
 27135                        .HasColumnType("INTEGER");
 27136
 27137                    b.Property<string>("Client")
 27138                        .IsRequired()
 27139                        .HasMaxLength(32)
 27140                        .HasColumnType("TEXT");
 27141
 27142                    b.Property<string>("DashboardTheme")
 27143                        .HasMaxLength(32)
 27144                        .HasColumnType("TEXT");
 27145
 27146                    b.Property<bool>("EnableNextVideoInfoOverlay")
 27147                        .HasColumnType("INTEGER");
 27148
 27149                    b.Property<int?>("IndexBy")
 27150                        .HasColumnType("INTEGER");
 27151
 27152                    b.Property<Guid>("ItemId")
 27153                        .HasColumnType("TEXT");
 27154
 27155                    b.Property<int>("ScrollDirection")
 27156                        .HasColumnType("INTEGER");
 27157
 27158                    b.Property<bool>("ShowBackdrop")
 27159                        .HasColumnType("INTEGER");
 27160
 27161                    b.Property<bool>("ShowSidebar")
 27162                        .HasColumnType("INTEGER");
 27163
 27164                    b.Property<int>("SkipBackwardLength")
 27165                        .HasColumnType("INTEGER");
 27166
 27167                    b.Property<int>("SkipForwardLength")
 27168                        .HasColumnType("INTEGER");
 27169
 27170                    b.Property<string>("TvHome")
 27171                        .HasMaxLength(32)
 27172                        .HasColumnType("TEXT");
 27173
 27174                    b.Property<Guid>("UserId")
 27175                        .HasColumnType("TEXT");
 27176
 27177                    b.HasKey("Id");
 27178
 27179                    b.HasIndex("UserId", "ItemId", "Client")
 27180                        .IsUnique();
 27181
 27182                    b.ToTable("DisplayPreferences");
 27183                });
 184
 27185            modelBuilder.Entity("Jellyfin.Data.Entities.HomeSection", b =>
 27186                {
 27187                    b.Property<int>("Id")
 27188                        .ValueGeneratedOnAdd()
 27189                        .HasColumnType("INTEGER");
 27190
 27191                    b.Property<int>("DisplayPreferencesId")
 27192                        .HasColumnType("INTEGER");
 27193
 27194                    b.Property<int>("Order")
 27195                        .HasColumnType("INTEGER");
 27196
 27197                    b.Property<int>("Type")
 27198                        .HasColumnType("INTEGER");
 27199
 27200                    b.HasKey("Id");
 27201
 27202                    b.HasIndex("DisplayPreferencesId");
 27203
 27204                    b.ToTable("HomeSection");
 27205                });
 206
 27207            modelBuilder.Entity("Jellyfin.Data.Entities.ImageInfo", b =>
 27208                {
 27209                    b.Property<int>("Id")
 27210                        .ValueGeneratedOnAdd()
 27211                        .HasColumnType("INTEGER");
 27212
 27213                    b.Property<DateTime>("LastModified")
 27214                        .HasColumnType("TEXT");
 27215
 27216                    b.Property<string>("Path")
 27217                        .IsRequired()
 27218                        .HasMaxLength(512)
 27219                        .HasColumnType("TEXT");
 27220
 27221                    b.Property<Guid?>("UserId")
 27222                        .HasColumnType("TEXT");
 27223
 27224                    b.HasKey("Id");
 27225
 27226                    b.HasIndex("UserId")
 27227                        .IsUnique();
 27228
 27229                    b.ToTable("ImageInfos");
 27230                });
 231
 27232            modelBuilder.Entity("Jellyfin.Data.Entities.ItemDisplayPreferences", b =>
 27233                {
 27234                    b.Property<int>("Id")
 27235                        .ValueGeneratedOnAdd()
 27236                        .HasColumnType("INTEGER");
 27237
 27238                    b.Property<string>("Client")
 27239                        .IsRequired()
 27240                        .HasMaxLength(32)
 27241                        .HasColumnType("TEXT");
 27242
 27243                    b.Property<int?>("IndexBy")
 27244                        .HasColumnType("INTEGER");
 27245
 27246                    b.Property<Guid>("ItemId")
 27247                        .HasColumnType("TEXT");
 27248
 27249                    b.Property<bool>("RememberIndexing")
 27250                        .HasColumnType("INTEGER");
 27251
 27252                    b.Property<bool>("RememberSorting")
 27253                        .HasColumnType("INTEGER");
 27254
 27255                    b.Property<string>("SortBy")
 27256                        .IsRequired()
 27257                        .HasMaxLength(64)
 27258                        .HasColumnType("TEXT");
 27259
 27260                    b.Property<int>("SortOrder")
 27261                        .HasColumnType("INTEGER");
 27262
 27263                    b.Property<Guid>("UserId")
 27264                        .HasColumnType("TEXT");
 27265
 27266                    b.Property<int>("ViewType")
 27267                        .HasColumnType("INTEGER");
 27268
 27269                    b.HasKey("Id");
 27270
 27271                    b.HasIndex("UserId");
 27272
 27273                    b.ToTable("ItemDisplayPreferences");
 27274                });
 275
 27276            modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
 27277                {
 27278                    b.Property<int>("Id")
 27279                        .ValueGeneratedOnAdd()
 27280                        .HasColumnType("INTEGER");
 27281
 27282                    b.Property<int>("Kind")
 27283                        .HasColumnType("INTEGER");
 27284
 27285                    b.Property<Guid?>("Permission_Permissions_Guid")
 27286                        .HasColumnType("TEXT");
 27287
 27288                    b.Property<uint>("RowVersion")
 27289                        .IsConcurrencyToken()
 27290                        .HasColumnType("INTEGER");
 27291
 27292                    b.Property<Guid?>("UserId")
 27293                        .HasColumnType("TEXT");
 27294
 27295                    b.Property<bool>("Value")
 27296                        .HasColumnType("INTEGER");
 27297
 27298                    b.HasKey("Id");
 27299
 27300                    b.HasIndex("UserId", "Kind")
 27301                        .IsUnique()
 27302                        .HasFilter("[UserId] IS NOT NULL");
 27303
 27304                    b.ToTable("Permissions");
 27305                });
 306
 27307            modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
 27308                {
 27309                    b.Property<int>("Id")
 27310                        .ValueGeneratedOnAdd()
 27311                        .HasColumnType("INTEGER");
 27312
 27313                    b.Property<int>("Kind")
 27314                        .HasColumnType("INTEGER");
 27315
 27316                    b.Property<Guid?>("Preference_Preferences_Guid")
 27317                        .HasColumnType("TEXT");
 27318
 27319                    b.Property<uint>("RowVersion")
 27320                        .IsConcurrencyToken()
 27321                        .HasColumnType("INTEGER");
 27322
 27323                    b.Property<Guid?>("UserId")
 27324                        .HasColumnType("TEXT");
 27325
 27326                    b.Property<string>("Value")
 27327                        .IsRequired()
 27328                        .HasMaxLength(65535)
 27329                        .HasColumnType("TEXT");
 27330
 27331                    b.HasKey("Id");
 27332
 27333                    b.HasIndex("UserId", "Kind")
 27334                        .IsUnique()
 27335                        .HasFilter("[UserId] IS NOT NULL");
 27336
 27337                    b.ToTable("Preferences");
 27338                });
 339
 27340            modelBuilder.Entity("Jellyfin.Data.Entities.Security.ApiKey", b =>
 27341                {
 27342                    b.Property<int>("Id")
 27343                        .ValueGeneratedOnAdd()
 27344                        .HasColumnType("INTEGER");
 27345
 27346                    b.Property<string>("AccessToken")
 27347                        .IsRequired()
 27348                        .HasColumnType("TEXT");
 27349
 27350                    b.Property<DateTime>("DateCreated")
 27351                        .HasColumnType("TEXT");
 27352
 27353                    b.Property<DateTime>("DateLastActivity")
 27354                        .HasColumnType("TEXT");
 27355
 27356                    b.Property<string>("Name")
 27357                        .IsRequired()
 27358                        .HasMaxLength(64)
 27359                        .HasColumnType("TEXT");
 27360
 27361                    b.HasKey("Id");
 27362
 27363                    b.HasIndex("AccessToken")
 27364                        .IsUnique();
 27365
 27366                    b.ToTable("ApiKeys");
 27367                });
 368
 27369            modelBuilder.Entity("Jellyfin.Data.Entities.Security.Device", b =>
 27370                {
 27371                    b.Property<int>("Id")
 27372                        .ValueGeneratedOnAdd()
 27373                        .HasColumnType("INTEGER");
 27374
 27375                    b.Property<string>("AccessToken")
 27376                        .IsRequired()
 27377                        .HasColumnType("TEXT");
 27378
 27379                    b.Property<string>("AppName")
 27380                        .IsRequired()
 27381                        .HasMaxLength(64)
 27382                        .HasColumnType("TEXT");
 27383
 27384                    b.Property<string>("AppVersion")
 27385                        .IsRequired()
 27386                        .HasMaxLength(32)
 27387                        .HasColumnType("TEXT");
 27388
 27389                    b.Property<DateTime>("DateCreated")
 27390                        .HasColumnType("TEXT");
 27391
 27392                    b.Property<DateTime>("DateLastActivity")
 27393                        .HasColumnType("TEXT");
 27394
 27395                    b.Property<DateTime>("DateModified")
 27396                        .HasColumnType("TEXT");
 27397
 27398                    b.Property<string>("DeviceId")
 27399                        .IsRequired()
 27400                        .HasMaxLength(256)
 27401                        .HasColumnType("TEXT");
 27402
 27403                    b.Property<string>("DeviceName")
 27404                        .IsRequired()
 27405                        .HasMaxLength(64)
 27406                        .HasColumnType("TEXT");
 27407
 27408                    b.Property<bool>("IsActive")
 27409                        .HasColumnType("INTEGER");
 27410
 27411                    b.Property<Guid>("UserId")
 27412                        .HasColumnType("TEXT");
 27413
 27414                    b.HasKey("Id");
 27415
 27416                    b.HasIndex("DeviceId");
 27417
 27418                    b.HasIndex("AccessToken", "DateLastActivity");
 27419
 27420                    b.HasIndex("DeviceId", "DateLastActivity");
 27421
 27422                    b.HasIndex("UserId", "DeviceId");
 27423
 27424                    b.ToTable("Devices");
 27425                });
 426
 27427            modelBuilder.Entity("Jellyfin.Data.Entities.Security.DeviceOptions", b =>
 27428                {
 27429                    b.Property<int>("Id")
 27430                        .ValueGeneratedOnAdd()
 27431                        .HasColumnType("INTEGER");
 27432
 27433                    b.Property<string>("CustomName")
 27434                        .HasColumnType("TEXT");
 27435
 27436                    b.Property<string>("DeviceId")
 27437                        .IsRequired()
 27438                        .HasColumnType("TEXT");
 27439
 27440                    b.HasKey("Id");
 27441
 27442                    b.HasIndex("DeviceId")
 27443                        .IsUnique();
 27444
 27445                    b.ToTable("DeviceOptions");
 27446                });
 447
 27448            modelBuilder.Entity("Jellyfin.Data.Entities.TrickplayInfo", b =>
 27449                {
 27450                    b.Property<Guid>("ItemId")
 27451                        .HasColumnType("TEXT");
 27452
 27453                    b.Property<int>("Width")
 27454                        .HasColumnType("INTEGER");
 27455
 27456                    b.Property<int>("Bandwidth")
 27457                        .HasColumnType("INTEGER");
 27458
 27459                    b.Property<int>("Height")
 27460                        .HasColumnType("INTEGER");
 27461
 27462                    b.Property<int>("Interval")
 27463                        .HasColumnType("INTEGER");
 27464
 27465                    b.Property<int>("ThumbnailCount")
 27466                        .HasColumnType("INTEGER");
 27467
 27468                    b.Property<int>("TileHeight")
 27469                        .HasColumnType("INTEGER");
 27470
 27471                    b.Property<int>("TileWidth")
 27472                        .HasColumnType("INTEGER");
 27473
 27474                    b.HasKey("ItemId", "Width");
 27475
 27476                    b.ToTable("TrickplayInfos");
 27477                });
 478
 27479            modelBuilder.Entity("Jellyfin.Data.Entities.User", b =>
 27480                {
 27481                    b.Property<Guid>("Id")
 27482                        .ValueGeneratedOnAdd()
 27483                        .HasColumnType("TEXT");
 27484
 27485                    b.Property<string>("AudioLanguagePreference")
 27486                        .HasMaxLength(255)
 27487                        .HasColumnType("TEXT");
 27488
 27489                    b.Property<string>("AuthenticationProviderId")
 27490                        .IsRequired()
 27491                        .HasMaxLength(255)
 27492                        .HasColumnType("TEXT");
 27493
 27494                    b.Property<bool>("DisplayCollectionsView")
 27495                        .HasColumnType("INTEGER");
 27496
 27497                    b.Property<bool>("DisplayMissingEpisodes")
 27498                        .HasColumnType("INTEGER");
 27499
 27500                    b.Property<bool>("EnableAutoLogin")
 27501                        .HasColumnType("INTEGER");
 27502
 27503                    b.Property<bool>("EnableLocalPassword")
 27504                        .HasColumnType("INTEGER");
 27505
 27506                    b.Property<bool>("EnableNextEpisodeAutoPlay")
 27507                        .HasColumnType("INTEGER");
 27508
 27509                    b.Property<bool>("EnableUserPreferenceAccess")
 27510                        .HasColumnType("INTEGER");
 27511
 27512                    b.Property<bool>("HidePlayedInLatest")
 27513                        .HasColumnType("INTEGER");
 27514
 27515                    b.Property<long>("InternalId")
 27516                        .HasColumnType("INTEGER");
 27517
 27518                    b.Property<int>("InvalidLoginAttemptCount")
 27519                        .HasColumnType("INTEGER");
 27520
 27521                    b.Property<DateTime?>("LastActivityDate")
 27522                        .HasColumnType("TEXT");
 27523
 27524                    b.Property<DateTime?>("LastLoginDate")
 27525                        .HasColumnType("TEXT");
 27526
 27527                    b.Property<int?>("LoginAttemptsBeforeLockout")
 27528                        .HasColumnType("INTEGER");
 27529
 27530                    b.Property<int>("MaxActiveSessions")
 27531                        .HasColumnType("INTEGER");
 27532
 27533                    b.Property<int?>("MaxParentalAgeRating")
 27534                        .HasColumnType("INTEGER");
 27535
 27536                    b.Property<bool>("MustUpdatePassword")
 27537                        .HasColumnType("INTEGER");
 27538
 27539                    b.Property<string>("Password")
 27540                        .HasMaxLength(65535)
 27541                        .HasColumnType("TEXT");
 27542
 27543                    b.Property<string>("PasswordResetProviderId")
 27544                        .IsRequired()
 27545                        .HasMaxLength(255)
 27546                        .HasColumnType("TEXT");
 27547
 27548                    b.Property<bool>("PlayDefaultAudioTrack")
 27549                        .HasColumnType("INTEGER");
 27550
 27551                    b.Property<bool>("RememberAudioSelections")
 27552                        .HasColumnType("INTEGER");
 27553
 27554                    b.Property<bool>("RememberSubtitleSelections")
 27555                        .HasColumnType("INTEGER");
 27556
 27557                    b.Property<int?>("RemoteClientBitrateLimit")
 27558                        .HasColumnType("INTEGER");
 27559
 27560                    b.Property<uint>("RowVersion")
 27561                        .IsConcurrencyToken()
 27562                        .HasColumnType("INTEGER");
 27563
 27564                    b.Property<string>("SubtitleLanguagePreference")
 27565                        .HasMaxLength(255)
 27566                        .HasColumnType("TEXT");
 27567
 27568                    b.Property<int>("SubtitleMode")
 27569                        .HasColumnType("INTEGER");
 27570
 27571                    b.Property<int>("SyncPlayAccess")
 27572                        .HasColumnType("INTEGER");
 27573
 27574                    b.Property<string>("Username")
 27575                        .IsRequired()
 27576                        .HasMaxLength(255)
 27577                        .HasColumnType("TEXT")
 27578                        .UseCollation("NOCASE");
 27579
 27580                    b.HasKey("Id");
 27581
 27582                    b.HasIndex("Username")
 27583                        .IsUnique();
 27584
 27585                    b.ToTable("Users");
 27586                });
 587
 27588            modelBuilder.Entity("Jellyfin.Data.Entities.AccessSchedule", b =>
 27589                {
 27590                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27591                        .WithMany("AccessSchedules")
 27592                        .HasForeignKey("UserId")
 27593                        .OnDelete(DeleteBehavior.Cascade)
 27594                        .IsRequired();
 27595                });
 596
 27597            modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
 27598                {
 27599                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27600                        .WithMany("DisplayPreferences")
 27601                        .HasForeignKey("UserId")
 27602                        .OnDelete(DeleteBehavior.Cascade)
 27603                        .IsRequired();
 27604                });
 605
 27606            modelBuilder.Entity("Jellyfin.Data.Entities.HomeSection", b =>
 27607                {
 27608                    b.HasOne("Jellyfin.Data.Entities.DisplayPreferences", null)
 27609                        .WithMany("HomeSections")
 27610                        .HasForeignKey("DisplayPreferencesId")
 27611                        .OnDelete(DeleteBehavior.Cascade)
 27612                        .IsRequired();
 27613                });
 614
 27615            modelBuilder.Entity("Jellyfin.Data.Entities.ImageInfo", b =>
 27616                {
 27617                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27618                        .WithOne("ProfileImage")
 27619                        .HasForeignKey("Jellyfin.Data.Entities.ImageInfo", "UserId")
 27620                        .OnDelete(DeleteBehavior.Cascade);
 27621                });
 622
 27623            modelBuilder.Entity("Jellyfin.Data.Entities.ItemDisplayPreferences", b =>
 27624                {
 27625                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27626                        .WithMany("ItemDisplayPreferences")
 27627                        .HasForeignKey("UserId")
 27628                        .OnDelete(DeleteBehavior.Cascade)
 27629                        .IsRequired();
 27630                });
 631
 27632            modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
 27633                {
 27634                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27635                        .WithMany("Permissions")
 27636                        .HasForeignKey("UserId")
 27637                        .OnDelete(DeleteBehavior.Cascade);
 27638                });
 639
 27640            modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
 27641                {
 27642                    b.HasOne("Jellyfin.Data.Entities.User", null)
 27643                        .WithMany("Preferences")
 27644                        .HasForeignKey("UserId")
 27645                        .OnDelete(DeleteBehavior.Cascade);
 27646                });
 647
 27648            modelBuilder.Entity("Jellyfin.Data.Entities.Security.Device", b =>
 27649                {
 27650                    b.HasOne("Jellyfin.Data.Entities.User", "User")
 27651                        .WithMany()
 27652                        .HasForeignKey("UserId")
 27653                        .OnDelete(DeleteBehavior.Cascade)
 27654                        .IsRequired();
 27655
 27656                    b.Navigation("User");
 27657                });
 658
 27659            modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
 27660                {
 27661                    b.Navigation("HomeSections");
 27662                });
 663
 27664            modelBuilder.Entity("Jellyfin.Data.Entities.User", b =>
 27665                {
 27666                    b.Navigation("AccessSchedules");
 27667
 27668                    b.Navigation("DisplayPreferences");
 27669
 27670                    b.Navigation("ItemDisplayPreferences");
 27671
 27672                    b.Navigation("Permissions");
 27673
 27674                    b.Navigation("Preferences");
 27675
 27676                    b.Navigation("ProfileImage");
 27677                });
 678#pragma warning restore 612, 618
 27679        }
 680    }
 681}