aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2020-12-16 10:23:15 +0200
committertranstrike <transtrike@gmail.com>2020-12-16 10:23:15 +0200
commitd80b44003ca03cd09bf28278bf2e243581c00332 (patch)
tree759aedce339e9e467c23bedea1464e3c2384ae35 /src/DevHive.Web
parentdc27cec6b3dd631c0f9a4e482743a053cf766df6 (diff)
downloadDevHive-d80b44003ca03cd09bf28278bf2e243581c00332.tar
DevHive-d80b44003ca03cd09bf28278bf2e243581c00332.tar.gz
DevHive-d80b44003ca03cd09bf28278bf2e243581c00332.zip
Fixed GetById to return only public info
Diffstat (limited to 'src/DevHive.Web')
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs6
-rw-r--r--src/DevHive.Web/Configurations/Mapping/UserMappings.cs3
-rw-r--r--src/DevHive.Web/Controllers/UserController.cs7
-rw-r--r--src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs6
-rw-r--r--src/DevHive.Web/Models/Identity/User/UserWebModel.cs11
5 files changed, 26 insertions, 7 deletions
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
index f308957..0fe32de 100644
--- a/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
+++ b/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
@@ -37,6 +37,12 @@ namespace DevHive.Web.Configurations.Extensions
options.Stores.MaxLengthForKeys = 20;
});
+
+ services.AddAuthorization(options =>
+ {
+ options.AddPolicy($"{Role.DefaultRole}",
+ policy => policy.RequireRole($"{Role.DefaultRole}"));
+ });
}
public static void UseDatabaseConfiguration(this IApplicationBuilder app)
diff --git a/src/DevHive.Web/Configurations/Mapping/UserMappings.cs b/src/DevHive.Web/Configurations/Mapping/UserMappings.cs
index 49f0348..06083de 100644
--- a/src/DevHive.Web/Configurations/Mapping/UserMappings.cs
+++ b/src/DevHive.Web/Configurations/Mapping/UserMappings.cs
@@ -11,7 +11,10 @@ namespace DevHive.Web.Configurations.Mapping
{
CreateMap<LoginWebModel, LoginServiceModel>();
CreateMap<RegisterWebModel, RegisterServiceModel>();
+ CreateMap<UserWebModel, UserServiceModel>();
CreateMap<UpdateUserWebModel, UpdateUserServiceModel>();
+
+ CreateMap<UserServiceModel, UserWebModel>();
}
}
}
diff --git a/src/DevHive.Web/Controllers/UserController.cs b/src/DevHive.Web/Controllers/UserController.cs
index f241409..74eccd4 100644
--- a/src/DevHive.Web/Controllers/UserController.cs
+++ b/src/DevHive.Web/Controllers/UserController.cs
@@ -1,6 +1,7 @@
using System;
using System.Threading.Tasks;
using AutoMapper;
+using DevHive.Data.Models;
using DevHive.Data.Repositories;
using DevHive.Services.Models.Identity.User;
using DevHive.Services.Options;
@@ -46,7 +47,9 @@ namespace DevHive.Web.Controllers
[HttpGet]
public async Task<IActionResult> GetById(Guid id)
{
- return await this._userService.GetUserById(id);
+ UserServiceModel serviceModel = await this._userService.GetUserById(id);
+
+ return new OkObjectResult(this._userMapper.Map<UserWebModel>(serviceModel));
}
//Update
@@ -62,7 +65,7 @@ namespace DevHive.Web.Controllers
//Delete
[HttpDelete]
- [Authorize]
+ [Authorize(Roles = Role.DefaultRole)]
public async Task<IActionResult> Delete(Guid id)
{
return await this._userService.DeleteUser(id);
diff --git a/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs b/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs
index 3d96189..e04e7da 100644
--- a/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs
@@ -1,11 +1,7 @@
namespace DevHive.Web.Models.Identity.User
{
- public class UpdateUserWebModel
+ public class UpdateUserWebModel : UserWebModel
{
- public string UserName { get; set; }
- public string Email { get; set; }
- public string FirstName { get; set; }
- public string LastName { get; set; }
public string Password { get; set; }
}
}
diff --git a/src/DevHive.Web/Models/Identity/User/UserWebModel.cs b/src/DevHive.Web/Models/Identity/User/UserWebModel.cs
new file mode 100644
index 0000000..e070d44
--- /dev/null
+++ b/src/DevHive.Web/Models/Identity/User/UserWebModel.cs
@@ -0,0 +1,11 @@
+namespace DevHive.Web.Models.Identity.User
+{
+ public class UserWebModel
+ {
+ public string UserName { get; set; }
+ public string Email { get; set; }
+ public string FirstName { get; set; }
+ public string LastName { get; set; }
+ public string Role { get; set; }
+ }
+}