summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Migrations/20221118044105_InitialMigration.Designer.cs (renamed from Migrations/20221118022738_InitialMigration.Designer.cs)36
-rw-r--r--Migrations/20221118044105_InitialMigration.cs (renamed from Migrations/20221118022738_InitialMigration.cs)15
-rw-r--r--Migrations/ApplicationDbContextModelSnapshot.cs34
-rw-r--r--Models/ApplicationDbContext.cs16
4 files changed, 100 insertions, 1 deletions
diff --git a/Migrations/20221118022738_InitialMigration.Designer.cs b/Migrations/20221118044105_InitialMigration.Designer.cs
index 61158d2..cd7ec30 100644
--- a/Migrations/20221118022738_InitialMigration.Designer.cs
+++ b/Migrations/20221118044105_InitialMigration.Designer.cs
@@ -12,7 +12,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace BackendPIA.Migrations
{
[DbContext(typeof(ApplicationDbContext))]
- [Migration("20221118022738_InitialMigration")]
+ [Migration("20221118044105_InitialMigration")]
partial class InitialMigration
{
/// <inheritdoc />
@@ -91,6 +91,24 @@ namespace BackendPIA.Migrations
.HasDatabaseName("UserNameIndex");
b.ToTable("AspNetUsers", (string)null);
+
+ b.HasData(
+ new
+ {
+ Id = "d42006bc-7f69-4aa4-b247-eb9e2abfe0ec",
+ AccessFailedCount = 0,
+ ConcurrencyStamp = "8bbb8fce-308b-4822-97e1-5741fc955a90",
+ Email = "admin@example.com",
+ EmailConfirmed = false,
+ LockoutEnabled = false,
+ NormalizedEmail = "ADMIN@EXAMPLE.COM",
+ NormalizedUserName = "ADMIN",
+ PasswordHash = "AQAAAAIAAYagAAAAEENVY01/0BOrBai8zaioq9GOr+ftYIZhUBtulPtda1tTREUCOeVst9cnrB7Ogz4Bsg==",
+ PhoneNumberConfirmed = false,
+ SecurityStamp = "5a1e1053-690e-4610-ab66-7a86fe2e04c8",
+ TwoFactorEnabled = false,
+ UserName = "admin"
+ });
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
@@ -117,6 +135,15 @@ namespace BackendPIA.Migrations
.HasDatabaseName("RoleNameIndex");
b.ToTable("AspNetRoles", (string)null);
+
+ b.HasData(
+ new
+ {
+ Id = "24edc3d6-bf9c-41a1-9371-224e4419ccb0",
+ ConcurrencyStamp = "24edc3d6-bf9c-41a1-9371-224e4419ccb0",
+ Name = "Administrator",
+ NormalizedName = "ADMINISTRATOR"
+ });
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
@@ -204,6 +231,13 @@ namespace BackendPIA.Migrations
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles", (string)null);
+
+ b.HasData(
+ new
+ {
+ UserId = "d42006bc-7f69-4aa4-b247-eb9e2abfe0ec",
+ RoleId = "24edc3d6-bf9c-41a1-9371-224e4419ccb0"
+ });
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
diff --git a/Migrations/20221118022738_InitialMigration.cs b/Migrations/20221118044105_InitialMigration.cs
index b8c2a78..44452b9 100644
--- a/Migrations/20221118022738_InitialMigration.cs
+++ b/Migrations/20221118044105_InitialMigration.cs
@@ -158,6 +158,21 @@ namespace BackendPIA.Migrations
onDelete: ReferentialAction.Cascade);
});
+ migrationBuilder.InsertData(
+ table: "AspNetRoles",
+ columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" },
+ values: new object[] { "24edc3d6-bf9c-41a1-9371-224e4419ccb0", "24edc3d6-bf9c-41a1-9371-224e4419ccb0", "Administrator", "ADMINISTRATOR" });
+
+ migrationBuilder.InsertData(
+ table: "AspNetUsers",
+ columns: new[] { "Id", "AccessFailedCount", "ConcurrencyStamp", "Email", "EmailConfirmed", "LockoutEnabled", "LockoutEnd", "NormalizedEmail", "NormalizedUserName", "PasswordHash", "PhoneNumber", "PhoneNumberConfirmed", "SecurityStamp", "SessionToken", "TwoFactorEnabled", "UserName" },
+ values: new object[] { "d42006bc-7f69-4aa4-b247-eb9e2abfe0ec", 0, "8bbb8fce-308b-4822-97e1-5741fc955a90", "admin@example.com", false, false, null, "ADMIN@EXAMPLE.COM", "ADMIN", "AQAAAAIAAYagAAAAEENVY01/0BOrBai8zaioq9GOr+ftYIZhUBtulPtda1tTREUCOeVst9cnrB7Ogz4Bsg==", null, false, "5a1e1053-690e-4610-ab66-7a86fe2e04c8", null, false, "admin" });
+
+ migrationBuilder.InsertData(
+ table: "AspNetUserRoles",
+ columns: new[] { "RoleId", "UserId" },
+ values: new object[] { "24edc3d6-bf9c-41a1-9371-224e4419ccb0", "d42006bc-7f69-4aa4-b247-eb9e2abfe0ec" });
+
migrationBuilder.CreateIndex(
name: "IX_AspNetRoleClaims_RoleId",
table: "AspNetRoleClaims",
diff --git a/Migrations/ApplicationDbContextModelSnapshot.cs b/Migrations/ApplicationDbContextModelSnapshot.cs
index 38f10ea..be690de 100644
--- a/Migrations/ApplicationDbContextModelSnapshot.cs
+++ b/Migrations/ApplicationDbContextModelSnapshot.cs
@@ -88,6 +88,24 @@ namespace BackendPIA.Migrations
.HasDatabaseName("UserNameIndex");
b.ToTable("AspNetUsers", (string)null);
+
+ b.HasData(
+ new
+ {
+ Id = "d42006bc-7f69-4aa4-b247-eb9e2abfe0ec",
+ AccessFailedCount = 0,
+ ConcurrencyStamp = "8bbb8fce-308b-4822-97e1-5741fc955a90",
+ Email = "admin@example.com",
+ EmailConfirmed = false,
+ LockoutEnabled = false,
+ NormalizedEmail = "ADMIN@EXAMPLE.COM",
+ NormalizedUserName = "ADMIN",
+ PasswordHash = "AQAAAAIAAYagAAAAEENVY01/0BOrBai8zaioq9GOr+ftYIZhUBtulPtda1tTREUCOeVst9cnrB7Ogz4Bsg==",
+ PhoneNumberConfirmed = false,
+ SecurityStamp = "5a1e1053-690e-4610-ab66-7a86fe2e04c8",
+ TwoFactorEnabled = false,
+ UserName = "admin"
+ });
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
@@ -114,6 +132,15 @@ namespace BackendPIA.Migrations
.HasDatabaseName("RoleNameIndex");
b.ToTable("AspNetRoles", (string)null);
+
+ b.HasData(
+ new
+ {
+ Id = "24edc3d6-bf9c-41a1-9371-224e4419ccb0",
+ ConcurrencyStamp = "24edc3d6-bf9c-41a1-9371-224e4419ccb0",
+ Name = "Administrator",
+ NormalizedName = "ADMINISTRATOR"
+ });
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
@@ -201,6 +228,13 @@ namespace BackendPIA.Migrations
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles", (string)null);
+
+ b.HasData(
+ new
+ {
+ UserId = "d42006bc-7f69-4aa4-b247-eb9e2abfe0ec",
+ RoleId = "24edc3d6-bf9c-41a1-9371-224e4419ccb0"
+ });
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
diff --git a/Models/ApplicationDbContext.cs b/Models/ApplicationDbContext.cs
index a6a63a8..d2b8d26 100644
--- a/Models/ApplicationDbContext.cs
+++ b/Models/ApplicationDbContext.cs
@@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
+using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
namespace BackendPIA.Models {
@@ -10,6 +11,21 @@ namespace BackendPIA.Models {
protected override void OnModelCreating(ModelBuilder builder) {
base.OnModelCreating(builder);
+ Guid user_id = Guid.NewGuid();
+ Guid role_id = Guid.NewGuid();
+ var hasher = new PasswordHasher<UserAccount>();
+ UserAccount user_seed = new UserAccount { Id = user_id.ToString(), UserName = "admin", Email = "admin@example.com",
+ NormalizedEmail = "ADMIN@EXAMPLE.COM", NormalizedUserName = "ADMIN" };
+ // TODO: save the seeded admin password in a user secret.
+ user_seed.PasswordHash = hasher.HashPassword(user_seed, "admin_password");
+ builder.Entity<UserAccount>().HasData(user_seed);
+ builder.Entity<IdentityRole>().HasData(new IdentityRole {
+ Name = "Administrator",
+ NormalizedName = "ADMINISTRATOR",
+ Id = role_id.ToString(),
+ ConcurrencyStamp = role_id.ToString()
+ });
+ builder.Entity<IdentityUserRole<string>>().HasData(new IdentityUserRole<string> { UserId = user_id.ToString(), RoleId = role_id.ToString() });
}
}
}