aboutsummaryrefslogtreecommitdiff
path: root/API/Extensions/ConfigureDatabase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'API/Extensions/ConfigureDatabase.cs')
-rw-r--r--API/Extensions/ConfigureDatabase.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/API/Extensions/ConfigureDatabase.cs b/API/Extensions/ConfigureDatabase.cs
new file mode 100644
index 0000000..57560e2
--- /dev/null
+++ b/API/Extensions/ConfigureDatabase.cs
@@ -0,0 +1,42 @@
+using Microsoft.Extensions.DependencyInjection;
+using API.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.Configuration;
+using Data.Models.Classes;
+using Microsoft.AspNetCore.Identity;
+using Microsoft.AspNetCore.Builder;
+
+namespace API.Extensions
+{
+ public static class DatabaseExtensions
+ {
+ public static void DatabaseConfiguration(this IServiceCollection services, IConfiguration configuration)
+ {
+ services.AddDbContext<DevHiveContext>(options =>
+ options.UseNpgsql(configuration.GetConnectionString("DEV")))
+ .AddAuthentication()
+ .AddJwtBearer();
+
+ services.AddIdentity<User, Roles>()
+ .AddEntityFrameworkStores<DevHiveContext>();
+
+ services.AddAuthentication();
+
+ services.Configure<IdentityOptions>(options =>
+ {
+ options.User.RequireUniqueEmail = true;
+
+ options.Password.RequiredLength = 5;
+ });
+ }
+
+ public static void UseDatabaseConfiguration(this IApplicationBuilder app)
+ {
+ app.UseHttpsRedirection();
+ app.UseRouting();
+
+ app.UseAuthentication();
+ app.UseAuthorization();
+ }
+ }
+} \ No newline at end of file