// using System; using LANCommander.Launcher.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace LANCommander.Launcher.Data.Migrations { [DbContext(typeof(DatabaseContext))] partial class DatabaseContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "9.0.1"); modelBuilder.Entity("CategoryGame", b => { b.Property("CategoriesId") .HasColumnType("TEXT"); b.Property("GamesId") .HasColumnType("TEXT"); b.HasKey("CategoriesId", "GamesId"); b.HasIndex("GamesId"); b.ToTable("CategoryGame"); }); modelBuilder.Entity("CollectionGame", b => { b.Property("CollectionId") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.HasKey("CollectionId", "GameId"); b.HasIndex("GameId"); b.ToTable("CollectionGame"); }); modelBuilder.Entity("GameDeveloper", b => { b.Property("DeveloperId") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.HasKey("DeveloperId", "GameId"); b.HasIndex("GameId"); b.ToTable("GameDeveloper"); }); modelBuilder.Entity("GameGenre", b => { b.Property("GamesId") .HasColumnType("TEXT"); b.Property("GenresId") .HasColumnType("TEXT"); b.HasKey("GamesId", "GenresId"); b.HasIndex("GenresId"); b.ToTable("GameGenre"); }); modelBuilder.Entity("GamePlatform", b => { b.Property("GamesId") .HasColumnType("TEXT"); b.Property("PlatformsId") .HasColumnType("TEXT"); b.HasKey("GamesId", "PlatformsId"); b.HasIndex("PlatformsId"); b.ToTable("GamePlatform"); }); modelBuilder.Entity("GamePublisher", b => { b.Property("GameId") .HasColumnType("TEXT"); b.Property("PublisherId") .HasColumnType("TEXT"); b.HasKey("GameId", "PublisherId"); b.HasIndex("PublisherId"); b.ToTable("GamePublisher"); }); modelBuilder.Entity("GameRedistributable", b => { b.Property("GameId") .HasColumnType("TEXT"); b.Property("RedistributableId") .HasColumnType("TEXT"); b.HasKey("GameId", "RedistributableId"); b.HasIndex("RedistributableId"); b.ToTable("GameRedistributable"); }); modelBuilder.Entity("GameTag", b => { b.Property("GamesId") .HasColumnType("TEXT"); b.Property("TagsId") .HasColumnType("TEXT"); b.HasKey("GamesId", "TagsId"); b.HasIndex("TagsId"); b.ToTable("GameTag"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Category", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("ParentId") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ParentId"); b.ToTable("Categories"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Collection", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Collections"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Company", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Companies"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Engine", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Engines"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Game", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("BaseGameId") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Description") .HasColumnType("TEXT"); b.Property("EngineId") .HasColumnType("TEXT"); b.Property("IGDBId") .HasColumnType("INTEGER"); b.Property("ImportedOn") .HasColumnType("TEXT"); b.Property("InstallDirectory") .HasColumnType("TEXT"); b.Property("Installed") .HasColumnType("INTEGER"); b.Property("InstalledOn") .HasColumnType("TEXT"); b.Property("InstalledVersion") .HasColumnType("TEXT"); b.Property("LatestVersion") .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("ReleasedOn") .HasColumnType("TEXT"); b.Property("Singleplayer") .HasColumnType("INTEGER"); b.Property("SortTitle") .HasColumnType("TEXT"); b.Property("Title") .IsRequired() .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("BaseGameId"); b.HasIndex("EngineId"); b.ToTable("Games"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Genre", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Genres"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Library", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("UserId") .IsUnique(); b.ToTable("Libraries"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Media", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("Crc32") .IsRequired() .HasMaxLength(8) .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("FileId") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("MimeType") .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("Name") .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("SourceUrl") .HasMaxLength(2048) .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("GameId"); b.HasIndex("UserId") .IsUnique(); b.ToTable("Media"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.MultiplayerMode", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Description") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("MaxPlayers") .HasColumnType("INTEGER"); b.Property("MinPlayers") .HasColumnType("INTEGER"); b.Property("NetworkProtocol") .HasColumnType("INTEGER"); b.Property("Spectators") .HasColumnType("INTEGER"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("GameId"); b.ToTable("MultiplayerModes"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Platform", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Platforms"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.PlaySession", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("End") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("Start") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("GameId"); b.ToTable("PlaySessions"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Redistributable", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Description") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("Notes") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Redistributables"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Tag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Tags"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("Alias") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserName") .HasColumnType("TEXT"); b.HasKey("Id"); b.ToTable("Users"); }); modelBuilder.Entity("LibraryGame", b => { b.Property("GameId") .HasColumnType("TEXT"); b.Property("LibraryId") .HasColumnType("TEXT"); b.HasKey("GameId", "LibraryId"); b.HasIndex("LibraryId"); b.ToTable("LibraryGame"); }); modelBuilder.Entity("CategoryGame", b => { b.HasOne("LANCommander.Launcher.Data.Models.Category", null) .WithMany() .HasForeignKey("CategoriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Launcher.Data.Models.Game", null) .WithMany() .HasForeignKey("GamesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("CollectionGame", b => { b.HasOne("LANCommander.Launcher.Data.Models.Collection", null) .WithMany() .HasForeignKey("CollectionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Launcher.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GameDeveloper", b => { b.HasOne("LANCommander.Launcher.Data.Models.Company", null) .WithMany() .HasForeignKey("DeveloperId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Launcher.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GameGenre", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", null) .WithMany() .HasForeignKey("GamesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Launcher.Data.Models.Genre", null) .WithMany() .HasForeignKey("GenresId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GamePlatform", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", null) .WithMany() .HasForeignKey("GamesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Launcher.Data.Models.Platform", null) .WithMany() .HasForeignKey("PlatformsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GamePublisher", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Launcher.Data.Models.Company", null) .WithMany() .HasForeignKey("PublisherId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GameRedistributable", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Launcher.Data.Models.Redistributable", null) .WithMany() .HasForeignKey("RedistributableId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GameTag", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", null) .WithMany() .HasForeignKey("GamesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Launcher.Data.Models.Tag", null) .WithMany() .HasForeignKey("TagsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Category", b => { b.HasOne("LANCommander.Launcher.Data.Models.Category", "Parent") .WithMany("Children") .HasForeignKey("ParentId"); b.Navigation("Parent"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Game", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", "BaseGame") .WithMany("DependentGames") .HasForeignKey("BaseGameId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Launcher.Data.Models.Engine", "Engine") .WithMany("Games") .HasForeignKey("EngineId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("BaseGame"); b.Navigation("Engine"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Library", b => { b.HasOne("LANCommander.Launcher.Data.Models.User", "User") .WithOne("Library") .HasForeignKey("LANCommander.Launcher.Data.Models.Library", "UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Media", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", "Game") .WithMany("Media") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Launcher.Data.Models.User", "User") .WithOne("Avatar") .HasForeignKey("LANCommander.Launcher.Data.Models.Media", "UserId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Game"); b.Navigation("User"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.MultiplayerMode", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", "Game") .WithMany("MultiplayerModes") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("Game"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.PlaySession", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", "Game") .WithMany("PlaySessions") .HasForeignKey("GameId"); b.Navigation("Game"); }); modelBuilder.Entity("LibraryGame", b => { b.HasOne("LANCommander.Launcher.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Launcher.Data.Models.Library", null) .WithMany() .HasForeignKey("LibraryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Category", b => { b.Navigation("Children"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Engine", b => { b.Navigation("Games"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.Game", b => { b.Navigation("DependentGames"); b.Navigation("Media"); b.Navigation("MultiplayerModes"); b.Navigation("PlaySessions"); }); modelBuilder.Entity("LANCommander.Launcher.Data.Models.User", b => { b.Navigation("Avatar"); b.Navigation("Library"); }); #pragma warning restore 612, 618 } } }