// using System; using API.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace API.Data.Migrations { [DbContext(typeof(DataContext))] [Migration("20220615190640_LastFileAnalysis")] partial class LastFileAnalysis { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "6.0.5"); modelBuilder.Entity("API.Entities.AppRole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("TEXT"); b.Property("Name") .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("NormalizedName") .HasMaxLength(256) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("NormalizedName") .IsUnique() .HasDatabaseName("RoleNameIndex"); b.ToTable("AspNetRoles", (string)null); }); modelBuilder.Entity("API.Entities.AppUser", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AccessFailedCount") .HasColumnType("INTEGER"); b.Property("ApiKey") .HasColumnType("TEXT"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("TEXT"); b.Property("Created") .HasColumnType("TEXT"); b.Property("Email") .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("EmailConfirmed") .HasColumnType("INTEGER"); b.Property("LastActive") .HasColumnType("TEXT"); b.Property("LockoutEnabled") .HasColumnType("INTEGER"); b.Property("LockoutEnd") .HasColumnType("TEXT"); b.Property("NormalizedEmail") .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("NormalizedUserName") .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("PasswordHash") .HasColumnType("TEXT"); b.Property("PhoneNumber") .HasColumnType("TEXT"); b.Property("PhoneNumberConfirmed") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("SecurityStamp") .HasColumnType("TEXT"); b.Property("TwoFactorEnabled") .HasColumnType("INTEGER"); b.Property("UserName") .HasMaxLength(256) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("NormalizedEmail") .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() .HasDatabaseName("UserNameIndex"); b.ToTable("AspNetUsers", (string)null); }); modelBuilder.Entity("API.Entities.AppUserBookmark", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AppUserId") .HasColumnType("INTEGER"); b.Property("ChapterId") .HasColumnType("INTEGER"); b.Property("FileName") .HasColumnType("TEXT"); b.Property("Page") .HasColumnType("INTEGER"); b.Property("SeriesId") .HasColumnType("INTEGER"); b.Property("VolumeId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("AppUserId"); b.ToTable("AppUserBookmark"); }); modelBuilder.Entity("API.Entities.AppUserPreferences", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AppUserId") .HasColumnType("INTEGER"); b.Property("AutoCloseMenu") .HasColumnType("INTEGER"); b.Property("BackgroundColor") .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValue("#000000"); b.Property("BookReaderFontFamily") .HasColumnType("TEXT"); b.Property("BookReaderFontSize") .HasColumnType("INTEGER"); b.Property("BookReaderImmersiveMode") .HasColumnType("INTEGER"); b.Property("BookReaderLayoutMode") .HasColumnType("INTEGER"); b.Property("BookReaderLineSpacing") .HasColumnType("INTEGER"); b.Property("BookReaderMargin") .HasColumnType("INTEGER"); b.Property("BookReaderReadingDirection") .HasColumnType("INTEGER"); b.Property("BookReaderTapToPaginate") .HasColumnType("INTEGER"); b.Property("BookThemeName") .ValueGeneratedOnAdd() .HasColumnType("TEXT") .HasDefaultValue("Dark"); b.Property("GlobalPageLayoutMode") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") .HasDefaultValue(0); b.Property("LayoutMode") .HasColumnType("INTEGER"); b.Property("PageSplitOption") .HasColumnType("INTEGER"); b.Property("ReaderMode") .HasColumnType("INTEGER"); b.Property("ReadingDirection") .HasColumnType("INTEGER"); b.Property("ScalingOption") .HasColumnType("INTEGER"); b.Property("ShowScreenHints") .HasColumnType("INTEGER"); b.Property("ThemeId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("AppUserId") .IsUnique(); b.HasIndex("ThemeId"); b.ToTable("AppUserPreferences"); }); modelBuilder.Entity("API.Entities.AppUserProgress", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AppUserId") .HasColumnType("INTEGER"); b.Property("BookScrollId") .HasColumnType("TEXT"); b.Property("ChapterId") .HasColumnType("INTEGER"); b.Property("Created") .HasColumnType("TEXT"); b.Property("LastModified") .HasColumnType("TEXT"); b.Property("PagesRead") .HasColumnType("INTEGER"); b.Property("SeriesId") .HasColumnType("INTEGER"); b.Property("VolumeId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("AppUserId"); b.HasIndex("SeriesId"); b.ToTable("AppUserProgresses"); }); modelBuilder.Entity("API.Entities.AppUserRating", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AppUserId") .HasColumnType("INTEGER"); b.Property("Rating") .HasColumnType("INTEGER"); b.Property("Review") .HasColumnType("TEXT"); b.Property("SeriesId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("AppUserId"); b.HasIndex("SeriesId"); b.ToTable("AppUserRating"); }); modelBuilder.Entity("API.Entities.AppUserRole", b => { b.Property("UserId") .HasColumnType("INTEGER"); b.Property("RoleId") .HasColumnType("INTEGER"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("AspNetUserRoles", (string)null); }); modelBuilder.Entity("API.Entities.Chapter", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AgeRating") .HasColumnType("INTEGER"); b.Property("AvgHoursToRead") .HasColumnType("INTEGER"); b.Property("Count") .HasColumnType("INTEGER"); b.Property("CoverImage") .HasColumnType("TEXT"); b.Property("CoverImageLocked") .HasColumnType("INTEGER"); b.Property("Created") .HasColumnType("TEXT"); b.Property("IsSpecial") .HasColumnType("INTEGER"); b.Property("Language") .HasColumnType("TEXT"); b.Property("LastModified") .HasColumnType("TEXT"); b.Property("MaxHoursToRead") .HasColumnType("INTEGER"); b.Property("MinHoursToRead") .HasColumnType("INTEGER"); b.Property("Number") .HasColumnType("TEXT"); b.Property("Pages") .HasColumnType("INTEGER"); b.Property("Range") .HasColumnType("TEXT"); b.Property("ReleaseDate") .HasColumnType("TEXT"); b.Property("Summary") .HasColumnType("TEXT"); b.Property("Title") .HasColumnType("TEXT"); b.Property("TitleName") .HasColumnType("TEXT"); b.Property("TotalCount") .HasColumnType("INTEGER"); b.Property("VolumeId") .HasColumnType("INTEGER"); b.Property("WordCount") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("VolumeId"); b.ToTable("Chapter"); }); modelBuilder.Entity("API.Entities.CollectionTag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CoverImage") .HasColumnType("TEXT"); b.Property("CoverImageLocked") .HasColumnType("INTEGER"); b.Property("NormalizedTitle") .HasColumnType("TEXT"); b.Property("Promoted") .HasColumnType("INTEGER"); b.Property("RowVersion") .HasColumnType("INTEGER"); b.Property("Summary") .HasColumnType("TEXT"); b.Property("Title") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("Id", "Promoted") .IsUnique(); b.ToTable("CollectionTag"); }); modelBuilder.Entity("API.Entities.FolderPath", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("LastScanned") .HasColumnType("TEXT"); b.Property("LibraryId") .HasColumnType("INTEGER"); b.Property("Path") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("LibraryId"); b.ToTable("FolderPath"); }); modelBuilder.Entity("API.Entities.Genre", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ExternalTag") .HasColumnType("INTEGER"); b.Property("NormalizedTitle") .HasColumnType("TEXT"); b.Property("Title") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("NormalizedTitle", "ExternalTag") .IsUnique(); b.ToTable("Genre"); }); modelBuilder.Entity("API.Entities.Library", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("CoverImage") .HasColumnType("TEXT"); b.Property("Created") .HasColumnType("TEXT"); b.Property("LastModified") .HasColumnType("TEXT"); b.Property("LastScanned") .HasColumnType("TEXT"); b.Property("Name") .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.HasKey("Id"); b.ToTable("Library"); }); modelBuilder.Entity("API.Entities.MangaFile", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ChapterId") .HasColumnType("INTEGER"); b.Property("FilePath") .HasColumnType("TEXT"); b.Property("Format") .HasColumnType("INTEGER"); b.Property("LastFileAnalysis") .HasColumnType("TEXT"); b.Property("LastModified") .HasColumnType("TEXT"); b.Property("Pages") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("ChapterId"); b.ToTable("MangaFile"); }); modelBuilder.Entity("API.Entities.Metadata.SeriesMetadata", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AgeRating") .HasColumnType("INTEGER"); b.Property("AgeRatingLocked") .HasColumnType("INTEGER"); b.Property("CharacterLocked") .HasColumnType("INTEGER"); b.Property("ColoristLocked") .HasColumnType("INTEGER"); b.Property("CoverArtistLocked") .HasColumnType("INTEGER"); b.Property("EditorLocked") .HasColumnType("INTEGER"); b.Property("GenresLocked") .HasColumnType("INTEGER"); b.Property("InkerLocked") .HasColumnType("INTEGER"); b.Property("Language") .HasColumnType("TEXT"); b.Property("LanguageLocked") .HasColumnType("INTEGER"); b.Property("LettererLocked") .HasColumnType("INTEGER"); b.Property("MaxCount") .HasColumnType("INTEGER"); b.Property("PencillerLocked") .HasColumnType("INTEGER"); b.Property("PublicationStatus") .HasColumnType("INTEGER"); b.Property("PublicationStatusLocked") .HasColumnType("INTEGER"); b.Property("PublisherLocked") .HasColumnType("INTEGER"); b.Property("ReleaseYear") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("SeriesId") .HasColumnType("INTEGER"); b.Property("Summary") .HasColumnType("TEXT"); b.Property("SummaryLocked") .HasColumnType("INTEGER"); b.Property("TagsLocked") .HasColumnType("INTEGER"); b.Property("TotalCount") .HasColumnType("INTEGER"); b.Property("TranslatorLocked") .HasColumnType("INTEGER"); b.Property("WriterLocked") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("SeriesId") .IsUnique(); b.HasIndex("Id", "SeriesId") .IsUnique(); b.ToTable("SeriesMetadata"); }); modelBuilder.Entity("API.Entities.Metadata.SeriesRelation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("RelationKind") .HasColumnType("INTEGER"); b.Property("SeriesId") .HasColumnType("INTEGER"); b.Property("TargetSeriesId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("SeriesId"); b.HasIndex("TargetSeriesId"); b.ToTable("SeriesRelation"); }); modelBuilder.Entity("API.Entities.Person", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Name") .HasColumnType("TEXT"); b.Property("NormalizedName") .HasColumnType("TEXT"); b.Property("Role") .HasColumnType("INTEGER"); b.HasKey("Id"); b.ToTable("Person"); }); modelBuilder.Entity("API.Entities.ReadingList", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AppUserId") .HasColumnType("INTEGER"); b.Property("CoverImage") .HasColumnType("TEXT"); b.Property("CoverImageLocked") .HasColumnType("INTEGER"); b.Property("Created") .HasColumnType("TEXT"); b.Property("LastModified") .HasColumnType("TEXT"); b.Property("NormalizedTitle") .HasColumnType("TEXT"); b.Property("Promoted") .HasColumnType("INTEGER"); b.Property("Summary") .HasColumnType("TEXT"); b.Property("Title") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("AppUserId"); b.ToTable("ReadingList"); }); modelBuilder.Entity("API.Entities.ReadingListItem", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ChapterId") .HasColumnType("INTEGER"); b.Property("Order") .HasColumnType("INTEGER"); b.Property("ReadingListId") .HasColumnType("INTEGER"); b.Property("SeriesId") .HasColumnType("INTEGER"); b.Property("VolumeId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("ChapterId"); b.HasIndex("ReadingListId"); b.HasIndex("SeriesId"); b.HasIndex("VolumeId"); b.ToTable("ReadingListItem"); }); modelBuilder.Entity("API.Entities.Series", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AvgHoursToRead") .HasColumnType("INTEGER"); b.Property("CoverImage") .HasColumnType("TEXT"); b.Property("CoverImageLocked") .HasColumnType("INTEGER"); b.Property("Created") .HasColumnType("TEXT"); b.Property("Format") .HasColumnType("INTEGER"); b.Property("LastChapterAdded") .HasColumnType("TEXT"); b.Property("LastModified") .HasColumnType("TEXT"); b.Property("LibraryId") .HasColumnType("INTEGER"); b.Property("LocalizedName") .HasColumnType("TEXT"); b.Property("LocalizedNameLocked") .HasColumnType("INTEGER"); b.Property("MaxHoursToRead") .HasColumnType("INTEGER"); b.Property("MinHoursToRead") .HasColumnType("INTEGER"); b.Property("Name") .HasColumnType("TEXT"); b.Property("NameLocked") .HasColumnType("INTEGER"); b.Property("NormalizedName") .HasColumnType("TEXT"); b.Property("OriginalName") .HasColumnType("TEXT"); b.Property("Pages") .HasColumnType("INTEGER"); b.Property("SortName") .HasColumnType("TEXT"); b.Property("SortNameLocked") .HasColumnType("INTEGER"); b.Property("WordCount") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("LibraryId"); b.ToTable("Series"); }); modelBuilder.Entity("API.Entities.ServerSetting", b => { b.Property("Key") .HasColumnType("INTEGER"); b.Property("RowVersion") .IsConcurrencyToken() .HasColumnType("INTEGER"); b.Property("Value") .HasColumnType("TEXT"); b.HasKey("Key"); b.ToTable("ServerSetting"); }); modelBuilder.Entity("API.Entities.SiteTheme", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("Created") .HasColumnType("TEXT"); b.Property("FileName") .HasColumnType("TEXT"); b.Property("IsDefault") .HasColumnType("INTEGER"); b.Property("LastModified") .HasColumnType("TEXT"); b.Property("Name") .HasColumnType("TEXT"); b.Property("NormalizedName") .HasColumnType("TEXT"); b.Property("Provider") .HasColumnType("INTEGER"); b.HasKey("Id"); b.ToTable("SiteTheme"); }); modelBuilder.Entity("API.Entities.Tag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ExternalTag") .HasColumnType("INTEGER"); b.Property("NormalizedTitle") .HasColumnType("TEXT"); b.Property("Title") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("NormalizedTitle", "ExternalTag") .IsUnique(); b.ToTable("Tag"); }); modelBuilder.Entity("API.Entities.Volume", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("AvgHoursToRead") .HasColumnType("INTEGER"); b.Property("CoverImage") .HasColumnType("TEXT"); b.Property("Created") .HasColumnType("TEXT"); b.Property("LastModified") .HasColumnType("TEXT"); b.Property("MaxHoursToRead") .HasColumnType("INTEGER"); b.Property("MinHoursToRead") .HasColumnType("INTEGER"); b.Property("Name") .HasColumnType("TEXT"); b.Property("Number") .HasColumnType("INTEGER"); b.Property("Pages") .HasColumnType("INTEGER"); b.Property("SeriesId") .HasColumnType("INTEGER"); b.Property("WordCount") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("SeriesId"); b.ToTable("Volume"); }); modelBuilder.Entity("AppUserLibrary", b => { b.Property("AppUsersId") .HasColumnType("INTEGER"); b.Property("LibrariesId") .HasColumnType("INTEGER"); b.HasKey("AppUsersId", "LibrariesId"); b.HasIndex("LibrariesId"); b.ToTable("AppUserLibrary"); }); modelBuilder.Entity("ChapterGenre", b => { b.Property("ChaptersId") .HasColumnType("INTEGER"); b.Property("GenresId") .HasColumnType("INTEGER"); b.HasKey("ChaptersId", "GenresId"); b.HasIndex("GenresId"); b.ToTable("ChapterGenre"); }); modelBuilder.Entity("ChapterPerson", b => { b.Property("ChapterMetadatasId") .HasColumnType("INTEGER"); b.Property("PeopleId") .HasColumnType("INTEGER"); b.HasKey("ChapterMetadatasId", "PeopleId"); b.HasIndex("PeopleId"); b.ToTable("ChapterPerson"); }); modelBuilder.Entity("ChapterTag", b => { b.Property("ChaptersId") .HasColumnType("INTEGER"); b.Property("TagsId") .HasColumnType("INTEGER"); b.HasKey("ChaptersId", "TagsId"); b.HasIndex("TagsId"); b.ToTable("ChapterTag"); }); modelBuilder.Entity("CollectionTagSeriesMetadata", b => { b.Property("CollectionTagsId") .HasColumnType("INTEGER"); b.Property("SeriesMetadatasId") .HasColumnType("INTEGER"); b.HasKey("CollectionTagsId", "SeriesMetadatasId"); b.HasIndex("SeriesMetadatasId"); b.ToTable("CollectionTagSeriesMetadata"); }); modelBuilder.Entity("GenreSeriesMetadata", b => { b.Property("GenresId") .HasColumnType("INTEGER"); b.Property("SeriesMetadatasId") .HasColumnType("INTEGER"); b.HasKey("GenresId", "SeriesMetadatasId"); b.HasIndex("SeriesMetadatasId"); b.ToTable("GenreSeriesMetadata"); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ClaimType") .HasColumnType("TEXT"); b.Property("ClaimValue") .HasColumnType("TEXT"); b.Property("RoleId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("AspNetRoleClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("INTEGER"); b.Property("ClaimType") .HasColumnType("TEXT"); b.Property("ClaimValue") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("INTEGER"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("AspNetUserClaims", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.Property("LoginProvider") .HasColumnType("TEXT"); b.Property("ProviderKey") .HasColumnType("TEXT"); b.Property("ProviderDisplayName") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("INTEGER"); b.HasKey("LoginProvider", "ProviderKey"); b.HasIndex("UserId"); b.ToTable("AspNetUserLogins", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.Property("UserId") .HasColumnType("INTEGER"); b.Property("LoginProvider") .HasColumnType("TEXT"); b.Property("Name") .HasColumnType("TEXT"); b.Property("Value") .HasColumnType("TEXT"); b.HasKey("UserId", "LoginProvider", "Name"); b.ToTable("AspNetUserTokens", (string)null); }); modelBuilder.Entity("PersonSeriesMetadata", b => { b.Property("PeopleId") .HasColumnType("INTEGER"); b.Property("SeriesMetadatasId") .HasColumnType("INTEGER"); b.HasKey("PeopleId", "SeriesMetadatasId"); b.HasIndex("SeriesMetadatasId"); b.ToTable("PersonSeriesMetadata"); }); modelBuilder.Entity("SeriesMetadataTag", b => { b.Property("SeriesMetadatasId") .HasColumnType("INTEGER"); b.Property("TagsId") .HasColumnType("INTEGER"); b.HasKey("SeriesMetadatasId", "TagsId"); b.HasIndex("TagsId"); b.ToTable("SeriesMetadataTag"); }); modelBuilder.Entity("API.Entities.AppUserBookmark", b => { b.HasOne("API.Entities.AppUser", "AppUser") .WithMany("Bookmarks") .HasForeignKey("AppUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AppUser"); }); modelBuilder.Entity("API.Entities.AppUserPreferences", b => { b.HasOne("API.Entities.AppUser", "AppUser") .WithOne("UserPreferences") .HasForeignKey("API.Entities.AppUserPreferences", "AppUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.SiteTheme", "Theme") .WithMany() .HasForeignKey("ThemeId"); b.Navigation("AppUser"); b.Navigation("Theme"); }); modelBuilder.Entity("API.Entities.AppUserProgress", b => { b.HasOne("API.Entities.AppUser", "AppUser") .WithMany("Progresses") .HasForeignKey("AppUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Series", null) .WithMany("Progress") .HasForeignKey("SeriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AppUser"); }); modelBuilder.Entity("API.Entities.AppUserRating", b => { b.HasOne("API.Entities.AppUser", "AppUser") .WithMany("Ratings") .HasForeignKey("AppUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Series", null) .WithMany("Ratings") .HasForeignKey("SeriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AppUser"); }); modelBuilder.Entity("API.Entities.AppUserRole", b => { b.HasOne("API.Entities.AppRole", "Role") .WithMany("UserRoles") .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.AppUser", "User") .WithMany("UserRoles") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Role"); b.Navigation("User"); }); modelBuilder.Entity("API.Entities.Chapter", b => { b.HasOne("API.Entities.Volume", "Volume") .WithMany("Chapters") .HasForeignKey("VolumeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Volume"); }); modelBuilder.Entity("API.Entities.FolderPath", b => { b.HasOne("API.Entities.Library", "Library") .WithMany("Folders") .HasForeignKey("LibraryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Library"); }); modelBuilder.Entity("API.Entities.MangaFile", b => { b.HasOne("API.Entities.Chapter", "Chapter") .WithMany("Files") .HasForeignKey("ChapterId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Chapter"); }); modelBuilder.Entity("API.Entities.Metadata.SeriesMetadata", b => { b.HasOne("API.Entities.Series", "Series") .WithOne("Metadata") .HasForeignKey("API.Entities.Metadata.SeriesMetadata", "SeriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Series"); }); modelBuilder.Entity("API.Entities.Metadata.SeriesRelation", b => { b.HasOne("API.Entities.Series", "Series") .WithMany("Relations") .HasForeignKey("SeriesId") .OnDelete(DeleteBehavior.ClientCascade) .IsRequired(); b.HasOne("API.Entities.Series", "TargetSeries") .WithMany("RelationOf") .HasForeignKey("TargetSeriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Series"); b.Navigation("TargetSeries"); }); modelBuilder.Entity("API.Entities.ReadingList", b => { b.HasOne("API.Entities.AppUser", "AppUser") .WithMany("ReadingLists") .HasForeignKey("AppUserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("AppUser"); }); modelBuilder.Entity("API.Entities.ReadingListItem", b => { b.HasOne("API.Entities.Chapter", "Chapter") .WithMany() .HasForeignKey("ChapterId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.ReadingList", "ReadingList") .WithMany("Items") .HasForeignKey("ReadingListId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Series", "Series") .WithMany() .HasForeignKey("SeriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Volume", "Volume") .WithMany() .HasForeignKey("VolumeId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Chapter"); b.Navigation("ReadingList"); b.Navigation("Series"); b.Navigation("Volume"); }); modelBuilder.Entity("API.Entities.Series", b => { b.HasOne("API.Entities.Library", "Library") .WithMany("Series") .HasForeignKey("LibraryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Library"); }); modelBuilder.Entity("API.Entities.Volume", b => { b.HasOne("API.Entities.Series", "Series") .WithMany("Volumes") .HasForeignKey("SeriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Series"); }); modelBuilder.Entity("AppUserLibrary", b => { b.HasOne("API.Entities.AppUser", null) .WithMany() .HasForeignKey("AppUsersId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Library", null) .WithMany() .HasForeignKey("LibrariesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("ChapterGenre", b => { b.HasOne("API.Entities.Chapter", null) .WithMany() .HasForeignKey("ChaptersId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Genre", null) .WithMany() .HasForeignKey("GenresId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("ChapterPerson", b => { b.HasOne("API.Entities.Chapter", null) .WithMany() .HasForeignKey("ChapterMetadatasId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Person", null) .WithMany() .HasForeignKey("PeopleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("ChapterTag", b => { b.HasOne("API.Entities.Chapter", null) .WithMany() .HasForeignKey("ChaptersId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Tag", null) .WithMany() .HasForeignKey("TagsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("CollectionTagSeriesMetadata", b => { b.HasOne("API.Entities.CollectionTag", null) .WithMany() .HasForeignKey("CollectionTagsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Metadata.SeriesMetadata", null) .WithMany() .HasForeignKey("SeriesMetadatasId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GenreSeriesMetadata", b => { b.HasOne("API.Entities.Genre", null) .WithMany() .HasForeignKey("GenresId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Metadata.SeriesMetadata", null) .WithMany() .HasForeignKey("SeriesMetadatasId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.HasOne("API.Entities.AppRole", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("API.Entities.AppUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("API.Entities.AppUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.HasOne("API.Entities.AppUser", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("PersonSeriesMetadata", b => { b.HasOne("API.Entities.Person", null) .WithMany() .HasForeignKey("PeopleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Metadata.SeriesMetadata", null) .WithMany() .HasForeignKey("SeriesMetadatasId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("SeriesMetadataTag", b => { b.HasOne("API.Entities.Metadata.SeriesMetadata", null) .WithMany() .HasForeignKey("SeriesMetadatasId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("API.Entities.Tag", null) .WithMany() .HasForeignKey("TagsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("API.Entities.AppRole", b => { b.Navigation("UserRoles"); }); modelBuilder.Entity("API.Entities.AppUser", b => { b.Navigation("Bookmarks"); b.Navigation("Progresses"); b.Navigation("Ratings"); b.Navigation("ReadingLists"); b.Navigation("UserPreferences"); b.Navigation("UserRoles"); }); modelBuilder.Entity("API.Entities.Chapter", b => { b.Navigation("Files"); }); modelBuilder.Entity("API.Entities.Library", b => { b.Navigation("Folders"); b.Navigation("Series"); }); modelBuilder.Entity("API.Entities.ReadingList", b => { b.Navigation("Items"); }); modelBuilder.Entity("API.Entities.Series", b => { b.Navigation("Metadata"); b.Navigation("Progress"); b.Navigation("Ratings"); b.Navigation("RelationOf"); b.Navigation("Relations"); b.Navigation("Volumes"); }); modelBuilder.Entity("API.Entities.Volume", b => { b.Navigation("Chapters"); }); #pragma warning restore 612, 618 } } }