From 8bd7295dc4694c1c0ed6fbc05d390223bfc4ef05 Mon Sep 17 00:00:00 2001 From: transtrike Date: Sat, 12 Dec 2020 15:04:45 +0200 Subject: Added Extensions Methods --- API/Extensions/ConfigureDatabase.cs | 42 +++++++++++++++++++++++++++++++++++++ API/Extensions/ConfigureJWT.cs | 21 +++++++++++++++++++ API/Extensions/ConfigureSwagger.cs | 23 ++++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 API/Extensions/ConfigureDatabase.cs create mode 100644 API/Extensions/ConfigureJWT.cs create mode 100644 API/Extensions/ConfigureSwagger.cs (limited to 'API/Extensions') 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(options => + options.UseNpgsql(configuration.GetConnectionString("DEV"))) + .AddAuthentication() + .AddJwtBearer(); + + services.AddIdentity() + .AddEntityFrameworkStores(); + + services.AddAuthentication(); + + services.Configure(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 -- cgit v1.2.3