aboutsummaryrefslogtreecommitdiff
path: root/API/Extensions
diff options
context:
space:
mode:
authorSyndamia <kamen.d.mladenov@protonmail.com>2020-12-12 15:07:44 +0200
committerSyndamia <kamen.d.mladenov@protonmail.com>2020-12-12 15:07:44 +0200
commite7912e18285f0381e66e78da948c0cd37a06fbd7 (patch)
treecf68b2f7778a22c901604c86603b5455af63bc80 /API/Extensions
parent811ac5c6ea42174854cd525f0dee9ce6363ee739 (diff)
parent8bd7295dc4694c1c0ed6fbc05d390223bfc4ef05 (diff)
downloadDevHive-e7912e18285f0381e66e78da948c0cd37a06fbd7.tar
DevHive-e7912e18285f0381e66e78da948c0cd37a06fbd7.tar.gz
DevHive-e7912e18285f0381e66e78da948c0cd37a06fbd7.zip
Merge branch 'dev' of github.com:Team-Kaleidoscope/DevHive into autorization-dev
Diffstat (limited to 'API/Extensions')
-rw-r--r--API/Extensions/ConfigureDatabase.cs42
-rw-r--r--API/Extensions/ConfigureJWT.cs21
-rw-r--r--API/Extensions/ConfigureSwagger.cs23
3 files changed, 86 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
diff --git a/API/Extensions/ConfigureJWT.cs b/API/Extensions/ConfigureJWT.cs
new file mode 100644
index 0000000..f5862f5
--- /dev/null
+++ b/API/Extensions/ConfigureJWT.cs
@@ -0,0 +1,21 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.OpenApi.Models;
+
+namespace API.Extensions
+{
+ public static class JWTExtensions
+ {
+ public static void JWTConfiguration(this IServiceCollection services)
+ {
+
+ }
+
+ public static void UseJWTConfiguration(this IApplicationBuilder app)
+ {
+
+
+
+ }
+ }
+} \ No newline at end of file
diff --git a/API/Extensions/ConfigureSwagger.cs b/API/Extensions/ConfigureSwagger.cs
new file mode 100644
index 0000000..249eca0
--- /dev/null
+++ b/API/Extensions/ConfigureSwagger.cs
@@ -0,0 +1,23 @@
+using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.OpenApi.Models;
+
+namespace API.Extensions
+{
+ public static class SwaggerExtensions
+ {
+ public static void SwaggerConfiguration(this IServiceCollection services)
+ {
+ services.AddSwaggerGen(c =>
+ {
+ c.SwaggerDoc("v1", new OpenApiInfo { Title = "API", Version = "v1" });
+ });
+ }
+
+ public static void UseSwaggerConfiguration(this IApplicationBuilder app)
+ {
+ app.UseSwagger();
+ app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "API v1"));
+ }
+ }
+} \ No newline at end of file