From 34eaf01df0b279822a418e4edf0b369fb4b01876 Mon Sep 17 00:00:00 2001 From: Sergey Karmanov Date: Thu, 20 Jun 2024 00:24:57 +0300 Subject: [PATCH] Refactoring V3 --- .../IdentityRoleEntityTypeConfiguration.cs | 2 +- .../AuthFeature/EfCore/UserContext.cs | 4 +--- .../Features/AuthFeature/UserModel.cs | 2 +- .../AuthFeature/UserOpenApiSchemeFilter.cs | 2 +- .../DbHelpersEndpointsExtensions.cs | 9 ++++---- .../Features/DevFeature/ServicesExtensions.cs | 3 +-- .../EfCore/WeatherForecastContext.cs | 2 +- .../WeatherForecastEntityTypeConfiguration.cs | 2 +- .../WeatherForecastEndpointsExtensions.cs | 6 +++--- .../WeatherForecastModel.cs | 2 +- ...619195157_UserContextMigration.Designer.cs | 2 +- .../Migrations/UserContextModelSnapshot.cs | 2 +- ...eatherForecastContextMigration.Designer.cs | 2 +- ...9195229_WeatherForecastContextMigration.cs | 3 +-- .../WeatherForecastContextModelSnapshot.cs | 2 +- .../HackathonPreparing.ApiService/Program.cs | 21 +++++-------------- 16 files changed, 25 insertions(+), 41 deletions(-) diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/EfCore/IdentityRoleEntityTypeConfiguration.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/EfCore/IdentityRoleEntityTypeConfiguration.cs index 679d937..1bac450 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/EfCore/IdentityRoleEntityTypeConfiguration.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/EfCore/IdentityRoleEntityTypeConfiguration.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -namespace HackathonPreparing.ApiService.AuthFeature.EfCore; +namespace HackathonPreparing.ApiService.Features.AuthFeature.EfCore; public class IdentityRoleEntityTypeConfiguration : IEntityTypeConfiguration> { diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/EfCore/UserContext.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/EfCore/UserContext.cs index 6b09dd5..8896282 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/EfCore/UserContext.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/EfCore/UserContext.cs @@ -2,7 +2,7 @@ using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; using Microsoft.EntityFrameworkCore; -namespace HackathonPreparing.ApiService.AuthFeature.EfCore; +namespace HackathonPreparing.ApiService.Features.AuthFeature.EfCore; public class UserContext : IdentityDbContext, int> { @@ -11,8 +11,6 @@ public class UserContext : IdentityDbContext, int> } - - protected override void OnModelCreating(ModelBuilder builder) { base.OnModelCreating(builder); diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/UserModel.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/UserModel.cs index 22b7887..90bb322 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/UserModel.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/UserModel.cs @@ -1,6 +1,6 @@ using Microsoft.AspNetCore.Identity; -namespace HackathonPreparing.ApiService.AuthFeature; +namespace HackathonPreparing.ApiService.Features.AuthFeature; public class User : IdentityUser { diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/UserOpenApiSchemeFilter.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/UserOpenApiSchemeFilter.cs index 59800a0..67ce2de 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/UserOpenApiSchemeFilter.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/AuthFeature/UserOpenApiSchemeFilter.cs @@ -3,7 +3,7 @@ using Microsoft.OpenApi.Any; using Microsoft.OpenApi.Models; using Swashbuckle.AspNetCore.SwaggerGen; -namespace HackathonPreparing.ApiService.AuthFeature; +namespace HackathonPreparing.ApiService.Features.AuthFeature; public class UserOpenApiSchemeFilter : ISchemaFilter { diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/DevFeature/DbHelpersEndpointsExtensions.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/DevFeature/DbHelpersEndpointsExtensions.cs index 9f27664..f96e043 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/DevFeature/DbHelpersEndpointsExtensions.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/DevFeature/DbHelpersEndpointsExtensions.cs @@ -1,11 +1,10 @@ +using HackathonPreparing.ApiService.Features.AuthFeature; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -using Swashbuckle.AspNetCore.SwaggerGen; using static HackathonPreparing.ApiService.Features.DevFeature.ReflectionHelpers; - -namespace HackathonPreparing.ApiService.DevFeature; +namespace HackathonPreparing.ApiService.Features.DevFeature; public static class DbHelpersEndpointsExtensions { @@ -70,8 +69,8 @@ public static class DbHelpersEndpointsExtensions }); - group.MapPost("/add-moderator", async ([FromServices]UserManager userManager) => { - var user = new AuthFeature.User{ + group.MapPost("/add-moderator", async ([FromServices]UserManager userManager) => { + var user = new User{ Email = "m@gmail.com", UserName = "m@gmail.com" }; diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/DevFeature/ServicesExtensions.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/DevFeature/ServicesExtensions.cs index fca108d..c52bde9 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/DevFeature/ServicesExtensions.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/DevFeature/ServicesExtensions.cs @@ -1,7 +1,6 @@ using Microsoft.EntityFrameworkCore; - -namespace HackathonPreparing.ApiService.DevFeature; +namespace HackathonPreparing.ApiService.Features.DevFeature; public static class ServicesExtensions { diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/EfCore/WeatherForecastContext.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/EfCore/WeatherForecastContext.cs index 90ee378..4ab3c45 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/EfCore/WeatherForecastContext.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/EfCore/WeatherForecastContext.cs @@ -1,6 +1,6 @@ using Microsoft.EntityFrameworkCore; -namespace HackathonPreparing.ApiService.WeatherForecastFeature.EfCore; +namespace HackathonPreparing.ApiService.Features.WeatherForecastFeature.EfCore; public sealed class WeatherForecastContext : DbContext { diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/EfCore/WeatherForecastEntityTypeConfiguration.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/EfCore/WeatherForecastEntityTypeConfiguration.cs index 04ad93a..f5f834b 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/EfCore/WeatherForecastEntityTypeConfiguration.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/EfCore/WeatherForecastEntityTypeConfiguration.cs @@ -1,7 +1,7 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; -namespace HackathonPreparing.ApiService.WeatherForecastFeature.EfCore; +namespace HackathonPreparing.ApiService.Features.WeatherForecastFeature.EfCore; public class WeatherForecastEntityTypeConfiguration : IEntityTypeConfiguration { diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/WeatherForecastEndpointsExtensions.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/WeatherForecastEndpointsExtensions.cs index 2318136..4892a42 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/WeatherForecastEndpointsExtensions.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/WeatherForecastEndpointsExtensions.cs @@ -1,8 +1,8 @@ -using HackathonPreparing.ApiService.WeatherForecastFeature.EfCore; -using Microsoft.EntityFrameworkCore; +using HackathonPreparing.ApiService.Features.WeatherForecastFeature.EfCore; using Microsoft.AspNetCore.Authorization; +using Microsoft.EntityFrameworkCore; -namespace HackathonPreparing.ApiService.WeatherForecastFeature; +namespace HackathonPreparing.ApiService.Features.WeatherForecastFeature; public static class WeatherForecastEndpointsExtensions { diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/WeatherForecastModel.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/WeatherForecastModel.cs index dc8bc64..b1c98c3 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/WeatherForecastModel.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Features/WeatherForecastFeature/WeatherForecastModel.cs @@ -1,4 +1,4 @@ -namespace HackathonPreparing.ApiService.WeatherForecastFeature; +namespace HackathonPreparing.ApiService.Features.WeatherForecastFeature; public class WeatherForecast { diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/20240619195157_UserContextMigration.Designer.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/20240619195157_UserContextMigration.Designer.cs index bef113c..4f45b99 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/20240619195157_UserContextMigration.Designer.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/20240619195157_UserContextMigration.Designer.cs @@ -1,6 +1,6 @@ // using System; -using HackathonPreparing.ApiService.AuthFeature.EfCore; +using HackathonPreparing.ApiService.Features.AuthFeature.EfCore; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/UserContextModelSnapshot.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/UserContextModelSnapshot.cs index 5700967..a1b5c0d 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/UserContextModelSnapshot.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/UserContextModelSnapshot.cs @@ -1,6 +1,6 @@ // using System; -using HackathonPreparing.ApiService.AuthFeature.EfCore; +using HackathonPreparing.ApiService.Features.AuthFeature.EfCore; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/20240619195229_WeatherForecastContextMigration.Designer.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/20240619195229_WeatherForecastContextMigration.Designer.cs index 851df0a..febef67 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/20240619195229_WeatherForecastContextMigration.Designer.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/20240619195229_WeatherForecastContextMigration.Designer.cs @@ -1,6 +1,6 @@ // using System; -using HackathonPreparing.ApiService.WeatherForecastFeature.EfCore; +using HackathonPreparing.ApiService.Features.WeatherForecastFeature.EfCore; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/20240619195229_WeatherForecastContextMigration.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/20240619195229_WeatherForecastContextMigration.cs index eb4b8e1..27ee2c4 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/20240619195229_WeatherForecastContextMigration.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/20240619195229_WeatherForecastContextMigration.cs @@ -1,5 +1,4 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Migrations; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/WeatherForecastContextModelSnapshot.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/WeatherForecastContextModelSnapshot.cs index 9ffb322..f92a6ac 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/WeatherForecastContextModelSnapshot.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Migrations/WeatherForecast/WeatherForecastContextModelSnapshot.cs @@ -1,6 +1,6 @@ // using System; -using HackathonPreparing.ApiService.WeatherForecastFeature.EfCore; +using HackathonPreparing.ApiService.Features.WeatherForecastFeature.EfCore; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; diff --git a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Program.cs b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Program.cs index e01207e..76a8026 100644 --- a/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Program.cs +++ b/HackathonPreparing/HackathonPreparing/HackathonPreparing.ApiService/Program.cs @@ -1,8 +1,8 @@ -using HackathonPreparing.ApiService.AuthFeature; -using HackathonPreparing.ApiService.AuthFeature.EfCore; -using HackathonPreparing.ApiService.DevFeature; -using HackathonPreparing.ApiService.WeatherForecastFeature; -using HackathonPreparing.ApiService.WeatherForecastFeature.EfCore; +using HackathonPreparing.ApiService.Features.AuthFeature; +using HackathonPreparing.ApiService.Features.AuthFeature.EfCore; +using HackathonPreparing.ApiService.Features.DevFeature; +using HackathonPreparing.ApiService.Features.WeatherForecastFeature; +using HackathonPreparing.ApiService.Features.WeatherForecastFeature.EfCore; using HackathonPreparing.ServiceDefaults; using Microsoft.OpenApi.Models; @@ -38,11 +38,7 @@ builder.Services.AddSwaggerGen(c => //we dont need it now //builder.AddServiceDefaults(); - - builder.Services.AddAuthorization(); - - builder.Services.AddAuthentication().AddBearerToken(); builder.Services @@ -57,8 +53,6 @@ builder.AddDbContextWithDefaultConfiguration(); var app = builder.Build(); - - app.UsePathBase("/api"); app.UseRouting(); @@ -73,20 +67,15 @@ if (app.Environment.IsDevelopment()) app.AddDbHelpersEndpoints(); } - - //Configure the HTTP request pipeline. app.UseExceptionHandler(); app.UseAuthentication(); app.UseAuthorization(); - app.AddWeatherForecastEndpoints(); app.MapDefaultEndpoints(); - - app.MapGroup("user") .MapIdentityApi() .WithTags("user");