// 
using System;
using Jellyfin.Server.Implementations;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
#nullable disable
namespace Jellyfin.Server.Implementations.Migrations
{
    [DbContext(typeof(JellyfinDbContext))]
    partial class JellyfinDbModelSnapshot : ModelSnapshot
    {
        protected override void BuildModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder.HasAnnotation("ProductVersion", "9.0.2");
            modelBuilder.Entity("Jellyfin.Data.Entities.AccessSchedule", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("DayOfWeek")
                        .HasColumnType("INTEGER");
                    b.Property("EndHour")
                        .HasColumnType("REAL");
                    b.Property("StartHour")
                        .HasColumnType("REAL");
                    b.Property("UserId")
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("UserId");
                    b.ToTable("AccessSchedules");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.ActivityLog", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("DateCreated")
                        .HasColumnType("TEXT");
                    b.Property("ItemId")
                        .HasMaxLength(256)
                        .HasColumnType("TEXT");
                    b.Property("LogSeverity")
                        .HasColumnType("INTEGER");
                    b.Property("Name")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("TEXT");
                    b.Property("Overview")
                        .HasMaxLength(512)
                        .HasColumnType("TEXT");
                    b.Property("RowVersion")
                        .IsConcurrencyToken()
                        .HasColumnType("INTEGER");
                    b.Property("ShortOverview")
                        .HasMaxLength(512)
                        .HasColumnType("TEXT");
                    b.Property("Type")
                        .IsRequired()
                        .HasMaxLength(256)
                        .HasColumnType("TEXT");
                    b.Property("UserId")
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("DateCreated");
                    b.ToTable("ActivityLogs");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.AncestorId", b =>
                {
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("ParentItemId")
                        .HasColumnType("TEXT");
                    b.HasKey("ItemId", "ParentItemId");
                    b.HasIndex("ParentItemId");
                    b.ToTable("AncestorIds");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.AttachmentStreamInfo", b =>
                {
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("Index")
                        .HasColumnType("INTEGER");
                    b.Property("Codec")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.Property("CodecTag")
                        .HasColumnType("TEXT");
                    b.Property("Comment")
                        .HasColumnType("TEXT");
                    b.Property("Filename")
                        .HasColumnType("TEXT");
                    b.Property("MimeType")
                        .HasColumnType("TEXT");
                    b.HasKey("ItemId", "Index");
                    b.ToTable("AttachmentStreamInfos");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.BaseItemEntity", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("TEXT");
                    b.Property("Album")
                        .HasColumnType("TEXT");
                    b.Property("AlbumArtists")
                        .HasColumnType("TEXT");
                    b.Property("Artists")
                        .HasColumnType("TEXT");
                    b.Property("Audio")
                        .HasColumnType("INTEGER");
                    b.Property("ChannelId")
                        .HasColumnType("TEXT");
                    b.Property("CleanName")
                        .HasColumnType("TEXT");
                    b.Property("CommunityRating")
                        .HasColumnType("REAL");
                    b.Property("CriticRating")
                        .HasColumnType("REAL");
                    b.Property("CustomRating")
                        .HasColumnType("TEXT");
                    b.Property("Data")
                        .HasColumnType("TEXT");
                    b.Property("DateCreated")
                        .HasColumnType("TEXT");
                    b.Property("DateLastMediaAdded")
                        .HasColumnType("TEXT");
                    b.Property("DateLastRefreshed")
                        .HasColumnType("TEXT");
                    b.Property("DateLastSaved")
                        .HasColumnType("TEXT");
                    b.Property("DateModified")
                        .HasColumnType("TEXT");
                    b.Property("EndDate")
                        .HasColumnType("TEXT");
                    b.Property("EpisodeTitle")
                        .HasColumnType("TEXT");
                    b.Property("ExternalId")
                        .HasColumnType("TEXT");
                    b.Property("ExternalSeriesId")
                        .HasColumnType("TEXT");
                    b.Property("ExternalServiceId")
                        .HasColumnType("TEXT");
                    b.Property("ExtraIds")
                        .HasColumnType("TEXT");
                    b.Property("ExtraType")
                        .HasColumnType("INTEGER");
                    b.Property("ForcedSortName")
                        .HasColumnType("TEXT");
                    b.Property("Genres")
                        .HasColumnType("TEXT");
                    b.Property("Height")
                        .HasColumnType("INTEGER");
                    b.Property("IndexNumber")
                        .HasColumnType("INTEGER");
                    b.Property("InheritedParentalRatingValue")
                        .HasColumnType("INTEGER");
                    b.Property("IsFolder")
                        .HasColumnType("INTEGER");
                    b.Property("IsInMixedFolder")
                        .HasColumnType("INTEGER");
                    b.Property("IsLocked")
                        .HasColumnType("INTEGER");
                    b.Property("IsMovie")
                        .HasColumnType("INTEGER");
                    b.Property("IsRepeat")
                        .HasColumnType("INTEGER");
                    b.Property("IsSeries")
                        .HasColumnType("INTEGER");
                    b.Property("IsVirtualItem")
                        .HasColumnType("INTEGER");
                    b.Property("LUFS")
                        .HasColumnType("REAL");
                    b.Property("MediaType")
                        .HasColumnType("TEXT");
                    b.Property("Name")
                        .HasColumnType("TEXT");
                    b.Property("NormalizationGain")
                        .HasColumnType("REAL");
                    b.Property("OfficialRating")
                        .HasColumnType("TEXT");
                    b.Property("OriginalTitle")
                        .HasColumnType("TEXT");
                    b.Property("Overview")
                        .HasColumnType("TEXT");
                    b.Property("OwnerId")
                        .HasColumnType("TEXT");
                    b.Property("ParentId")
                        .HasColumnType("TEXT");
                    b.Property("ParentIndexNumber")
                        .HasColumnType("INTEGER");
                    b.Property("Path")
                        .HasColumnType("TEXT");
                    b.Property("PreferredMetadataCountryCode")
                        .HasColumnType("TEXT");
                    b.Property("PreferredMetadataLanguage")
                        .HasColumnType("TEXT");
                    b.Property("PremiereDate")
                        .HasColumnType("TEXT");
                    b.Property("PresentationUniqueKey")
                        .HasColumnType("TEXT");
                    b.Property("PrimaryVersionId")
                        .HasColumnType("TEXT");
                    b.Property("ProductionLocations")
                        .HasColumnType("TEXT");
                    b.Property("ProductionYear")
                        .HasColumnType("INTEGER");
                    b.Property("RunTimeTicks")
                        .HasColumnType("INTEGER");
                    b.Property("SeasonId")
                        .HasColumnType("TEXT");
                    b.Property("SeasonName")
                        .HasColumnType("TEXT");
                    b.Property("SeriesId")
                        .HasColumnType("TEXT");
                    b.Property("SeriesName")
                        .HasColumnType("TEXT");
                    b.Property("SeriesPresentationUniqueKey")
                        .HasColumnType("TEXT");
                    b.Property("ShowId")
                        .HasColumnType("TEXT");
                    b.Property("Size")
                        .HasColumnType("INTEGER");
                    b.Property("SortName")
                        .HasColumnType("TEXT");
                    b.Property("StartDate")
                        .HasColumnType("TEXT");
                    b.Property("Studios")
                        .HasColumnType("TEXT");
                    b.Property("Tagline")
                        .HasColumnType("TEXT");
                    b.Property("Tags")
                        .HasColumnType("TEXT");
                    b.Property("TopParentId")
                        .HasColumnType("TEXT");
                    b.Property("TotalBitrate")
                        .HasColumnType("INTEGER");
                    b.Property("Type")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.Property("UnratedType")
                        .HasColumnType("TEXT");
                    b.Property("Width")
                        .HasColumnType("INTEGER");
                    b.HasKey("Id");
                    b.HasIndex("ParentId");
                    b.HasIndex("Path");
                    b.HasIndex("PresentationUniqueKey");
                    b.HasIndex("TopParentId", "Id");
                    b.HasIndex("Type", "TopParentId", "Id");
                    b.HasIndex("Type", "TopParentId", "PresentationUniqueKey");
                    b.HasIndex("Type", "TopParentId", "StartDate");
                    b.HasIndex("Id", "Type", "IsFolder", "IsVirtualItem");
                    b.HasIndex("MediaType", "TopParentId", "IsVirtualItem", "PresentationUniqueKey");
                    b.HasIndex("Type", "SeriesPresentationUniqueKey", "IsFolder", "IsVirtualItem");
                    b.HasIndex("Type", "SeriesPresentationUniqueKey", "PresentationUniqueKey", "SortName");
                    b.HasIndex("IsFolder", "TopParentId", "IsVirtualItem", "PresentationUniqueKey", "DateCreated");
                    b.HasIndex("Type", "TopParentId", "IsVirtualItem", "PresentationUniqueKey", "DateCreated");
                    b.ToTable("BaseItems");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.BaseItemImageInfo", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("TEXT");
                    b.Property("Blurhash")
                        .HasColumnType("BLOB");
                    b.Property("DateModified")
                        .HasColumnType("TEXT");
                    b.Property("Height")
                        .HasColumnType("INTEGER");
                    b.Property("ImageType")
                        .HasColumnType("INTEGER");
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("Path")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.Property("Width")
                        .HasColumnType("INTEGER");
                    b.HasKey("Id");
                    b.HasIndex("ItemId");
                    b.ToTable("BaseItemImageInfos");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.BaseItemMetadataField", b =>
                {
                    b.Property("Id")
                        .HasColumnType("INTEGER");
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.HasKey("Id", "ItemId");
                    b.HasIndex("ItemId");
                    b.ToTable("BaseItemMetadataFields");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.BaseItemProvider", b =>
                {
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("ProviderId")
                        .HasColumnType("TEXT");
                    b.Property("ProviderValue")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.HasKey("ItemId", "ProviderId");
                    b.HasIndex("ProviderId", "ProviderValue", "ItemId");
                    b.ToTable("BaseItemProviders");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.BaseItemTrailerType", b =>
                {
                    b.Property("Id")
                        .HasColumnType("INTEGER");
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.HasKey("Id", "ItemId");
                    b.HasIndex("ItemId");
                    b.ToTable("BaseItemTrailerTypes");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.Chapter", b =>
                {
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("ChapterIndex")
                        .HasColumnType("INTEGER");
                    b.Property("ImageDateModified")
                        .HasColumnType("TEXT");
                    b.Property("ImagePath")
                        .HasColumnType("TEXT");
                    b.Property("Name")
                        .HasColumnType("TEXT");
                    b.Property("StartPositionTicks")
                        .HasColumnType("INTEGER");
                    b.HasKey("ItemId", "ChapterIndex");
                    b.ToTable("Chapters");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.CustomItemDisplayPreferences", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("Client")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("TEXT");
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("Key")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.Property("UserId")
                        .HasColumnType("TEXT");
                    b.Property("Value")
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("UserId", "ItemId", "Client", "Key")
                        .IsUnique();
                    b.ToTable("CustomItemDisplayPreferences");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("ChromecastVersion")
                        .HasColumnType("INTEGER");
                    b.Property("Client")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("TEXT");
                    b.Property("DashboardTheme")
                        .HasMaxLength(32)
                        .HasColumnType("TEXT");
                    b.Property("EnableNextVideoInfoOverlay")
                        .HasColumnType("INTEGER");
                    b.Property("IndexBy")
                        .HasColumnType("INTEGER");
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("ScrollDirection")
                        .HasColumnType("INTEGER");
                    b.Property("ShowBackdrop")
                        .HasColumnType("INTEGER");
                    b.Property("ShowSidebar")
                        .HasColumnType("INTEGER");
                    b.Property("SkipBackwardLength")
                        .HasColumnType("INTEGER");
                    b.Property("SkipForwardLength")
                        .HasColumnType("INTEGER");
                    b.Property("TvHome")
                        .HasMaxLength(32)
                        .HasColumnType("TEXT");
                    b.Property("UserId")
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("UserId", "ItemId", "Client")
                        .IsUnique();
                    b.ToTable("DisplayPreferences");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.HomeSection", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("DisplayPreferencesId")
                        .HasColumnType("INTEGER");
                    b.Property("Order")
                        .HasColumnType("INTEGER");
                    b.Property("Type")
                        .HasColumnType("INTEGER");
                    b.HasKey("Id");
                    b.HasIndex("DisplayPreferencesId");
                    b.ToTable("HomeSection");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.ImageInfo", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("LastModified")
                        .HasColumnType("TEXT");
                    b.Property("Path")
                        .IsRequired()
                        .HasMaxLength(512)
                        .HasColumnType("TEXT");
                    b.Property("UserId")
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("UserId")
                        .IsUnique();
                    b.ToTable("ImageInfos");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.ItemDisplayPreferences", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("Client")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("TEXT");
                    b.Property("IndexBy")
                        .HasColumnType("INTEGER");
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("RememberIndexing")
                        .HasColumnType("INTEGER");
                    b.Property("RememberSorting")
                        .HasColumnType("INTEGER");
                    b.Property("SortBy")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("TEXT");
                    b.Property("SortOrder")
                        .HasColumnType("INTEGER");
                    b.Property("UserId")
                        .HasColumnType("TEXT");
                    b.Property("ViewType")
                        .HasColumnType("INTEGER");
                    b.HasKey("Id");
                    b.HasIndex("UserId");
                    b.ToTable("ItemDisplayPreferences");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.ItemValue", b =>
                {
                    b.Property("ItemValueId")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("TEXT");
                    b.Property("CleanValue")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.Property("Type")
                        .HasColumnType("INTEGER");
                    b.Property("Value")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.HasKey("ItemValueId");
                    b.HasIndex("Type", "CleanValue")
                        .IsUnique();
                    b.ToTable("ItemValues");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.ItemValueMap", b =>
                {
                    b.Property("ItemValueId")
                        .HasColumnType("TEXT");
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.HasKey("ItemValueId", "ItemId");
                    b.HasIndex("ItemId");
                    b.ToTable("ItemValuesMap");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.MediaSegment", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("TEXT");
                    b.Property("EndTicks")
                        .HasColumnType("INTEGER");
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("SegmentProviderId")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.Property("StartTicks")
                        .HasColumnType("INTEGER");
                    b.Property("Type")
                        .HasColumnType("INTEGER");
                    b.HasKey("Id");
                    b.ToTable("MediaSegments");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.MediaStreamInfo", b =>
                {
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("StreamIndex")
                        .HasColumnType("INTEGER");
                    b.Property("AspectRatio")
                        .HasColumnType("TEXT");
                    b.Property("AverageFrameRate")
                        .HasColumnType("REAL");
                    b.Property("BitDepth")
                        .HasColumnType("INTEGER");
                    b.Property("BitRate")
                        .HasColumnType("INTEGER");
                    b.Property("BlPresentFlag")
                        .HasColumnType("INTEGER");
                    b.Property("ChannelLayout")
                        .HasColumnType("TEXT");
                    b.Property("Channels")
                        .HasColumnType("INTEGER");
                    b.Property("Codec")
                        .HasColumnType("TEXT");
                    b.Property("CodecTag")
                        .HasColumnType("TEXT");
                    b.Property("CodecTimeBase")
                        .HasColumnType("TEXT");
                    b.Property("ColorPrimaries")
                        .HasColumnType("TEXT");
                    b.Property("ColorSpace")
                        .HasColumnType("TEXT");
                    b.Property("ColorTransfer")
                        .HasColumnType("TEXT");
                    b.Property("Comment")
                        .HasColumnType("TEXT");
                    b.Property("DvBlSignalCompatibilityId")
                        .HasColumnType("INTEGER");
                    b.Property("DvLevel")
                        .HasColumnType("INTEGER");
                    b.Property("DvProfile")
                        .HasColumnType("INTEGER");
                    b.Property("DvVersionMajor")
                        .HasColumnType("INTEGER");
                    b.Property("DvVersionMinor")
                        .HasColumnType("INTEGER");
                    b.Property("ElPresentFlag")
                        .HasColumnType("INTEGER");
                    b.Property("Height")
                        .HasColumnType("INTEGER");
                    b.Property("IsAnamorphic")
                        .HasColumnType("INTEGER");
                    b.Property("IsAvc")
                        .HasColumnType("INTEGER");
                    b.Property("IsDefault")
                        .HasColumnType("INTEGER");
                    b.Property("IsExternal")
                        .HasColumnType("INTEGER");
                    b.Property("IsForced")
                        .HasColumnType("INTEGER");
                    b.Property("IsHearingImpaired")
                        .HasColumnType("INTEGER");
                    b.Property("IsInterlaced")
                        .HasColumnType("INTEGER");
                    b.Property("KeyFrames")
                        .HasColumnType("TEXT");
                    b.Property("Language")
                        .HasColumnType("TEXT");
                    b.Property("Level")
                        .HasColumnType("REAL");
                    b.Property("NalLengthSize")
                        .HasColumnType("TEXT");
                    b.Property("Path")
                        .HasColumnType("TEXT");
                    b.Property("PixelFormat")
                        .HasColumnType("TEXT");
                    b.Property("Profile")
                        .HasColumnType("TEXT");
                    b.Property("RealFrameRate")
                        .HasColumnType("REAL");
                    b.Property("RefFrames")
                        .HasColumnType("INTEGER");
                    b.Property("Rotation")
                        .HasColumnType("INTEGER");
                    b.Property("RpuPresentFlag")
                        .HasColumnType("INTEGER");
                    b.Property("SampleRate")
                        .HasColumnType("INTEGER");
                    b.Property("StreamType")
                        .HasColumnType("INTEGER");
                    b.Property("TimeBase")
                        .HasColumnType("TEXT");
                    b.Property("Title")
                        .HasColumnType("TEXT");
                    b.Property("Width")
                        .HasColumnType("INTEGER");
                    b.HasKey("ItemId", "StreamIndex");
                    b.HasIndex("StreamIndex");
                    b.HasIndex("StreamType");
                    b.HasIndex("StreamIndex", "StreamType");
                    b.HasIndex("StreamIndex", "StreamType", "Language");
                    b.ToTable("MediaStreamInfos");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.People", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("TEXT");
                    b.Property("Name")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.Property("PersonType")
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("Name");
                    b.ToTable("Peoples");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.PeopleBaseItemMap", b =>
                {
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("PeopleId")
                        .HasColumnType("TEXT");
                    b.Property("ListOrder")
                        .HasColumnType("INTEGER");
                    b.Property("Role")
                        .HasColumnType("TEXT");
                    b.Property("SortOrder")
                        .HasColumnType("INTEGER");
                    b.HasKey("ItemId", "PeopleId");
                    b.HasIndex("PeopleId");
                    b.HasIndex("ItemId", "ListOrder");
                    b.HasIndex("ItemId", "SortOrder");
                    b.ToTable("PeopleBaseItemMap");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("Kind")
                        .HasColumnType("INTEGER");
                    b.Property("Permission_Permissions_Guid")
                        .HasColumnType("TEXT");
                    b.Property("RowVersion")
                        .IsConcurrencyToken()
                        .HasColumnType("INTEGER");
                    b.Property("UserId")
                        .HasColumnType("TEXT");
                    b.Property("Value")
                        .HasColumnType("INTEGER");
                    b.HasKey("Id");
                    b.HasIndex("UserId", "Kind")
                        .IsUnique()
                        .HasFilter("[UserId] IS NOT NULL");
                    b.ToTable("Permissions");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("Kind")
                        .HasColumnType("INTEGER");
                    b.Property("Preference_Preferences_Guid")
                        .HasColumnType("TEXT");
                    b.Property("RowVersion")
                        .IsConcurrencyToken()
                        .HasColumnType("INTEGER");
                    b.Property("UserId")
                        .HasColumnType("TEXT");
                    b.Property("Value")
                        .IsRequired()
                        .HasMaxLength(65535)
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("UserId", "Kind")
                        .IsUnique()
                        .HasFilter("[UserId] IS NOT NULL");
                    b.ToTable("Preferences");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.Security.ApiKey", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("AccessToken")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.Property("DateCreated")
                        .HasColumnType("TEXT");
                    b.Property("DateLastActivity")
                        .HasColumnType("TEXT");
                    b.Property("Name")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("AccessToken")
                        .IsUnique();
                    b.ToTable("ApiKeys");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.Security.Device", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("AccessToken")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.Property("AppName")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("TEXT");
                    b.Property("AppVersion")
                        .IsRequired()
                        .HasMaxLength(32)
                        .HasColumnType("TEXT");
                    b.Property("DateCreated")
                        .HasColumnType("TEXT");
                    b.Property("DateLastActivity")
                        .HasColumnType("TEXT");
                    b.Property("DateModified")
                        .HasColumnType("TEXT");
                    b.Property("DeviceId")
                        .IsRequired()
                        .HasMaxLength(256)
                        .HasColumnType("TEXT");
                    b.Property("DeviceName")
                        .IsRequired()
                        .HasMaxLength(64)
                        .HasColumnType("TEXT");
                    b.Property("IsActive")
                        .HasColumnType("INTEGER");
                    b.Property("UserId")
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("DeviceId");
                    b.HasIndex("AccessToken", "DateLastActivity");
                    b.HasIndex("DeviceId", "DateLastActivity");
                    b.HasIndex("UserId", "DeviceId");
                    b.ToTable("Devices");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.Security.DeviceOptions", b =>
                {
                    b.Property("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("INTEGER");
                    b.Property("CustomName")
                        .HasColumnType("TEXT");
                    b.Property("DeviceId")
                        .IsRequired()
                        .HasColumnType("TEXT");
                    b.HasKey("Id");
                    b.HasIndex("DeviceId")
                        .IsUnique();
                    b.ToTable("DeviceOptions");
                });
            modelBuilder.Entity("Jellyfin.Data.Entities.TrickplayInfo", b =>
                {
                    b.Property("ItemId")
                        .HasColumnType("TEXT");
                    b.Property("Width")
                        .HasColumnType("INTEGER");
                    b.Property("Bandwidth")
                        .HasColumnType("INTEGER");
                    b.Property