< Summary - Jellyfin

Information
Class: Jellyfin.Server.Implementations.Migrations.JellyfinDbModelSnapshot
Assembly: Jellyfin.Database.Providers.Sqlite
File(s): /srv/git/jellyfin/src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/JellyfinDbModelSnapshot.cs
Line coverage
100%
Covered lines: 1715
Uncovered lines: 0
Coverable lines: 1715
Total lines: 1793
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 1/23/2026 - 12:11:06 AM Line coverage: 100% (1642/1642) Total lines: 17185/4/2026 - 12:15:16 AM Line coverage: 100% (1712/1712) Total lines: 17905/5/2026 - 12:15:44 AM Line coverage: 100% (1715/1715) Total lines: 1793

Coverage delta

Coverage delta 1 -1

Metrics

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

File(s)

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

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using Jellyfin.Database.Implementations;
 4using Microsoft.EntityFrameworkCore;
 5using Microsoft.EntityFrameworkCore.Infrastructure;
 6using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 7
 8#nullable disable
 9
 10namespace Jellyfin.Server.Implementations.Migrations
 11{
 12    [DbContext(typeof(JellyfinDbContext))]
 13    partial class JellyfinDbModelSnapshot : ModelSnapshot
 14    {
 15        protected override void BuildModel(ModelBuilder modelBuilder)
 16        {
 17#pragma warning disable 612, 618
 118            modelBuilder.HasAnnotation("ProductVersion", "10.0.7");
 19
 120            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AccessSchedule", b =>
 121                {
 122                    b.Property<int>("Id")
 123                        .ValueGeneratedOnAdd()
 124                        .HasColumnType("INTEGER");
 125
 126                    b.Property<int>("DayOfWeek")
 127                        .HasColumnType("INTEGER");
 128
 129                    b.Property<double>("EndHour")
 130                        .HasColumnType("REAL");
 131
 132                    b.Property<double>("StartHour")
 133                        .HasColumnType("REAL");
 134
 135                    b.Property<Guid>("UserId")
 136                        .HasColumnType("TEXT");
 137
 138                    b.HasKey("Id");
 139
 140                    b.HasIndex("UserId");
 141
 142                    b.ToTable("AccessSchedules");
 143
 144                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 145                });
 46
 147            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ActivityLog", b =>
 148                {
 149                    b.Property<int>("Id")
 150                        .ValueGeneratedOnAdd()
 151                        .HasColumnType("INTEGER");
 152
 153                    b.Property<DateTime>("DateCreated")
 154                        .HasColumnType("TEXT");
 155
 156                    b.Property<string>("ItemId")
 157                        .HasMaxLength(256)
 158                        .HasColumnType("TEXT");
 159
 160                    b.Property<int>("LogSeverity")
 161                        .HasColumnType("INTEGER");
 162
 163                    b.Property<string>("Name")
 164                        .IsRequired()
 165                        .HasMaxLength(512)
 166                        .HasColumnType("TEXT");
 167
 168                    b.Property<string>("Overview")
 169                        .HasMaxLength(512)
 170                        .HasColumnType("TEXT");
 171
 172                    b.Property<uint>("RowVersion")
 173                        .IsConcurrencyToken()
 174                        .HasColumnType("INTEGER");
 175
 176                    b.Property<string>("ShortOverview")
 177                        .HasMaxLength(512)
 178                        .HasColumnType("TEXT");
 179
 180                    b.Property<string>("Type")
 181                        .IsRequired()
 182                        .HasMaxLength(256)
 183                        .HasColumnType("TEXT");
 184
 185                    b.Property<Guid>("UserId")
 186                        .HasColumnType("TEXT");
 187
 188                    b.HasKey("Id");
 189
 190                    b.HasIndex("DateCreated");
 191
 192                    b.ToTable("ActivityLogs");
 193
 194                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 195                });
 96
 197            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AncestorId", b =>
 198                {
 199                    b.Property<Guid>("ItemId")
 1100                        .HasColumnType("TEXT");
 1101
 1102                    b.Property<Guid>("ParentItemId")
 1103                        .HasColumnType("TEXT");
 1104
 1105                    b.HasKey("ItemId", "ParentItemId");
 1106
 1107                    b.HasIndex("ParentItemId");
 1108
 1109                    b.ToTable("AncestorIds");
 1110
 1111                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1112                });
 113
 1114            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AttachmentStreamInfo", b =>
 1115                {
 1116                    b.Property<Guid>("ItemId")
 1117                        .HasColumnType("TEXT");
 1118
 1119                    b.Property<int>("Index")
 1120                        .HasColumnType("INTEGER");
 1121
 1122                    b.Property<string>("Codec")
 1123                        .HasColumnType("TEXT");
 1124
 1125                    b.Property<string>("CodecTag")
 1126                        .HasColumnType("TEXT");
 1127
 1128                    b.Property<string>("Comment")
 1129                        .HasColumnType("TEXT");
 1130
 1131                    b.Property<string>("Filename")
 1132                        .HasColumnType("TEXT");
 1133
 1134                    b.Property<string>("MimeType")
 1135                        .HasColumnType("TEXT");
 1136
 1137                    b.HasKey("ItemId", "Index");
 1138
 1139                    b.ToTable("AttachmentStreamInfos");
 1140
 1141                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1142                });
 143
 1144            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemEntity", b =>
 1145                {
 1146                    b.Property<Guid>("Id")
 1147                        .ValueGeneratedOnAdd()
 1148                        .HasColumnType("TEXT");
 1149
 1150                    b.Property<string>("Album")
 1151                        .HasColumnType("TEXT");
 1152
 1153                    b.Property<string>("AlbumArtists")
 1154                        .HasColumnType("TEXT");
 1155
 1156                    b.Property<string>("Artists")
 1157                        .HasColumnType("TEXT");
 1158
 1159                    b.Property<int?>("Audio")
 1160                        .HasColumnType("INTEGER");
 1161
 1162                    b.Property<Guid?>("ChannelId")
 1163                        .HasColumnType("TEXT");
 1164
 1165                    b.Property<string>("CleanName")
 1166                        .HasColumnType("TEXT");
 1167
 1168                    b.Property<float?>("CommunityRating")
 1169                        .HasColumnType("REAL");
 1170
 1171                    b.Property<float?>("CriticRating")
 1172                        .HasColumnType("REAL");
 1173
 1174                    b.Property<string>("CustomRating")
 1175                        .HasColumnType("TEXT");
 1176
 1177                    b.Property<string>("Data")
 1178                        .HasColumnType("TEXT");
 1179
 1180                    b.Property<DateTime?>("DateCreated")
 1181                        .HasColumnType("TEXT");
 1182
 1183                    b.Property<DateTime?>("DateLastMediaAdded")
 1184                        .HasColumnType("TEXT");
 1185
 1186                    b.Property<DateTime?>("DateLastRefreshed")
 1187                        .HasColumnType("TEXT");
 1188
 1189                    b.Property<DateTime?>("DateLastSaved")
 1190                        .HasColumnType("TEXT");
 1191
 1192                    b.Property<DateTime?>("DateModified")
 1193                        .HasColumnType("TEXT");
 1194
 1195                    b.Property<DateTime?>("EndDate")
 1196                        .HasColumnType("TEXT");
 1197
 1198                    b.Property<string>("EpisodeTitle")
 1199                        .HasColumnType("TEXT");
 1200
 1201                    b.Property<string>("ExternalId")
 1202                        .HasColumnType("TEXT");
 1203
 1204                    b.Property<string>("ExternalSeriesId")
 1205                        .HasColumnType("TEXT");
 1206
 1207                    b.Property<string>("ExternalServiceId")
 1208                        .HasColumnType("TEXT");
 1209
 1210                    b.Property<int?>("ExtraType")
 1211                        .HasColumnType("INTEGER");
 1212
 1213                    b.Property<string>("ForcedSortName")
 1214                        .HasColumnType("TEXT");
 1215
 1216                    b.Property<string>("Genres")
 1217                        .HasColumnType("TEXT");
 1218
 1219                    b.Property<int?>("Height")
 1220                        .HasColumnType("INTEGER");
 1221
 1222                    b.Property<int?>("IndexNumber")
 1223                        .HasColumnType("INTEGER");
 1224
 1225                    b.Property<int?>("InheritedParentalRatingSubValue")
 1226                        .HasColumnType("INTEGER");
 1227
 1228                    b.Property<int?>("InheritedParentalRatingValue")
 1229                        .HasColumnType("INTEGER");
 1230
 1231                    b.Property<bool>("IsFolder")
 1232                        .HasColumnType("INTEGER");
 1233
 1234                    b.Property<bool>("IsInMixedFolder")
 1235                        .HasColumnType("INTEGER");
 1236
 1237                    b.Property<bool>("IsLocked")
 1238                        .HasColumnType("INTEGER");
 1239
 1240                    b.Property<bool>("IsMovie")
 1241                        .HasColumnType("INTEGER");
 1242
 1243                    b.Property<bool>("IsRepeat")
 1244                        .HasColumnType("INTEGER");
 1245
 1246                    b.Property<bool>("IsSeries")
 1247                        .HasColumnType("INTEGER");
 1248
 1249                    b.Property<bool>("IsVirtualItem")
 1250                        .HasColumnType("INTEGER");
 1251
 1252                    b.Property<float?>("LUFS")
 1253                        .HasColumnType("REAL");
 1254
 1255                    b.Property<string>("MediaType")
 1256                        .HasColumnType("TEXT");
 1257
 1258                    b.Property<string>("Name")
 1259                        .HasColumnType("TEXT");
 1260
 1261                    b.Property<float?>("NormalizationGain")
 1262                        .HasColumnType("REAL");
 1263
 1264                    b.Property<string>("OfficialRating")
 1265                        .HasColumnType("TEXT");
 1266
 1267                    b.Property<string>("OriginalTitle")
 1268                        .HasColumnType("TEXT");
 1269
 1270                    b.Property<string>("Overview")
 1271                        .HasColumnType("TEXT");
 1272
 1273                    b.Property<Guid?>("OwnerId")
 1274                        .HasColumnType("TEXT");
 1275
 1276                    b.Property<Guid?>("ParentId")
 1277                        .HasColumnType("TEXT");
 1278
 1279                    b.Property<int?>("ParentIndexNumber")
 1280                        .HasColumnType("INTEGER");
 1281
 1282                    b.Property<string>("Path")
 1283                        .HasColumnType("TEXT");
 1284
 1285                    b.Property<string>("PreferredMetadataCountryCode")
 1286                        .HasColumnType("TEXT");
 1287
 1288                    b.Property<string>("PreferredMetadataLanguage")
 1289                        .HasColumnType("TEXT");
 1290
 1291                    b.Property<DateTime?>("PremiereDate")
 1292                        .HasColumnType("TEXT");
 1293
 1294                    b.Property<string>("PresentationUniqueKey")
 1295                        .HasColumnType("TEXT");
 1296
 1297                    b.Property<Guid?>("PrimaryVersionId")
 1298                        .HasColumnType("TEXT");
 1299
 1300                    b.Property<string>("ProductionLocations")
 1301                        .HasColumnType("TEXT");
 1302
 1303                    b.Property<int?>("ProductionYear")
 1304                        .HasColumnType("INTEGER");
 1305
 1306                    b.Property<long?>("RunTimeTicks")
 1307                        .HasColumnType("INTEGER");
 1308
 1309                    b.Property<Guid?>("SeasonId")
 1310                        .HasColumnType("TEXT");
 1311
 1312                    b.Property<string>("SeasonName")
 1313                        .HasColumnType("TEXT");
 1314
 1315                    b.Property<Guid?>("SeriesId")
 1316                        .HasColumnType("TEXT");
 1317
 1318                    b.Property<string>("SeriesName")
 1319                        .HasColumnType("TEXT");
 1320
 1321                    b.Property<string>("SeriesPresentationUniqueKey")
 1322                        .HasColumnType("TEXT");
 1323
 1324                    b.Property<string>("ShowId")
 1325                        .HasColumnType("TEXT");
 1326
 1327                    b.Property<long?>("Size")
 1328                        .HasColumnType("INTEGER");
 1329
 1330                    b.Property<string>("SortName")
 1331                        .HasColumnType("TEXT");
 1332
 1333                    b.Property<DateTime?>("StartDate")
 1334                        .HasColumnType("TEXT");
 1335
 1336                    b.Property<string>("Studios")
 1337                        .HasColumnType("TEXT");
 1338
 1339                    b.Property<string>("Tagline")
 1340                        .HasColumnType("TEXT");
 1341
 1342                    b.Property<string>("Tags")
 1343                        .HasColumnType("TEXT");
 1344
 1345                    b.Property<Guid?>("TopParentId")
 1346                        .HasColumnType("TEXT");
 1347
 1348                    b.Property<int?>("TotalBitrate")
 1349                        .HasColumnType("INTEGER");
 1350
 1351                    b.Property<string>("Type")
 1352                        .IsRequired()
 1353                        .HasColumnType("TEXT");
 1354
 1355                    b.Property<string>("UnratedType")
 1356                        .HasColumnType("TEXT");
 1357
 1358                    b.Property<int?>("Width")
 1359                        .HasColumnType("INTEGER");
 1360
 1361                    b.HasKey("Id");
 1362
 1363                    b.HasIndex("Name");
 1364
 1365                    b.HasIndex("OwnerId");
 1366
 1367                    b.HasIndex("ParentId");
 1368
 1369                    b.HasIndex("Path");
 1370
 1371                    b.HasIndex("PresentationUniqueKey");
 1372
 1373                    b.HasIndex("SeasonId");
 1374
 1375                    b.HasIndex("SeriesId");
 1376
 1377                    b.HasIndex("SeriesName");
 1378
 1379                    b.HasIndex("ExtraType", "OwnerId");
 1380
 1381                    b.HasIndex("TopParentId", "Id");
 1382
 1383                    b.HasIndex("Type", "CleanName");
 1384
 1385                    b.HasIndex("TopParentId", "Type", "IsVirtualItem")
 1386                        .HasFilter("\"PrimaryVersionId\" IS NULL AND (\"OwnerId\" IS NULL OR \"ExtraType\" IS NOT NULL)"
 1387
 1388                    b.HasIndex("Type", "TopParentId", "Id");
 1389
 1390                    b.HasIndex("Type", "TopParentId", "PresentationUniqueKey");
 1391
 1392                    b.HasIndex("Type", "TopParentId", "SortName");
 1393
 1394                    b.HasIndex("Type", "TopParentId", "StartDate");
 1395
 1396                    b.HasIndex("MediaType", "TopParentId", "IsVirtualItem", "PresentationUniqueKey");
 1397
 1398                    b.HasIndex("TopParentId", "IsFolder", "IsVirtualItem", "DateCreated");
 1399
 1400                    b.HasIndex("TopParentId", "MediaType", "IsVirtualItem", "DateCreated");
 1401
 1402                    b.HasIndex("TopParentId", "Type", "IsVirtualItem", "DateCreated");
 1403
 1404                    b.HasIndex("Type", "SeriesPresentationUniqueKey", "IsFolder", "IsVirtualItem");
 1405
 1406                    b.HasIndex("Type", "SeriesPresentationUniqueKey", "ParentIndexNumber", "IndexNumber");
 1407
 1408                    b.HasIndex("Type", "SeriesPresentationUniqueKey", "PresentationUniqueKey", "SortName");
 1409
 1410                    b.HasIndex("IsFolder", "TopParentId", "IsVirtualItem", "PresentationUniqueKey", "DateCreated");
 1411
 1412                    b.HasIndex("Type", "TopParentId", "IsVirtualItem", "PresentationUniqueKey", "DateCreated");
 1413
 1414                    b.ToTable("BaseItems");
 1415
 1416                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1417
 1418                    b.HasData(
 1419                        new
 1420                        {
 1421                            Id = new Guid("00000000-0000-0000-0000-000000000001"),
 1422                            IsFolder = false,
 1423                            IsInMixedFolder = false,
 1424                            IsLocked = false,
 1425                            IsMovie = false,
 1426                            IsRepeat = false,
 1427                            IsSeries = false,
 1428                            IsVirtualItem = false,
 1429                            Name = "This is a placeholder item for UserData that has been detached from its original ite
 1430                            Type = "PLACEHOLDER"
 1431                        });
 1432                });
 433
 1434            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemImageInfo", b =>
 1435                {
 1436                    b.Property<Guid>("Id")
 1437                        .ValueGeneratedOnAdd()
 1438                        .HasColumnType("TEXT");
 1439
 1440                    b.Property<byte[]>("Blurhash")
 1441                        .HasColumnType("BLOB");
 1442
 1443                    b.Property<DateTime?>("DateModified")
 1444                        .HasColumnType("TEXT");
 1445
 1446                    b.Property<int>("Height")
 1447                        .HasColumnType("INTEGER");
 1448
 1449                    b.Property<int>("ImageType")
 1450                        .HasColumnType("INTEGER");
 1451
 1452                    b.Property<Guid>("ItemId")
 1453                        .HasColumnType("TEXT");
 1454
 1455                    b.Property<string>("Path")
 1456                        .IsRequired()
 1457                        .HasColumnType("TEXT");
 1458
 1459                    b.Property<int>("Width")
 1460                        .HasColumnType("INTEGER");
 1461
 1462                    b.HasKey("Id");
 1463
 1464                    b.HasIndex("ItemId", "ImageType");
 1465
 1466                    b.ToTable("BaseItemImageInfos");
 1467
 1468                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1469                });
 470
 1471            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemMetadataField", b =>
 1472                {
 1473                    b.Property<int>("Id")
 1474                        .HasColumnType("INTEGER");
 1475
 1476                    b.Property<Guid>("ItemId")
 1477                        .HasColumnType("TEXT");
 1478
 1479                    b.HasKey("Id", "ItemId");
 1480
 1481                    b.HasIndex("ItemId");
 1482
 1483                    b.ToTable("BaseItemMetadataFields");
 1484
 1485                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1486                });
 487
 1488            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemProvider", b =>
 1489                {
 1490                    b.Property<Guid>("ItemId")
 1491                        .HasColumnType("TEXT");
 1492
 1493                    b.Property<string>("ProviderId")
 1494                        .HasColumnType("TEXT");
 1495
 1496                    b.Property<string>("ProviderValue")
 1497                        .IsRequired()
 1498                        .HasColumnType("TEXT");
 1499
 1500                    b.HasKey("ItemId", "ProviderId");
 1501
 1502                    b.HasIndex("ProviderId", "ItemId", "ProviderValue");
 1503
 1504                    b.ToTable("BaseItemProviders");
 1505
 1506                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1507                });
 508
 1509            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemTrailerType", b =>
 1510                {
 1511                    b.Property<int>("Id")
 1512                        .HasColumnType("INTEGER");
 1513
 1514                    b.Property<Guid>("ItemId")
 1515                        .HasColumnType("TEXT");
 1516
 1517                    b.HasKey("Id", "ItemId");
 1518
 1519                    b.HasIndex("ItemId");
 1520
 1521                    b.ToTable("BaseItemTrailerTypes");
 1522
 1523                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1524                });
 525
 1526            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Chapter", b =>
 1527                {
 1528                    b.Property<Guid>("ItemId")
 1529                        .HasColumnType("TEXT");
 1530
 1531                    b.Property<int>("ChapterIndex")
 1532                        .HasColumnType("INTEGER");
 1533
 1534                    b.Property<DateTime?>("ImageDateModified")
 1535                        .HasColumnType("TEXT");
 1536
 1537                    b.Property<string>("ImagePath")
 1538                        .HasColumnType("TEXT");
 1539
 1540                    b.Property<string>("Name")
 1541                        .HasColumnType("TEXT");
 1542
 1543                    b.Property<long>("StartPositionTicks")
 1544                        .HasColumnType("INTEGER");
 1545
 1546                    b.HasKey("ItemId", "ChapterIndex");
 1547
 1548                    b.ToTable("Chapters");
 1549
 1550                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1551                });
 552
 1553            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.CustomItemDisplayPreferences", b =>
 1554                {
 1555                    b.Property<int>("Id")
 1556                        .ValueGeneratedOnAdd()
 1557                        .HasColumnType("INTEGER");
 1558
 1559                    b.Property<string>("Client")
 1560                        .IsRequired()
 1561                        .HasMaxLength(32)
 1562                        .HasColumnType("TEXT");
 1563
 1564                    b.Property<Guid>("ItemId")
 1565                        .HasColumnType("TEXT");
 1566
 1567                    b.Property<string>("Key")
 1568                        .IsRequired()
 1569                        .HasColumnType("TEXT");
 1570
 1571                    b.Property<Guid>("UserId")
 1572                        .HasColumnType("TEXT");
 1573
 1574                    b.Property<string>("Value")
 1575                        .HasColumnType("TEXT");
 1576
 1577                    b.HasKey("Id");
 1578
 1579                    b.HasIndex("UserId", "ItemId", "Client", "Key")
 1580                        .IsUnique();
 1581
 1582                    b.ToTable("CustomItemDisplayPreferences");
 1583
 1584                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1585                });
 586
 1587            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.DisplayPreferences", b =>
 1588                {
 1589                    b.Property<int>("Id")
 1590                        .ValueGeneratedOnAdd()
 1591                        .HasColumnType("INTEGER");
 1592
 1593                    b.Property<int>("ChromecastVersion")
 1594                        .HasColumnType("INTEGER");
 1595
 1596                    b.Property<string>("Client")
 1597                        .IsRequired()
 1598                        .HasMaxLength(32)
 1599                        .HasColumnType("TEXT");
 1600
 1601                    b.Property<string>("DashboardTheme")
 1602                        .HasMaxLength(32)
 1603                        .HasColumnType("TEXT");
 1604
 1605                    b.Property<bool>("EnableNextVideoInfoOverlay")
 1606                        .HasColumnType("INTEGER");
 1607
 1608                    b.Property<int?>("IndexBy")
 1609                        .HasColumnType("INTEGER");
 1610
 1611                    b.Property<Guid>("ItemId")
 1612                        .HasColumnType("TEXT");
 1613
 1614                    b.Property<int>("ScrollDirection")
 1615                        .HasColumnType("INTEGER");
 1616
 1617                    b.Property<bool>("ShowBackdrop")
 1618                        .HasColumnType("INTEGER");
 1619
 1620                    b.Property<bool>("ShowSidebar")
 1621                        .HasColumnType("INTEGER");
 1622
 1623                    b.Property<int>("SkipBackwardLength")
 1624                        .HasColumnType("INTEGER");
 1625
 1626                    b.Property<int>("SkipForwardLength")
 1627                        .HasColumnType("INTEGER");
 1628
 1629                    b.Property<string>("TvHome")
 1630                        .HasMaxLength(32)
 1631                        .HasColumnType("TEXT");
 1632
 1633                    b.Property<Guid>("UserId")
 1634                        .HasColumnType("TEXT");
 1635
 1636                    b.HasKey("Id");
 1637
 1638                    b.HasIndex("UserId", "ItemId", "Client")
 1639                        .IsUnique();
 1640
 1641                    b.ToTable("DisplayPreferences");
 1642
 1643                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1644                });
 645
 1646            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.HomeSection", b =>
 1647                {
 1648                    b.Property<int>("Id")
 1649                        .ValueGeneratedOnAdd()
 1650                        .HasColumnType("INTEGER");
 1651
 1652                    b.Property<int>("DisplayPreferencesId")
 1653                        .HasColumnType("INTEGER");
 1654
 1655                    b.Property<int>("Order")
 1656                        .HasColumnType("INTEGER");
 1657
 1658                    b.Property<int>("Type")
 1659                        .HasColumnType("INTEGER");
 1660
 1661                    b.HasKey("Id");
 1662
 1663                    b.HasIndex("DisplayPreferencesId");
 1664
 1665                    b.ToTable("HomeSection");
 1666
 1667                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1668                });
 669
 1670            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ImageInfo", b =>
 1671                {
 1672                    b.Property<int>("Id")
 1673                        .ValueGeneratedOnAdd()
 1674                        .HasColumnType("INTEGER");
 1675
 1676                    b.Property<DateTime>("LastModified")
 1677                        .HasColumnType("TEXT");
 1678
 1679                    b.Property<string>("Path")
 1680                        .IsRequired()
 1681                        .HasMaxLength(512)
 1682                        .HasColumnType("TEXT");
 1683
 1684                    b.Property<Guid?>("UserId")
 1685                        .HasColumnType("TEXT");
 1686
 1687                    b.HasKey("Id");
 1688
 1689                    b.HasIndex("UserId")
 1690                        .IsUnique();
 1691
 1692                    b.ToTable("ImageInfos");
 1693
 1694                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1695                });
 696
 1697            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemDisplayPreferences", b =>
 1698                {
 1699                    b.Property<int>("Id")
 1700                        .ValueGeneratedOnAdd()
 1701                        .HasColumnType("INTEGER");
 1702
 1703                    b.Property<string>("Client")
 1704                        .IsRequired()
 1705                        .HasMaxLength(32)
 1706                        .HasColumnType("TEXT");
 1707
 1708                    b.Property<int?>("IndexBy")
 1709                        .HasColumnType("INTEGER");
 1710
 1711                    b.Property<Guid>("ItemId")
 1712                        .HasColumnType("TEXT");
 1713
 1714                    b.Property<bool>("RememberIndexing")
 1715                        .HasColumnType("INTEGER");
 1716
 1717                    b.Property<bool>("RememberSorting")
 1718                        .HasColumnType("INTEGER");
 1719
 1720                    b.Property<string>("SortBy")
 1721                        .IsRequired()
 1722                        .HasMaxLength(64)
 1723                        .HasColumnType("TEXT");
 1724
 1725                    b.Property<int>("SortOrder")
 1726                        .HasColumnType("INTEGER");
 1727
 1728                    b.Property<Guid>("UserId")
 1729                        .HasColumnType("TEXT");
 1730
 1731                    b.Property<int>("ViewType")
 1732                        .HasColumnType("INTEGER");
 1733
 1734                    b.HasKey("Id");
 1735
 1736                    b.HasIndex("UserId");
 1737
 1738                    b.ToTable("ItemDisplayPreferences");
 1739
 1740                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1741                });
 742
 1743            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemValue", b =>
 1744                {
 1745                    b.Property<Guid>("ItemValueId")
 1746                        .ValueGeneratedOnAdd()
 1747                        .HasColumnType("TEXT");
 1748
 1749                    b.Property<string>("CleanValue")
 1750                        .IsRequired()
 1751                        .HasColumnType("TEXT");
 1752
 1753                    b.Property<int>("Type")
 1754                        .HasColumnType("INTEGER");
 1755
 1756                    b.Property<string>("Value")
 1757                        .IsRequired()
 1758                        .HasColumnType("TEXT");
 1759
 1760                    b.HasKey("ItemValueId");
 1761
 1762                    b.HasIndex("Type", "CleanValue");
 1763
 1764                    b.HasIndex("Type", "Value")
 1765                        .IsUnique();
 1766
 1767                    b.ToTable("ItemValues");
 1768
 1769                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1770                });
 771
 1772            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemValueMap", b =>
 1773                {
 1774                    b.Property<Guid>("ItemValueId")
 1775                        .HasColumnType("TEXT");
 1776
 1777                    b.Property<Guid>("ItemId")
 1778                        .HasColumnType("TEXT");
 1779
 1780                    b.HasKey("ItemValueId", "ItemId");
 1781
 1782                    b.HasIndex("ItemId");
 1783
 1784                    b.ToTable("ItemValuesMap");
 1785
 1786                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1787                });
 788
 1789            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.KeyframeData", b =>
 1790                {
 1791                    b.Property<Guid>("ItemId")
 1792                        .HasColumnType("TEXT");
 1793
 1794                    b.PrimitiveCollection<string>("KeyframeTicks")
 1795                        .HasColumnType("TEXT");
 1796
 1797                    b.Property<long>("TotalDuration")
 1798                        .HasColumnType("INTEGER");
 1799
 1800                    b.HasKey("ItemId");
 1801
 1802                    b.ToTable("KeyframeData");
 1803
 1804                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1805                });
 806
 1807            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.LinkedChildEntity", b =>
 1808                {
 1809                    b.Property<Guid>("ParentId")
 1810                        .HasColumnType("TEXT");
 1811
 1812                    b.Property<Guid>("ChildId")
 1813                        .HasColumnType("TEXT");
 1814
 1815                    b.Property<int>("ChildType")
 1816                        .HasColumnType("INTEGER");
 1817
 1818                    b.Property<int?>("SortOrder")
 1819                        .HasColumnType("INTEGER");
 1820
 1821                    b.HasKey("ParentId", "ChildId");
 1822
 1823                    b.HasIndex("ChildId", "ChildType");
 1824
 1825                    b.HasIndex("ParentId", "ChildType");
 1826
 1827                    b.HasIndex("ParentId", "SortOrder");
 1828
 1829                    b.ToTable("LinkedChildren", (string)null);
 1830
 1831                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1832                });
 833
 1834            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.MediaSegment", b =>
 1835                {
 1836                    b.Property<Guid>("Id")
 1837                        .ValueGeneratedOnAdd()
 1838                        .HasColumnType("TEXT");
 1839
 1840                    b.Property<long>("EndTicks")
 1841                        .HasColumnType("INTEGER");
 1842
 1843                    b.Property<Guid>("ItemId")
 1844                        .HasColumnType("TEXT");
 1845
 1846                    b.Property<string>("SegmentProviderId")
 1847                        .IsRequired()
 1848                        .HasColumnType("TEXT");
 1849
 1850                    b.Property<long>("StartTicks")
 1851                        .HasColumnType("INTEGER");
 1852
 1853                    b.Property<int>("Type")
 1854                        .HasColumnType("INTEGER");
 1855
 1856                    b.HasKey("Id");
 1857
 1858                    b.ToTable("MediaSegments");
 1859
 1860                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 1861                });
 862
 1863            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.MediaStreamInfo", b =>
 1864                {
 1865                    b.Property<Guid>("ItemId")
 1866                        .HasColumnType("TEXT");
 1867
 1868                    b.Property<int>("StreamIndex")
 1869                        .HasColumnType("INTEGER");
 1870
 1871                    b.Property<string>("AspectRatio")
 1872                        .HasColumnType("TEXT");
 1873
 1874                    b.Property<float?>("AverageFrameRate")
 1875                        .HasColumnType("REAL");
 1876
 1877                    b.Property<int?>("BitDepth")
 1878                        .HasColumnType("INTEGER");
 1879
 1880                    b.Property<int?>("BitRate")
 1881                        .HasColumnType("INTEGER");
 1882
 1883                    b.Property<int?>("BlPresentFlag")
 1884                        .HasColumnType("INTEGER");
 1885
 1886                    b.Property<string>("ChannelLayout")
 1887                        .HasColumnType("TEXT");
 1888
 1889                    b.Property<int?>("Channels")
 1890                        .HasColumnType("INTEGER");
 1891
 1892                    b.Property<string>("Codec")
 1893                        .HasColumnType("TEXT");
 1894
 1895                    b.Property<string>("CodecTag")
 1896                        .HasColumnType("TEXT");
 1897
 1898                    b.Property<string>("CodecTimeBase")
 1899                        .HasColumnType("TEXT");
 1900
 1901                    b.Property<string>("ColorPrimaries")
 1902                        .HasColumnType("TEXT");
 1903
 1904                    b.Property<string>("ColorSpace")
 1905                        .HasColumnType("TEXT");
 1906
 1907                    b.Property<string>("ColorTransfer")
 1908                        .HasColumnType("TEXT");
 1909
 1910                    b.Property<string>("Comment")
 1911                        .HasColumnType("TEXT");
 1912
 1913                    b.Property<int?>("DvBlSignalCompatibilityId")
 1914                        .HasColumnType("INTEGER");
 1915
 1916                    b.Property<int?>("DvLevel")
 1917                        .HasColumnType("INTEGER");
 1918
 1919                    b.Property<int?>("DvProfile")
 1920                        .HasColumnType("INTEGER");
 1921
 1922                    b.Property<int?>("DvVersionMajor")
 1923                        .HasColumnType("INTEGER");
 1924
 1925                    b.Property<int?>("DvVersionMinor")
 1926                        .HasColumnType("INTEGER");
 1927
 1928                    b.Property<int?>("ElPresentFlag")
 1929                        .HasColumnType("INTEGER");
 1930
 1931                    b.Property<bool?>("Hdr10PlusPresentFlag")
 1932                        .HasColumnType("INTEGER");
 1933
 1934                    b.Property<int?>("Height")
 1935                        .HasColumnType("INTEGER");
 1936
 1937                    b.Property<bool?>("IsAnamorphic")
 1938                        .HasColumnType("INTEGER");
 1939
 1940                    b.Property<bool?>("IsAvc")
 1941                        .HasColumnType("INTEGER");
 1942
 1943                    b.Property<bool>("IsDefault")
 1944                        .HasColumnType("INTEGER");
 1945
 1946                    b.Property<bool>("IsExternal")
 1947                        .HasColumnType("INTEGER");
 1948
 1949                    b.Property<bool>("IsForced")
 1950                        .HasColumnType("INTEGER");
 1951
 1952                    b.Property<bool?>("IsHearingImpaired")
 1953                        .HasColumnType("INTEGER");
 1954
 1955                    b.Property<bool?>("IsInterlaced")
 1956                        .HasColumnType("INTEGER");
 1957
 1958                    b.Property<string>("KeyFrames")
 1959                        .HasColumnType("TEXT");
 1960
 1961                    b.Property<string>("Language")
 1962                        .HasColumnType("TEXT");
 1963
 1964                    b.Property<float?>("Level")
 1965                        .HasColumnType("REAL");
 1966
 1967                    b.Property<string>("NalLengthSize")
 1968                        .HasColumnType("TEXT");
 1969
 1970                    b.Property<string>("Path")
 1971                        .HasColumnType("TEXT");
 1972
 1973                    b.Property<string>("PixelFormat")
 1974                        .HasColumnType("TEXT");
 1975
 1976                    b.Property<string>("Profile")
 1977                        .HasColumnType("TEXT");
 1978
 1979                    b.Property<float?>("RealFrameRate")
 1980                        .HasColumnType("REAL");
 1981
 1982                    b.Property<int?>("RefFrames")
 1983                        .HasColumnType("INTEGER");
 1984
 1985                    b.Property<int?>("Rotation")
 1986                        .HasColumnType("INTEGER");
 1987
 1988                    b.Property<int?>("RpuPresentFlag")
 1989                        .HasColumnType("INTEGER");
 1990
 1991                    b.Property<int?>("SampleRate")
 1992                        .HasColumnType("INTEGER");
 1993
 1994                    b.Property<int>("StreamType")
 1995                        .HasColumnType("INTEGER");
 1996
 1997                    b.Property<string>("TimeBase")
 1998                        .HasColumnType("TEXT");
 1999
 11000                    b.Property<string>("Title")
 11001                        .HasColumnType("TEXT");
 11002
 11003                    b.Property<int?>("Width")
 11004                        .HasColumnType("INTEGER");
 11005
 11006                    b.HasKey("ItemId", "StreamIndex");
 11007
 11008                    b.ToTable("MediaStreamInfos");
 11009
 11010                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11011                });
 1012
 11013            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.People", b =>
 11014                {
 11015                    b.Property<Guid>("Id")
 11016                        .ValueGeneratedOnAdd()
 11017                        .HasColumnType("TEXT");
 11018
 11019                    b.Property<string>("Name")
 11020                        .IsRequired()
 11021                        .HasColumnType("TEXT");
 11022
 11023                    b.Property<string>("PersonType")
 11024                        .HasColumnType("TEXT");
 11025
 11026                    b.HasKey("Id");
 11027
 11028                    b.HasIndex("Name");
 11029
 11030                    b.ToTable("Peoples");
 11031
 11032                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11033                });
 1034
 11035            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.PeopleBaseItemMap", b =>
 11036                {
 11037                    b.Property<Guid>("ItemId")
 11038                        .HasColumnType("TEXT");
 11039
 11040                    b.Property<Guid>("PeopleId")
 11041                        .HasColumnType("TEXT");
 11042
 11043                    b.Property<string>("Role")
 11044                        .HasColumnType("TEXT");
 11045
 11046                    b.Property<int?>("ListOrder")
 11047                        .HasColumnType("INTEGER");
 11048
 11049                    b.Property<int?>("SortOrder")
 11050                        .HasColumnType("INTEGER");
 11051
 11052                    b.HasKey("ItemId", "PeopleId", "Role");
 11053
 11054                    b.HasIndex("PeopleId");
 11055
 11056                    b.HasIndex("ItemId", "ListOrder");
 11057
 11058                    b.HasIndex("ItemId", "SortOrder");
 11059
 11060                    b.ToTable("PeopleBaseItemMap");
 11061
 11062                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11063                });
 1064
 11065            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Permission", b =>
 11066                {
 11067                    b.Property<int>("Id")
 11068                        .ValueGeneratedOnAdd()
 11069                        .HasColumnType("INTEGER");
 11070
 11071                    b.Property<int>("Kind")
 11072                        .HasColumnType("INTEGER");
 11073
 11074                    b.Property<Guid?>("Permission_Permissions_Guid")
 11075                        .HasColumnType("TEXT");
 11076
 11077                    b.Property<uint>("RowVersion")
 11078                        .IsConcurrencyToken()
 11079                        .HasColumnType("INTEGER");
 11080
 11081                    b.Property<Guid?>("UserId")
 11082                        .HasColumnType("TEXT");
 11083
 11084                    b.Property<bool>("Value")
 11085                        .HasColumnType("INTEGER");
 11086
 11087                    b.HasKey("Id");
 11088
 11089                    b.HasIndex("UserId", "Kind")
 11090                        .IsUnique()
 11091                        .HasFilter("[UserId] IS NOT NULL");
 11092
 11093                    b.ToTable("Permissions");
 11094
 11095                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11096                });
 1097
 11098            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Preference", b =>
 11099                {
 11100                    b.Property<int>("Id")
 11101                        .ValueGeneratedOnAdd()
 11102                        .HasColumnType("INTEGER");
 11103
 11104                    b.Property<int>("Kind")
 11105                        .HasColumnType("INTEGER");
 11106
 11107                    b.Property<Guid?>("Preference_Preferences_Guid")
 11108                        .HasColumnType("TEXT");
 11109
 11110                    b.Property<uint>("RowVersion")
 11111                        .IsConcurrencyToken()
 11112                        .HasColumnType("INTEGER");
 11113
 11114                    b.Property<Guid?>("UserId")
 11115                        .HasColumnType("TEXT");
 11116
 11117                    b.Property<string>("Value")
 11118                        .IsRequired()
 11119                        .HasMaxLength(65535)
 11120                        .HasColumnType("TEXT");
 11121
 11122                    b.HasKey("Id");
 11123
 11124                    b.HasIndex("UserId", "Kind")
 11125                        .IsUnique()
 11126                        .HasFilter("[UserId] IS NOT NULL");
 11127
 11128                    b.ToTable("Preferences");
 11129
 11130                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11131                });
 1132
 11133            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Security.ApiKey", b =>
 11134                {
 11135                    b.Property<int>("Id")
 11136                        .ValueGeneratedOnAdd()
 11137                        .HasColumnType("INTEGER");
 11138
 11139                    b.Property<string>("AccessToken")
 11140                        .IsRequired()
 11141                        .HasColumnType("TEXT");
 11142
 11143                    b.Property<DateTime>("DateCreated")
 11144                        .HasColumnType("TEXT");
 11145
 11146                    b.Property<DateTime>("DateLastActivity")
 11147                        .HasColumnType("TEXT");
 11148
 11149                    b.Property<string>("Name")
 11150                        .IsRequired()
 11151                        .HasMaxLength(64)
 11152                        .HasColumnType("TEXT");
 11153
 11154                    b.HasKey("Id");
 11155
 11156                    b.HasIndex("AccessToken")
 11157                        .IsUnique();
 11158
 11159                    b.ToTable("ApiKeys");
 11160
 11161                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11162                });
 1163
 11164            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Security.Device", b =>
 11165                {
 11166                    b.Property<int>("Id")
 11167                        .ValueGeneratedOnAdd()
 11168                        .HasColumnType("INTEGER");
 11169
 11170                    b.Property<string>("AccessToken")
 11171                        .IsRequired()
 11172                        .HasColumnType("TEXT");
 11173
 11174                    b.Property<string>("AppName")
 11175                        .IsRequired()
 11176                        .HasMaxLength(64)
 11177                        .HasColumnType("TEXT");
 11178
 11179                    b.Property<string>("AppVersion")
 11180                        .IsRequired()
 11181                        .HasMaxLength(32)
 11182                        .HasColumnType("TEXT");
 11183
 11184                    b.Property<DateTime>("DateCreated")
 11185                        .HasColumnType("TEXT");
 11186
 11187                    b.Property<DateTime>("DateLastActivity")
 11188                        .HasColumnType("TEXT");
 11189
 11190                    b.Property<DateTime>("DateModified")
 11191                        .HasColumnType("TEXT");
 11192
 11193                    b.Property<string>("DeviceId")
 11194                        .IsRequired()
 11195                        .HasMaxLength(256)
 11196                        .HasColumnType("TEXT");
 11197
 11198                    b.Property<string>("DeviceName")
 11199                        .IsRequired()
 11200                        .HasMaxLength(64)
 11201                        .HasColumnType("TEXT");
 11202
 11203                    b.Property<bool>("IsActive")
 11204                        .HasColumnType("INTEGER");
 11205
 11206                    b.Property<Guid>("UserId")
 11207                        .HasColumnType("TEXT");
 11208
 11209                    b.HasKey("Id");
 11210
 11211                    b.HasIndex("AccessToken", "DateLastActivity");
 11212
 11213                    b.HasIndex("DeviceId", "DateLastActivity");
 11214
 11215                    b.HasIndex("UserId", "DeviceId");
 11216
 11217                    b.ToTable("Devices");
 11218
 11219                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11220                });
 1221
 11222            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Security.DeviceOptions", b =>
 11223                {
 11224                    b.Property<int>("Id")
 11225                        .ValueGeneratedOnAdd()
 11226                        .HasColumnType("INTEGER");
 11227
 11228                    b.Property<string>("CustomName")
 11229                        .HasColumnType("TEXT");
 11230
 11231                    b.Property<string>("DeviceId")
 11232                        .IsRequired()
 11233                        .HasColumnType("TEXT");
 11234
 11235                    b.HasKey("Id");
 11236
 11237                    b.HasIndex("DeviceId")
 11238                        .IsUnique();
 11239
 11240                    b.ToTable("DeviceOptions");
 11241
 11242                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11243                });
 1244
 11245            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.TrickplayInfo", b =>
 11246                {
 11247                    b.Property<Guid>("ItemId")
 11248                        .HasColumnType("TEXT");
 11249
 11250                    b.Property<int>("Width")
 11251                        .HasColumnType("INTEGER");
 11252
 11253                    b.Property<int>("Bandwidth")
 11254                        .HasColumnType("INTEGER");
 11255
 11256                    b.Property<int>("Height")
 11257                        .HasColumnType("INTEGER");
 11258
 11259                    b.Property<int>("Interval")
 11260                        .HasColumnType("INTEGER");
 11261
 11262                    b.Property<int>("ThumbnailCount")
 11263                        .HasColumnType("INTEGER");
 11264
 11265                    b.Property<int>("TileHeight")
 11266                        .HasColumnType("INTEGER");
 11267
 11268                    b.Property<int>("TileWidth")
 11269                        .HasColumnType("INTEGER");
 11270
 11271                    b.HasKey("ItemId", "Width");
 11272
 11273                    b.ToTable("TrickplayInfos");
 11274
 11275                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11276                });
 1277
 11278            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.User", b =>
 11279                {
 11280                    b.Property<Guid>("Id")
 11281                        .ValueGeneratedOnAdd()
 11282                        .HasColumnType("TEXT");
 11283
 11284                    b.Property<string>("AudioLanguagePreference")
 11285                        .HasMaxLength(255)
 11286                        .HasColumnType("TEXT");
 11287
 11288                    b.Property<string>("AuthenticationProviderId")
 11289                        .IsRequired()
 11290                        .HasMaxLength(255)
 11291                        .HasColumnType("TEXT");
 11292
 11293                    b.Property<string>("CastReceiverId")
 11294                        .HasMaxLength(32)
 11295                        .HasColumnType("TEXT");
 11296
 11297                    b.Property<bool>("DisplayCollectionsView")
 11298                        .HasColumnType("INTEGER");
 11299
 11300                    b.Property<bool>("DisplayMissingEpisodes")
 11301                        .HasColumnType("INTEGER");
 11302
 11303                    b.Property<bool>("EnableAutoLogin")
 11304                        .HasColumnType("INTEGER");
 11305
 11306                    b.Property<bool>("EnableLocalPassword")
 11307                        .HasColumnType("INTEGER");
 11308
 11309                    b.Property<bool>("EnableNextEpisodeAutoPlay")
 11310                        .HasColumnType("INTEGER");
 11311
 11312                    b.Property<bool>("EnableUserPreferenceAccess")
 11313                        .HasColumnType("INTEGER");
 11314
 11315                    b.Property<bool>("HidePlayedInLatest")
 11316                        .HasColumnType("INTEGER");
 11317
 11318                    b.Property<long>("InternalId")
 11319                        .HasColumnType("INTEGER");
 11320
 11321                    b.Property<int>("InvalidLoginAttemptCount")
 11322                        .HasColumnType("INTEGER");
 11323
 11324                    b.Property<DateTime?>("LastActivityDate")
 11325                        .HasColumnType("TEXT");
 11326
 11327                    b.Property<DateTime?>("LastLoginDate")
 11328                        .HasColumnType("TEXT");
 11329
 11330                    b.Property<int?>("LoginAttemptsBeforeLockout")
 11331                        .HasColumnType("INTEGER");
 11332
 11333                    b.Property<int>("MaxActiveSessions")
 11334                        .HasColumnType("INTEGER");
 11335
 11336                    b.Property<int?>("MaxParentalRatingScore")
 11337                        .HasColumnType("INTEGER");
 11338
 11339                    b.Property<int?>("MaxParentalRatingSubScore")
 11340                        .HasColumnType("INTEGER");
 11341
 11342                    b.Property<bool>("MustUpdatePassword")
 11343                        .HasColumnType("INTEGER");
 11344
 11345                    b.Property<string>("Password")
 11346                        .HasMaxLength(65535)
 11347                        .HasColumnType("TEXT");
 11348
 11349                    b.Property<string>("PasswordResetProviderId")
 11350                        .IsRequired()
 11351                        .HasMaxLength(255)
 11352                        .HasColumnType("TEXT");
 11353
 11354                    b.Property<bool>("PlayDefaultAudioTrack")
 11355                        .HasColumnType("INTEGER");
 11356
 11357                    b.Property<bool>("RememberAudioSelections")
 11358                        .HasColumnType("INTEGER");
 11359
 11360                    b.Property<bool>("RememberSubtitleSelections")
 11361                        .HasColumnType("INTEGER");
 11362
 11363                    b.Property<int?>("RemoteClientBitrateLimit")
 11364                        .HasColumnType("INTEGER");
 11365
 11366                    b.Property<uint>("RowVersion")
 11367                        .IsConcurrencyToken()
 11368                        .HasColumnType("INTEGER");
 11369
 11370                    b.Property<string>("SubtitleLanguagePreference")
 11371                        .HasMaxLength(255)
 11372                        .HasColumnType("TEXT");
 11373
 11374                    b.Property<int>("SubtitleMode")
 11375                        .HasColumnType("INTEGER");
 11376
 11377                    b.Property<int>("SyncPlayAccess")
 11378                        .HasColumnType("INTEGER");
 11379
 11380                    b.Property<string>("Username")
 11381                        .IsRequired()
 11382                        .HasMaxLength(255)
 11383                        .HasColumnType("TEXT");
 11384
 11385                    b.HasKey("Id");
 11386
 11387                    b.HasIndex("Username")
 11388                        .IsUnique();
 11389
 11390                    b.ToTable("Users");
 11391
 11392                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11393                });
 1394
 11395            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.UserData", b =>
 11396                {
 11397                    b.Property<Guid>("ItemId")
 11398                        .HasColumnType("TEXT");
 11399
 11400                    b.Property<Guid>("UserId")
 11401                        .HasColumnType("TEXT");
 11402
 11403                    b.Property<string>("CustomDataKey")
 11404                        .HasColumnType("TEXT");
 11405
 11406                    b.Property<int?>("AudioStreamIndex")
 11407                        .HasColumnType("INTEGER");
 11408
 11409                    b.Property<bool>("IsFavorite")
 11410                        .HasColumnType("INTEGER");
 11411
 11412                    b.Property<DateTime?>("LastPlayedDate")
 11413                        .HasColumnType("TEXT");
 11414
 11415                    b.Property<bool?>("Likes")
 11416                        .HasColumnType("INTEGER");
 11417
 11418                    b.Property<int>("PlayCount")
 11419                        .HasColumnType("INTEGER");
 11420
 11421                    b.Property<long>("PlaybackPositionTicks")
 11422                        .HasColumnType("INTEGER");
 11423
 11424                    b.Property<bool>("Played")
 11425                        .HasColumnType("INTEGER");
 11426
 11427                    b.Property<double?>("Rating")
 11428                        .HasColumnType("REAL");
 11429
 11430                    b.Property<DateTime?>("RetentionDate")
 11431                        .HasColumnType("TEXT");
 11432
 11433                    b.Property<int?>("SubtitleStreamIndex")
 11434                        .HasColumnType("INTEGER");
 11435
 11436                    b.HasKey("ItemId", "UserId", "CustomDataKey");
 11437
 11438                    b.HasIndex("ItemId", "UserId", "IsFavorite");
 11439
 11440                    b.HasIndex("ItemId", "UserId", "LastPlayedDate");
 11441
 11442                    b.HasIndex("ItemId", "UserId", "PlaybackPositionTicks");
 11443
 11444                    b.HasIndex("ItemId", "UserId", "Played");
 11445
 11446                    b.HasIndex("UserId", "IsFavorite", "ItemId");
 11447
 11448                    b.HasIndex("UserId", "ItemId", "LastPlayedDate");
 11449
 11450                    b.HasIndex("UserId", "Played", "ItemId");
 11451
 11452                    b.ToTable("UserData");
 11453
 11454                    b.HasAnnotation("Sqlite:UseSqlReturningClause", false);
 11455                });
 1456
 11457            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AccessSchedule", b =>
 11458                {
 11459                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11460                        .WithMany("AccessSchedules")
 11461                        .HasForeignKey("UserId")
 11462                        .OnDelete(DeleteBehavior.Cascade)
 11463                        .IsRequired();
 11464                });
 1465
 11466            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AncestorId", b =>
 11467                {
 11468                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11469                        .WithMany("Parents")
 11470                        .HasForeignKey("ItemId")
 11471                        .OnDelete(DeleteBehavior.Cascade)
 11472                        .IsRequired();
 11473
 11474                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "ParentItem")
 11475                        .WithMany("Children")
 11476                        .HasForeignKey("ParentItemId")
 11477                        .OnDelete(DeleteBehavior.Cascade)
 11478                        .IsRequired();
 11479
 11480                    b.Navigation("Item");
 11481
 11482                    b.Navigation("ParentItem");
 11483                });
 1484
 11485            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.AttachmentStreamInfo", b =>
 11486                {
 11487                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11488                        .WithMany()
 11489                        .HasForeignKey("ItemId")
 11490                        .OnDelete(DeleteBehavior.Cascade)
 11491                        .IsRequired();
 11492
 11493                    b.Navigation("Item");
 11494                });
 1495
 11496            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemEntity", b =>
 11497                {
 11498                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Owner")
 11499                        .WithMany("Extras")
 11500                        .HasForeignKey("OwnerId")
 11501                        .OnDelete(DeleteBehavior.NoAction);
 11502
 11503                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "DirectParent")
 11504                        .WithMany("DirectChildren")
 11505                        .HasForeignKey("ParentId")
 11506                        .OnDelete(DeleteBehavior.Cascade);
 11507
 11508                    b.Navigation("DirectParent");
 11509
 11510                    b.Navigation("Owner");
 11511                });
 1512
 11513            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemImageInfo", b =>
 11514                {
 11515                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11516                        .WithMany("Images")
 11517                        .HasForeignKey("ItemId")
 11518                        .OnDelete(DeleteBehavior.Cascade)
 11519                        .IsRequired();
 11520
 11521                    b.Navigation("Item");
 11522                });
 1523
 11524            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemMetadataField", b =>
 11525                {
 11526                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11527                        .WithMany("LockedFields")
 11528                        .HasForeignKey("ItemId")
 11529                        .OnDelete(DeleteBehavior.Cascade)
 11530                        .IsRequired();
 11531
 11532                    b.Navigation("Item");
 11533                });
 1534
 11535            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemProvider", b =>
 11536                {
 11537                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11538                        .WithMany("Provider")
 11539                        .HasForeignKey("ItemId")
 11540                        .OnDelete(DeleteBehavior.Cascade)
 11541                        .IsRequired();
 11542
 11543                    b.Navigation("Item");
 11544                });
 1545
 11546            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemTrailerType", b =>
 11547                {
 11548                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11549                        .WithMany("TrailerTypes")
 11550                        .HasForeignKey("ItemId")
 11551                        .OnDelete(DeleteBehavior.Cascade)
 11552                        .IsRequired();
 11553
 11554                    b.Navigation("Item");
 11555                });
 1556
 11557            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Chapter", b =>
 11558                {
 11559                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11560                        .WithMany("Chapters")
 11561                        .HasForeignKey("ItemId")
 11562                        .OnDelete(DeleteBehavior.Cascade)
 11563                        .IsRequired();
 11564
 11565                    b.Navigation("Item");
 11566                });
 1567
 11568            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.DisplayPreferences", b =>
 11569                {
 11570                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11571                        .WithMany("DisplayPreferences")
 11572                        .HasForeignKey("UserId")
 11573                        .OnDelete(DeleteBehavior.Cascade)
 11574                        .IsRequired();
 11575                });
 1576
 11577            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.HomeSection", b =>
 11578                {
 11579                    b.HasOne("Jellyfin.Database.Implementations.Entities.DisplayPreferences", null)
 11580                        .WithMany("HomeSections")
 11581                        .HasForeignKey("DisplayPreferencesId")
 11582                        .OnDelete(DeleteBehavior.Cascade)
 11583                        .IsRequired();
 11584                });
 1585
 11586            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ImageInfo", b =>
 11587                {
 11588                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11589                        .WithOne("ProfileImage")
 11590                        .HasForeignKey("Jellyfin.Database.Implementations.Entities.ImageInfo", "UserId")
 11591                        .OnDelete(DeleteBehavior.Cascade);
 11592                });
 1593
 11594            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemDisplayPreferences", b =>
 11595                {
 11596                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11597                        .WithMany("ItemDisplayPreferences")
 11598                        .HasForeignKey("UserId")
 11599                        .OnDelete(DeleteBehavior.Cascade)
 11600                        .IsRequired();
 11601                });
 1602
 11603            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemValueMap", b =>
 11604                {
 11605                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11606                        .WithMany("ItemValues")
 11607                        .HasForeignKey("ItemId")
 11608                        .OnDelete(DeleteBehavior.Cascade)
 11609                        .IsRequired();
 11610
 11611                    b.HasOne("Jellyfin.Database.Implementations.Entities.ItemValue", "ItemValue")
 11612                        .WithMany("BaseItemsMap")
 11613                        .HasForeignKey("ItemValueId")
 11614                        .OnDelete(DeleteBehavior.Cascade)
 11615                        .IsRequired();
 11616
 11617                    b.Navigation("Item");
 11618
 11619                    b.Navigation("ItemValue");
 11620                });
 1621
 11622            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.KeyframeData", b =>
 11623                {
 11624                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11625                        .WithMany()
 11626                        .HasForeignKey("ItemId")
 11627                        .OnDelete(DeleteBehavior.Cascade)
 11628                        .IsRequired();
 11629
 11630                    b.Navigation("Item");
 11631                });
 1632
 11633            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.LinkedChildEntity", b =>
 11634                {
 11635                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Child")
 11636                        .WithMany("LinkedChildOfEntities")
 11637                        .HasForeignKey("ChildId")
 11638                        .OnDelete(DeleteBehavior.NoAction)
 11639                        .IsRequired();
 11640
 11641                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Parent")
 11642                        .WithMany("LinkedChildEntities")
 11643                        .HasForeignKey("ParentId")
 11644                        .OnDelete(DeleteBehavior.NoAction)
 11645                        .IsRequired();
 11646
 11647                    b.Navigation("Child");
 11648
 11649                    b.Navigation("Parent");
 11650                });
 1651
 11652            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.MediaStreamInfo", b =>
 11653                {
 11654                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11655                        .WithMany("MediaStreams")
 11656                        .HasForeignKey("ItemId")
 11657                        .OnDelete(DeleteBehavior.Cascade)
 11658                        .IsRequired();
 11659
 11660                    b.Navigation("Item");
 11661                });
 1662
 11663            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.PeopleBaseItemMap", b =>
 11664                {
 11665                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11666                        .WithMany("Peoples")
 11667                        .HasForeignKey("ItemId")
 11668                        .OnDelete(DeleteBehavior.Cascade)
 11669                        .IsRequired();
 11670
 11671                    b.HasOne("Jellyfin.Database.Implementations.Entities.People", "People")
 11672                        .WithMany("BaseItems")
 11673                        .HasForeignKey("PeopleId")
 11674                        .OnDelete(DeleteBehavior.Cascade)
 11675                        .IsRequired();
 11676
 11677                    b.Navigation("Item");
 11678
 11679                    b.Navigation("People");
 11680                });
 1681
 11682            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Permission", b =>
 11683                {
 11684                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11685                        .WithMany("Permissions")
 11686                        .HasForeignKey("UserId")
 11687                        .OnDelete(DeleteBehavior.Cascade);
 11688                });
 1689
 11690            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Preference", b =>
 11691                {
 11692                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", null)
 11693                        .WithMany("Preferences")
 11694                        .HasForeignKey("UserId")
 11695                        .OnDelete(DeleteBehavior.Cascade);
 11696                });
 1697
 11698            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.Security.Device", b =>
 11699                {
 11700                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", "User")
 11701                        .WithMany()
 11702                        .HasForeignKey("UserId")
 11703                        .OnDelete(DeleteBehavior.Cascade)
 11704                        .IsRequired();
 11705
 11706                    b.Navigation("User");
 11707                });
 1708
 11709            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.UserData", b =>
 11710                {
 11711                    b.HasOne("Jellyfin.Database.Implementations.Entities.BaseItemEntity", "Item")
 11712                        .WithMany("UserData")
 11713                        .HasForeignKey("ItemId")
 11714                        .OnDelete(DeleteBehavior.Cascade)
 11715                        .IsRequired();
 11716
 11717                    b.HasOne("Jellyfin.Database.Implementations.Entities.User", "User")
 11718                        .WithMany()
 11719                        .HasForeignKey("UserId")
 11720                        .OnDelete(DeleteBehavior.Cascade)
 11721                        .IsRequired();
 11722
 11723                    b.Navigation("Item");
 11724
 11725                    b.Navigation("User");
 11726                });
 1727
 11728            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.BaseItemEntity", b =>
 11729                {
 11730                    b.Navigation("Chapters");
 11731
 11732                    b.Navigation("Children");
 11733
 11734                    b.Navigation("DirectChildren");
 11735
 11736                    b.Navigation("Extras");
 11737
 11738                    b.Navigation("Images");
 11739
 11740                    b.Navigation("ItemValues");
 11741
 11742                    b.Navigation("LinkedChildEntities");
 11743
 11744                    b.Navigation("LinkedChildOfEntities");
 11745
 11746                    b.Navigation("LockedFields");
 11747
 11748                    b.Navigation("MediaStreams");
 11749
 11750                    b.Navigation("Parents");
 11751
 11752                    b.Navigation("Peoples");
 11753
 11754                    b.Navigation("Provider");
 11755
 11756                    b.Navigation("TrailerTypes");
 11757
 11758                    b.Navigation("UserData");
 11759                });
 1760
 11761            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.DisplayPreferences", b =>
 11762                {
 11763                    b.Navigation("HomeSections");
 11764                });
 1765
 11766            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.ItemValue", b =>
 11767                {
 11768                    b.Navigation("BaseItemsMap");
 11769                });
 1770
 11771            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.People", b =>
 11772                {
 11773                    b.Navigation("BaseItems");
 11774                });
 1775
 11776            modelBuilder.Entity("Jellyfin.Database.Implementations.Entities.User", b =>
 11777                {
 11778                    b.Navigation("AccessSchedules");
 11779
 11780                    b.Navigation("DisplayPreferences");
 11781
 11782                    b.Navigation("ItemDisplayPreferences");
 11783
 11784                    b.Navigation("Permissions");
 11785
 11786                    b.Navigation("Preferences");
 11787
 11788                    b.Navigation("ProfileImage");
 11789                });
 1790#pragma warning restore 612, 618
 11791        }
 1792    }
 1793}