Browse Source
* Initial Web2 project working * Initial WebRazorPages project working * Adding additional sln files * Removing old project * Fixed integration tests * Getting FunctionalTests working. * Got Swagger working in Web * Moved web2 to webmain
committed by
GitHub
54 changed files with 2087 additions and 398 deletions
@ -0,0 +1,3 @@ |
|||
@{ |
|||
Layout = "/Views/Shared/_Layout.cshtml"; |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
using Microsoft.AspNetCore.Identity.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore; |
|||
|
|||
namespace Web2.Data |
|||
{ |
|||
public class ApplicationDbContext : IdentityDbContext |
|||
{ |
|||
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) |
|||
: base(options) |
|||
{ |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,236 @@ |
|||
// <auto-generated />
|
|||
using System; |
|||
using Web2.Data; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.Infrastructure; |
|||
using Microsoft.EntityFrameworkCore.Metadata; |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
|||
|
|||
namespace Web2.Data.Migrations |
|||
{ |
|||
[DbContext(typeof(ApplicationDbContext))] |
|||
[Migration("00000000000000_CreateIdentitySchema")] |
|||
partial class CreateIdentitySchema |
|||
{ |
|||
protected override void BuildTargetModel(ModelBuilder modelBuilder) |
|||
{ |
|||
#pragma warning disable 612, 618
|
|||
modelBuilder |
|||
.HasAnnotation("ProductVersion", "2.2.0-preview1") |
|||
.HasAnnotation("Relational:MaxIdentifierLength", 128) |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => |
|||
{ |
|||
b.Property<string>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken(); |
|||
|
|||
b.Property<string>("Name") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedName") |
|||
.IsUnique() |
|||
.HasName("RoleNameIndex") |
|||
.HasFilter("[NormalizedName] IS NOT NULL"); |
|||
|
|||
b.ToTable("AspNetRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
|||
{ |
|||
b.Property<int>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
b.Property<string>("ClaimType"); |
|||
|
|||
b.Property<string>("ClaimValue"); |
|||
|
|||
b.Property<string>("RoleId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AspNetRoleClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => |
|||
{ |
|||
b.Property<string>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<int>("AccessFailedCount"); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken(); |
|||
|
|||
b.Property<string>("Email") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<bool>("EmailConfirmed"); |
|||
|
|||
b.Property<bool>("LockoutEnabled"); |
|||
|
|||
b.Property<DateTimeOffset?>("LockoutEnd"); |
|||
|
|||
b.Property<string>("NormalizedEmail") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedUserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("PasswordHash"); |
|||
|
|||
b.Property<string>("PhoneNumber"); |
|||
|
|||
b.Property<bool>("PhoneNumberConfirmed"); |
|||
|
|||
b.Property<string>("SecurityStamp"); |
|||
|
|||
b.Property<bool>("TwoFactorEnabled"); |
|||
|
|||
b.Property<string>("UserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedEmail") |
|||
.HasName("EmailIndex"); |
|||
|
|||
b.HasIndex("NormalizedUserName") |
|||
.IsUnique() |
|||
.HasName("UserNameIndex") |
|||
.HasFilter("[NormalizedUserName] IS NOT NULL"); |
|||
|
|||
b.ToTable("AspNetUsers"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
|||
{ |
|||
b.Property<int>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
b.Property<string>("ClaimType"); |
|||
|
|||
b.Property<string>("ClaimValue"); |
|||
|
|||
b.Property<string>("UserId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AspNetUserClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
|||
{ |
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderDisplayName"); |
|||
|
|||
b.Property<string>("UserId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("LoginProvider", "ProviderKey"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AspNetUserLogins"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
|||
{ |
|||
b.Property<string>("UserId"); |
|||
|
|||
b.Property<string>("RoleId"); |
|||
|
|||
b.HasKey("UserId", "RoleId"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AspNetUserRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
|||
{ |
|||
b.Property<string>("UserId"); |
|||
|
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Name") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Value"); |
|||
|
|||
b.HasKey("UserId", "LoginProvider", "Name"); |
|||
|
|||
b.ToTable("AspNetUserTokens"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
|
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
#pragma warning restore 612, 618
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,220 @@ |
|||
using System; |
|||
using Microsoft.EntityFrameworkCore.Metadata; |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
|
|||
namespace Web2.Data.Migrations |
|||
{ |
|||
public partial class CreateIdentitySchema : Migration |
|||
{ |
|||
protected override void Up(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.CreateTable( |
|||
name: "AspNetRoles", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<string>(nullable: false), |
|||
Name = table.Column<string>(maxLength: 256, nullable: true), |
|||
NormalizedName = table.Column<string>(maxLength: 256, nullable: true), |
|||
ConcurrencyStamp = table.Column<string>(nullable: true) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AspNetRoles", x => x.Id); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AspNetUsers", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<string>(nullable: false), |
|||
UserName = table.Column<string>(maxLength: 256, nullable: true), |
|||
NormalizedUserName = table.Column<string>(maxLength: 256, nullable: true), |
|||
Email = table.Column<string>(maxLength: 256, nullable: true), |
|||
NormalizedEmail = table.Column<string>(maxLength: 256, nullable: true), |
|||
EmailConfirmed = table.Column<bool>(nullable: false), |
|||
PasswordHash = table.Column<string>(nullable: true), |
|||
SecurityStamp = table.Column<string>(nullable: true), |
|||
ConcurrencyStamp = table.Column<string>(nullable: true), |
|||
PhoneNumber = table.Column<string>(nullable: true), |
|||
PhoneNumberConfirmed = table.Column<bool>(nullable: false), |
|||
TwoFactorEnabled = table.Column<bool>(nullable: false), |
|||
LockoutEnd = table.Column<DateTimeOffset>(nullable: true), |
|||
LockoutEnabled = table.Column<bool>(nullable: false), |
|||
AccessFailedCount = table.Column<int>(nullable: false) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AspNetUsers", x => x.Id); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AspNetRoleClaims", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<int>(nullable: false) |
|||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), |
|||
RoleId = table.Column<string>(nullable: false), |
|||
ClaimType = table.Column<string>(nullable: true), |
|||
ClaimValue = table.Column<string>(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<int>(nullable: false) |
|||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), |
|||
UserId = table.Column<string>(nullable: false), |
|||
ClaimType = table.Column<string>(nullable: true), |
|||
ClaimValue = table.Column<string>(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<string>(maxLength: 128, nullable: false), |
|||
ProviderKey = table.Column<string>(maxLength: 128, nullable: false), |
|||
ProviderDisplayName = table.Column<string>(nullable: true), |
|||
UserId = table.Column<string>(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<string>(nullable: false), |
|||
RoleId = table.Column<string>(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<string>(nullable: false), |
|||
LoginProvider = table.Column<string>(maxLength: 128, nullable: false), |
|||
Name = table.Column<string>(maxLength: 128, nullable: false), |
|||
Value = table.Column<string>(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.CreateIndex( |
|||
name: "IX_AspNetRoleClaims_RoleId", |
|||
table: "AspNetRoleClaims", |
|||
column: "RoleId"); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "RoleNameIndex", |
|||
table: "AspNetRoles", |
|||
column: "NormalizedName", |
|||
unique: true, |
|||
filter: "[NormalizedName] IS NOT NULL"); |
|||
|
|||
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, |
|||
filter: "[NormalizedUserName] IS NOT NULL"); |
|||
} |
|||
|
|||
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: "AspNetRoles"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AspNetUsers"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,234 @@ |
|||
// <auto-generated />
|
|||
using System; |
|||
using Web2.Data; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.Infrastructure; |
|||
using Microsoft.EntityFrameworkCore.Metadata; |
|||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
|||
|
|||
namespace Web2.Data.Migrations |
|||
{ |
|||
[DbContext(typeof(ApplicationDbContext))] |
|||
partial class ApplicationDbContextModelSnapshot : ModelSnapshot |
|||
{ |
|||
protected override void BuildModel(ModelBuilder modelBuilder) |
|||
{ |
|||
#pragma warning disable 612, 618
|
|||
modelBuilder |
|||
.HasAnnotation("ProductVersion", "2.2.0-preview1") |
|||
.HasAnnotation("Relational:MaxIdentifierLength", 128) |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => |
|||
{ |
|||
b.Property<string>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken(); |
|||
|
|||
b.Property<string>("Name") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedName") |
|||
.IsUnique() |
|||
.HasName("RoleNameIndex") |
|||
.HasFilter("[NormalizedName] IS NOT NULL"); |
|||
|
|||
b.ToTable("AspNetRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
|||
{ |
|||
b.Property<int>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
b.Property<string>("ClaimType"); |
|||
|
|||
b.Property<string>("ClaimValue"); |
|||
|
|||
b.Property<string>("RoleId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AspNetRoleClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => |
|||
{ |
|||
b.Property<string>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<int>("AccessFailedCount"); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken(); |
|||
|
|||
b.Property<string>("Email") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<bool>("EmailConfirmed"); |
|||
|
|||
b.Property<bool>("LockoutEnabled"); |
|||
|
|||
b.Property<DateTimeOffset?>("LockoutEnd"); |
|||
|
|||
b.Property<string>("NormalizedEmail") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedUserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("PasswordHash"); |
|||
|
|||
b.Property<string>("PhoneNumber"); |
|||
|
|||
b.Property<bool>("PhoneNumberConfirmed"); |
|||
|
|||
b.Property<string>("SecurityStamp"); |
|||
|
|||
b.Property<bool>("TwoFactorEnabled"); |
|||
|
|||
b.Property<string>("UserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedEmail") |
|||
.HasName("EmailIndex"); |
|||
|
|||
b.HasIndex("NormalizedUserName") |
|||
.IsUnique() |
|||
.HasName("UserNameIndex") |
|||
.HasFilter("[NormalizedUserName] IS NOT NULL"); |
|||
|
|||
b.ToTable("AspNetUsers"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
|||
{ |
|||
b.Property<int>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
b.Property<string>("ClaimType"); |
|||
|
|||
b.Property<string>("ClaimValue"); |
|||
|
|||
b.Property<string>("UserId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AspNetUserClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
|||
{ |
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderDisplayName"); |
|||
|
|||
b.Property<string>("UserId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("LoginProvider", "ProviderKey"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AspNetUserLogins"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
|||
{ |
|||
b.Property<string>("UserId"); |
|||
|
|||
b.Property<string>("RoleId"); |
|||
|
|||
b.HasKey("UserId", "RoleId"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AspNetUserRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
|||
{ |
|||
b.Property<string>("UserId"); |
|||
|
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Name") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Value"); |
|||
|
|||
b.HasKey("UserId", "LoginProvider", "Name"); |
|||
|
|||
b.ToTable("AspNetUserTokens"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
|
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
#pragma warning restore 612, 618
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
using System; |
|||
|
|||
namespace Web2.Models |
|||
{ |
|||
public class ErrorViewModel |
|||
{ |
|||
public string RequestId { get; set; } |
|||
|
|||
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); |
|||
} |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
@{ |
|||
ViewData["Title"] = "Home Page"; |
|||
} |
|||
|
|||
<div class="text-center"> |
|||
<h1 class="display-4">Welcome</h1> |
|||
<p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p> |
|||
</div> |
|||
@ -0,0 +1,6 @@ |
|||
@{ |
|||
ViewData["Title"] = "Privacy Policy"; |
|||
} |
|||
<h1>@ViewData["Title"]</h1> |
|||
|
|||
<p>Use this page to detail your site's privacy policy.</p> |
|||
@ -0,0 +1,25 @@ |
|||
@using Microsoft.AspNetCore.Http.Features |
|||
|
|||
@{ |
|||
var consentFeature = Context.Features.Get<ITrackingConsentFeature>(); |
|||
var showBanner = !consentFeature?.CanTrack ?? false; |
|||
var cookieString = consentFeature?.CreateConsentCookie(); |
|||
} |
|||
|
|||
@if (showBanner) |
|||
{ |
|||
<div id="cookieConsent" class="alert alert-info alert-dismissible fade show" role="alert"> |
|||
Use this space to summarize your privacy and cookie use policy. <a asp-area="" asp-controller="Home" asp-action="Privacy">Learn More</a>. |
|||
<button type="button" class="accept-policy close" data-dismiss="alert" aria-label="Close" data-cookie-string="@cookieString"> |
|||
<span aria-hidden="true">Accept</span> |
|||
</button> |
|||
</div> |
|||
<script> |
|||
(function () { |
|||
var button = document.querySelector("#cookieConsent button[data-cookie-string]"); |
|||
button.addEventListener("click", function (event) { |
|||
document.cookie = button.dataset.cookieString; |
|||
}, false); |
|||
})(); |
|||
</script> |
|||
} |
|||
@ -1,24 +0,0 @@ |
|||
// Configure bundling and minification for the project. |
|||
// More info at https://go.microsoft.com/fwlink/?LinkId=808241 |
|||
[ |
|||
{ |
|||
"outputFileName": "wwwroot/css/app.min.css", |
|||
// An array of relative input file paths. Globbing patterns supported |
|||
"inputFiles": [ |
|||
"wwwroot/css/app.css" |
|||
] |
|||
}, |
|||
{ |
|||
"outputFileName": "wwwroot/js/site.min.js", |
|||
"inputFiles": [ |
|||
"wwwroot/js/site.js" |
|||
], |
|||
// Optionally specify minification options |
|||
"minify": { |
|||
"enabled": true, |
|||
"renameLocals": true |
|||
}, |
|||
// Optionally generate .map file |
|||
"sourceMap": false |
|||
} |
|||
] |
|||
@ -1,42 +0,0 @@ |
|||
[ |
|||
{ |
|||
"outputFile": "wwwroot/css/orders/orders.component.css", |
|||
"inputFile": "wwwroot/css/orders/orders.component.scss" |
|||
}, |
|||
//{ |
|||
// "outputFile": "wwwroot/css/orders/orders-new/orders-new.component.css", |
|||
// "inputFile": "wwwroot/css/orders/orders-new/orders-new.component.scss" |
|||
//}, |
|||
//{ |
|||
// "outputFile": "wwwroot/css/orders/orders-detail/orders-detail.component.css", |
|||
// "inputFile": "wwwroot/css/orders/orders-detail/orders-detail.component.scss" |
|||
//}, |
|||
{ |
|||
"outputFile": "wwwroot/css/catalog/catalog.component.css", |
|||
"inputFile": "wwwroot/css/catalog/catalog.component.scss" |
|||
}, |
|||
{ |
|||
"outputFile": "wwwroot/css/basket/basket.component.css", |
|||
"inputFile": "wwwroot/css/basket/basket.component.scss" |
|||
}, |
|||
{ |
|||
"outputFile": "wwwroot/css/basket/basket-status/basket-status.component.css", |
|||
"inputFile": "wwwroot/css/basket/basket-status/basket-status.component.scss" |
|||
}, |
|||
//{ |
|||
// "outputFile": "wwwroot/css/shared/components/header/header.css", |
|||
// "inputFile": "wwwroot/css/shared/components/header/header.scss" |
|||
//}, |
|||
//{ |
|||
// "outputFile": "wwwroot/css/shared/components/identity/identity.css", |
|||
// "inputFile": "wwwroot/css/shared/components/identity/identity.scss" |
|||
//}, |
|||
//{ |
|||
// "outputFile": "wwwroot/css/shared/components/pager/pager.css", |
|||
// "inputFile": "wwwroot/css/shared/components/pager/pager.scss" |
|||
//}, |
|||
{ |
|||
"outputFile": "wwwroot/css/app.component.css", |
|||
"inputFile": "wwwroot/css/app.component.scss" |
|||
} |
|||
] |
|||
@ -0,0 +1,3 @@ |
|||
@{ |
|||
Layout = "/Pages/Shared/_Layout.cshtml"; |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Text; |
|||
using Microsoft.AspNetCore.Identity.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore; |
|||
|
|||
namespace WebRazorPages.Data |
|||
{ |
|||
public class ApplicationDbContext : IdentityDbContext |
|||
{ |
|||
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) |
|||
: base(options) |
|||
{ |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,236 @@ |
|||
// <auto-generated />
|
|||
using System; |
|||
using WebRazorPages.Data; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.Infrastructure; |
|||
using Microsoft.EntityFrameworkCore.Metadata; |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
|||
|
|||
namespace WebRazorPages.Data.Migrations |
|||
{ |
|||
[DbContext(typeof(ApplicationDbContext))] |
|||
[Migration("00000000000000_CreateIdentitySchema")] |
|||
partial class CreateIdentitySchema |
|||
{ |
|||
protected override void BuildTargetModel(ModelBuilder modelBuilder) |
|||
{ |
|||
#pragma warning disable 612, 618
|
|||
modelBuilder |
|||
.HasAnnotation("ProductVersion", "2.2.0-preview1") |
|||
.HasAnnotation("Relational:MaxIdentifierLength", 128) |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => |
|||
{ |
|||
b.Property<string>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken(); |
|||
|
|||
b.Property<string>("Name") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedName") |
|||
.IsUnique() |
|||
.HasName("RoleNameIndex") |
|||
.HasFilter("[NormalizedName] IS NOT NULL"); |
|||
|
|||
b.ToTable("AspNetRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
|||
{ |
|||
b.Property<int>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
b.Property<string>("ClaimType"); |
|||
|
|||
b.Property<string>("ClaimValue"); |
|||
|
|||
b.Property<string>("RoleId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AspNetRoleClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => |
|||
{ |
|||
b.Property<string>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<int>("AccessFailedCount"); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken(); |
|||
|
|||
b.Property<string>("Email") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<bool>("EmailConfirmed"); |
|||
|
|||
b.Property<bool>("LockoutEnabled"); |
|||
|
|||
b.Property<DateTimeOffset?>("LockoutEnd"); |
|||
|
|||
b.Property<string>("NormalizedEmail") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedUserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("PasswordHash"); |
|||
|
|||
b.Property<string>("PhoneNumber"); |
|||
|
|||
b.Property<bool>("PhoneNumberConfirmed"); |
|||
|
|||
b.Property<string>("SecurityStamp"); |
|||
|
|||
b.Property<bool>("TwoFactorEnabled"); |
|||
|
|||
b.Property<string>("UserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedEmail") |
|||
.HasName("EmailIndex"); |
|||
|
|||
b.HasIndex("NormalizedUserName") |
|||
.IsUnique() |
|||
.HasName("UserNameIndex") |
|||
.HasFilter("[NormalizedUserName] IS NOT NULL"); |
|||
|
|||
b.ToTable("AspNetUsers"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
|||
{ |
|||
b.Property<int>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
b.Property<string>("ClaimType"); |
|||
|
|||
b.Property<string>("ClaimValue"); |
|||
|
|||
b.Property<string>("UserId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AspNetUserClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
|||
{ |
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderDisplayName"); |
|||
|
|||
b.Property<string>("UserId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("LoginProvider", "ProviderKey"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AspNetUserLogins"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
|||
{ |
|||
b.Property<string>("UserId"); |
|||
|
|||
b.Property<string>("RoleId"); |
|||
|
|||
b.HasKey("UserId", "RoleId"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AspNetUserRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
|||
{ |
|||
b.Property<string>("UserId"); |
|||
|
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Name") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Value"); |
|||
|
|||
b.HasKey("UserId", "LoginProvider", "Name"); |
|||
|
|||
b.ToTable("AspNetUserTokens"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
|
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
#pragma warning restore 612, 618
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,220 @@ |
|||
using System; |
|||
using Microsoft.EntityFrameworkCore.Metadata; |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
|
|||
namespace WebRazorPages.Data.Migrations |
|||
{ |
|||
public partial class CreateIdentitySchema : Migration |
|||
{ |
|||
protected override void Up(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.CreateTable( |
|||
name: "AspNetRoles", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<string>(nullable: false), |
|||
Name = table.Column<string>(maxLength: 256, nullable: true), |
|||
NormalizedName = table.Column<string>(maxLength: 256, nullable: true), |
|||
ConcurrencyStamp = table.Column<string>(nullable: true) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AspNetRoles", x => x.Id); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AspNetUsers", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<string>(nullable: false), |
|||
UserName = table.Column<string>(maxLength: 256, nullable: true), |
|||
NormalizedUserName = table.Column<string>(maxLength: 256, nullable: true), |
|||
Email = table.Column<string>(maxLength: 256, nullable: true), |
|||
NormalizedEmail = table.Column<string>(maxLength: 256, nullable: true), |
|||
EmailConfirmed = table.Column<bool>(nullable: false), |
|||
PasswordHash = table.Column<string>(nullable: true), |
|||
SecurityStamp = table.Column<string>(nullable: true), |
|||
ConcurrencyStamp = table.Column<string>(nullable: true), |
|||
PhoneNumber = table.Column<string>(nullable: true), |
|||
PhoneNumberConfirmed = table.Column<bool>(nullable: false), |
|||
TwoFactorEnabled = table.Column<bool>(nullable: false), |
|||
LockoutEnd = table.Column<DateTimeOffset>(nullable: true), |
|||
LockoutEnabled = table.Column<bool>(nullable: false), |
|||
AccessFailedCount = table.Column<int>(nullable: false) |
|||
}, |
|||
constraints: table => |
|||
{ |
|||
table.PrimaryKey("PK_AspNetUsers", x => x.Id); |
|||
}); |
|||
|
|||
migrationBuilder.CreateTable( |
|||
name: "AspNetRoleClaims", |
|||
columns: table => new |
|||
{ |
|||
Id = table.Column<int>(nullable: false) |
|||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), |
|||
RoleId = table.Column<string>(nullable: false), |
|||
ClaimType = table.Column<string>(nullable: true), |
|||
ClaimValue = table.Column<string>(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<int>(nullable: false) |
|||
.Annotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn), |
|||
UserId = table.Column<string>(nullable: false), |
|||
ClaimType = table.Column<string>(nullable: true), |
|||
ClaimValue = table.Column<string>(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<string>(maxLength: 128, nullable: false), |
|||
ProviderKey = table.Column<string>(maxLength: 128, nullable: false), |
|||
ProviderDisplayName = table.Column<string>(nullable: true), |
|||
UserId = table.Column<string>(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<string>(nullable: false), |
|||
RoleId = table.Column<string>(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<string>(nullable: false), |
|||
LoginProvider = table.Column<string>(maxLength: 128, nullable: false), |
|||
Name = table.Column<string>(maxLength: 128, nullable: false), |
|||
Value = table.Column<string>(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.CreateIndex( |
|||
name: "IX_AspNetRoleClaims_RoleId", |
|||
table: "AspNetRoleClaims", |
|||
column: "RoleId"); |
|||
|
|||
migrationBuilder.CreateIndex( |
|||
name: "RoleNameIndex", |
|||
table: "AspNetRoles", |
|||
column: "NormalizedName", |
|||
unique: true, |
|||
filter: "[NormalizedName] IS NOT NULL"); |
|||
|
|||
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, |
|||
filter: "[NormalizedUserName] IS NOT NULL"); |
|||
} |
|||
|
|||
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: "AspNetRoles"); |
|||
|
|||
migrationBuilder.DropTable( |
|||
name: "AspNetUsers"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,234 @@ |
|||
// <auto-generated />
|
|||
using System; |
|||
using WebRazorPages.Data; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.Infrastructure; |
|||
using Microsoft.EntityFrameworkCore.Metadata; |
|||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
|||
|
|||
namespace WebRazorPages.Data.Migrations |
|||
{ |
|||
[DbContext(typeof(ApplicationDbContext))] |
|||
partial class ApplicationDbContextModelSnapshot : ModelSnapshot |
|||
{ |
|||
protected override void BuildModel(ModelBuilder modelBuilder) |
|||
{ |
|||
#pragma warning disable 612, 618
|
|||
modelBuilder |
|||
.HasAnnotation("ProductVersion", "2.2.0-preview1") |
|||
.HasAnnotation("Relational:MaxIdentifierLength", 128) |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => |
|||
{ |
|||
b.Property<string>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken(); |
|||
|
|||
b.Property<string>("Name") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedName") |
|||
.IsUnique() |
|||
.HasName("RoleNameIndex") |
|||
.HasFilter("[NormalizedName] IS NOT NULL"); |
|||
|
|||
b.ToTable("AspNetRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
|||
{ |
|||
b.Property<int>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
b.Property<string>("ClaimType"); |
|||
|
|||
b.Property<string>("ClaimValue"); |
|||
|
|||
b.Property<string>("RoleId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AspNetRoleClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => |
|||
{ |
|||
b.Property<string>("Id") |
|||
.ValueGeneratedOnAdd(); |
|||
|
|||
b.Property<int>("AccessFailedCount"); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken(); |
|||
|
|||
b.Property<string>("Email") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<bool>("EmailConfirmed"); |
|||
|
|||
b.Property<bool>("LockoutEnabled"); |
|||
|
|||
b.Property<DateTimeOffset?>("LockoutEnd"); |
|||
|
|||
b.Property<string>("NormalizedEmail") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("NormalizedUserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.Property<string>("PasswordHash"); |
|||
|
|||
b.Property<string>("PhoneNumber"); |
|||
|
|||
b.Property<bool>("PhoneNumberConfirmed"); |
|||
|
|||
b.Property<string>("SecurityStamp"); |
|||
|
|||
b.Property<bool>("TwoFactorEnabled"); |
|||
|
|||
b.Property<string>("UserName") |
|||
.HasMaxLength(256); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("NormalizedEmail") |
|||
.HasName("EmailIndex"); |
|||
|
|||
b.HasIndex("NormalizedUserName") |
|||
.IsUnique() |
|||
.HasName("UserNameIndex") |
|||
.HasFilter("[NormalizedUserName] IS NOT NULL"); |
|||
|
|||
b.ToTable("AspNetUsers"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
|||
{ |
|||
b.Property<int>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); |
|||
|
|||
b.Property<string>("ClaimType"); |
|||
|
|||
b.Property<string>("ClaimValue"); |
|||
|
|||
b.Property<string>("UserId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AspNetUserClaims"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
|||
{ |
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("ProviderDisplayName"); |
|||
|
|||
b.Property<string>("UserId") |
|||
.IsRequired(); |
|||
|
|||
b.HasKey("LoginProvider", "ProviderKey"); |
|||
|
|||
b.HasIndex("UserId"); |
|||
|
|||
b.ToTable("AspNetUserLogins"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
|||
{ |
|||
b.Property<string>("UserId"); |
|||
|
|||
b.Property<string>("RoleId"); |
|||
|
|||
b.HasKey("UserId", "RoleId"); |
|||
|
|||
b.HasIndex("RoleId"); |
|||
|
|||
b.ToTable("AspNetUserRoles"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
|||
{ |
|||
b.Property<string>("UserId"); |
|||
|
|||
b.Property<string>("LoginProvider") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Name") |
|||
.HasMaxLength(128); |
|||
|
|||
b.Property<string>("Value"); |
|||
|
|||
b.HasKey("UserId", "LoginProvider", "Name"); |
|||
|
|||
b.ToTable("AspNetUserTokens"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole") |
|||
.WithMany() |
|||
.HasForeignKey("RoleId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
|
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b => |
|||
{ |
|||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser") |
|||
.WithMany() |
|||
.HasForeignKey("UserId") |
|||
.OnDelete(DeleteBehavior.Cascade); |
|||
}); |
|||
#pragma warning restore 612, 618
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
@page |
|||
@model PrivacyModel |
|||
@{ |
|||
ViewData["Title"] = "Privacy Policy"; |
|||
} |
|||
<h1>@ViewData["Title"]</h1> |
|||
|
|||
<p>Use this page to detail your site's privacy policy.</p> |
|||
@ -0,0 +1,11 @@ |
|||
using Microsoft.AspNetCore.Mvc.RazorPages; |
|||
|
|||
namespace Microsoft.eShopWeb.RazorPages.Pages |
|||
{ |
|||
public class PrivacyModel : PageModel |
|||
{ |
|||
public void OnGet() |
|||
{ |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,25 @@ |
|||
@using Microsoft.AspNetCore.Http.Features |
|||
|
|||
@{ |
|||
var consentFeature = Context.Features.Get<ITrackingConsentFeature>(); |
|||
var showBanner = !consentFeature?.CanTrack ?? false; |
|||
var cookieString = consentFeature?.CreateConsentCookie(); |
|||
} |
|||
|
|||
@if (showBanner) |
|||
{ |
|||
<div id="cookieConsent" class="alert alert-info alert-dismissible fade show" role="alert"> |
|||
Use this space to summarize your privacy and cookie use policy. <a asp-page="/Privacy">Learn More</a>. |
|||
<button type="button" class="accept-policy close" data-dismiss="alert" aria-label="Close" data-cookie-string="@cookieString"> |
|||
<span aria-hidden="true">Accept</span> |
|||
</button> |
|||
</div> |
|||
<script> |
|||
(function () { |
|||
var button = document.querySelector("#cookieConsent button[data-cookie-string]"); |
|||
button.addEventListener("click", function (event) { |
|||
document.cookie = button.dataset.cookieString; |
|||
}, false); |
|||
})(); |
|||
</script> |
|||
} |
|||
@ -1,16 +1,27 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk.Web"> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>netcoreapp2.1</TargetFramework> |
|||
<TargetFramework>netcoreapp2.2</TargetFramework> |
|||
<RootNamespace>Microsoft.eShopWeb.RazorPages</RootNamespace> |
|||
<AssemblyName>Microsoft.eShopWeb.RazorPages</AssemblyName> |
|||
<DockerTargetOS>Linux</DockerTargetOS> |
|||
<UserSecretsId>231ddc1b-6787-4704-a0c0-18df6a022660</UserSecretsId> |
|||
<UserSecretsId>aspnet-WebRazorPages-6B1EFE4D-B682-4543-93F5-69EE95000B1D</UserSecretsId> |
|||
<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel> |
|||
</PropertyGroup> |
|||
|
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.3" /> |
|||
<PackageReference Include="Microsoft.AspNetCore.App" /> |
|||
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" /> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<ProjectReference Include="..\ApplicationCore\ApplicationCore.csproj" /> |
|||
<ProjectReference Include="..\Infrastructure\Infrastructure.csproj" /> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<Content Update="Pages\Shared\_LoginPartial.cshtml"> |
|||
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> |
|||
</Content> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
|
|||
@ -1,8 +1,11 @@ |
|||
{ |
|||
{ |
|||
"ConnectionStrings": { |
|||
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=aspnet-WebRazorPages-53bc9b9d-9d6a-45d4-8429-2a2761773502;Trusted_Connection=True;MultipleActiveResultSets=true" |
|||
}, |
|||
"Logging": { |
|||
"IncludeScopes": false, |
|||
"LogLevel": { |
|||
"Default": "Warning" |
|||
} |
|||
} |
|||
}, |
|||
"AllowedHosts": "*" |
|||
} |
|||
|
|||
@ -0,0 +1,14 @@ |
|||
using System; |
|||
using Xunit; |
|||
|
|||
namespace XUnitTestProject1 |
|||
{ |
|||
public class UnitTest1 |
|||
{ |
|||
[Fact] |
|||
public void Test1() |
|||
{ |
|||
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>netcoreapp2.2</TargetFramework> |
|||
|
|||
<IsPackable>false</IsPackable> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" /> |
|||
<PackageReference Include="xunit" Version="2.4.0" /> |
|||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
Loading…
Reference in new issue