// using API.Schema.MangaContext; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace API.Migrations.Manga { [DbContext(typeof(MangaContext))] partial class MangaContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("API.Schema.MangaContext.Author", b => { b.Property("Key") .HasColumnType("text"); b.Property("AuthorName") .IsRequired() .HasMaxLength(128) .HasColumnType("character varying(128)"); b.HasKey("Key"); b.ToTable("Authors"); }); modelBuilder.Entity("API.Schema.MangaContext.Chapter", b => { b.Property("Key") .HasColumnType("text"); b.Property("ChapterNumber") .IsRequired() .HasMaxLength(10) .HasColumnType("character varying(10)"); b.Property("Downloaded") .HasColumnType("boolean"); b.Property("FileName") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("ParentMangaId") .IsRequired() .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("Title") .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("VolumeNumber") .HasColumnType("integer"); b.HasKey("Key"); b.HasIndex("ParentMangaId"); b.ToTable("Chapters"); }); modelBuilder.Entity("API.Schema.MangaContext.FileLibrary", b => { b.Property("Key") .HasColumnType("text"); b.Property("BasePath") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("LibraryName") .IsRequired() .HasMaxLength(512) .HasColumnType("character varying(512)"); b.HasKey("Key"); b.ToTable("FileLibraries"); }); modelBuilder.Entity("API.Schema.MangaContext.Manga", b => { b.Property("Key") .HasColumnType("text"); b.Property("CoverFileNameInCache") .HasMaxLength(512) .HasColumnType("character varying(512)"); b.Property("CoverUrl") .IsRequired() .HasMaxLength(512) .HasColumnType("character varying(512)"); b.Property("Description") .IsRequired() .HasColumnType("text"); b.Property("DirectoryName") .IsRequired() .HasMaxLength(1024) .HasColumnType("character varying(1024)"); b.Property("IgnoreChaptersBefore") .HasColumnType("real"); b.Property("LibraryId") .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("Name") .IsRequired() .HasMaxLength(512) .HasColumnType("character varying(512)"); b.Property("OriginalLanguage") .HasMaxLength(8) .HasColumnType("character varying(8)"); b.Property("ReleaseStatus") .HasColumnType("smallint"); b.Property("Year") .HasColumnType("bigint"); b.HasKey("Key"); b.HasIndex("LibraryId"); b.ToTable("Mangas"); }); modelBuilder.Entity("API.Schema.MangaContext.MangaConnectorId", b => { b.Property("Key") .HasColumnType("text"); b.Property("IdOnConnectorSite") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("MangaConnectorName") .IsRequired() .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("ObjId") .IsRequired() .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("UseForDownload") .HasColumnType("boolean"); b.Property("WebsiteUrl") .HasMaxLength(512) .HasColumnType("character varying(512)"); b.HasKey("Key"); b.HasIndex("MangaConnectorName"); b.HasIndex("ObjId"); b.ToTable("MangaConnectorToChapter"); }); modelBuilder.Entity("API.Schema.MangaContext.MangaConnectorId", b => { b.Property("Key") .HasColumnType("text"); b.Property("IdOnConnectorSite") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)"); b.Property("MangaConnectorName") .IsRequired() .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("ObjId") .IsRequired() .HasMaxLength(64) .HasColumnType("character varying(64)"); b.Property("UseForDownload") .HasColumnType("boolean"); b.Property("WebsiteUrl") .HasMaxLength(512) .HasColumnType("character varying(512)"); b.HasKey("Key"); b.HasIndex("MangaConnectorName"); b.HasIndex("ObjId"); b.ToTable("MangaConnectorToManga"); }); modelBuilder.Entity("API.Schema.MangaContext.MangaConnectors.MangaConnector", b => { b.Property("Name") .HasMaxLength(32) .HasColumnType("character varying(32)"); b.PrimitiveCollection("BaseUris") .IsRequired() .HasMaxLength(256) .HasColumnType("text[]"); b.Property("Enabled") .HasColumnType("boolean"); b.Property("IconUrl") .IsRequired() .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b.PrimitiveCollection("SupportedLanguages") .IsRequired() .HasMaxLength(8) .HasColumnType("text[]"); b.HasKey("Name"); b.ToTable("MangaConnectors"); b.HasDiscriminator("Name").HasValue("MangaConnector"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("API.Schema.MangaContext.MangaTag", b => { b.Property("Tag") .HasMaxLength(64) .HasColumnType("character varying(64)"); b.HasKey("Tag"); b.ToTable("Tags"); }); modelBuilder.Entity("API.Schema.MangaContext.MetadataFetchers.MetadataEntry", b => { b.Property("MetadataFetcherName") .HasColumnType("text"); b.Property("Identifier") .HasColumnType("text"); b.Property("MangaId") .IsRequired() .HasColumnType("text"); b.HasKey("MetadataFetcherName", "Identifier"); b.HasIndex("MangaId"); b.ToTable("MetadataEntries"); }); modelBuilder.Entity("API.Schema.MangaContext.MetadataFetchers.MetadataFetcher", b => { b.Property("Name") .HasColumnType("text"); b.Property("MetadataEntry") .IsRequired() .HasMaxLength(21) .HasColumnType("character varying(21)"); b.HasKey("Name"); b.ToTable("MetadataFetcher"); b.HasDiscriminator("MetadataEntry").HasValue("MetadataFetcher"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("AuthorToManga", b => { b.Property("AuthorIds") .HasColumnType("text"); b.Property("MangaIds") .HasColumnType("text"); b.HasKey("AuthorIds", "MangaIds"); b.HasIndex("MangaIds"); b.ToTable("AuthorToManga"); }); modelBuilder.Entity("MangaTagToManga", b => { b.Property("MangaTagIds") .HasColumnType("character varying(64)"); b.Property("MangaIds") .HasColumnType("text"); b.HasKey("MangaTagIds", "MangaIds"); b.HasIndex("MangaIds"); b.ToTable("MangaTagToManga"); }); modelBuilder.Entity("API.Schema.MangaContext.MangaConnectors.ComickIo", b => { b.HasBaseType("API.Schema.MangaContext.MangaConnectors.MangaConnector"); b.HasDiscriminator().HasValue("ComickIo"); }); modelBuilder.Entity("API.Schema.MangaContext.MangaConnectors.Global", b => { b.HasBaseType("API.Schema.MangaContext.MangaConnectors.MangaConnector"); b.HasDiscriminator().HasValue("Global"); }); modelBuilder.Entity("API.Schema.MangaContext.MangaConnectors.MangaDex", b => { b.HasBaseType("API.Schema.MangaContext.MangaConnectors.MangaConnector"); b.HasDiscriminator().HasValue("MangaDex"); }); modelBuilder.Entity("API.Schema.MangaContext.MetadataFetchers.MyAnimeList", b => { b.HasBaseType("API.Schema.MangaContext.MetadataFetchers.MetadataFetcher"); b.HasDiscriminator().HasValue("MyAnimeList"); }); modelBuilder.Entity("API.Schema.MangaContext.Chapter", b => { b.HasOne("API.Schema.MangaContext.Manga", "ParentManga") .WithMany("Chapters") .HasForeignKey("ParentMangaId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("ParentManga"); }); modelBuilder.Entity("API.Schema.MangaContext.Manga", b => { b.HasOne("API.Schema.MangaContext.FileLibrary", "Library") .WithMany() .HasForeignKey("LibraryId") .OnDelete(DeleteBehavior.SetNull); b.OwnsMany("API.Schema.MangaContext.AltTitle", "AltTitles", b1 => { b1.Property("Key") .HasColumnType("text"); b1.Property("Language") .IsRequired() .HasMaxLength(8) .HasColumnType("character varying(8)"); b1.Property("MangaKey") .IsRequired() .HasColumnType("text"); b1.Property("Title") .IsRequired() .HasMaxLength(256) .HasColumnType("character varying(256)"); b1.HasKey("Key"); b1.HasIndex("MangaKey"); b1.ToTable("AltTitle"); b1.WithOwner() .HasForeignKey("MangaKey"); }); b.OwnsMany("API.Schema.MangaContext.Link", "Links", b1 => { b1.Property("Key") .HasColumnType("text"); b1.Property("LinkProvider") .IsRequired() .HasMaxLength(64) .HasColumnType("character varying(64)"); b1.Property("LinkUrl") .IsRequired() .HasMaxLength(2048) .HasColumnType("character varying(2048)"); b1.Property("MangaKey") .IsRequired() .HasColumnType("text"); b1.HasKey("Key"); b1.HasIndex("MangaKey"); b1.ToTable("Link"); b1.WithOwner() .HasForeignKey("MangaKey"); }); b.Navigation("AltTitles"); b.Navigation("Library"); b.Navigation("Links"); }); modelBuilder.Entity("API.Schema.MangaContext.MangaConnectorId", b => { b.HasOne("API.Schema.MangaContext.MangaConnectors.MangaConnector", "MangaConnector") .WithMany() .HasForeignKey("MangaConnectorName") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Schema.MangaContext.Chapter", "Obj") .WithMany("MangaConnectorIds") .HasForeignKey("ObjId") .OnDelete(DeleteBehavior.NoAction) .IsRequired(); b.Navigation("MangaConnector"); b.Navigation("Obj"); }); modelBuilder.Entity("API.Schema.MangaContext.MangaConnectorId", b => { b.HasOne("API.Schema.MangaContext.MangaConnectors.MangaConnector", "MangaConnector") .WithMany() .HasForeignKey("MangaConnectorName") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Schema.MangaContext.Manga", "Obj") .WithMany("MangaConnectorIds") .HasForeignKey("ObjId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("MangaConnector"); b.Navigation("Obj"); }); modelBuilder.Entity("API.Schema.MangaContext.MetadataFetchers.MetadataEntry", b => { b.HasOne("API.Schema.MangaContext.Manga", "Manga") .WithMany() .HasForeignKey("MangaId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Schema.MangaContext.MetadataFetchers.MetadataFetcher", "MetadataFetcher") .WithMany() .HasForeignKey("MetadataFetcherName") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Manga"); b.Navigation("MetadataFetcher"); }); modelBuilder.Entity("AuthorToManga", b => { b.HasOne("API.Schema.MangaContext.Author", null) .WithMany() .HasForeignKey("AuthorIds") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Schema.MangaContext.Manga", null) .WithMany() .HasForeignKey("MangaIds") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("MangaTagToManga", b => { b.HasOne("API.Schema.MangaContext.Manga", null) .WithMany() .HasForeignKey("MangaIds") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Schema.MangaContext.MangaTag", null) .WithMany() .HasForeignKey("MangaTagIds") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("API.Schema.MangaContext.Chapter", b => { b.Navigation("MangaConnectorIds"); }); modelBuilder.Entity("API.Schema.MangaContext.Manga", b => { b.Navigation("Chapters"); b.Navigation("MangaConnectorIds"); }); #pragma warning restore 612, 618 } } }