aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web
diff options
context:
space:
mode:
Diffstat (limited to 'src/DevHive.Web')
-rw-r--r--src/DevHive.Web/Configurations/Mapping/RoleMappings.cs2
-rw-r--r--src/DevHive.Web/Controllers/RoleController.cs35
-rw-r--r--src/DevHive.Web/Models/Identity/Role/RoleWebModel.cs10
-rw-r--r--src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs6
4 files changed, 40 insertions, 13 deletions
diff --git a/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs b/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs
index 9ccb7d7..2743df3 100644
--- a/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs
+++ b/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs
@@ -10,6 +10,8 @@ namespace DevHive.Web.Configurations.Mapping
{
CreateMap<CreateRoleWebModel, RoleServiceModel>();
CreateMap<UpdateRoleWebModel, RoleServiceModel>();
+ CreateMap<RoleServiceModel, RoleWebModel>();
+ CreateMap<RoleWebModel, RoleServiceModel>();
}
}
}
diff --git a/src/DevHive.Web/Controllers/RoleController.cs b/src/DevHive.Web/Controllers/RoleController.cs
index 610d370..1664f4f 100644
--- a/src/DevHive.Web/Controllers/RoleController.cs
+++ b/src/DevHive.Web/Controllers/RoleController.cs
@@ -25,33 +25,52 @@ namespace DevHive.Web.Controllers
}
[HttpPost]
- public Task<IActionResult> Create(CreateRoleWebModel createRoleWebModel)
+ public async Task<IActionResult> Create([FromBody] CreateRoleWebModel createRoleWebModel)
{
RoleServiceModel roleServiceModel =
this._roleMapper.Map<RoleServiceModel>(createRoleWebModel);
- return this._roleService.CreateRole(roleServiceModel);
+ bool result = await this._roleService.CreateRole(roleServiceModel);
+
+ if (!result)
+ return new BadRequestObjectResult("Could not create role!");
+
+ return new OkResult();
}
[HttpGet]
- public Task<IActionResult> GetById(Guid id)
+ public async Task<IActionResult> GetById(Guid id)
{
- return this._roleService.GetRoleById(id);
+ RoleServiceModel roleServiceModel = await this._roleService.GetRoleById(id);
+ RoleWebModel roleWebModel = this._roleMapper.Map<RoleWebModel>(roleServiceModel);
+
+ return new OkObjectResult(roleWebModel);
}
[HttpPut]
- public Task<IActionResult> Update(UpdateRoleWebModel updateRoleWebModel)
+ public async Task<IActionResult> Update(Guid id, [FromBody] UpdateRoleWebModel updateRoleWebModel)
{
RoleServiceModel roleServiceModel =
this._roleMapper.Map<RoleServiceModel>(updateRoleWebModel);
+ roleServiceModel.Id = id;
+
+ bool result = await this._roleService.UpdateRole(roleServiceModel);
- return this._roleService.UpdateRole(roleServiceModel);
+ if (!result)
+ return new BadRequestObjectResult("Could not update role!");
+
+ return new OkResult();
}
[HttpDelete]
- public Task<IActionResult> Delete(Guid id)
+ public async Task<IActionResult> Delete(Guid id)
{
- return this._roleService.DeleteRole(id);
+ bool result = await this._roleService.DeleteRole(id);
+
+ if (!result)
+ return new BadRequestObjectResult("Could nor delete role!");
+
+ return new OkResult();
}
}
}
diff --git a/src/DevHive.Web/Models/Identity/Role/RoleWebModel.cs b/src/DevHive.Web/Models/Identity/Role/RoleWebModel.cs
new file mode 100644
index 0000000..d8ae465
--- /dev/null
+++ b/src/DevHive.Web/Models/Identity/Role/RoleWebModel.cs
@@ -0,0 +1,10 @@
+using System;
+
+namespace DevHive.Web.Models.Identity.Role
+{
+ public class RoleWebModel
+ {
+ public Guid Id { get; set; }
+ public string Name { get; set; }
+ }
+}
diff --git a/src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs b/src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs
index b970dd5..213ec55 100644
--- a/src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs
@@ -1,10 +1,6 @@
-using System;
-
namespace DevHive.Web.Models.Identity.Role
{
- public class UpdateRoleWebModel
+ public class UpdateRoleWebModel : CreateRoleWebModel
{
- public Guid Id { get; set; }
- public string NewName { get; set; }
}
}