diff --git a/Controllers/AccountController.cs b/Controllers/AccountController.cs new file mode 100644 index 0000000..5f050b7 --- /dev/null +++ b/Controllers/AccountController.cs @@ -0,0 +1,36 @@ +using System.Diagnostics; +using Microsoft.AspNetCore.Identity; +using Microsoft.AspNetCore.Mvc; +using Sequence.Entities; +using Sequence.Models; + +namespace Sequence.Controllers; + +public class AccountController : Controller +{ + private readonly UserManager userManager; + + public AccountController(UserManager userManager) + { + this.userManager = userManager; + } + + public async Task CreateUsers() + { + var resultKrystle = await userManager.CreateAsync(new Entities.User + { + Name = "Krystle", + UserName = "krystle", + Email = "krystle@allwillynilly.com" + }, "C0urtY@rd"); + + var resultRyan = await userManager.CreateAsync(new Entities.User + { + Name = "Ryan", + UserName = "ryan", + Email = "ryan@binarydad.com" + }, "C0urtY@rd"); + + return View(); + } +} diff --git a/Controllers/ApiController.cs b/Controllers/ApiController.cs new file mode 100644 index 0000000..621f066 --- /dev/null +++ b/Controllers/ApiController.cs @@ -0,0 +1,13 @@ +using System.Diagnostics; +using Microsoft.AspNetCore.Mvc; +using Sequence.Models; + +namespace Sequence.Controllers; + +public class ApiController : Controller +{ + // public async Task CreateMatch(Guid userIdOne, Guid userIdTwo) + // { + + // } +} \ No newline at end of file diff --git a/DbContext.cs b/DbContext.cs index 8236e74..cb27fbc 100644 --- a/DbContext.cs +++ b/DbContext.cs @@ -27,7 +27,7 @@ public class DbContext : IdentityDbContext, Guid> //modelBuilder.Entity().HasData() } - public DbSet Deck { get; set; } + public DbSet Cards { get; set; } public DbSet PlayerCards { get; set; } public DbSet Matches { get; set; } public DbSet Players { get; set; } diff --git a/Entities/Card.cs b/Entities/Card.cs index fed6d82..63aed6f 100644 --- a/Entities/Card.cs +++ b/Entities/Card.cs @@ -5,4 +5,4 @@ public class Card public Guid Id { get; set; } public Suit Suit { get; set; } public string Value { get; set; } -} \ No newline at end of file +} diff --git a/Entities/Hand.cs b/Entities/Hand.cs index 25f24bc..6defa84 100644 --- a/Entities/Hand.cs +++ b/Entities/Hand.cs @@ -3,6 +3,6 @@ namespace Sequence.Entities; public class Hand { public Guid Id { get; set; } - public User User { get; set; } + //public Player Player { get; set; } public ICollection Cards { get; set; } } \ No newline at end of file diff --git a/Entities/HandCard.cs b/Entities/HandCard.cs new file mode 100644 index 0000000..3f6b8b7 --- /dev/null +++ b/Entities/HandCard.cs @@ -0,0 +1,8 @@ +namespace Sequence.Entities; + +public class HandCard +{ + public Guid Id { get; set; } + public Player Player { get; set; } + public Card Card { get; set; } +} \ No newline at end of file diff --git a/Entities/Match.cs b/Entities/Match.cs index 779859a..33ca531 100644 --- a/Entities/Match.cs +++ b/Entities/Match.cs @@ -6,4 +6,5 @@ public class Match public DateTime Created { get; set; } public Player PlayerOne { get; set; } public Player PlayerTwo { get; set; } + public ICollection Deck { get; set; } } \ No newline at end of file diff --git a/Entities/MatchCard.cs b/Entities/MatchCard.cs new file mode 100644 index 0000000..e861b3f --- /dev/null +++ b/Entities/MatchCard.cs @@ -0,0 +1,9 @@ +namespace Sequence.Entities; + +public class MatchCard +{ + public Guid Id { get; set; } + public Match Match { get; set; } + public Card Card { get; set; } + public int Order { get; set; } +} \ No newline at end of file diff --git a/Entities/Player.cs b/Entities/Player.cs index 1d6a489..853b249 100644 --- a/Entities/Player.cs +++ b/Entities/Player.cs @@ -4,6 +4,7 @@ public class Player { public Guid Id { get; set; } public User User { get; set; } - public Hand Hand { get; set; } + //public Hand Hand { get; set; } + public ICollection HandCards { get; set; } public ICollection PlayerCards { get; set; } } \ No newline at end of file diff --git a/Entities/PlayerCard.cs b/Entities/PlayerCard.cs index 3a43751..b38bae8 100644 --- a/Entities/PlayerCard.cs +++ b/Entities/PlayerCard.cs @@ -3,6 +3,7 @@ namespace Sequence.Entities; public class PlayerCard { public Guid Id { get; set; } + public Player Player { get; set; } public Card Card { get; set; } public int PositionX { get; set; } public int PositionY { get; set; } diff --git a/Migrations/20230405014613_initial.Designer.cs b/Migrations/20230405014613_initial.Designer.cs deleted file mode 100644 index 904d3c0..0000000 --- a/Migrations/20230405014613_initial.Designer.cs +++ /dev/null @@ -1,778 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -#nullable disable - -namespace Sequence.Migrations -{ - [DbContext(typeof(DbContext))] - [Migration("20230405014613_initial")] - partial class initial - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "7.0.4") - .HasAnnotation("Relational:MaxIdentifierLength", 64); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("longtext"); - - b.Property("Name") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("NormalizedName") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName") - .IsUnique() - .HasDatabaseName("RoleNameIndex"); - - b.ToTable("AspNetRoles", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("ClaimType") - .HasColumnType("longtext"); - - b.Property("ClaimValue") - .HasColumnType("longtext"); - - b.Property("RoleId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetRoleClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("ClaimType") - .HasColumnType("longtext"); - - b.Property("ClaimValue") - .HasColumnType("longtext"); - - b.Property("UserId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.Property("LoginProvider") - .HasColumnType("varchar(255)"); - - b.Property("ProviderKey") - .HasColumnType("varchar(255)"); - - b.Property("ProviderDisplayName") - .HasColumnType("longtext"); - - b.Property("UserId") - .HasColumnType("char(36)"); - - b.HasKey("LoginProvider", "ProviderKey"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserLogins", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("char(36)"); - - b.Property("RoleId") - .HasColumnType("char(36)"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetUserRoles", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("char(36)"); - - b.Property("LoginProvider") - .HasColumnType("varchar(255)"); - - b.Property("Name") - .HasColumnType("varchar(255)"); - - b.Property("Value") - .HasColumnType("longtext"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AspNetUserTokens", (string)null); - }); - - modelBuilder.Entity("Sequence.Entities.Card", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("HandId") - .HasColumnType("char(36)"); - - b.Property("Suit") - .HasColumnType("int"); - - b.Property("Value") - .IsRequired() - .HasColumnType("longtext"); - - b.HasKey("Id"); - - b.HasIndex("HandId"); - - b.ToTable("Deck"); - - b.HasData( - new - { - Id = new Guid("3df3eb49-4286-4335-b0fd-1f22324fc8da"), - Suit = 0, - Value = "1" - }, - new - { - Id = new Guid("3ccbf18b-d428-4b3c-9816-079ed93d50e0"), - Suit = 0, - Value = "2" - }, - new - { - Id = new Guid("e182e163-badf-4455-89a4-4d5bb718359b"), - Suit = 0, - Value = "3" - }, - new - { - Id = new Guid("1f745661-7e8c-457e-8c21-af328ebea6ef"), - Suit = 0, - Value = "4" - }, - new - { - Id = new Guid("48bd12de-6e41-4618-ab60-e6a96a63672a"), - Suit = 0, - Value = "5" - }, - new - { - Id = new Guid("c0a3b138-0ad3-4384-9ec3-79e642d9972a"), - Suit = 0, - Value = "6" - }, - new - { - Id = new Guid("1cd6d866-f3d9-4006-aad1-4a1e35f43a73"), - Suit = 0, - Value = "7" - }, - new - { - Id = new Guid("4776a685-7d6e-4bf5-a44a-075ef7109a52"), - Suit = 0, - Value = "8" - }, - new - { - Id = new Guid("aec2f6dc-115b-4a67-8049-a20b2a99f9f0"), - Suit = 0, - Value = "9" - }, - new - { - Id = new Guid("f9146877-b413-4f92-aee6-f4ee93f8a164"), - Suit = 0, - Value = "10" - }, - new - { - Id = new Guid("1348276b-52f2-4708-bd38-7e3e11505271"), - Suit = 0, - Value = "J" - }, - new - { - Id = new Guid("a8c3fff6-ac16-4e73-a322-6640304f4a1d"), - Suit = 0, - Value = "Q" - }, - new - { - Id = new Guid("7a3d84d9-1ae2-49fc-83a4-4c9a9ba96f9e"), - Suit = 0, - Value = "K" - }, - new - { - Id = new Guid("774c4661-8c70-4140-aa06-b77c81cdc6c9"), - Suit = 1, - Value = "1" - }, - new - { - Id = new Guid("cb23f13e-9e01-4c07-934b-91f83fe63754"), - Suit = 1, - Value = "2" - }, - new - { - Id = new Guid("3dd48e85-61c3-458c-8197-6b320b70412f"), - Suit = 1, - Value = "3" - }, - new - { - Id = new Guid("e95f7dc6-66e1-433a-a048-bb89a287112b"), - Suit = 1, - Value = "4" - }, - new - { - Id = new Guid("775465f6-af76-4899-a4c0-87e9f87fde19"), - Suit = 1, - Value = "5" - }, - new - { - Id = new Guid("2fb260a9-5c85-4d31-bd5f-9160b108a7d6"), - Suit = 1, - Value = "6" - }, - new - { - Id = new Guid("123a0c42-19c2-4310-b557-fe9a4939c5db"), - Suit = 1, - Value = "7" - }, - new - { - Id = new Guid("5d3faa3f-2140-4a2d-837b-3089b28a8b7a"), - Suit = 1, - Value = "8" - }, - new - { - Id = new Guid("ac12f0ae-331e-4603-bfd5-0e8f39c67291"), - Suit = 1, - Value = "9" - }, - new - { - Id = new Guid("60be6c1a-9caa-4b67-b24c-ce31fe13b270"), - Suit = 1, - Value = "10" - }, - new - { - Id = new Guid("6fa3e767-f549-4fe1-aaa0-2325481bf954"), - Suit = 1, - Value = "J" - }, - new - { - Id = new Guid("8e253b6c-27a7-4505-b29d-5a75478f8344"), - Suit = 1, - Value = "Q" - }, - new - { - Id = new Guid("fa8aebfb-6450-4e23-ba5d-49201011e8cc"), - Suit = 1, - Value = "K" - }, - new - { - Id = new Guid("dc9ab320-1c25-406f-ab25-962de5a22608"), - Suit = 2, - Value = "1" - }, - new - { - Id = new Guid("92917f34-d2cc-4621-a175-d199cb4a2f99"), - Suit = 2, - Value = "2" - }, - new - { - Id = new Guid("d998e124-b28a-4fef-991a-9e135e3f61d5"), - Suit = 2, - Value = "3" - }, - new - { - Id = new Guid("df67ffb9-4a54-4d76-b0ce-3582975b78c5"), - Suit = 2, - Value = "4" - }, - new - { - Id = new Guid("4d0802db-85d1-4418-a1b7-86e87d00353f"), - Suit = 2, - Value = "5" - }, - new - { - Id = new Guid("7f7ea50b-4b9b-49b5-942f-82a5b62f6103"), - Suit = 2, - Value = "6" - }, - new - { - Id = new Guid("ff232d8b-753c-4c4a-bd03-6ce9633eceb9"), - Suit = 2, - Value = "7" - }, - new - { - Id = new Guid("0651b023-b17f-494a-88ed-ecbe2cfa7a49"), - Suit = 2, - Value = "8" - }, - new - { - Id = new Guid("83641870-bb94-45de-8542-5d55ed369319"), - Suit = 2, - Value = "9" - }, - new - { - Id = new Guid("5172a226-bc3d-4175-b5ae-c33981792ed1"), - Suit = 2, - Value = "10" - }, - new - { - Id = new Guid("676f533a-c834-4b8b-9a82-618b25249add"), - Suit = 2, - Value = "J" - }, - new - { - Id = new Guid("9f67ac4f-23eb-4b7d-baae-d8b3e4a91870"), - Suit = 2, - Value = "Q" - }, - new - { - Id = new Guid("54bd5f32-0c4f-454d-8e66-21ca14740157"), - Suit = 2, - Value = "K" - }, - new - { - Id = new Guid("a37baaf1-78f6-4cb9-a940-37d170b9c727"), - Suit = 3, - Value = "1" - }, - new - { - Id = new Guid("8c7ee0d6-da46-487c-9636-ce677fd14ba8"), - Suit = 3, - Value = "2" - }, - new - { - Id = new Guid("c2e04c69-7436-4b09-a269-8708e957af5a"), - Suit = 3, - Value = "3" - }, - new - { - Id = new Guid("c387869f-b4a9-4163-8cea-2b2c2fdeb6cc"), - Suit = 3, - Value = "4" - }, - new - { - Id = new Guid("7d07e71e-f955-4a86-ad02-71e1c2d2c888"), - Suit = 3, - Value = "5" - }, - new - { - Id = new Guid("423c23a4-f5b2-4676-9564-75714d289811"), - Suit = 3, - Value = "6" - }, - new - { - Id = new Guid("999d24a8-1aca-47cb-a45b-4f3a436f2492"), - Suit = 3, - Value = "7" - }, - new - { - Id = new Guid("b1971ee2-878a-4c6e-ae2b-606d41a34bc0"), - Suit = 3, - Value = "8" - }, - new - { - Id = new Guid("bf3353de-d18c-4857-bfef-d9dcda88d512"), - Suit = 3, - Value = "9" - }, - new - { - Id = new Guid("ae7ea808-52f1-47f6-b68b-0ab596c47282"), - Suit = 3, - Value = "10" - }, - new - { - Id = new Guid("3aa4bd47-a91e-4b18-9915-e0f149be671d"), - Suit = 3, - Value = "J" - }, - new - { - Id = new Guid("0158f904-5c80-4d15-864c-b234dd8d596c"), - Suit = 3, - Value = "Q" - }, - new - { - Id = new Guid("f2359dd3-13ee-492d-bd3e-0d53a568cd0a"), - Suit = 3, - Value = "K" - }); - }); - - modelBuilder.Entity("Sequence.Entities.Hand", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("UserId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("Hand"); - }); - - modelBuilder.Entity("Sequence.Entities.Match", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("Created") - .HasColumnType("datetime(6)"); - - b.Property("PlayerOneId") - .HasColumnType("char(36)"); - - b.Property("PlayerTwoId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("PlayerOneId"); - - b.HasIndex("PlayerTwoId"); - - b.ToTable("Matches"); - }); - - modelBuilder.Entity("Sequence.Entities.Player", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("HandId") - .HasColumnType("char(36)"); - - b.Property("UserId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("HandId"); - - b.HasIndex("UserId"); - - b.ToTable("Players"); - }); - - modelBuilder.Entity("Sequence.Entities.PlayerCard", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("CardId") - .HasColumnType("char(36)"); - - b.Property("PlayerId") - .HasColumnType("char(36)"); - - b.Property("PositionX") - .HasColumnType("int"); - - b.Property("PositionY") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("CardId"); - - b.HasIndex("PlayerId"); - - b.ToTable("PlayerCards"); - }); - - modelBuilder.Entity("Sequence.Entities.User", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("AccessFailedCount") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("longtext"); - - b.Property("Email") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("EmailConfirmed") - .HasColumnType("tinyint(1)"); - - b.Property("LockoutEnabled") - .HasColumnType("tinyint(1)"); - - b.Property("LockoutEnd") - .HasColumnType("datetime(6)"); - - b.Property("Name") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("NormalizedEmail") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("NormalizedUserName") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("PasswordHash") - .HasColumnType("longtext"); - - b.Property("PhoneNumber") - .HasColumnType("longtext"); - - b.Property("PhoneNumberConfirmed") - .HasColumnType("tinyint(1)"); - - b.Property("SecurityStamp") - .HasColumnType("longtext"); - - b.Property("TwoFactorEnabled") - .HasColumnType("tinyint(1)"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - 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.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.HasOne("Sequence.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.HasOne("Sequence.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Sequence.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.HasOne("Sequence.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Sequence.Entities.Card", b => - { - b.HasOne("Sequence.Entities.Hand", null) - .WithMany("Cards") - .HasForeignKey("HandId"); - }); - - modelBuilder.Entity("Sequence.Entities.Hand", b => - { - b.HasOne("Sequence.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("Sequence.Entities.Match", b => - { - b.HasOne("Sequence.Entities.Player", "PlayerOne") - .WithMany() - .HasForeignKey("PlayerOneId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Sequence.Entities.Player", "PlayerTwo") - .WithMany() - .HasForeignKey("PlayerTwoId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("PlayerOne"); - - b.Navigation("PlayerTwo"); - }); - - modelBuilder.Entity("Sequence.Entities.Player", b => - { - b.HasOne("Sequence.Entities.Hand", "Hand") - .WithMany() - .HasForeignKey("HandId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Sequence.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Hand"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("Sequence.Entities.PlayerCard", b => - { - b.HasOne("Sequence.Entities.Card", "Card") - .WithMany() - .HasForeignKey("CardId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Sequence.Entities.Player", null) - .WithMany("PlayerCards") - .HasForeignKey("PlayerId"); - - b.Navigation("Card"); - }); - - modelBuilder.Entity("Sequence.Entities.Hand", b => - { - b.Navigation("Cards"); - }); - - modelBuilder.Entity("Sequence.Entities.Player", b => - { - b.Navigation("PlayerCards"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Migrations/20230405014613_initial.cs b/Migrations/20230405014613_initial.cs deleted file mode 100644 index f8492f3..0000000 --- a/Migrations/20230405014613_initial.cs +++ /dev/null @@ -1,492 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional - -namespace Sequence.Migrations -{ - /// - public partial class initial : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AlterDatabase() - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "AspNetRoles", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Name = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - NormalizedName = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetRoles", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "AspNetUsers", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Name = table.Column(type: "longtext", nullable: false) - .Annotation("MySql:CharSet", "utf8mb4"), - UserName = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - NormalizedUserName = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - Email = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - NormalizedEmail = table.Column(type: "varchar(256)", maxLength: 256, nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - EmailConfirmed = table.Column(type: "tinyint(1)", nullable: false), - PasswordHash = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - SecurityStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - ConcurrencyStamp = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - PhoneNumber = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - PhoneNumberConfirmed = table.Column(type: "tinyint(1)", nullable: false), - TwoFactorEnabled = table.Column(type: "tinyint(1)", nullable: false), - LockoutEnd = table.Column(type: "datetime(6)", nullable: true), - LockoutEnabled = table.Column(type: "tinyint(1)", nullable: false), - AccessFailedCount = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUsers", x => x.Id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "AspNetRoleClaims", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - ClaimType = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - ClaimValue = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id); - table.ForeignKey( - name: "FK_AspNetRoleClaims_AspNetRoles_RoleId", - column: x => x.RoleId, - principalTable: "AspNetRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "AspNetUserClaims", - columns: table => new - { - Id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - ClaimType = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - ClaimValue = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserClaims", x => x.Id); - table.ForeignKey( - name: "FK_AspNetUserClaims_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "AspNetUserLogins", - columns: table => new - { - LoginProvider = table.Column(type: "varchar(255)", nullable: false) - .Annotation("MySql:CharSet", "utf8mb4"), - ProviderKey = table.Column(type: "varchar(255)", nullable: false) - .Annotation("MySql:CharSet", "utf8mb4"), - ProviderDisplayName = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey }); - table.ForeignKey( - name: "FK_AspNetUserLogins_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "AspNetUserRoles", - columns: table => new - { - UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - RoleId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId }); - table.ForeignKey( - name: "FK_AspNetUserRoles_AspNetRoles_RoleId", - column: x => x.RoleId, - principalTable: "AspNetRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_AspNetUserRoles_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "AspNetUserTokens", - columns: table => new - { - UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - LoginProvider = table.Column(type: "varchar(255)", nullable: false) - .Annotation("MySql:CharSet", "utf8mb4"), - Name = table.Column(type: "varchar(255)", nullable: false) - .Annotation("MySql:CharSet", "utf8mb4"), - Value = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - }, - constraints: table => - { - table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); - table.ForeignKey( - name: "FK_AspNetUserTokens_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "Hand", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_Hand", x => x.Id); - table.ForeignKey( - name: "FK_Hand_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "Deck", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Suit = table.Column(type: "int", nullable: false), - Value = table.Column(type: "longtext", nullable: false) - .Annotation("MySql:CharSet", "utf8mb4"), - HandId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_Deck", x => x.Id); - table.ForeignKey( - name: "FK_Deck_Hand_HandId", - column: x => x.HandId, - principalTable: "Hand", - principalColumn: "Id"); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "Players", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - UserId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - HandId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_Players", x => x.Id); - table.ForeignKey( - name: "FK_Players_AspNetUsers_UserId", - column: x => x.UserId, - principalTable: "AspNetUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_Players_Hand_HandId", - column: x => x.HandId, - principalTable: "Hand", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "Matches", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - Created = table.Column(type: "datetime(6)", nullable: false), - PlayerOneId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - PlayerTwoId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_Matches", x => x.Id); - table.ForeignKey( - name: "FK_Matches_Players_PlayerOneId", - column: x => x.PlayerOneId, - principalTable: "Players", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_Matches_Players_PlayerTwoId", - column: x => x.PlayerTwoId, - principalTable: "Players", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "PlayerCards", - columns: table => new - { - Id = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - CardId = table.Column(type: "char(36)", nullable: false, collation: "ascii_general_ci"), - PositionX = table.Column(type: "int", nullable: false), - PositionY = table.Column(type: "int", nullable: false), - PlayerId = table.Column(type: "char(36)", nullable: true, collation: "ascii_general_ci") - }, - constraints: table => - { - table.PrimaryKey("PK_PlayerCards", x => x.Id); - table.ForeignKey( - name: "FK_PlayerCards_Deck_CardId", - column: x => x.CardId, - principalTable: "Deck", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_PlayerCards_Players_PlayerId", - column: x => x.PlayerId, - principalTable: "Players", - principalColumn: "Id"); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.InsertData( - table: "Deck", - columns: new[] { "Id", "HandId", "Suit", "Value" }, - values: new object[,] - { - { new Guid("0158f904-5c80-4d15-864c-b234dd8d596c"), null, 3, "Q" }, - { new Guid("0651b023-b17f-494a-88ed-ecbe2cfa7a49"), null, 2, "8" }, - { new Guid("123a0c42-19c2-4310-b557-fe9a4939c5db"), null, 1, "7" }, - { new Guid("1348276b-52f2-4708-bd38-7e3e11505271"), null, 0, "J" }, - { new Guid("1cd6d866-f3d9-4006-aad1-4a1e35f43a73"), null, 0, "7" }, - { new Guid("1f745661-7e8c-457e-8c21-af328ebea6ef"), null, 0, "4" }, - { new Guid("2fb260a9-5c85-4d31-bd5f-9160b108a7d6"), null, 1, "6" }, - { new Guid("3aa4bd47-a91e-4b18-9915-e0f149be671d"), null, 3, "J" }, - { new Guid("3ccbf18b-d428-4b3c-9816-079ed93d50e0"), null, 0, "2" }, - { new Guid("3dd48e85-61c3-458c-8197-6b320b70412f"), null, 1, "3" }, - { new Guid("3df3eb49-4286-4335-b0fd-1f22324fc8da"), null, 0, "1" }, - { new Guid("423c23a4-f5b2-4676-9564-75714d289811"), null, 3, "6" }, - { new Guid("4776a685-7d6e-4bf5-a44a-075ef7109a52"), null, 0, "8" }, - { new Guid("48bd12de-6e41-4618-ab60-e6a96a63672a"), null, 0, "5" }, - { new Guid("4d0802db-85d1-4418-a1b7-86e87d00353f"), null, 2, "5" }, - { new Guid("5172a226-bc3d-4175-b5ae-c33981792ed1"), null, 2, "10" }, - { new Guid("54bd5f32-0c4f-454d-8e66-21ca14740157"), null, 2, "K" }, - { new Guid("5d3faa3f-2140-4a2d-837b-3089b28a8b7a"), null, 1, "8" }, - { new Guid("60be6c1a-9caa-4b67-b24c-ce31fe13b270"), null, 1, "10" }, - { new Guid("676f533a-c834-4b8b-9a82-618b25249add"), null, 2, "J" }, - { new Guid("6fa3e767-f549-4fe1-aaa0-2325481bf954"), null, 1, "J" }, - { new Guid("774c4661-8c70-4140-aa06-b77c81cdc6c9"), null, 1, "1" }, - { new Guid("775465f6-af76-4899-a4c0-87e9f87fde19"), null, 1, "5" }, - { new Guid("7a3d84d9-1ae2-49fc-83a4-4c9a9ba96f9e"), null, 0, "K" }, - { new Guid("7d07e71e-f955-4a86-ad02-71e1c2d2c888"), null, 3, "5" }, - { new Guid("7f7ea50b-4b9b-49b5-942f-82a5b62f6103"), null, 2, "6" }, - { new Guid("83641870-bb94-45de-8542-5d55ed369319"), null, 2, "9" }, - { new Guid("8c7ee0d6-da46-487c-9636-ce677fd14ba8"), null, 3, "2" }, - { new Guid("8e253b6c-27a7-4505-b29d-5a75478f8344"), null, 1, "Q" }, - { new Guid("92917f34-d2cc-4621-a175-d199cb4a2f99"), null, 2, "2" }, - { new Guid("999d24a8-1aca-47cb-a45b-4f3a436f2492"), null, 3, "7" }, - { new Guid("9f67ac4f-23eb-4b7d-baae-d8b3e4a91870"), null, 2, "Q" }, - { new Guid("a37baaf1-78f6-4cb9-a940-37d170b9c727"), null, 3, "1" }, - { new Guid("a8c3fff6-ac16-4e73-a322-6640304f4a1d"), null, 0, "Q" }, - { new Guid("ac12f0ae-331e-4603-bfd5-0e8f39c67291"), null, 1, "9" }, - { new Guid("ae7ea808-52f1-47f6-b68b-0ab596c47282"), null, 3, "10" }, - { new Guid("aec2f6dc-115b-4a67-8049-a20b2a99f9f0"), null, 0, "9" }, - { new Guid("b1971ee2-878a-4c6e-ae2b-606d41a34bc0"), null, 3, "8" }, - { new Guid("bf3353de-d18c-4857-bfef-d9dcda88d512"), null, 3, "9" }, - { new Guid("c0a3b138-0ad3-4384-9ec3-79e642d9972a"), null, 0, "6" }, - { new Guid("c2e04c69-7436-4b09-a269-8708e957af5a"), null, 3, "3" }, - { new Guid("c387869f-b4a9-4163-8cea-2b2c2fdeb6cc"), null, 3, "4" }, - { new Guid("cb23f13e-9e01-4c07-934b-91f83fe63754"), null, 1, "2" }, - { new Guid("d998e124-b28a-4fef-991a-9e135e3f61d5"), null, 2, "3" }, - { new Guid("dc9ab320-1c25-406f-ab25-962de5a22608"), null, 2, "1" }, - { new Guid("df67ffb9-4a54-4d76-b0ce-3582975b78c5"), null, 2, "4" }, - { new Guid("e182e163-badf-4455-89a4-4d5bb718359b"), null, 0, "3" }, - { new Guid("e95f7dc6-66e1-433a-a048-bb89a287112b"), null, 1, "4" }, - { new Guid("f2359dd3-13ee-492d-bd3e-0d53a568cd0a"), null, 3, "K" }, - { new Guid("f9146877-b413-4f92-aee6-f4ee93f8a164"), null, 0, "10" }, - { new Guid("fa8aebfb-6450-4e23-ba5d-49201011e8cc"), null, 1, "K" }, - { new Guid("ff232d8b-753c-4c4a-bd03-6ce9633eceb9"), null, 2, "7" } - }); - - migrationBuilder.CreateIndex( - name: "IX_AspNetRoleClaims_RoleId", - table: "AspNetRoleClaims", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "RoleNameIndex", - table: "AspNetRoles", - column: "NormalizedName", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUserClaims_UserId", - table: "AspNetUserClaims", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUserLogins_UserId", - table: "AspNetUserLogins", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_AspNetUserRoles_RoleId", - table: "AspNetUserRoles", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "EmailIndex", - table: "AspNetUsers", - column: "NormalizedEmail"); - - migrationBuilder.CreateIndex( - name: "UserNameIndex", - table: "AspNetUsers", - column: "NormalizedUserName", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_Deck_HandId", - table: "Deck", - column: "HandId"); - - migrationBuilder.CreateIndex( - name: "IX_Hand_UserId", - table: "Hand", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_Matches_PlayerOneId", - table: "Matches", - column: "PlayerOneId"); - - migrationBuilder.CreateIndex( - name: "IX_Matches_PlayerTwoId", - table: "Matches", - column: "PlayerTwoId"); - - migrationBuilder.CreateIndex( - name: "IX_PlayerCards_CardId", - table: "PlayerCards", - column: "CardId"); - - migrationBuilder.CreateIndex( - name: "IX_PlayerCards_PlayerId", - table: "PlayerCards", - column: "PlayerId"); - - migrationBuilder.CreateIndex( - name: "IX_Players_HandId", - table: "Players", - column: "HandId"); - - migrationBuilder.CreateIndex( - name: "IX_Players_UserId", - table: "Players", - column: "UserId"); - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "AspNetRoleClaims"); - - migrationBuilder.DropTable( - name: "AspNetUserClaims"); - - migrationBuilder.DropTable( - name: "AspNetUserLogins"); - - migrationBuilder.DropTable( - name: "AspNetUserRoles"); - - migrationBuilder.DropTable( - name: "AspNetUserTokens"); - - migrationBuilder.DropTable( - name: "Matches"); - - migrationBuilder.DropTable( - name: "PlayerCards"); - - migrationBuilder.DropTable( - name: "AspNetRoles"); - - migrationBuilder.DropTable( - name: "Deck"); - - migrationBuilder.DropTable( - name: "Players"); - - migrationBuilder.DropTable( - name: "Hand"); - - migrationBuilder.DropTable( - name: "AspNetUsers"); - } - } -} diff --git a/Migrations/DbContextModelSnapshot.cs b/Migrations/DbContextModelSnapshot.cs deleted file mode 100644 index 9cf05dd..0000000 --- a/Migrations/DbContextModelSnapshot.cs +++ /dev/null @@ -1,775 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -#nullable disable - -namespace Sequence.Migrations -{ - [DbContext(typeof(DbContext))] - partial class DbContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "7.0.4") - .HasAnnotation("Relational:MaxIdentifierLength", 64); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("longtext"); - - b.Property("Name") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("NormalizedName") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName") - .IsUnique() - .HasDatabaseName("RoleNameIndex"); - - b.ToTable("AspNetRoles", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("ClaimType") - .HasColumnType("longtext"); - - b.Property("ClaimValue") - .HasColumnType("longtext"); - - b.Property("RoleId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetRoleClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("ClaimType") - .HasColumnType("longtext"); - - b.Property("ClaimValue") - .HasColumnType("longtext"); - - b.Property("UserId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.Property("LoginProvider") - .HasColumnType("varchar(255)"); - - b.Property("ProviderKey") - .HasColumnType("varchar(255)"); - - b.Property("ProviderDisplayName") - .HasColumnType("longtext"); - - b.Property("UserId") - .HasColumnType("char(36)"); - - b.HasKey("LoginProvider", "ProviderKey"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserLogins", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("char(36)"); - - b.Property("RoleId") - .HasColumnType("char(36)"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetUserRoles", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("char(36)"); - - b.Property("LoginProvider") - .HasColumnType("varchar(255)"); - - b.Property("Name") - .HasColumnType("varchar(255)"); - - b.Property("Value") - .HasColumnType("longtext"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AspNetUserTokens", (string)null); - }); - - modelBuilder.Entity("Sequence.Entities.Card", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("HandId") - .HasColumnType("char(36)"); - - b.Property("Suit") - .HasColumnType("int"); - - b.Property("Value") - .IsRequired() - .HasColumnType("longtext"); - - b.HasKey("Id"); - - b.HasIndex("HandId"); - - b.ToTable("Deck"); - - b.HasData( - new - { - Id = new Guid("3df3eb49-4286-4335-b0fd-1f22324fc8da"), - Suit = 0, - Value = "1" - }, - new - { - Id = new Guid("3ccbf18b-d428-4b3c-9816-079ed93d50e0"), - Suit = 0, - Value = "2" - }, - new - { - Id = new Guid("e182e163-badf-4455-89a4-4d5bb718359b"), - Suit = 0, - Value = "3" - }, - new - { - Id = new Guid("1f745661-7e8c-457e-8c21-af328ebea6ef"), - Suit = 0, - Value = "4" - }, - new - { - Id = new Guid("48bd12de-6e41-4618-ab60-e6a96a63672a"), - Suit = 0, - Value = "5" - }, - new - { - Id = new Guid("c0a3b138-0ad3-4384-9ec3-79e642d9972a"), - Suit = 0, - Value = "6" - }, - new - { - Id = new Guid("1cd6d866-f3d9-4006-aad1-4a1e35f43a73"), - Suit = 0, - Value = "7" - }, - new - { - Id = new Guid("4776a685-7d6e-4bf5-a44a-075ef7109a52"), - Suit = 0, - Value = "8" - }, - new - { - Id = new Guid("aec2f6dc-115b-4a67-8049-a20b2a99f9f0"), - Suit = 0, - Value = "9" - }, - new - { - Id = new Guid("f9146877-b413-4f92-aee6-f4ee93f8a164"), - Suit = 0, - Value = "10" - }, - new - { - Id = new Guid("1348276b-52f2-4708-bd38-7e3e11505271"), - Suit = 0, - Value = "J" - }, - new - { - Id = new Guid("a8c3fff6-ac16-4e73-a322-6640304f4a1d"), - Suit = 0, - Value = "Q" - }, - new - { - Id = new Guid("7a3d84d9-1ae2-49fc-83a4-4c9a9ba96f9e"), - Suit = 0, - Value = "K" - }, - new - { - Id = new Guid("774c4661-8c70-4140-aa06-b77c81cdc6c9"), - Suit = 1, - Value = "1" - }, - new - { - Id = new Guid("cb23f13e-9e01-4c07-934b-91f83fe63754"), - Suit = 1, - Value = "2" - }, - new - { - Id = new Guid("3dd48e85-61c3-458c-8197-6b320b70412f"), - Suit = 1, - Value = "3" - }, - new - { - Id = new Guid("e95f7dc6-66e1-433a-a048-bb89a287112b"), - Suit = 1, - Value = "4" - }, - new - { - Id = new Guid("775465f6-af76-4899-a4c0-87e9f87fde19"), - Suit = 1, - Value = "5" - }, - new - { - Id = new Guid("2fb260a9-5c85-4d31-bd5f-9160b108a7d6"), - Suit = 1, - Value = "6" - }, - new - { - Id = new Guid("123a0c42-19c2-4310-b557-fe9a4939c5db"), - Suit = 1, - Value = "7" - }, - new - { - Id = new Guid("5d3faa3f-2140-4a2d-837b-3089b28a8b7a"), - Suit = 1, - Value = "8" - }, - new - { - Id = new Guid("ac12f0ae-331e-4603-bfd5-0e8f39c67291"), - Suit = 1, - Value = "9" - }, - new - { - Id = new Guid("60be6c1a-9caa-4b67-b24c-ce31fe13b270"), - Suit = 1, - Value = "10" - }, - new - { - Id = new Guid("6fa3e767-f549-4fe1-aaa0-2325481bf954"), - Suit = 1, - Value = "J" - }, - new - { - Id = new Guid("8e253b6c-27a7-4505-b29d-5a75478f8344"), - Suit = 1, - Value = "Q" - }, - new - { - Id = new Guid("fa8aebfb-6450-4e23-ba5d-49201011e8cc"), - Suit = 1, - Value = "K" - }, - new - { - Id = new Guid("dc9ab320-1c25-406f-ab25-962de5a22608"), - Suit = 2, - Value = "1" - }, - new - { - Id = new Guid("92917f34-d2cc-4621-a175-d199cb4a2f99"), - Suit = 2, - Value = "2" - }, - new - { - Id = new Guid("d998e124-b28a-4fef-991a-9e135e3f61d5"), - Suit = 2, - Value = "3" - }, - new - { - Id = new Guid("df67ffb9-4a54-4d76-b0ce-3582975b78c5"), - Suit = 2, - Value = "4" - }, - new - { - Id = new Guid("4d0802db-85d1-4418-a1b7-86e87d00353f"), - Suit = 2, - Value = "5" - }, - new - { - Id = new Guid("7f7ea50b-4b9b-49b5-942f-82a5b62f6103"), - Suit = 2, - Value = "6" - }, - new - { - Id = new Guid("ff232d8b-753c-4c4a-bd03-6ce9633eceb9"), - Suit = 2, - Value = "7" - }, - new - { - Id = new Guid("0651b023-b17f-494a-88ed-ecbe2cfa7a49"), - Suit = 2, - Value = "8" - }, - new - { - Id = new Guid("83641870-bb94-45de-8542-5d55ed369319"), - Suit = 2, - Value = "9" - }, - new - { - Id = new Guid("5172a226-bc3d-4175-b5ae-c33981792ed1"), - Suit = 2, - Value = "10" - }, - new - { - Id = new Guid("676f533a-c834-4b8b-9a82-618b25249add"), - Suit = 2, - Value = "J" - }, - new - { - Id = new Guid("9f67ac4f-23eb-4b7d-baae-d8b3e4a91870"), - Suit = 2, - Value = "Q" - }, - new - { - Id = new Guid("54bd5f32-0c4f-454d-8e66-21ca14740157"), - Suit = 2, - Value = "K" - }, - new - { - Id = new Guid("a37baaf1-78f6-4cb9-a940-37d170b9c727"), - Suit = 3, - Value = "1" - }, - new - { - Id = new Guid("8c7ee0d6-da46-487c-9636-ce677fd14ba8"), - Suit = 3, - Value = "2" - }, - new - { - Id = new Guid("c2e04c69-7436-4b09-a269-8708e957af5a"), - Suit = 3, - Value = "3" - }, - new - { - Id = new Guid("c387869f-b4a9-4163-8cea-2b2c2fdeb6cc"), - Suit = 3, - Value = "4" - }, - new - { - Id = new Guid("7d07e71e-f955-4a86-ad02-71e1c2d2c888"), - Suit = 3, - Value = "5" - }, - new - { - Id = new Guid("423c23a4-f5b2-4676-9564-75714d289811"), - Suit = 3, - Value = "6" - }, - new - { - Id = new Guid("999d24a8-1aca-47cb-a45b-4f3a436f2492"), - Suit = 3, - Value = "7" - }, - new - { - Id = new Guid("b1971ee2-878a-4c6e-ae2b-606d41a34bc0"), - Suit = 3, - Value = "8" - }, - new - { - Id = new Guid("bf3353de-d18c-4857-bfef-d9dcda88d512"), - Suit = 3, - Value = "9" - }, - new - { - Id = new Guid("ae7ea808-52f1-47f6-b68b-0ab596c47282"), - Suit = 3, - Value = "10" - }, - new - { - Id = new Guid("3aa4bd47-a91e-4b18-9915-e0f149be671d"), - Suit = 3, - Value = "J" - }, - new - { - Id = new Guid("0158f904-5c80-4d15-864c-b234dd8d596c"), - Suit = 3, - Value = "Q" - }, - new - { - Id = new Guid("f2359dd3-13ee-492d-bd3e-0d53a568cd0a"), - Suit = 3, - Value = "K" - }); - }); - - modelBuilder.Entity("Sequence.Entities.Hand", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("UserId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("Hand"); - }); - - modelBuilder.Entity("Sequence.Entities.Match", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("Created") - .HasColumnType("datetime(6)"); - - b.Property("PlayerOneId") - .HasColumnType("char(36)"); - - b.Property("PlayerTwoId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("PlayerOneId"); - - b.HasIndex("PlayerTwoId"); - - b.ToTable("Matches"); - }); - - modelBuilder.Entity("Sequence.Entities.Player", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("HandId") - .HasColumnType("char(36)"); - - b.Property("UserId") - .HasColumnType("char(36)"); - - b.HasKey("Id"); - - b.HasIndex("HandId"); - - b.HasIndex("UserId"); - - b.ToTable("Players"); - }); - - modelBuilder.Entity("Sequence.Entities.PlayerCard", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("CardId") - .HasColumnType("char(36)"); - - b.Property("PlayerId") - .HasColumnType("char(36)"); - - b.Property("PositionX") - .HasColumnType("int"); - - b.Property("PositionY") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("CardId"); - - b.HasIndex("PlayerId"); - - b.ToTable("PlayerCards"); - }); - - modelBuilder.Entity("Sequence.Entities.User", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("char(36)"); - - b.Property("AccessFailedCount") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("longtext"); - - b.Property("Email") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("EmailConfirmed") - .HasColumnType("tinyint(1)"); - - b.Property("LockoutEnabled") - .HasColumnType("tinyint(1)"); - - b.Property("LockoutEnd") - .HasColumnType("datetime(6)"); - - b.Property("Name") - .IsRequired() - .HasColumnType("longtext"); - - b.Property("NormalizedEmail") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("NormalizedUserName") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - b.Property("PasswordHash") - .HasColumnType("longtext"); - - b.Property("PhoneNumber") - .HasColumnType("longtext"); - - b.Property("PhoneNumberConfirmed") - .HasColumnType("tinyint(1)"); - - b.Property("SecurityStamp") - .HasColumnType("longtext"); - - b.Property("TwoFactorEnabled") - .HasColumnType("tinyint(1)"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("varchar(256)"); - - 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.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.HasOne("Sequence.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.HasOne("Sequence.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => - { - b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Sequence.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.HasOne("Sequence.Entities.User", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Sequence.Entities.Card", b => - { - b.HasOne("Sequence.Entities.Hand", null) - .WithMany("Cards") - .HasForeignKey("HandId"); - }); - - modelBuilder.Entity("Sequence.Entities.Hand", b => - { - b.HasOne("Sequence.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("User"); - }); - - modelBuilder.Entity("Sequence.Entities.Match", b => - { - b.HasOne("Sequence.Entities.Player", "PlayerOne") - .WithMany() - .HasForeignKey("PlayerOneId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Sequence.Entities.Player", "PlayerTwo") - .WithMany() - .HasForeignKey("PlayerTwoId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("PlayerOne"); - - b.Navigation("PlayerTwo"); - }); - - modelBuilder.Entity("Sequence.Entities.Player", b => - { - b.HasOne("Sequence.Entities.Hand", "Hand") - .WithMany() - .HasForeignKey("HandId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Sequence.Entities.User", "User") - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Hand"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("Sequence.Entities.PlayerCard", b => - { - b.HasOne("Sequence.Entities.Card", "Card") - .WithMany() - .HasForeignKey("CardId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Sequence.Entities.Player", null) - .WithMany("PlayerCards") - .HasForeignKey("PlayerId"); - - b.Navigation("Card"); - }); - - modelBuilder.Entity("Sequence.Entities.Hand", b => - { - b.Navigation("Cards"); - }); - - modelBuilder.Entity("Sequence.Entities.Player", b => - { - b.Navigation("PlayerCards"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Program.cs b/Program.cs index 0f3585f..b713c44 100644 --- a/Program.cs +++ b/Program.cs @@ -1,4 +1,5 @@ using Microsoft.EntityFrameworkCore; +using Sequence.Entities; var builder = WebApplication.CreateBuilder(args); @@ -15,6 +16,16 @@ builder.Services.AddDbContext((services, options) => options.UseMySql(connectionString, version); }); +builder.Services.AddDefaultIdentity(options => + { + options.SignIn.RequireConfirmedAccount = false; + }) + .AddEntityFrameworkStores(); + +builder.Services.ConfigureApplicationCookie(options => +{ + options.LoginPath = "/login"; +}); var app = builder.Build(); diff --git a/Services/ICardService.cs b/Services/ICardService.cs index 0e61162..ec7d35b 100644 --- a/Services/ICardService.cs +++ b/Services/ICardService.cs @@ -1,13 +1,35 @@ +using Microsoft.AspNetCore.Identity; using Sequence.Entities; namespace Sequence.Services; public interface ICardService { + Task CreateMatchAsync(Guid userIdOne, Guid userIdTwo); ICollection GetCards(); } -public interface IUserService +public class EntityCardService : ICardService { - Task CreateUserAsync(string username, string password); + private readonly DbContext context; + + public EntityCardService(DbContext context) + { + this.context = context; + } + + public async Task CreateMatchAsync(Guid userIdOne, Guid userIdTwo) + { + throw new NotImplementedException(); + + var userOne = await context.FindAsync(userIdOne); + var userTwo = await context.FindAsync(userIdTwo); + + + } + + public ICollection GetCards() + { + throw new NotImplementedException(); + } } \ No newline at end of file