fix: I'm dumb and added a git diff txt file :)
This commit is contained in:
parent
b24beb3154
commit
2274abd3fb
1 changed files with 0 additions and 417 deletions
417
auth.txt
417
auth.txt
|
|
@ -1,417 +0,0 @@
|
|||
diff --git a/Data/ApplicationDbContext.cs b/Data/ApplicationDbContext.cs
|
||||
index e919f1a..0f29688 100644
|
||||
--- a/Data/ApplicationDbContext.cs
|
||||
+++ b/Data/ApplicationDbContext.cs
|
||||
@@ -1,12 +1,20 @@
|
||||
+using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
|
||||
+using Microsoft.AspNetCore.Identity;
|
||||
+using Microsoft.AspNetCore.Identity.UI;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using turf_tasker.Models;
|
||||
|
||||
namespace turf_tasker.Data;
|
||||
|
||||
-public class ApplicationDbContext : DbContext
|
||||
+public class ApplicationDbContext : IdentityDbContext<IdentityUser>
|
||||
{
|
||||
+ private readonly DbContextOptions<ApplicationDbContext> _options;
|
||||
+
|
||||
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
|
||||
- : base(options) { }
|
||||
+ : base(options)
|
||||
+ {
|
||||
+ _options = options;
|
||||
+ }
|
||||
|
||||
public DbSet<LawnCareEvent> LawnCareEvents { get; set; }
|
||||
|
||||
diff --git a/Migrations/ApplicationDbContextModelSnapshot.cs b/Migrations/ApplicationDbContextModelSnapshot.cs
|
||||
index 320c9f9..c57d1dc 100644
|
||||
--- a/Migrations/ApplicationDbContextModelSnapshot.cs
|
||||
+++ b/Migrations/ApplicationDbContextModelSnapshot.cs
|
||||
@@ -15,7 +15,203 @@ namespace turf_tasker.Migrations
|
||||
protected override void BuildModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
- modelBuilder.HasAnnotation("ProductVersion", "9.0.6");
|
||||
+ modelBuilder.HasAnnotation("ProductVersion", "8.0.6");
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
|
||||
+ {
|
||||
+ b.Property<string>("Id")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("ConcurrencyStamp")
|
||||
+ .IsConcurrencyToken()
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("Name")
|
||||
+ .HasMaxLength(256)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("NormalizedName")
|
||||
+ .HasMaxLength(256)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.HasKey("Id");
|
||||
+
|
||||
+ b.HasIndex("NormalizedName")
|
||||
+ .IsUnique()
|
||||
+ .HasDatabaseName("RoleNameIndex");
|
||||
+
|
||||
+ b.ToTable("AspNetRoles", (string)null);
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
|
||||
+ {
|
||||
+ b.Property<int>("Id")
|
||||
+ .ValueGeneratedOnAdd()
|
||||
+ .HasColumnType("INTEGER");
|
||||
+
|
||||
+ b.Property<string>("ClaimType")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("ClaimValue")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("RoleId")
|
||||
+ .IsRequired()
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.HasKey("Id");
|
||||
+
|
||||
+ b.HasIndex("RoleId");
|
||||
+
|
||||
+ b.ToTable("AspNetRoleClaims", (string)null);
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b =>
|
||||
+ {
|
||||
+ b.Property<string>("Id")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<int>("AccessFailedCount")
|
||||
+ .HasColumnType("INTEGER");
|
||||
+
|
||||
+ b.Property<string>("ConcurrencyStamp")
|
||||
+ .IsConcurrencyToken()
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("Email")
|
||||
+ .HasMaxLength(256)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<bool>("EmailConfirmed")
|
||||
+ .HasColumnType("INTEGER");
|
||||
+
|
||||
+ b.Property<bool>("LockoutEnabled")
|
||||
+ .HasColumnType("INTEGER");
|
||||
+
|
||||
+ b.Property<DateTimeOffset?>("LockoutEnd")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("NormalizedEmail")
|
||||
+ .HasMaxLength(256)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("NormalizedUserName")
|
||||
+ .HasMaxLength(256)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("PasswordHash")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("PhoneNumber")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<bool>("PhoneNumberConfirmed")
|
||||
+ .HasColumnType("INTEGER");
|
||||
+
|
||||
+ b.Property<string>("SecurityStamp")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<bool>("TwoFactorEnabled")
|
||||
+ .HasColumnType("INTEGER");
|
||||
+
|
||||
+ b.Property<string>("UserName")
|
||||
+ .HasMaxLength(256)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.HasKey("Id");
|
||||
+
|
||||
+ b.HasIndex("NormalizedEmail")
|
||||
+ .HasDatabaseName("EmailIndex");
|
||||
+
|
||||
+ b.HasIndex("NormalizedUserName")
|
||||
+ .IsUnique()
|
||||
+ .HasDatabaseName("UserNameIndex");
|
||||
+
|
||||
+ b.ToTable("AspNetUsers", (string)null);
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
|
||||
+ {
|
||||
+ b.Property<int>("Id")
|
||||
+ .ValueGeneratedOnAdd()
|
||||
+ .HasColumnType("INTEGER");
|
||||
+
|
||||
+ b.Property<string>("ClaimType")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("ClaimValue")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("UserId")
|
||||
+ .IsRequired()
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.HasKey("Id");
|
||||
+
|
||||
+ b.HasIndex("UserId");
|
||||
+
|
||||
+ b.ToTable("AspNetUserClaims", (string)null);
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
|
||||
+ {
|
||||
+ b.Property<string>("LoginProvider")
|
||||
+ .HasMaxLength(128)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("ProviderKey")
|
||||
+ .HasMaxLength(128)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("ProviderDisplayName")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("UserId")
|
||||
+ .IsRequired()
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.HasKey("LoginProvider", "ProviderKey");
|
||||
+
|
||||
+ b.HasIndex("UserId");
|
||||
+
|
||||
+ b.ToTable("AspNetUserLogins", (string)null);
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
|
||||
+ {
|
||||
+ b.Property<string>("UserId")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("RoleId")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.HasKey("UserId", "RoleId");
|
||||
+
|
||||
+ b.HasIndex("RoleId");
|
||||
+
|
||||
+ b.ToTable("AspNetUserRoles", (string)null);
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
|
||||
+ {
|
||||
+ b.Property<string>("UserId")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("LoginProvider")
|
||||
+ .HasMaxLength(128)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("Name")
|
||||
+ .HasMaxLength(128)
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.Property<string>("Value")
|
||||
+ .HasColumnType("TEXT");
|
||||
+
|
||||
+ b.HasKey("UserId", "LoginProvider", "Name");
|
||||
+
|
||||
+ b.ToTable("AspNetUserTokens", (string)null);
|
||||
+ });
|
||||
|
||||
modelBuilder.Entity("turf_tasker.Models.LawnCareEvent", b =>
|
||||
{
|
||||
@@ -77,6 +273,57 @@ namespace turf_tasker.Migrations
|
||||
|
||||
b.ToTable("LawnCareTips");
|
||||
});
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
|
||||
+ {
|
||||
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
|
||||
+ .WithMany()
|
||||
+ .HasForeignKey("RoleId")
|
||||
+ .OnDelete(DeleteBehavior.Cascade)
|
||||
+ .IsRequired();
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
|
||||
+ {
|
||||
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
|
||||
+ .WithMany()
|
||||
+ .HasForeignKey("UserId")
|
||||
+ .OnDelete(DeleteBehavior.Cascade)
|
||||
+ .IsRequired();
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
|
||||
+ {
|
||||
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
|
||||
+ .WithMany()
|
||||
+ .HasForeignKey("UserId")
|
||||
+ .OnDelete(DeleteBehavior.Cascade)
|
||||
+ .IsRequired();
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
|
||||
+ {
|
||||
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
|
||||
+ .WithMany()
|
||||
+ .HasForeignKey("RoleId")
|
||||
+ .OnDelete(DeleteBehavior.Cascade)
|
||||
+ .IsRequired();
|
||||
+
|
||||
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
|
||||
+ .WithMany()
|
||||
+ .HasForeignKey("UserId")
|
||||
+ .OnDelete(DeleteBehavior.Cascade)
|
||||
+ .IsRequired();
|
||||
+ });
|
||||
+
|
||||
+ modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
|
||||
+ {
|
||||
+ b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null)
|
||||
+ .WithMany()
|
||||
+ .HasForeignKey("UserId")
|
||||
+ .OnDelete(DeleteBehavior.Cascade)
|
||||
+ .IsRequired();
|
||||
+ });
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
diff --git a/Program.cs b/Program.cs
|
||||
index dcf9de2..701e4e2 100644
|
||||
--- a/Program.cs
|
||||
+++ b/Program.cs
|
||||
@@ -1,20 +1,22 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using turf_tasker.Data;
|
||||
+using Microsoft.AspNetCore.Identity;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
-// Add services to the container.
|
||||
builder.Services.AddDbContext<ApplicationDbContext>(options =>
|
||||
options.UseSqlite(
|
||||
builder.Configuration.GetConnectionString("DefaultConnection")
|
||||
)
|
||||
);
|
||||
|
||||
+builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
|
||||
+ .AddEntityFrameworkStores<ApplicationDbContext>();
|
||||
+
|
||||
builder.Services.AddControllersWithViews();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
-// Configure the HTTP request pipeline.
|
||||
if (!app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseExceptionHandler("/Home/Error");
|
||||
@@ -26,6 +28,7 @@ app.UseStaticFiles();
|
||||
|
||||
app.UseRouting();
|
||||
|
||||
+app.UseAuthentication();
|
||||
app.UseAuthorization();
|
||||
|
||||
app.MapControllerRoute(
|
||||
@@ -33,4 +36,6 @@ app.MapControllerRoute(
|
||||
pattern: "{controller=Home}/{action=Index}/{id?}"
|
||||
);
|
||||
|
||||
+app.MapRazorPages();
|
||||
+
|
||||
app.Run();
|
||||
\ No newline at end of file
|
||||
diff --git a/Views/Shared/_Layout.cshtml b/Views/Shared/_Layout.cshtml
|
||||
index c27a958..f67aa24 100644
|
||||
--- a/Views/Shared/_Layout.cshtml
|
||||
+++ b/Views/Shared/_Layout.cshtml
|
||||
@@ -33,6 +33,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
+ <partial name="_LoginPartial" />
|
||||
</header>
|
||||
<div class="container">
|
||||
<main role="main" class="pb-3">
|
||||
diff --git a/Views/Shared/_LoginPartial.cshtml b/Views/Shared/_LoginPartial.cshtml
|
||||
index e69de29..b838e04 100644
|
||||
--- a/Views/Shared/_LoginPartial.cshtml
|
||||
+++ b/Views/Shared/_LoginPartial.cshtml
|
||||
@@ -0,0 +1,26 @@
|
||||
+@using Microsoft.AspNetCore.Identity
|
||||
+@inject SignInManager<IdentityUser> SignInManager
|
||||
+@inject UserManager<IdentityUser> UserManager
|
||||
+
|
||||
+<ul class="navbar-nav">
|
||||
+ @if (SignInManager.IsSignedIn(User))
|
||||
+ {
|
||||
+ <li class="nav-item">
|
||||
+ <a id="manage" class="nav-link text-dark" asp-area="Identity" asp-page="/Account/Manage/Index" title="Manage">Hello @UserManager.GetUserName(User)!</a>
|
||||
+ </li>
|
||||
+ <li class="nav-item">
|
||||
+ <form id="logoutForm" class="form-inline" asp-area="Identity" asp-page="/Account/Logout" asp-route-returnUrl="@Url.Action("Index", "Home", new { area = "" })">
|
||||
+ <button id="logout" type="submit" class="nav-link btn btn-link text-dark">Logout</button>
|
||||
+ </form>
|
||||
+ </li>
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ <li class="nav-item">
|
||||
+ <a class="nav-link text-dark" id="register" asp-area="Identity" asp-page="/Account/Register">Register</a>
|
||||
+ </li>
|
||||
+ <li class="nav-item">
|
||||
+ <a class="nav-link text-dark" id="login" asp-area="Identity" asp-page="/Account/Login">Login</a>
|
||||
+ </li>
|
||||
+ }
|
||||
+</ul>
|
||||
\ No newline at end of file
|
||||
diff --git a/turf_tasker.csproj b/turf_tasker.csproj
|
||||
index dbd9ba1..2247d16 100644
|
||||
--- a/turf_tasker.csproj
|
||||
+++ b/turf_tasker.csproj
|
||||
@@ -7,13 +7,22 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
- <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.6" />
|
||||
- <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.17" />
|
||||
- <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.6">
|
||||
- <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
- <PrivateAssets>all</PrivateAssets>
|
||||
- </PackageReference>
|
||||
- <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.7" />
|
||||
+ <!-- Identity Packages -->
|
||||
+ <PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="8.0.6" />
|
||||
+ <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.6" />
|
||||
+
|
||||
+ <!-- Explicitly define ALL core EF Core packages to force version alignment -->
|
||||
+ <PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.6" />
|
||||
+ <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="8.0.6" />
|
||||
+ <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.6" />
|
||||
+ <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.6" />
|
||||
+ <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.6">
|
||||
+ <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
+ <PrivateAssets>all</PrivateAssets>
|
||||
+ </PackageReference>
|
||||
+
|
||||
+ <!-- Scaffolding Package -->
|
||||
+ <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.7" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Loading…
Add table
Add a link
Reference in a new issue