// using System; using Jellyfin.Server.Implementations; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace Jellyfin.Server.Implementations.Migrations { [DbContext(typeof(JellyfinDbContext))] [Migration("20230923170422_UserCastReceiver")] partial class UserCastReceiver { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "7.0.11"); 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.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.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.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("AudioLanguagePreference") .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("AuthenticationProviderId") .IsRequired() .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("CastReceiverId") .HasMaxLength(32) .HasColumnType("TEXT"); b.Property("DisplayCollectionsView") .HasColumnType("INTEGER"); b.Property("DisplayMissingEpisodes") .HasColumnType("INTEGER"); b.Property("EnableAutoLogin") .HasColumnType("INTEGER"); b.Property("EnableLocalPassword") .HasColumnType("INTEGER"); b.Property("EnableNextEpisodeAutoPlay") .HasColumnType("INTEGER"); b.Property("EnableUserPreferenceAccess") .HasColumnType("INTEGER"); b.Property("HidePlayedInLatest") .HasColumnType("INTEGER"); b.Property("InternalId") .HasColumnType("INTEGER"); b.Property("InvalidLoginAttemptCount") .HasColumnType("INTEGER"); b.Property("LastActivityDate") .HasColumnType("TEXT"); b.Property("LastLoginDate") .HasColumnType("TEXT"); b.Property("LoginAttemptsBeforeLockout") .HasColumnType("INTEGER"); b.Property("MaxActiveSessions") .HasColumnType("INTEGER"); b.Property("MaxParentalAgeRating") .HasColumnType("INTEGER"); b.Property("MustUpdatePassword") .HasColumnType("INTEGER"); b.Property("Password") .HasMaxLength(65535) .HasColumnType("TEXT"); b.Property("PasswordResetProviderId") .IsRequired() .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("PlayDefaultAudioTrack") .HasColumnType("INTEGER"); b.Property("RememberAudioSelections") .HasColumnType("INTEGER"); b.Property("RememberSubtitleSelections") .HasColumnType("INTEGER"); b.Property("RemoteClientBitrateLimit") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("SubtitleLanguagePreference") .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("SubtitleMode") .HasColumnType("INTEGER"); b.Property("SyncPlayAccess") .HasColumnType("INTEGER"); b.Property("Username") .IsRequired() .HasMaxLength(255) .HasColumnType("TEXT") .UseCollation("NOCASE"); b.HasKey("Id"); b.HasIndex("Username") .IsUnique(); b.ToTable("Users"); }); modelBuilder.Entity("Jellyfin.Data.Entities.AccessSchedule", b => { b.HasOne("Jellyfin.Data.Entities.User", null) .WithMany("AccessSchedules") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b => { b.HasOne("Jellyfin.Data.Entities.User", null) .WithMany("DisplayPreferences") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Jellyfin.Data.Entities.HomeSection", b => { b.HasOne("Jellyfin.Data.Entities.DisplayPreferences", null) .WithMany("HomeSections") .HasForeignKey("DisplayPreferencesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Jellyfin.Data.Entities.ImageInfo", b => { b.HasOne("Jellyfin.Data.Entities.User", null) .WithOne("ProfileImage") .HasForeignKey("Jellyfin.Data.Entities.ImageInfo", "UserId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("Jellyfin.Data.Entities.ItemDisplayPreferences", b => { b.HasOne("Jellyfin.Data.Entities.User", null) .WithMany("ItemDisplayPreferences") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b => { b.HasOne("Jellyfin.Data.Entities.User", null) .WithMany("Permissions") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b => { b.HasOne("Jellyfin.Data.Entities.User", null) .WithMany("Preferences") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("Jellyfin.Data.Entities.Security.Device", b => { b.HasOne("Jellyfin.Data.Entities.User", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b => { b.Navigation("HomeSections"); }); modelBuilder.Entity("Jellyfin.Data.Entities.User", b => { b.Navigation("AccessSchedules"); b.Navigation("DisplayPreferences"); b.Navigation("ItemDisplayPreferences"); b.Navigation("Permissions"); b.Navigation("Preferences"); b.Navigation("ProfileImage"); }); #pragma warning restore 612, 618 } } }