diff --git a/LANCommander/Migrations/20231106061719_AddRegexFlagToSavePath.Designer.cs b/LANCommander/Migrations/20231106061719_AddRegexFlagToSavePath.Designer.cs
deleted file mode 100644
index d9e2a3a..0000000
--- a/LANCommander/Migrations/20231106061719_AddRegexFlagToSavePath.Designer.cs
+++ /dev/null
@@ -1,1694 +0,0 @@
-//
-using System;
-using LANCommander.Data;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.EntityFrameworkCore.Infrastructure;
-using Microsoft.EntityFrameworkCore.Migrations;
-using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
-
-#nullable disable
-
-namespace LANCommander.Migrations
-{
- [DbContext(typeof(DatabaseContext))]
- [Migration("20231106061719_AddRegexFlagToSavePath")]
- partial class AddRegexFlagToSavePath
- {
- ///
- protected override void BuildTargetModel(ModelBuilder modelBuilder)
- {
-#pragma warning disable 612, 618
- modelBuilder
- .HasAnnotation("ProductVersion", "7.0.13")
- .HasAnnotation("Proxies:ChangeTracking", false)
- .HasAnnotation("Proxies:CheckEquality", false)
- .HasAnnotation("Proxies:LazyLoading", true);
-
- 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("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("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.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("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("UpdatedById");
-
- b.ToTable("Actions");
- });
-
- modelBuilder.Entity("LANCommander.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("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("UpdatedById");
-
- b.ToTable("Archive");
- });
-
- modelBuilder.Entity("LANCommander.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.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.Data.Models.Game", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("TEXT");
-
- b.Property("CreatedById")
- .HasColumnType("TEXT");
-
- b.Property("CreatedOn")
- .HasColumnType("TEXT");
-
- b.Property("Description")
- .HasColumnType("TEXT");
-
- b.Property("DirectoryName")
- .HasColumnType("TEXT");
-
- b.Property("IGDBId")
- .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("UpdatedById")
- .HasColumnType("TEXT");
-
- b.Property("UpdatedOn")
- .HasColumnType("TEXT");
-
- b.Property("ValidKeyRegex")
- .HasColumnType("TEXT");
-
- b.HasKey("Id");
-
- b.HasIndex("CreatedById");
-
- b.HasIndex("UpdatedById");
-
- b.ToTable("Games");
- });
-
- modelBuilder.Entity("LANCommander.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("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("GameSaves");
- });
-
- modelBuilder.Entity("LANCommander.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.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.Data.Models.Media", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .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")
- .IsRequired()
- .HasMaxLength(255)
- .HasColumnType("TEXT");
-
- b.Property("SourceUrl")
- .IsRequired()
- .HasMaxLength(2048)
- .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("UpdatedById");
-
- b.ToTable("Media");
- });
-
- modelBuilder.Entity("LANCommander.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.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.Data.Models.Role", b =>
- {
- b.Property("Id")
- .ValueGeneratedOnAdd()
- .HasColumnType("TEXT");
-
- 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("LANCommander.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.HasKey("Id");
-
- b.HasIndex("CreatedById");
-
- b.HasIndex("GameId");
-
- b.HasIndex("UpdatedById");
-
- b.ToTable("SavePaths");
- });
-
- modelBuilder.Entity("LANCommander.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("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("UpdatedById");
-
- b.ToTable("Scripts");
- });
-
- modelBuilder.Entity("LANCommander.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("CreatedById")
- .HasColumnType("TEXT");
-
- b.Property("CreatedOn")
- .HasColumnType("TEXT");
-
- b.Property("GameId")
- .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("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.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.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.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.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("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("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("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("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("TEXT");
-
- b.HasKey("Id");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserClaims", (string)null);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
- {
- b.Property("LoginProvider")
- .HasMaxLength(128)
- .HasColumnType("TEXT");
-
- b.Property("ProviderKey")
- .HasMaxLength(128)
- .HasColumnType("TEXT");
-
- b.Property("ProviderDisplayName")
- .HasColumnType("TEXT");
-
- b.Property("UserId")
- .HasColumnType("TEXT");
-
- b.HasKey("LoginProvider", "ProviderKey");
-
- b.HasIndex("UserId");
-
- b.ToTable("AspNetUserLogins", (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("AspNetUserRoles", (string)null);
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
- {
- b.Property("UserId")
- .HasColumnType("TEXT");
-
- b.Property("LoginProvider")
- .HasMaxLength(128)
- .HasColumnType("TEXT");
-
- b.Property("Name")
- .HasMaxLength(128)
- .HasColumnType("TEXT");
-
- b.Property("Value")
- .HasColumnType("TEXT");
-
- b.HasKey("UserId", "LoginProvider", "Name");
-
- b.ToTable("AspNetUserTokens", (string)null);
- });
-
- modelBuilder.Entity("CategoryGame", b =>
- {
- b.HasOne("LANCommander.Data.Models.Category", null)
- .WithMany()
- .HasForeignKey("CategoriesId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.Game", null)
- .WithMany()
- .HasForeignKey("GamesId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("GameDeveloper", b =>
- {
- b.HasOne("LANCommander.Data.Models.Company", null)
- .WithMany()
- .HasForeignKey("DeveloperId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.Game", null)
- .WithMany()
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("GameGenre", b =>
- {
- b.HasOne("LANCommander.Data.Models.Game", null)
- .WithMany()
- .HasForeignKey("GamesId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.Genre", null)
- .WithMany()
- .HasForeignKey("GenresId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("GamePublisher", b =>
- {
- b.HasOne("LANCommander.Data.Models.Game", null)
- .WithMany()
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.Company", null)
- .WithMany()
- .HasForeignKey("PublisherId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("GameRedistributable", b =>
- {
- b.HasOne("LANCommander.Data.Models.Game", null)
- .WithMany()
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.Redistributable", null)
- .WithMany()
- .HasForeignKey("RedistributableId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("GameTag", b =>
- {
- b.HasOne("LANCommander.Data.Models.Game", null)
- .WithMany()
- .HasForeignKey("GamesId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.Tag", null)
- .WithMany()
- .HasForeignKey("TagsId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Action", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Game", "Game")
- .WithMany("Actions")
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Game");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Archive", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Game", "Game")
- .WithMany("Archives")
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("LANCommander.Data.Models.Archive", "LastVersion")
- .WithMany()
- .HasForeignKey("LastVersionId");
-
- b.HasOne("LANCommander.Data.Models.Redistributable", "Redistributable")
- .WithMany("Archives")
- .HasForeignKey("RedistributableId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Game");
-
- b.Navigation("LastVersion");
-
- b.Navigation("Redistributable");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Category", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Category", "Parent")
- .WithMany("Children")
- .HasForeignKey("ParentId");
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Parent");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Company", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Game", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.GameSave", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Game", "Game")
- .WithMany("GameSaves")
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.NoAction)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.HasOne("LANCommander.Data.Models.User", "User")
- .WithMany("GameSaves")
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Game");
-
- b.Navigation("UpdatedBy");
-
- b.Navigation("User");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Genre", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Key", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "ClaimedByUser")
- .WithMany()
- .HasForeignKey("ClaimedByUserId");
-
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Game", "Game")
- .WithMany("Keys")
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("ClaimedByUser");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Game");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Media", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Game", "Game")
- .WithMany("Media")
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Game");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.MultiplayerMode", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Game", "Game")
- .WithMany("MultiplayerModes")
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Game");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Redistributable", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.SavePath", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Game", "Game")
- .WithMany("SavePaths")
- .HasForeignKey("GameId");
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Game");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Script", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Game", "Game")
- .WithMany("Scripts")
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("LANCommander.Data.Models.Redistributable", "Redistributable")
- .WithMany("Scripts")
- .HasForeignKey("RedistributableId")
- .OnDelete(DeleteBehavior.Cascade);
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Game");
-
- b.Navigation("Redistributable");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Server", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Game", "Game")
- .WithMany("Servers")
- .HasForeignKey("GameId")
- .OnDelete(DeleteBehavior.NoAction);
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Game");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.ServerConsole", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Server", "Server")
- .WithMany()
- .HasForeignKey("ServerId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.Server", null)
- .WithMany("ServerConsoles")
- .HasForeignKey("ServerId1");
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Server");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.ServerHttpPath", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.Server", "Server")
- .WithMany()
- .HasForeignKey("ServerId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.Server", null)
- .WithMany("HttpPaths")
- .HasForeignKey("ServerId1");
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("Server");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Tag", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", "CreatedBy")
- .WithMany()
- .HasForeignKey("CreatedById");
-
- b.HasOne("LANCommander.Data.Models.User", "UpdatedBy")
- .WithMany()
- .HasForeignKey("UpdatedById");
-
- b.Navigation("CreatedBy");
-
- b.Navigation("UpdatedBy");
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b =>
- {
- b.HasOne("LANCommander.Data.Models.Role", null)
- .WithMany()
- .HasForeignKey("RoleId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", null)
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", null)
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b =>
- {
- b.HasOne("LANCommander.Data.Models.Role", null)
- .WithMany()
- .HasForeignKey("RoleId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
-
- b.HasOne("LANCommander.Data.Models.User", null)
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b =>
- {
- b.HasOne("LANCommander.Data.Models.User", null)
- .WithMany()
- .HasForeignKey("UserId")
- .OnDelete(DeleteBehavior.Cascade)
- .IsRequired();
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Category", b =>
- {
- b.Navigation("Children");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Game", b =>
- {
- b.Navigation("Actions");
-
- b.Navigation("Archives");
-
- b.Navigation("GameSaves");
-
- b.Navigation("Keys");
-
- b.Navigation("Media");
-
- b.Navigation("MultiplayerModes");
-
- b.Navigation("SavePaths");
-
- b.Navigation("Scripts");
-
- b.Navigation("Servers");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Redistributable", b =>
- {
- b.Navigation("Archives");
-
- b.Navigation("Scripts");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.Server", b =>
- {
- b.Navigation("HttpPaths");
-
- b.Navigation("ServerConsoles");
- });
-
- modelBuilder.Entity("LANCommander.Data.Models.User", b =>
- {
- b.Navigation("GameSaves");
- });
-#pragma warning restore 612, 618
- }
- }
-}
diff --git a/LANCommander/Migrations/20231106061719_AddRegexFlagToSavePath.cs b/LANCommander/Migrations/20231106061719_AddRegexFlagToSavePath.cs
deleted file mode 100644
index ddf18e4..0000000
--- a/LANCommander/Migrations/20231106061719_AddRegexFlagToSavePath.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using Microsoft.EntityFrameworkCore.Migrations;
-
-#nullable disable
-
-namespace LANCommander.Migrations
-{
- ///
- public partial class AddRegexFlagToSavePath : Migration
- {
- ///
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.AddColumn(
- name: "IsRegex",
- table: "SavePaths",
- type: "INTEGER",
- nullable: false,
- defaultValue: false);
- }
-
- ///
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropColumn(
- name: "IsRegex",
- table: "SavePaths");
- }
- }
-}
diff --git a/LANCommander/Migrations/DatabaseContextModelSnapshot.cs b/LANCommander/Migrations/DatabaseContextModelSnapshot.cs
index 2ba9a02..fae3c33 100644
--- a/LANCommander/Migrations/DatabaseContextModelSnapshot.cs
+++ b/LANCommander/Migrations/DatabaseContextModelSnapshot.cs
@@ -692,9 +692,6 @@ namespace LANCommander.Migrations
b.Property("GameId")
.HasColumnType("TEXT");
- b.Property("IsRegex")
- .HasColumnType("INTEGER");
-
b.Property("Path")
.IsRequired()
.HasColumnType("TEXT");