aboutsummaryrefslogtreecommitdiff
path: root/src/Web/DevHive.Web/Configurations/Extensions
diff options
context:
space:
mode:
Diffstat (limited to 'src/Web/DevHive.Web/Configurations/Extensions')
-rw-r--r--src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs2
-rw-r--r--src/Web/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs8
-rw-r--r--src/Web/DevHive.Web/Configurations/Extensions/ConfigureExceptionHandlerMiddleware.cs22
3 files changed, 28 insertions, 4 deletions
diff --git a/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs b/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
index 1bd8df0..b4c49b4 100644
--- a/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
+++ b/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
@@ -18,7 +18,7 @@ namespace DevHive.Web.Configurations.Extensions
{
services.AddDbContext<DevHiveContext>(options =>
{
- options.EnableSensitiveDataLogging(true);
+ // options.EnableSensitiveDataLogging(true);
options.UseNpgsql(configuration.GetConnectionString("DEV"), options =>
{
options.UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
diff --git a/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs b/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs
index a0d0979..f49a335 100644
--- a/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs
+++ b/src/Web/DevHive.Web/Configurations/Extensions/ConfigureDependencyInjection.cs
@@ -17,20 +17,23 @@ namespace DevHive.Web.Configurations.Extensions
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<IProfilePictureRepository, ProfilePictureRepository>();
+ services.AddTransient<IUserRepository, UserRepository>();
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<IRatingService, RatingService>();
+ services.AddTransient<IProfilePictureService, ProfilePictureService>();
+ services.AddTransient<IUserService, UserService>();
+ services.AddTransient<IFriendsService, FriendsService>();
services.AddTransient<ICloudService, CloudinaryService>(options =>
new CloudinaryService(
@@ -43,7 +46,6 @@ namespace DevHive.Web.Configurations.Extensions
signingKey: Encoding.ASCII.GetBytes(configuration.GetSection("Jwt").GetSection("signingKey").Value),
validationIssuer: configuration.GetSection("Jwt").GetSection("validationIssuer").Value,
audience: configuration.GetSection("Jwt").GetSection("audience").Value));
- services.AddTransient<IRatingService, RatingService>();
}
}
}
diff --git a/src/Web/DevHive.Web/Configurations/Extensions/ConfigureExceptionHandlerMiddleware.cs b/src/Web/DevHive.Web/Configurations/Extensions/ConfigureExceptionHandlerMiddleware.cs
index c017a8c..6885f84 100644
--- a/src/Web/DevHive.Web/Configurations/Extensions/ConfigureExceptionHandlerMiddleware.cs
+++ b/src/Web/DevHive.Web/Configurations/Extensions/ConfigureExceptionHandlerMiddleware.cs
@@ -1,11 +1,33 @@
using DevHive.Web.Middleware;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Configuration;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Http;
namespace DevHive.Web.Configurations.Extensions
{
public static class ConfigureExceptionHandlerMiddleware
{
+ public static void ConfigureExceptionHandler(this IServiceCollection services, IConfiguration configuration)
+ {
+ services.Configure<ApiBehaviorOptions>(o =>
+ {
+ o.InvalidModelStateResponseFactory = actionContext =>
+ {
+ var problemDetails = new ValidationProblemDetails(actionContext.ModelState)
+ {
+ Status = StatusCodes.Status422UnprocessableEntity
+ };
+
+ return new UnprocessableEntityObjectResult(problemDetails)
+ {
+ ContentTypes = { "application/problem+json" }
+ };
+ };
+ });
+ }
+
public static void UseExceptionHandlerMiddlewareConfiguration(this IApplicationBuilder app)
{
app.UseMiddleware<ExceptionMiddleware>();