// using System; using LANCommander.Server.Data; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; #nullable disable namespace LANCommander.Migrations { [DbContext(typeof(DatabaseContext))] partial class DatabaseContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder.HasAnnotation("ProductVersion", "8.0.10"); 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.Server.Data.Models.Action", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("Arguments") .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("Path") .HasColumnType("TEXT"); b.Property("PrimaryAction") .HasColumnType("INTEGER"); b.Property("ServerId") .HasColumnType("TEXT"); b.Property("SortOrder") .HasColumnType("INTEGER"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("WorkingDirectory") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("ServerId"); b.HasIndex("UpdatedById"); b.ToTable("Actions"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Archive", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("Changelog") .HasColumnType("TEXT"); b.Property("CompressedSize") .HasColumnType("INTEGER"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("LastVersionId") .HasColumnType("TEXT"); b.Property("ObjectKey") .IsRequired() .HasColumnType("TEXT"); b.Property("RedistributableId") .HasColumnType("TEXT"); b.Property("StorageLocationId") .HasColumnType("TEXT"); b.Property("UncompressedSize") .HasColumnType("INTEGER"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("Version") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("LastVersionId"); b.HasIndex("RedistributableId"); b.HasIndex("StorageLocationId"); b.HasIndex("UpdatedById"); b.ToTable("Archive"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Category", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("ParentId") .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("ParentId"); b.HasIndex("UpdatedById"); b.ToTable("Categories"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Collection", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.ToTable("Collections"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Company", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.ToTable("Companies"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Engine", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.ToTable("Engines"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Game", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("BaseGameId") .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Description") .HasColumnType("TEXT"); b.Property("DirectoryName") .HasColumnType("TEXT"); b.Property("EngineId") .HasColumnType("TEXT"); b.Property("IGDBId") .HasColumnType("INTEGER"); b.Property("KeyAllocationMethod") .HasColumnType("INTEGER"); 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("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("ValidKeyRegex") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("BaseGameId"); b.HasIndex("CreatedById"); b.HasIndex("EngineId"); b.HasIndex("UpdatedById"); b.ToTable("Games"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.GameSave", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("Size") .HasColumnType("INTEGER"); b.Property("StorageLocationId") .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("StorageLocationId"); b.HasIndex("UpdatedById"); b.HasIndex("UserId"); b.ToTable("GameSaves"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Genre", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.ToTable("Genres"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Issue", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Description") .IsRequired() .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("ResolvedById") .HasColumnType("TEXT"); b.Property("ResolvedOn") .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("ResolvedById"); b.HasIndex("UpdatedById"); b.ToTable("Issues"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Key", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("AllocationMethod") .HasColumnType("INTEGER"); b.Property("ClaimedByComputerName") .HasMaxLength(255) .HasColumnType("TEXT"); b.Property("ClaimedByIpv4Address") .HasMaxLength(15) .HasColumnType("TEXT"); b.Property("ClaimedByMacAddress") .HasMaxLength(17) .HasColumnType("TEXT"); b.Property("ClaimedByUserId") .HasColumnType("TEXT"); b.Property("ClaimedOn") .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("Value") .IsRequired() .HasMaxLength(255) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("ClaimedByUserId"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("UpdatedById"); b.ToTable("Keys"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Library", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.HasIndex("UserId") .IsUnique(); b.ToTable("Libraries"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Media", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("Crc32") .IsRequired() .HasMaxLength(8) .HasColumnType("TEXT"); b.Property("CreatedById") .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("StorageLocationId") .HasColumnType("TEXT"); b.Property("ThumbnailId") .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("StorageLocationId"); b.HasIndex("ThumbnailId") .IsUnique(); b.HasIndex("UpdatedById"); b.HasIndex("UserId"); b.ToTable("Media"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.MultiplayerMode", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Description") .HasColumnType("TEXT"); b.Property("GameId") .IsRequired() .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("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("UpdatedById"); b.ToTable("MultiplayerModes"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Page", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("Contents") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("ParentId") .HasColumnType("TEXT"); b.Property("Route") .IsRequired() .HasMaxLength(2048) .HasColumnType("TEXT"); b.Property("Slug") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("SortOrder") .HasColumnType("INTEGER"); b.Property("Title") .IsRequired() .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("ParentId"); b.HasIndex("UpdatedById"); b.ToTable("Pages"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Platform", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.ToTable("Platforms"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.PlaySession", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("End") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("Start") .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserId") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("UpdatedById"); b.HasIndex("UserId"); b.ToTable("PlaySessions"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Redistributable", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .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("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.ToTable("Redistributables"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Role", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("NormalizedName") .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("NormalizedName") .IsUnique() .HasDatabaseName("RoleNameIndex"); b.HasIndex("UpdatedById"); b.ToTable("Roles", (string)null); }); modelBuilder.Entity("LANCommander.Server.Data.Models.SavePath", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("IsRegex") .HasColumnType("INTEGER"); b.Property("Path") .IsRequired() .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("WorkingDirectory") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("UpdatedById"); b.ToTable("SavePaths"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Script", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("Contents") .IsRequired() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Description") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("RedistributableId") .HasColumnType("TEXT"); b.Property("RequiresAdmin") .HasColumnType("INTEGER"); b.Property("ServerId") .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("RedistributableId"); b.HasIndex("ServerId"); b.HasIndex("UpdatedById"); b.ToTable("Scripts"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Server", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("Arguments") .IsRequired() .HasColumnType("TEXT"); b.Property("Autostart") .HasColumnType("INTEGER"); b.Property("AutostartDelay") .HasColumnType("INTEGER"); b.Property("AutostartMethod") .HasColumnType("INTEGER"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("GameId") .HasColumnType("TEXT"); b.Property("Host") .IsRequired() .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("OnStartScriptPath") .IsRequired() .HasColumnType("TEXT"); b.Property("OnStopScriptPath") .IsRequired() .HasColumnType("TEXT"); b.Property("Path") .IsRequired() .HasColumnType("TEXT"); b.Property("Port") .HasColumnType("INTEGER"); b.Property("ProcessTerminationMethod") .HasColumnType("INTEGER"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UseShellExecute") .HasColumnType("INTEGER"); b.Property("WorkingDirectory") .IsRequired() .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("GameId"); b.HasIndex("UpdatedById"); b.ToTable("Servers"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.ServerConsole", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Host") .IsRequired() .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("Password") .IsRequired() .HasColumnType("TEXT"); b.Property("Path") .IsRequired() .HasColumnType("TEXT"); b.Property("Port") .HasColumnType("INTEGER"); b.Property("ServerId") .IsRequired() .HasColumnType("TEXT"); b.Property("ServerId1") .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("ServerId"); b.HasIndex("ServerId1"); b.HasIndex("UpdatedById"); b.ToTable("ServerConsoles"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.ServerHttpPath", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("LocalPath") .IsRequired() .HasColumnType("TEXT"); b.Property("Path") .IsRequired() .HasColumnType("TEXT"); b.Property("ServerId") .HasColumnType("TEXT"); b.Property("ServerId1") .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("ServerId"); b.HasIndex("ServerId1"); b.HasIndex("UpdatedById"); b.ToTable("ServerHttpPath"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.StorageLocation", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Default") .HasColumnType("INTEGER"); b.Property("Path") .IsRequired() .HasColumnType("TEXT"); b.Property("Type") .HasColumnType("INTEGER"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.ToTable("StorageLocations"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Tag", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.ToTable("Tags"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.User", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("AccessFailedCount") .HasColumnType("INTEGER"); b.Property("Alias") .HasColumnType("TEXT"); b.Property("Approved") .HasColumnType("INTEGER"); b.Property("ApprovedOn") .HasColumnType("TEXT"); b.Property("ConcurrencyStamp") .IsConcurrencyToken() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Email") .HasMaxLength(256) .HasColumnType("TEXT"); b.Property("EmailConfirmed") .HasColumnType("INTEGER"); 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("RefreshToken") .HasColumnType("TEXT"); b.Property("RefreshTokenExpiration") .HasColumnType("TEXT"); b.Property("SecurityStamp") .HasColumnType("TEXT"); b.Property("TwoFactorEnabled") .HasColumnType("INTEGER"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserName") .HasMaxLength(256) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("NormalizedEmail") .HasDatabaseName("EmailIndex"); b.HasIndex("NormalizedUserName") .IsUnique() .HasDatabaseName("UserNameIndex"); b.HasIndex("UpdatedById"); b.ToTable("Users", (string)null); }); modelBuilder.Entity("LANCommander.Server.Data.Models.UserCustomField", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("TEXT"); b.Property("CreatedById") .HasColumnType("TEXT"); b.Property("CreatedOn") .HasColumnType("TEXT"); b.Property("Name") .IsRequired() .HasMaxLength(64) .HasColumnType("TEXT"); b.Property("UpdatedById") .HasColumnType("TEXT"); b.Property("UpdatedOn") .HasColumnType("TEXT"); b.Property("UserId") .IsRequired() .HasColumnType("TEXT"); b.Property("Value") .IsRequired() .HasMaxLength(1024) .HasColumnType("TEXT"); b.HasKey("Id"); b.HasIndex("CreatedById"); b.HasIndex("UpdatedById"); b.HasIndex("UserId"); b.ToTable("UserCustomField"); }); 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("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("TEXT"); b.HasKey("Id"); b.HasIndex("RoleId"); b.ToTable("RoleClaims", (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("TEXT"); b.HasKey("Id"); b.HasIndex("UserId"); b.ToTable("UserClaims", (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("TEXT"); b.HasKey("LoginProvider", "ProviderKey"); b.HasIndex("UserId"); b.ToTable("UserLogins", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.Property("UserId") .HasColumnType("TEXT"); b.Property("RoleId") .HasColumnType("TEXT"); b.HasKey("UserId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("UserRoles", (string)null); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.Property("UserId") .HasColumnType("TEXT"); b.Property("LoginProvider") .HasColumnType("TEXT"); b.Property("Name") .HasColumnType("TEXT"); b.Property("Value") .HasColumnType("TEXT"); b.HasKey("UserId", "LoginProvider", "Name"); b.ToTable("UserTokens", (string)null); }); modelBuilder.Entity("PageGame", b => { b.Property("GameId") .HasColumnType("TEXT"); b.Property("PageId") .HasColumnType("TEXT"); b.HasKey("GameId", "PageId"); b.HasIndex("PageId"); b.ToTable("PageGame"); }); modelBuilder.Entity("PageRedistributable", b => { b.Property("PageId") .HasColumnType("TEXT"); b.Property("RedistributableId") .HasColumnType("TEXT"); b.HasKey("PageId", "RedistributableId"); b.HasIndex("RedistributableId"); b.ToTable("PageRedistributable"); }); modelBuilder.Entity("PageServer", b => { b.Property("PageId") .HasColumnType("TEXT"); b.Property("ServerId") .HasColumnType("TEXT"); b.HasKey("PageId", "ServerId"); b.HasIndex("ServerId"); b.ToTable("PageServer"); }); modelBuilder.Entity("RoleCollection", b => { b.Property("CollectionId") .HasColumnType("TEXT"); b.Property("RoleId") .HasColumnType("TEXT"); b.HasKey("CollectionId", "RoleId"); b.HasIndex("RoleId"); b.ToTable("RoleCollection"); }); modelBuilder.Entity("CategoryGame", b => { b.HasOne("LANCommander.Server.Data.Models.Category", null) .WithMany() .HasForeignKey("CategoriesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GamesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("CollectionGame", b => { b.HasOne("LANCommander.Server.Data.Models.Collection", null) .WithMany() .HasForeignKey("CollectionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GameDeveloper", b => { b.HasOne("LANCommander.Server.Data.Models.Company", null) .WithMany() .HasForeignKey("DeveloperId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GameGenre", b => { b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GamesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Genre", null) .WithMany() .HasForeignKey("GenresId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GamePlatform", b => { b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GamesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Platform", null) .WithMany() .HasForeignKey("PlatformsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GamePublisher", b => { b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Company", null) .WithMany() .HasForeignKey("PublisherId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GameRedistributable", b => { b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Redistributable", null) .WithMany() .HasForeignKey("RedistributableId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("GameTag", b => { b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GamesId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Tag", null) .WithMany() .HasForeignKey("TagsId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Action", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("Actions") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.Server", "Server") .WithMany("Actions") .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("Server"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Archive", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("Archives") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.Archive", "LastVersion") .WithMany() .HasForeignKey("LastVersionId"); b.HasOne("LANCommander.Server.Data.Models.Redistributable", "Redistributable") .WithMany("Archives") .HasForeignKey("RedistributableId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.StorageLocation", "StorageLocation") .WithMany("Archives") .HasForeignKey("StorageLocationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("LastVersion"); b.Navigation("Redistributable"); b.Navigation("StorageLocation"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Category", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Category", "Parent") .WithMany("Children") .HasForeignKey("ParentId"); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Parent"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Collection", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Company", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Engine", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById"); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById"); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Game", b => { b.HasOne("LANCommander.Server.Data.Models.Game", "BaseGame") .WithMany("DependentGames") .HasForeignKey("BaseGameId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Engine", "Engine") .WithMany("Games") .HasForeignKey("EngineId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("BaseGame"); b.Navigation("CreatedBy"); b.Navigation("Engine"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.GameSave", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("GameSaves") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.StorageLocation", "StorageLocation") .WithMany("GameSaves") .HasForeignKey("StorageLocationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "User") .WithMany("GameSaves") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("StorageLocation"); b.Navigation("UpdatedBy"); b.Navigation("User"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Genre", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Issue", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("Issues") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.User", "ResolvedBy") .WithMany() .HasForeignKey("ResolvedById"); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("ResolvedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Key", b => { b.HasOne("LANCommander.Server.Data.Models.User", "ClaimedByUser") .WithMany() .HasForeignKey("ClaimedByUserId"); b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("Keys") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("ClaimedByUser"); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Library", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "User") .WithOne("Library") .HasForeignKey("LANCommander.Server.Data.Models.Library", "UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); b.Navigation("User"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Media", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("Media") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.StorageLocation", "StorageLocation") .WithMany("Media") .HasForeignKey("StorageLocationId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Media", "Thumbnail") .WithOne("Parent") .HasForeignKey("LANCommander.Server.Data.Models.Media", "ThumbnailId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "User") .WithMany("Media") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("StorageLocation"); b.Navigation("Thumbnail"); b.Navigation("UpdatedBy"); b.Navigation("User"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.MultiplayerMode", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("MultiplayerModes") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Page", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Page", "Parent") .WithMany("Children") .HasForeignKey("ParentId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Parent"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Platform", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.PlaySession", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("PlaySessions") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "User") .WithMany("PlaySessions") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("UpdatedBy"); b.Navigation("User"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Redistributable", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Role", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.SavePath", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("SavePaths") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Script", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("Scripts") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.Redistributable", "Redistributable") .WithMany("Scripts") .HasForeignKey("RedistributableId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.Server", "Server") .WithMany("Scripts") .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("Redistributable"); b.Navigation("Server"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Server", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Game", "Game") .WithMany("Servers") .HasForeignKey("GameId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Game"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.ServerConsole", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Server", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Server", null) .WithMany("ServerConsoles") .HasForeignKey("ServerId1"); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Server"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.ServerHttpPath", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.Server", "Server") .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Server", null) .WithMany("HttpPaths") .HasForeignKey("ServerId1"); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("Server"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.StorageLocation", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById"); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById"); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Tag", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.User", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.UserCustomField", b => { b.HasOne("LANCommander.Server.Data.Models.User", "CreatedBy") .WithMany() .HasForeignKey("CreatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "UpdatedBy") .WithMany() .HasForeignKey("UpdatedById") .OnDelete(DeleteBehavior.SetNull); b.HasOne("LANCommander.Server.Data.Models.User", "User") .WithMany("CustomFields") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("CreatedBy"); b.Navigation("UpdatedBy"); b.Navigation("User"); }); modelBuilder.Entity("LibraryGame", b => { b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Library", null) .WithMany() .HasForeignKey("LibraryId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => { b.HasOne("LANCommander.Server.Data.Models.Role", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => { b.HasOne("LANCommander.Server.Data.Models.User", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => { b.HasOne("LANCommander.Server.Data.Models.User", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => { b.HasOne("LANCommander.Server.Data.Models.Role", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.User", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => { b.HasOne("LANCommander.Server.Data.Models.User", null) .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("PageGame", b => { b.HasOne("LANCommander.Server.Data.Models.Game", null) .WithMany() .HasForeignKey("GameId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Page", null) .WithMany() .HasForeignKey("PageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("PageRedistributable", b => { b.HasOne("LANCommander.Server.Data.Models.Page", null) .WithMany() .HasForeignKey("PageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Redistributable", null) .WithMany() .HasForeignKey("RedistributableId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("PageServer", b => { b.HasOne("LANCommander.Server.Data.Models.Page", null) .WithMany() .HasForeignKey("PageId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Server", null) .WithMany() .HasForeignKey("ServerId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("RoleCollection", b => { b.HasOne("LANCommander.Server.Data.Models.Collection", null) .WithMany() .HasForeignKey("CollectionId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("LANCommander.Server.Data.Models.Role", null) .WithMany() .HasForeignKey("RoleId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Category", b => { b.Navigation("Children"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Engine", b => { b.Navigation("Games"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Game", b => { b.Navigation("Actions"); b.Navigation("Archives"); b.Navigation("DependentGames"); b.Navigation("GameSaves"); b.Navigation("Issues"); b.Navigation("Keys"); b.Navigation("Media"); b.Navigation("MultiplayerModes"); b.Navigation("PlaySessions"); b.Navigation("SavePaths"); b.Navigation("Scripts"); b.Navigation("Servers"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Media", b => { b.Navigation("Parent"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Page", b => { b.Navigation("Children"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Redistributable", b => { b.Navigation("Archives"); b.Navigation("Scripts"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.Server", b => { b.Navigation("Actions"); b.Navigation("HttpPaths"); b.Navigation("Scripts"); b.Navigation("ServerConsoles"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.StorageLocation", b => { b.Navigation("Archives"); b.Navigation("GameSaves"); b.Navigation("Media"); }); modelBuilder.Entity("LANCommander.Server.Data.Models.User", b => { b.Navigation("CustomFields"); b.Navigation("GameSaves"); b.Navigation("Library") .IsRequired(); b.Navigation("Media"); b.Navigation("PlaySessions"); }); #pragma warning restore 612, 618 } } }