aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-02-13 16:20:18 +0200
committertranstrike <transtrike@gmail.com>2021-02-13 16:20:18 +0200
commit98e17766b203734a1817eed94338e2d25f4395f7 (patch)
tree1266385a56cba56fd55c7faf661dd844bbdf5705 /src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
parent1ab34accfda22ee3ce5c7700e3b97ff3e932d649 (diff)
downloadDevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar
DevHive-98e17766b203734a1817eed94338e2d25f4395f7.tar.gz
DevHive-98e17766b203734a1817eed94338e2d25f4395f7.zip
Project Restructure P.1
Diffstat (limited to 'src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs')
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs70
1 files changed, 0 insertions, 70 deletions
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
deleted file mode 100644
index 9f02dd7..0000000
--- a/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.EntityFrameworkCore;
-using Microsoft.Extensions.Configuration;
-using DevHive.Data.Models;
-using Microsoft.AspNetCore.Identity;
-using Microsoft.AspNetCore.Builder;
-using System;
-using Microsoft.AspNetCore.Authentication.JwtBearer;
-using DevHive.Data;
-
-namespace DevHive.Web.Configurations.Extensions
-{
- public static class DatabaseExtensions
- {
- public static void DatabaseConfiguration(this IServiceCollection services, IConfiguration configuration)
- {
- services.AddDbContext<DevHiveContext>(options =>
- {
- options.EnableSensitiveDataLogging(true);
- options.UseNpgsql(configuration.GetConnectionString("DEV"));
- });
-
- services.AddIdentity<User, Role>()
- .AddRoles<Role>()
- .AddEntityFrameworkStores<DevHiveContext>();
-
- services.Configure<IdentityOptions>(options =>
- {
- options.User.RequireUniqueEmail = true;
-
- options.Password.RequireDigit = true;
- options.Password.RequiredLength = 5;
- options.Password.RequiredUniqueChars = 0;
- options.Password.RequireLowercase = false;
- options.Password.RequireNonAlphanumeric = false;
- options.Password.RequireUppercase = false;
-
- options.Lockout.AllowedForNewUsers = true;
- options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(5);
- options.Lockout.MaxFailedAccessAttempts = 5;
- });
-
- services.AddAuthorization(options =>
- {
- options.AddPolicy("User", options =>
- {
- options.RequireAuthenticatedUser();
- options.AuthenticationSchemes.Add(JwtBearerDefaults.AuthenticationScheme);
- options.RequireRole("User");
- });
-
- options.AddPolicy("Administrator", options =>
- {
- options.RequireAuthenticatedUser();
- options.AuthenticationSchemes.Add(JwtBearerDefaults.AuthenticationScheme);
- options.RequireRole("Admin");
- });
- });
- }
-
- public static void UseDatabaseConfiguration(this IApplicationBuilder app)
- {
- app.UseHttpsRedirection();
- app.UseRouting();
-
- app.UseAuthentication();
- app.UseAuthorization();
- }
- }
-}