From 9892337644be4b924f7428dcf6418c334cd1fefe Mon Sep 17 00:00:00 2001 From: martinshoob Date: Sat, 9 Aug 2025 16:09:37 +0200 Subject: [PATCH] Merge IdentityDbContext into ApplicationDbContext --- DrinkRateAPI/Contexts/ApplicationDbContext.cs | 7 +- DrinkRateAPI/Contexts/IdentityDbContext.cs | 12 - ...ner.cs => 20250809140511_test.Designer.cs} | 209 +++++++++++++++++- ...9134029_Init.cs => 20250809140511_test.cs} | 196 +++++++++++++++- .../ApplicationDbContextModelSnapshot.cs | 205 ++++++++++++++++- DrinkRateAPI/Program.cs | 6 +- 6 files changed, 593 insertions(+), 42 deletions(-) delete mode 100644 DrinkRateAPI/Contexts/IdentityDbContext.cs rename DrinkRateAPI/Migrations/{20250809134029_Init.Designer.cs => 20250809140511_test.Designer.cs} (74%) rename DrinkRateAPI/Migrations/{20250809134029_Init.cs => 20250809140511_test.cs} (72%) diff --git a/DrinkRateAPI/Contexts/ApplicationDbContext.cs b/DrinkRateAPI/Contexts/ApplicationDbContext.cs index 17335b0..0c50f6a 100644 --- a/DrinkRateAPI/Contexts/ApplicationDbContext.cs +++ b/DrinkRateAPI/Contexts/ApplicationDbContext.cs @@ -1,9 +1,10 @@ using DrinkRateAPI.DbEntities; +using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; namespace DrinkRateAPI.Contexts; -public class ApplicationDbContext : DbContext +public class ApplicationDbContext : IdentityDbContext { public DbSet Companies { get; set; } public DbSet CompanyRatings { get; set; } @@ -18,8 +19,6 @@ public class ApplicationDbContext : DbContext public DbSet UserProfiles { get; set; } public DbSet UserProfileCompanyTableStats { get; set; } public DbSet UserProfileProductTableStats { get; set; } - - public DbSet ApplicationUsers { get; set; } protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { @@ -216,5 +215,7 @@ public class ApplicationDbContext : DbContext entity.HasOne(uppts => uppts.ProductTable) .WithMany(); }); + + base.OnModelCreating(modelBuilder); } } \ No newline at end of file diff --git a/DrinkRateAPI/Contexts/IdentityDbContext.cs b/DrinkRateAPI/Contexts/IdentityDbContext.cs deleted file mode 100644 index 2c9aaef..0000000 --- a/DrinkRateAPI/Contexts/IdentityDbContext.cs +++ /dev/null @@ -1,12 +0,0 @@ -using DrinkRateAPI.DbEntities; -using Microsoft.AspNetCore.Identity.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore; - -namespace DrinkRateAPI.Contexts; - -public class IdentityDbContext : IdentityDbContext -{ - public IdentityDbContext(DbContextOptions options) : - base(options) - { } -} \ No newline at end of file diff --git a/DrinkRateAPI/Migrations/20250809134029_Init.Designer.cs b/DrinkRateAPI/Migrations/20250809140511_test.Designer.cs similarity index 74% rename from DrinkRateAPI/Migrations/20250809134029_Init.Designer.cs rename to DrinkRateAPI/Migrations/20250809140511_test.Designer.cs index 9606caf..7690fb2 100644 --- a/DrinkRateAPI/Migrations/20250809134029_Init.Designer.cs +++ b/DrinkRateAPI/Migrations/20250809140511_test.Designer.cs @@ -12,8 +12,8 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace DrinkRateAPI.Migrations { [DbContext(typeof(ApplicationDbContext))] - [Migration("20250809134029_Init")] - partial class Init + [Migration("20250809140511_test")] + partial class test { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -94,10 +94,12 @@ namespace DrinkRateAPI.Migrations .HasColumnType("integer"); b.Property("ConcurrencyStamp") + .IsConcurrencyToken() .HasColumnType("text"); b.Property("Email") - .HasColumnType("text"); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.Property("EmailConfirmed") .HasColumnType("boolean"); @@ -109,10 +111,12 @@ namespace DrinkRateAPI.Migrations .HasColumnType("timestamp with time zone"); b.Property("NormalizedEmail") - .HasColumnType("text"); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.Property("NormalizedUserName") - .HasColumnType("text"); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.Property("PasswordHash") .HasColumnType("text"); @@ -130,11 +134,19 @@ namespace DrinkRateAPI.Migrations .HasColumnType("boolean"); b.Property("UserName") - .HasColumnType("text"); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.HasKey("Id"); - b.ToTable("ApplicationUsers"); + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers", (string)null); }); modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b => @@ -381,6 +393,138 @@ namespace DrinkRateAPI.Migrations b.ToTable("UserProfileProductTableStats"); }); + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("character varying(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("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("RoleId") + .IsRequired() + .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"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("ProviderKey") + .HasColumnType("text"); + + b.Property("ProviderDisplayName") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .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") + .HasColumnType("text"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + modelBuilder.Entity("DbCompanyTableDbCompanyTableView", b => { b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", null) @@ -558,6 +702,57 @@ namespace DrinkRateAPI.Migrations b.Navigation("UserProfile"); }); + 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("DrinkRateAPI.DbEntities.DbApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", 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("DrinkRateAPI.DbEntities.DbApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + modelBuilder.Entity("DrinkRateAPI.DbEntities.DbApplicationUser", b => { b.Navigation("UserProfile") diff --git a/DrinkRateAPI/Migrations/20250809134029_Init.cs b/DrinkRateAPI/Migrations/20250809140511_test.cs similarity index 72% rename from DrinkRateAPI/Migrations/20250809134029_Init.cs rename to DrinkRateAPI/Migrations/20250809140511_test.cs index 52db777..dfe7e1f 100644 --- a/DrinkRateAPI/Migrations/20250809134029_Init.cs +++ b/DrinkRateAPI/Migrations/20250809140511_test.cs @@ -1,25 +1,40 @@ using System; using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace DrinkRateAPI.Migrations { /// - public partial class Init : Migration + public partial class test : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( - name: "ApplicationUsers", + name: "AspNetRoles", columns: table => new { Id = table.Column(type: "text", nullable: false), - UserName = table.Column(type: "text", nullable: true), - NormalizedUserName = table.Column(type: "text", nullable: true), - Email = table.Column(type: "text", nullable: true), - NormalizedEmail = table.Column(type: "text", nullable: true), + Name = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + NormalizedName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + ConcurrencyStamp = table.Column(type: "text", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_AspNetRoles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "AspNetUsers", + columns: table => new + { + Id = table.Column(type: "text", nullable: false), + UserName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + NormalizedUserName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + Email = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), + NormalizedEmail = table.Column(type: "character varying(256)", maxLength: 256, nullable: true), EmailConfirmed = table.Column(type: "boolean", nullable: false), PasswordHash = table.Column(type: "text", nullable: true), SecurityStamp = table.Column(type: "text", nullable: true), @@ -33,7 +48,7 @@ namespace DrinkRateAPI.Migrations }, constraints: table => { - table.PrimaryKey("PK_ApplicationUsers", x => x.Id); + table.PrimaryKey("PK_AspNetUsers", x => x.Id); }); migrationBuilder.CreateTable( @@ -82,6 +97,112 @@ namespace DrinkRateAPI.Migrations table.PrimaryKey("PK_ProductTableView", x => x.Id); }); + migrationBuilder.CreateTable( + name: "AspNetRoleClaims", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + RoleId = table.Column(type: "text", nullable: false), + ClaimType = table.Column(type: "text", nullable: true), + ClaimValue = table.Column(type: "text", nullable: true) + }, + 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); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserClaims", + columns: table => new + { + Id = table.Column(type: "integer", nullable: false) + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), + UserId = table.Column(type: "text", nullable: false), + ClaimType = table.Column(type: "text", nullable: true), + ClaimValue = table.Column(type: "text", nullable: true) + }, + 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); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserLogins", + columns: table => new + { + LoginProvider = table.Column(type: "text", nullable: false), + ProviderKey = table.Column(type: "text", nullable: false), + ProviderDisplayName = table.Column(type: "text", nullable: true), + UserId = table.Column(type: "text", nullable: false) + }, + 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); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserRoles", + columns: table => new + { + UserId = table.Column(type: "text", nullable: false), + RoleId = table.Column(type: "text", nullable: false) + }, + 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); + }); + + migrationBuilder.CreateTable( + name: "AspNetUserTokens", + columns: table => new + { + UserId = table.Column(type: "text", nullable: false), + LoginProvider = table.Column(type: "text", nullable: false), + Name = table.Column(type: "text", nullable: false), + Value = table.Column(type: "text", nullable: true) + }, + 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); + }); + migrationBuilder.CreateTable( name: "UserProfiles", columns: table => new @@ -96,9 +217,9 @@ namespace DrinkRateAPI.Migrations { table.PrimaryKey("PK_UserProfiles", x => x.Id); table.ForeignKey( - name: "FK_UserProfiles_ApplicationUsers_ApplicationUserId", + name: "FK_UserProfiles_AspNetUsers_ApplicationUserId", column: x => x.ApplicationUserId, - principalTable: "ApplicationUsers", + principalTable: "AspNetUsers", principalColumn: "Id", onDelete: ReferentialAction.Cascade); }); @@ -354,6 +475,43 @@ namespace DrinkRateAPI.Migrations onDelete: ReferentialAction.Cascade); }); + 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_Companies_CompanyName", table: "Companies", @@ -449,6 +607,21 @@ namespace DrinkRateAPI.Migrations /// 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: "CompanyRatings"); @@ -473,6 +646,9 @@ namespace DrinkRateAPI.Migrations migrationBuilder.DropTable( name: "UserProfileProductTableStats"); + migrationBuilder.DropTable( + name: "AspNetRoles"); + migrationBuilder.DropTable( name: "CompanyTableViews"); @@ -492,7 +668,7 @@ namespace DrinkRateAPI.Migrations name: "ProductTable"); migrationBuilder.DropTable( - name: "ApplicationUsers"); + name: "AspNetUsers"); migrationBuilder.DropTable( name: "CompanyTables"); diff --git a/DrinkRateAPI/Migrations/ApplicationDbContextModelSnapshot.cs b/DrinkRateAPI/Migrations/ApplicationDbContextModelSnapshot.cs index 68bd9d7..7a193e4 100644 --- a/DrinkRateAPI/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/DrinkRateAPI/Migrations/ApplicationDbContextModelSnapshot.cs @@ -91,10 +91,12 @@ namespace DrinkRateAPI.Migrations .HasColumnType("integer"); b.Property("ConcurrencyStamp") + .IsConcurrencyToken() .HasColumnType("text"); b.Property("Email") - .HasColumnType("text"); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.Property("EmailConfirmed") .HasColumnType("boolean"); @@ -106,10 +108,12 @@ namespace DrinkRateAPI.Migrations .HasColumnType("timestamp with time zone"); b.Property("NormalizedEmail") - .HasColumnType("text"); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.Property("NormalizedUserName") - .HasColumnType("text"); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.Property("PasswordHash") .HasColumnType("text"); @@ -127,11 +131,19 @@ namespace DrinkRateAPI.Migrations .HasColumnType("boolean"); b.Property("UserName") - .HasColumnType("text"); + .HasMaxLength(256) + .HasColumnType("character varying(256)"); b.HasKey("Id"); - b.ToTable("ApplicationUsers"); + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers", (string)null); }); modelBuilder.Entity("DrinkRateAPI.DbEntities.DbCompany", b => @@ -378,6 +390,138 @@ namespace DrinkRateAPI.Migrations b.ToTable("UserProfileProductTableStats"); }); + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("text"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("character varying(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("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("RoleId") + .IsRequired() + .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"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("text"); + + b.Property("ProviderKey") + .HasColumnType("text"); + + b.Property("ProviderDisplayName") + .HasColumnType("text"); + + b.Property("UserId") + .IsRequired() + .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") + .HasColumnType("text"); + + b.Property("Name") + .HasColumnType("text"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + modelBuilder.Entity("DbCompanyTableDbCompanyTableView", b => { b.HasOne("DrinkRateAPI.DbEntities.DbCompanyTable", null) @@ -555,6 +699,57 @@ namespace DrinkRateAPI.Migrations b.Navigation("UserProfile"); }); + 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("DrinkRateAPI.DbEntities.DbApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", 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("DrinkRateAPI.DbEntities.DbApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("DrinkRateAPI.DbEntities.DbApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + modelBuilder.Entity("DrinkRateAPI.DbEntities.DbApplicationUser", b => { b.Navigation("UserProfile") diff --git a/DrinkRateAPI/Program.cs b/DrinkRateAPI/Program.cs index f0eb316..6634693 100644 --- a/DrinkRateAPI/Program.cs +++ b/DrinkRateAPI/Program.cs @@ -12,7 +12,7 @@ builder.Services.AddControllers(); builder.Services.AddEndpointsApiExplorer(); builder.Services.AddAuthorization(); builder.Services.AddIdentityApiEndpoints() - .AddEntityFrameworkStores(); + .AddEntityFrameworkStores(); builder.Services.AddSwaggerGen(c => { @@ -48,10 +48,6 @@ builder.Services.AddSwaggerGen(c => }); }); -// to do: remove -builder.Services.AddDbContext( - options => options.UseInMemoryDatabase("AppDb")); - builder.Services.AddDbContext(); var app = builder.Build();