aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web/Configurations
diff options
context:
space:
mode:
authorKamen Mladenov <kamen.d.mladenov@protonmail.com>2021-04-09 19:51:35 +0300
committerGitHub <noreply@github.com>2021-04-09 19:51:35 +0300
commit233f38915ba0079079233eff55434ef349c05c45 (patch)
tree6c5f69017865bcab87355e910c87339453da1406 /src/DevHive.Web/Configurations
parentf4a70c6430db923af9fa9958a11c2d6612cb52cc (diff)
parenta992357efcf1bc1ece81b95ecee5e05a0b73bfdc (diff)
downloadDevHive-main.tar
DevHive-main.tar.gz
DevHive-main.zip
Merge pull request #28 from Team-Kaleidoscope/devHEADv0.2mainheroku/main
Second stage: Complete
Diffstat (limited to 'src/DevHive.Web/Configurations')
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureAutoMapper.cs24
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs70
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs38
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureExceptionHandlerMiddleware.cs16
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureJWT.cs54
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureSwagger.cs23
-rw-r--r--src/DevHive.Web/Configurations/Mapping/CommentMappings.cs17
-rw-r--r--src/DevHive.Web/Configurations/Mapping/FeedMappings.cs18
-rw-r--r--src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs23
-rw-r--r--src/DevHive.Web/Configurations/Mapping/PostMappings.cs17
-rw-r--r--src/DevHive.Web/Configurations/Mapping/RatingMappings.cs16
-rw-r--r--src/DevHive.Web/Configurations/Mapping/RoleMappings.cs21
-rw-r--r--src/DevHive.Web/Configurations/Mapping/TechnologyMappings.cs23
-rw-r--r--src/DevHive.Web/Configurations/Mapping/UserMappings.cs33
14 files changed, 0 insertions, 393 deletions
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureAutoMapper.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureAutoMapper.cs
deleted file mode 100644
index 8b7d657..0000000
--- a/src/DevHive.Web/Configurations/Extensions/ConfigureAutoMapper.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System;
-using AutoMapper;
-//using AutoMapper.Configuration;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace DevHive.Web.Configurations.Extensions
-{
- public static class ConfigureAutoMapper
- {
- public static void AutoMapperConfiguration(this IServiceCollection services)
- {
- services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
- }
-
- public static void UseAutoMapperConfiguration(this IApplicationBuilder app)
- {
- var config = new MapperConfiguration(cfg =>
- {
- cfg.AllowNullCollections = true;
- });
- }
- }
-} \ No newline at end of file
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();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs
deleted file mode 100644
index 88f21d4..0000000
--- a/src/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using DevHive.Data.Interfaces.Repositories;
-using DevHive.Data.Repositories;
-using DevHive.Services.Interfaces;
-using DevHive.Services.Services;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace DevHive.Web.Configurations.Extensions
-{
- public static class ConfigureDependencyInjection
- {
- public static void DependencyInjectionConfiguration(this IServiceCollection services, IConfiguration configuration)
- {
- services.AddTransient<ILanguageRepository, LanguageRepository>();
- services.AddTransient<IRoleRepository, RoleRepository>();
- services.AddTransient<ITechnologyRepository, TechnologyRepository>();
- services.AddTransient<IUserRepository, UserRepository>();
- services.AddTransient<IPostRepository, PostRepository>();
- services.AddTransient<ICommentRepository, CommentRepository>();
- services.AddTransient<IFeedRepository, FeedRepository>();
- services.AddTransient<IRatingRepository, RatingRepository>();
-
- services.AddTransient<ILanguageService, LanguageService>();
- services.AddTransient<IRoleService, RoleService>();
- services.AddTransient<ITechnologyService, TechnologyService>();
- services.AddTransient<IUserService, UserService>();
- services.AddTransient<IPostService, PostService>();
- services.AddTransient<ICommentService, CommentService>();
- services.AddTransient<IFeedService, FeedService>();
- services.AddTransient<ICloudService, CloudinaryService>(options =>
- new CloudinaryService(
- cloudName: configuration.GetSection("Cloud").GetSection("cloudName").Value,
- apiKey: configuration.GetSection("Cloud").GetSection("apiKey").Value,
- apiSecret: configuration.GetSection("Cloud").GetSection("apiSecret").Value));
- services.AddTransient<IRateService, RateService>();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureExceptionHandlerMiddleware.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureExceptionHandlerMiddleware.cs
deleted file mode 100644
index 286727f..0000000
--- a/src/DevHive.Web/Configurations/Extensions/ConfigureExceptionHandlerMiddleware.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using DevHive.Web.Middleware;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.Extensions.DependencyInjection;
-
-namespace DevHive.Web.Configurations.Extensions
-{
- public static class ConfigureExceptionHandlerMiddleware
- {
- public static void ExceptionHandlerMiddlewareConfiguration(this IServiceCollection services) { }
-
- public static void UseExceptionHandlerMiddlewareConfiguration(this IApplicationBuilder app)
- {
- app.UseMiddleware<ExceptionMiddleware>();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureJWT.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureJWT.cs
deleted file mode 100644
index d422bc8..0000000
--- a/src/DevHive.Web/Configurations/Extensions/ConfigureJWT.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-using System.Text;
-using System.Threading.Tasks;
-using DevHive.Services.Options;
-using Microsoft.AspNetCore.Authentication.JwtBearer;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.IdentityModel.Tokens;
-
-namespace DevHive.Web.Configurations.Extensions
-{
- public static class JWTExtensions
- {
- public static void JWTConfiguration(this IServiceCollection services, IConfiguration configuration)
- {
- services.AddSingleton(new JWTOptions(configuration
- .GetSection("AppSettings")
- .GetSection("Secret")
- .Value));
-
- // Get key from appsettings.json
- var key = Encoding.ASCII.GetBytes(configuration
- .GetSection("AppSettings")
- .GetSection("Secret")
- .Value);
-
- // Setup Jwt Authentication
- services.AddAuthentication(x =>
- {
- x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
- x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
- })
- .AddJwtBearer(x =>
- {
- x.Events = new JwtBearerEvents
- {
- OnTokenValidated = context =>
- {
- // TODO: add more authentication
- return Task.CompletedTask;
- }
- };
- x.RequireHttpsMetadata = false;
- x.SaveToken = true;
- x.TokenValidationParameters = new TokenValidationParameters
- {
- //ValidateIssuerSigningKey = false,
- IssuerSigningKey = new SymmetricSecurityKey(key),
- ValidateIssuer = false,
- ValidateAudience = false
- };
- });
- }
- }
-} \ No newline at end of file
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureSwagger.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureSwagger.cs
deleted file mode 100644
index a0641ab..0000000
--- a/src/DevHive.Web/Configurations/Extensions/ConfigureSwagger.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Microsoft.AspNetCore.Builder;
-using Microsoft.Extensions.DependencyInjection;
-using Microsoft.OpenApi.Models;
-
-namespace DevHive.Web.Configurations.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
diff --git a/src/DevHive.Web/Configurations/Mapping/CommentMappings.cs b/src/DevHive.Web/Configurations/Mapping/CommentMappings.cs
deleted file mode 100644
index b8d6829..0000000
--- a/src/DevHive.Web/Configurations/Mapping/CommentMappings.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using AutoMapper;
-using DevHive.Services.Models.Comment;
-using DevHive.Web.Models.Comment;
-
-namespace DevHive.Web.Configurations.Mapping
-{
- public class CommentMappings : Profile
- {
- public CommentMappings()
- {
- CreateMap<CreateCommentWebModel, CreateCommentServiceModel>();
- CreateMap<UpdateCommentWebModel, UpdateCommentServiceModel>();
-
- CreateMap<ReadCommentServiceModel, ReadCommentWebModel>();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Mapping/FeedMappings.cs b/src/DevHive.Web/Configurations/Mapping/FeedMappings.cs
deleted file mode 100644
index 0909f6d..0000000
--- a/src/DevHive.Web/Configurations/Mapping/FeedMappings.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using AutoMapper;
-using DevHive.Services.Models;
-using DevHive.Web.Models.Comment;
-using DevHive.Web.Models.Feed;
-
-namespace DevHive.Web.Configurations.Mapping
-{
- public class FeedMappings : Profile
- {
- public FeedMappings()
- {
- CreateMap<GetPageWebModel, GetPageServiceModel>()
- .ForMember(dest => dest.FirstRequestIssued, src => src.MapFrom(p => p.FirstPageTimeIssued));
-
- CreateMap<ReadPageServiceModel, ReadPageWebModel>();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs b/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs
deleted file mode 100644
index eca0d1a..0000000
--- a/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using AutoMapper;
-using DevHive.Web.Models.Language;
-using DevHive.Services.Models.Language;
-
-namespace DevHive.Web.Configurations.Mapping
-{
- public class LanguageMappings : Profile
- {
- public LanguageMappings()
- {
- CreateMap<CreateLanguageWebModel, CreateLanguageServiceModel>();
- CreateMap<ReadLanguageWebModel, ReadLanguageServiceModel>();
- CreateMap<UpdateLanguageWebModel, UpdateLanguageServiceModel>()
- .ForMember(src => src.Id, dest => dest.Ignore());
- CreateMap<LanguageWebModel, LanguageServiceModel>();
-
- CreateMap<LanguageServiceModel, LanguageWebModel>();
- CreateMap<ReadLanguageServiceModel, ReadLanguageWebModel>();
- CreateMap<CreateLanguageServiceModel, CreateLanguageWebModel>();
- CreateMap<UpdateLanguageServiceModel, UpdateLanguageWebModel>();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Mapping/PostMappings.cs b/src/DevHive.Web/Configurations/Mapping/PostMappings.cs
deleted file mode 100644
index a5b46ee..0000000
--- a/src/DevHive.Web/Configurations/Mapping/PostMappings.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using AutoMapper;
-using DevHive.Services.Models.Post;
-using DevHive.Web.Models.Post;
-
-namespace DevHive.Web.Configurations.Mapping
-{
- public class PostMappings : Profile
- {
- public PostMappings()
- {
- CreateMap<CreatePostWebModel, CreatePostServiceModel>();
- CreateMap<UpdatePostWebModel, UpdatePostServiceModel>();
-
- CreateMap<ReadPostServiceModel, ReadPostWebModel>();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Mapping/RatingMappings.cs b/src/DevHive.Web/Configurations/Mapping/RatingMappings.cs
deleted file mode 100644
index 4e071de..0000000
--- a/src/DevHive.Web/Configurations/Mapping/RatingMappings.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using AutoMapper;
-using DevHive.Services.Models.Post.Rating;
-using DevHive.Web.Models.Post.Rating;
-
-namespace DevHive.Web.Configurations.Mapping
-{
- public class RatingMappings : Profile
- {
- public RatingMappings()
- {
- CreateMap<RatePostWebModel, RatePostServiceModel>();
-
- CreateMap<ReadPostRatingServiceModel, ReadPostRatingWebModel>();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs b/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs
deleted file mode 100644
index 2ea2742..0000000
--- a/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using AutoMapper;
-using DevHive.Web.Models.Identity.Role;
-using DevHive.Services.Models.Identity.Role;
-
-namespace DevHive.Web.Configurations.Mapping
-{
- public class RoleMappings : Profile
- {
- public RoleMappings()
- {
- CreateMap<CreateRoleWebModel, CreateRoleServiceModel>();
- CreateMap<UpdateRoleWebModel, UpdateRoleServiceModel>()
- .ForMember(src => src.Id, dest => dest.Ignore());
- CreateMap<RoleWebModel, RoleServiceModel>();
-
- CreateMap<CreateRoleServiceModel, CreateRoleWebModel>();
- CreateMap<UpdateRoleServiceModel, UpdateRoleWebModel>();
- CreateMap<RoleServiceModel, RoleWebModel>();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Mapping/TechnologyMappings.cs b/src/DevHive.Web/Configurations/Mapping/TechnologyMappings.cs
deleted file mode 100644
index 708b6ac..0000000
--- a/src/DevHive.Web/Configurations/Mapping/TechnologyMappings.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using AutoMapper;
-using DevHive.Web.Models.Technology;
-using DevHive.Services.Models.Technology;
-
-namespace DevHive.Web.Configurations.Mapping
-{
- public class TechnologyMappings : Profile
- {
- public TechnologyMappings()
- {
- CreateMap<CreateTechnologyWebModel, CreateTechnologyServiceModel>();
- CreateMap<ReadTechnologyWebModel, ReadTechnologyServiceModel>();
- CreateMap<UpdateTechnologyWebModel, UpdateTechnologyServiceModel>()
- .ForMember(src => src.Id, dest => dest.Ignore());
- CreateMap<TechnologyWebModel, TechnologyServiceModel>();
-
- CreateMap<CreateTechnologyServiceModel, CreateTechnologyWebModel>();
- CreateMap<ReadTechnologyServiceModel, ReadTechnologyWebModel>();
- CreateMap<UpdateTechnologyServiceModel, UpdateTechnologyWebModel>();
- CreateMap<TechnologyServiceModel, TechnologyWebModel>();
- }
- }
-}
diff --git a/src/DevHive.Web/Configurations/Mapping/UserMappings.cs b/src/DevHive.Web/Configurations/Mapping/UserMappings.cs
deleted file mode 100644
index f58e7ca..0000000
--- a/src/DevHive.Web/Configurations/Mapping/UserMappings.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using AutoMapper;
-using DevHive.Services.Models.Identity.User;
-using DevHive.Web.Models.Identity.User;
-using DevHive.Common.Models.Identity;
-
-namespace DevHive.Web.Configurations.Mapping
-{
- public class UserMappings : Profile
- {
- public UserMappings()
- {
- CreateMap<LoginWebModel, LoginServiceModel>();
- CreateMap<RegisterWebModel, RegisterServiceModel>();
- CreateMap<UserWebModel, UserServiceModel>();
- CreateMap<UpdateUserWebModel, UpdateUserServiceModel>();
-
- CreateMap<UserServiceModel, UserWebModel>();
-
- CreateMap<TokenModel, TokenWebModel>();
-
- //Update
- CreateMap<UpdateUserWebModel, UpdateUserServiceModel>();
- CreateMap<UsernameWebModel, FriendServiceModel>();
- CreateMap<UsernameWebModel, UpdateFriendServiceModel>();
-
- CreateMap<UpdateProfilePictureWebModel, UpdateProfilePictureServiceModel>();
- CreateMap<ProfilePictureServiceModel, ProfilePictureWebModel>();
-
- CreateMap<UpdateUserServiceModel, UpdateUserWebModel>();
- CreateMap<FriendServiceModel, UsernameWebModel>();
- }
- }
-}