// using System; using System.Collections.Generic; using Kyoo.Models; using Kyoo.Postgresql; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace Kyoo.Postgresql.Migrations { [DbContext(typeof(PostgresContext))] partial class PostgresContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasPostgresEnum(null, "item_type", new[] { "show", "movie", "collection" }) .HasPostgresEnum(null, "status", new[] { "finished", "airing", "planned", "unknown" }) .HasPostgresEnum(null, "stream_type", new[] { "unknown", "video", "audio", "subtitle", "attachment" }) .HasAnnotation("Relational:MaxIdentifierLength", 63) .HasAnnotation("ProductVersion", "5.0.7") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); modelBuilder.Entity("Kyoo.Models.Collection", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("Overview") .HasColumnType("text") .HasColumnName("overview"); b.Property("Poster") .HasColumnType("text") .HasColumnName("poster"); b.Property("Slug") .IsRequired() .HasColumnType("text") .HasColumnName("slug"); b.HasKey("ID") .HasName("pk_collections"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_collections_slug"); b.ToTable("collections"); }); modelBuilder.Entity("Kyoo.Models.Episode", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("AbsoluteNumber") .HasColumnType("integer") .HasColumnName("absolute_number"); b.Property("EpisodeNumber") .HasColumnType("integer") .HasColumnName("episode_number"); b.Property("Overview") .HasColumnType("text") .HasColumnName("overview"); b.Property("Path") .HasColumnType("text") .HasColumnName("path"); b.Property("ReleaseDate") .HasColumnType("timestamp without time zone") .HasColumnName("release_date"); b.Property("SeasonID") .HasColumnType("integer") .HasColumnName("season_id"); b.Property("SeasonNumber") .HasColumnType("integer") .HasColumnName("season_number"); b.Property("ShowID") .HasColumnType("integer") .HasColumnName("show_id"); b.Property("Slug") .ValueGeneratedOnAddOrUpdate() .HasColumnType("text") .HasColumnName("slug"); b.Property("Thumb") .HasColumnType("text") .HasColumnName("thumb"); b.Property("Title") .HasColumnType("text") .HasColumnName("title"); b.HasKey("ID") .HasName("pk_episodes"); b.HasIndex("SeasonID") .HasDatabaseName("ix_episodes_season_id"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_episodes_slug"); b.HasIndex("ShowID", "SeasonNumber", "EpisodeNumber", "AbsoluteNumber") .IsUnique() .HasDatabaseName("ix_episodes_show_id_season_number_episode_number_absolute_numb"); b.ToTable("episodes"); }); modelBuilder.Entity("Kyoo.Models.Genre", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("Slug") .IsRequired() .HasColumnType("text") .HasColumnName("slug"); b.HasKey("ID") .HasName("pk_genres"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_genres_slug"); b.ToTable("genres"); }); modelBuilder.Entity("Kyoo.Models.Library", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("Paths") .HasColumnType("text[]") .HasColumnName("paths"); b.Property("Slug") .IsRequired() .HasColumnType("text") .HasColumnName("slug"); b.HasKey("ID") .HasName("pk_libraries"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_libraries_slug"); b.ToTable("libraries"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.HasKey("FirstID", "SecondID") .HasName("pk_link_collection_show"); b.HasIndex("SecondID") .HasDatabaseName("ix_link_collection_show_second_id"); b.ToTable("link_collection_show"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.HasKey("FirstID", "SecondID") .HasName("pk_link_library_collection"); b.HasIndex("SecondID") .HasDatabaseName("ix_link_library_collection_second_id"); b.ToTable("link_library_collection"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.HasKey("FirstID", "SecondID") .HasName("pk_link_library_provider"); b.HasIndex("SecondID") .HasDatabaseName("ix_link_library_provider_second_id"); b.ToTable("link_library_provider"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.HasKey("FirstID", "SecondID") .HasName("pk_link_library_show"); b.HasIndex("SecondID") .HasDatabaseName("ix_link_library_show_second_id"); b.ToTable("link_library_show"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.HasKey("FirstID", "SecondID") .HasName("pk_link_show_genre"); b.HasIndex("SecondID") .HasDatabaseName("ix_link_show_genre_second_id"); b.ToTable("link_show_genre"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.HasKey("FirstID", "SecondID") .HasName("pk_link_user_show"); b.HasIndex("SecondID") .HasDatabaseName("ix_link_user_show_second_id"); b.ToTable("link_user_show"); }); modelBuilder.Entity("Kyoo.Models.MetadataID", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.Property("DataID") .HasColumnType("text") .HasColumnName("data_id"); b.Property("Link") .HasColumnType("text") .HasColumnName("link"); b.HasKey("FirstID", "SecondID") .HasName("pk_metadata_id_episode"); b.HasIndex("SecondID") .HasDatabaseName("ix_metadata_id_episode_second_id"); b.ToTable("metadata_id_episode"); }); modelBuilder.Entity("Kyoo.Models.MetadataID", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.Property("DataID") .HasColumnType("text") .HasColumnName("data_id"); b.Property("Link") .HasColumnType("text") .HasColumnName("link"); b.HasKey("FirstID", "SecondID") .HasName("pk_metadata_id_people"); b.HasIndex("SecondID") .HasDatabaseName("ix_metadata_id_people_second_id"); b.ToTable("metadata_id_people"); }); modelBuilder.Entity("Kyoo.Models.MetadataID", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.Property("DataID") .HasColumnType("text") .HasColumnName("data_id"); b.Property("Link") .HasColumnType("text") .HasColumnName("link"); b.HasKey("FirstID", "SecondID") .HasName("pk_metadata_id_season"); b.HasIndex("SecondID") .HasDatabaseName("ix_metadata_id_season_second_id"); b.ToTable("metadata_id_season"); }); modelBuilder.Entity("Kyoo.Models.MetadataID", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.Property("DataID") .HasColumnType("text") .HasColumnName("data_id"); b.Property("Link") .HasColumnType("text") .HasColumnName("link"); b.HasKey("FirstID", "SecondID") .HasName("pk_metadata_id_show"); b.HasIndex("SecondID") .HasDatabaseName("ix_metadata_id_show_second_id"); b.ToTable("metadata_id_show"); }); modelBuilder.Entity("Kyoo.Models.People", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("Poster") .HasColumnType("text") .HasColumnName("poster"); b.Property("Slug") .IsRequired() .HasColumnType("text") .HasColumnName("slug"); b.HasKey("ID") .HasName("pk_people"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_people_slug"); b.ToTable("people"); }); modelBuilder.Entity("Kyoo.Models.PeopleRole", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("ForPeople") .HasColumnType("boolean") .HasColumnName("for_people"); b.Property("PeopleID") .HasColumnType("integer") .HasColumnName("people_id"); b.Property("Role") .HasColumnType("text") .HasColumnName("role"); b.Property("ShowID") .HasColumnType("integer") .HasColumnName("show_id"); b.Property("Type") .HasColumnType("text") .HasColumnName("type"); b.HasKey("ID") .HasName("pk_people_roles"); b.HasIndex("PeopleID") .HasDatabaseName("ix_people_roles_people_id"); b.HasIndex("ShowID") .HasDatabaseName("ix_people_roles_show_id"); b.ToTable("people_roles"); }); modelBuilder.Entity("Kyoo.Models.Provider", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Logo") .HasColumnType("text") .HasColumnName("logo"); b.Property("LogoExtension") .HasColumnType("text") .HasColumnName("logo_extension"); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("Slug") .IsRequired() .HasColumnType("text") .HasColumnName("slug"); b.HasKey("ID") .HasName("pk_providers"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_providers_slug"); b.ToTable("providers"); }); modelBuilder.Entity("Kyoo.Models.Season", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("EndDate") .HasColumnType("timestamp without time zone") .HasColumnName("end_date"); b.Property("Overview") .HasColumnType("text") .HasColumnName("overview"); b.Property("Poster") .HasColumnType("text") .HasColumnName("poster"); b.Property("SeasonNumber") .HasColumnType("integer") .HasColumnName("season_number"); b.Property("ShowID") .HasColumnType("integer") .HasColumnName("show_id"); b.Property("Slug") .ValueGeneratedOnAddOrUpdate() .HasColumnType("text") .HasColumnName("slug"); b.Property("StartDate") .HasColumnType("timestamp without time zone") .HasColumnName("start_date"); b.Property("Title") .HasColumnType("text") .HasColumnName("title"); b.HasKey("ID") .HasName("pk_seasons"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_seasons_slug"); b.HasIndex("ShowID", "SeasonNumber") .IsUnique() .HasDatabaseName("ix_seasons_show_id_season_number"); b.ToTable("seasons"); }); modelBuilder.Entity("Kyoo.Models.Show", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Aliases") .HasColumnType("text[]") .HasColumnName("aliases"); b.Property("Backdrop") .HasColumnType("text") .HasColumnName("backdrop"); b.Property("EndAir") .HasColumnType("timestamp without time zone") .HasColumnName("end_air"); b.Property("IsMovie") .HasColumnType("boolean") .HasColumnName("is_movie"); b.Property("Logo") .HasColumnType("text") .HasColumnName("logo"); b.Property("Overview") .HasColumnType("text") .HasColumnName("overview"); b.Property("Path") .HasColumnType("text") .HasColumnName("path"); b.Property("Poster") .HasColumnType("text") .HasColumnName("poster"); b.Property("Slug") .IsRequired() .HasColumnType("text") .HasColumnName("slug"); b.Property("StartAir") .HasColumnType("timestamp without time zone") .HasColumnName("start_air"); b.Property("Status") .HasColumnType("status") .HasColumnName("status"); b.Property("StudioID") .HasColumnType("integer") .HasColumnName("studio_id"); b.Property("Title") .HasColumnType("text") .HasColumnName("title"); b.Property("TrailerUrl") .HasColumnType("text") .HasColumnName("trailer_url"); b.HasKey("ID") .HasName("pk_shows"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_shows_slug"); b.HasIndex("StudioID") .HasDatabaseName("ix_shows_studio_id"); b.ToTable("shows"); }); modelBuilder.Entity("Kyoo.Models.Studio", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Name") .HasColumnType("text") .HasColumnName("name"); b.Property("Slug") .IsRequired() .HasColumnType("text") .HasColumnName("slug"); b.HasKey("ID") .HasName("pk_studios"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_studios_slug"); b.ToTable("studios"); }); modelBuilder.Entity("Kyoo.Models.Track", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Codec") .HasColumnType("text") .HasColumnName("codec"); b.Property("EpisodeID") .HasColumnType("integer") .HasColumnName("episode_id"); b.Property("IsDefault") .HasColumnType("boolean") .HasColumnName("is_default"); b.Property("IsExternal") .HasColumnType("boolean") .HasColumnName("is_external"); b.Property("IsForced") .HasColumnType("boolean") .HasColumnName("is_forced"); b.Property("Language") .HasColumnType("text") .HasColumnName("language"); b.Property("Path") .HasColumnType("text") .HasColumnName("path"); b.Property("Slug") .ValueGeneratedOnAddOrUpdate() .HasColumnType("text") .HasColumnName("slug"); b.Property("Title") .HasColumnType("text") .HasColumnName("title"); b.Property("TrackIndex") .HasColumnType("integer") .HasColumnName("track_index"); b.Property("Type") .HasColumnType("stream_type") .HasColumnName("type"); b.HasKey("ID") .HasName("pk_tracks"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_tracks_slug"); b.HasIndex("EpisodeID", "Type", "Language", "TrackIndex", "IsForced") .IsUnique() .HasDatabaseName("ix_tracks_episode_id_type_language_track_index_is_forced"); b.ToTable("tracks"); }); modelBuilder.Entity("Kyoo.Models.User", b => { b.Property("ID") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasColumnName("id") .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Email") .HasColumnType("text") .HasColumnName("email"); b.Property>("ExtraData") .HasColumnType("jsonb") .HasColumnName("extra_data"); b.Property("Password") .HasColumnType("text") .HasColumnName("password"); b.Property("Permissions") .HasColumnType("text[]") .HasColumnName("permissions"); b.Property("Slug") .IsRequired() .HasColumnType("text") .HasColumnName("slug"); b.Property("Username") .HasColumnType("text") .HasColumnName("username"); b.HasKey("ID") .HasName("pk_users"); b.HasIndex("Slug") .IsUnique() .HasDatabaseName("ix_users_slug"); b.ToTable("users"); }); modelBuilder.Entity("Kyoo.Models.WatchedEpisode", b => { b.Property("FirstID") .HasColumnType("integer") .HasColumnName("first_id"); b.Property("SecondID") .HasColumnType("integer") .HasColumnName("second_id"); b.Property("WatchedPercentage") .HasColumnType("integer") .HasColumnName("watched_percentage"); b.HasKey("FirstID", "SecondID") .HasName("pk_watched_episodes"); b.HasIndex("SecondID") .HasDatabaseName("ix_watched_episodes_second_id"); b.ToTable("watched_episodes"); }); modelBuilder.Entity("Kyoo.Models.Episode", b => { b.HasOne("Kyoo.Models.Season", "Season") .WithMany("Episodes") .HasForeignKey("SeasonID") .HasConstraintName("fk_episodes_seasons_season_id") .OnDelete(DeleteBehavior.Cascade); b.HasOne("Kyoo.Models.Show", "Show") .WithMany("Episodes") .HasForeignKey("ShowID") .HasConstraintName("fk_episodes_shows_show_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Season"); b.Navigation("Show"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.HasOne("Kyoo.Models.Collection", "First") .WithMany("ShowLinks") .HasForeignKey("FirstID") .HasConstraintName("fk_link_collection_show_collections_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Show", "Second") .WithMany("CollectionLinks") .HasForeignKey("SecondID") .HasConstraintName("fk_link_collection_show_shows_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.HasOne("Kyoo.Models.Library", "First") .WithMany("CollectionLinks") .HasForeignKey("FirstID") .HasConstraintName("fk_link_library_collection_libraries_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Collection", "Second") .WithMany("LibraryLinks") .HasForeignKey("SecondID") .HasConstraintName("fk_link_library_collection_collections_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.HasOne("Kyoo.Models.Library", "First") .WithMany("ProviderLinks") .HasForeignKey("FirstID") .HasConstraintName("fk_link_library_provider_libraries_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Provider", "Second") .WithMany("LibraryLinks") .HasForeignKey("SecondID") .HasConstraintName("fk_link_library_provider_providers_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.HasOne("Kyoo.Models.Library", "First") .WithMany("ShowLinks") .HasForeignKey("FirstID") .HasConstraintName("fk_link_library_show_libraries_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Show", "Second") .WithMany("LibraryLinks") .HasForeignKey("SecondID") .HasConstraintName("fk_link_library_show_shows_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.HasOne("Kyoo.Models.Show", "First") .WithMany("GenreLinks") .HasForeignKey("FirstID") .HasConstraintName("fk_link_show_genre_shows_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Genre", "Second") .WithMany("ShowLinks") .HasForeignKey("SecondID") .HasConstraintName("fk_link_show_genre_genres_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.Link", b => { b.HasOne("Kyoo.Models.User", "First") .WithMany("ShowLinks") .HasForeignKey("FirstID") .HasConstraintName("fk_link_user_show_users_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Show", "Second") .WithMany() .HasForeignKey("SecondID") .HasConstraintName("fk_link_user_show_shows_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.MetadataID", b => { b.HasOne("Kyoo.Models.Episode", "First") .WithMany("ExternalIDs") .HasForeignKey("FirstID") .HasConstraintName("fk_metadata_id_episode_episodes_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Provider", "Second") .WithMany() .HasForeignKey("SecondID") .HasConstraintName("fk_metadata_id_episode_providers_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.MetadataID", b => { b.HasOne("Kyoo.Models.People", "First") .WithMany("ExternalIDs") .HasForeignKey("FirstID") .HasConstraintName("fk_metadata_id_people_people_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Provider", "Second") .WithMany() .HasForeignKey("SecondID") .HasConstraintName("fk_metadata_id_people_providers_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.MetadataID", b => { b.HasOne("Kyoo.Models.Season", "First") .WithMany("ExternalIDs") .HasForeignKey("FirstID") .HasConstraintName("fk_metadata_id_season_seasons_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Provider", "Second") .WithMany() .HasForeignKey("SecondID") .HasConstraintName("fk_metadata_id_season_providers_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.MetadataID", b => { b.HasOne("Kyoo.Models.Show", "First") .WithMany("ExternalIDs") .HasForeignKey("FirstID") .HasConstraintName("fk_metadata_id_show_shows_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Provider", "Second") .WithMany() .HasForeignKey("SecondID") .HasConstraintName("fk_metadata_id_show_providers_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.PeopleRole", b => { b.HasOne("Kyoo.Models.People", "People") .WithMany("Roles") .HasForeignKey("PeopleID") .HasConstraintName("fk_people_roles_people_people_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Show", "Show") .WithMany("People") .HasForeignKey("ShowID") .HasConstraintName("fk_people_roles_shows_show_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("People"); b.Navigation("Show"); }); modelBuilder.Entity("Kyoo.Models.Season", b => { b.HasOne("Kyoo.Models.Show", "Show") .WithMany("Seasons") .HasForeignKey("ShowID") .HasConstraintName("fk_seasons_shows_show_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Show"); }); modelBuilder.Entity("Kyoo.Models.Show", b => { b.HasOne("Kyoo.Models.Studio", "Studio") .WithMany("Shows") .HasForeignKey("StudioID") .HasConstraintName("fk_shows_studios_studio_id"); b.Navigation("Studio"); }); modelBuilder.Entity("Kyoo.Models.Track", b => { b.HasOne("Kyoo.Models.Episode", "Episode") .WithMany("Tracks") .HasForeignKey("EpisodeID") .HasConstraintName("fk_tracks_episodes_episode_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Episode"); }); modelBuilder.Entity("Kyoo.Models.WatchedEpisode", b => { b.HasOne("Kyoo.Models.User", "First") .WithMany("CurrentlyWatching") .HasForeignKey("FirstID") .HasConstraintName("fk_watched_episodes_users_first_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Kyoo.Models.Episode", "Second") .WithMany() .HasForeignKey("SecondID") .HasConstraintName("fk_watched_episodes_episodes_second_id") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("First"); b.Navigation("Second"); }); modelBuilder.Entity("Kyoo.Models.Collection", b => { b.Navigation("LibraryLinks"); b.Navigation("ShowLinks"); }); modelBuilder.Entity("Kyoo.Models.Episode", b => { b.Navigation("ExternalIDs"); b.Navigation("Tracks"); }); modelBuilder.Entity("Kyoo.Models.Genre", b => { b.Navigation("ShowLinks"); }); modelBuilder.Entity("Kyoo.Models.Library", b => { b.Navigation("CollectionLinks"); b.Navigation("ProviderLinks"); b.Navigation("ShowLinks"); }); modelBuilder.Entity("Kyoo.Models.People", b => { b.Navigation("ExternalIDs"); b.Navigation("Roles"); }); modelBuilder.Entity("Kyoo.Models.Provider", b => { b.Navigation("LibraryLinks"); }); modelBuilder.Entity("Kyoo.Models.Season", b => { b.Navigation("Episodes"); b.Navigation("ExternalIDs"); }); modelBuilder.Entity("Kyoo.Models.Show", b => { b.Navigation("CollectionLinks"); b.Navigation("Episodes"); b.Navigation("ExternalIDs"); b.Navigation("GenreLinks"); b.Navigation("LibraryLinks"); b.Navigation("People"); b.Navigation("Seasons"); }); modelBuilder.Entity("Kyoo.Models.Studio", b => { b.Navigation("Shows"); }); modelBuilder.Entity("Kyoo.Models.User", b => { b.Navigation("CurrentlyWatching"); b.Navigation("ShowLinks"); }); #pragma warning restore 612, 618 } } }