aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web
diff options
context:
space:
mode:
authorDanail Dimitrov <danaildimitrov321@gmail.com>2021-01-26 15:50:16 +0200
committerDanail Dimitrov <danaildimitrov321@gmail.com>2021-01-26 15:50:16 +0200
commitacf0e2f3908ba45dca1ff04cc1e5a892cc2cdbf0 (patch)
tree38c290bd7bad75edfdeb9631948ef654c3a282f0 /src/DevHive.Web
parentf61da9c07ff37cb350528e255539b4ec11181bde (diff)
parentbddc0b0566bc19e936ccae9d3aa16b6e0116b186 (diff)
downloadDevHive-acf0e2f3908ba45dca1ff04cc1e5a892cc2cdbf0.tar
DevHive-acf0e2f3908ba45dca1ff04cc1e5a892cc2cdbf0.tar.gz
DevHive-acf0e2f3908ba45dca1ff04cc1e5a892cc2cdbf0.zip
Merge branch 'dev' of https://github.com/Team-Kaleidoscope/DevHive into dev
Diffstat (limited to 'src/DevHive.Web')
-rw-r--r--src/DevHive.Web/Configurations/Mapping/RoleMappings.cs4
-rw-r--r--src/DevHive.Web/Configurations/Mapping/UserMappings.cs14
-rw-r--r--src/DevHive.Web/Controllers/FeedController.cs2
-rw-r--r--src/DevHive.Web/Controllers/LanguageController.cs18
-rw-r--r--src/DevHive.Web/Controllers/PostController.cs1
-rw-r--r--src/DevHive.Web/Controllers/RoleController.cs10
-rw-r--r--src/DevHive.Web/Controllers/TechnologyController.cs18
-rw-r--r--src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs6
-rw-r--r--src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs2
-rw-r--r--src/DevHive.Web/Models/Identity/User/UserWebModel.cs2
-rw-r--r--src/DevHive.Web/Models/Identity/User/UsernameWebModel.cs (renamed from src/DevHive.Web/Models/Identity/User/FriendWebModel.cs)2
11 files changed, 53 insertions, 26 deletions
diff --git a/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs b/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs
index 2f01f77..2ea2742 100644
--- a/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs
+++ b/src/DevHive.Web/Configurations/Mapping/RoleMappings.cs
@@ -11,11 +11,11 @@ namespace DevHive.Web.Configurations.Mapping
CreateMap<CreateRoleWebModel, CreateRoleServiceModel>();
CreateMap<UpdateRoleWebModel, UpdateRoleServiceModel>()
.ForMember(src => src.Id, dest => dest.Ignore());
- CreateMap<RoleWebModel, ReadRoleServiceModel>();
+ CreateMap<RoleWebModel, RoleServiceModel>();
CreateMap<CreateRoleServiceModel, CreateRoleWebModel>();
CreateMap<UpdateRoleServiceModel, UpdateRoleWebModel>();
- CreateMap<ReadRoleServiceModel, RoleWebModel>();
+ CreateMap<RoleServiceModel, RoleWebModel>();
}
}
}
diff --git a/src/DevHive.Web/Configurations/Mapping/UserMappings.cs b/src/DevHive.Web/Configurations/Mapping/UserMappings.cs
index e80a69a..1b26cc9 100644
--- a/src/DevHive.Web/Configurations/Mapping/UserMappings.cs
+++ b/src/DevHive.Web/Configurations/Mapping/UserMappings.cs
@@ -2,8 +2,6 @@ using AutoMapper;
using DevHive.Services.Models.Identity.User;
using DevHive.Web.Models.Identity.User;
using DevHive.Common.Models.Identity;
-using DevHive.Web.Models.Language;
-using DevHive.Web.Models.Technology;
namespace DevHive.Web.Configurations.Mapping
{
@@ -21,16 +19,12 @@ namespace DevHive.Web.Configurations.Mapping
CreateMap<TokenModel, TokenWebModel>();
//Update
- CreateMap<UpdateUserWebModel, UpdateUserServiceModel>()
- .ForMember(src => src.Id, dest => dest.Ignore());
- CreateMap<FriendWebModel, FriendServiceModel>()
- .ForMember(src => src.Id, dest => dest.Ignore());
- CreateMap<FriendWebModel, UpdateFriendServiceModel>()
- .ForMember(src => src.Id, dest => dest.Ignore())
- .ForMember(src => src.Name, dest => dest.MapFrom(p => p.UserName));
+ CreateMap<UpdateUserWebModel, UpdateUserServiceModel>();
+ CreateMap<UsernameWebModel, FriendServiceModel>();
+ CreateMap<UsernameWebModel, UpdateFriendServiceModel>();
CreateMap<UpdateUserServiceModel, UpdateUserWebModel>();
- CreateMap<FriendServiceModel, FriendWebModel>();
+ CreateMap<FriendServiceModel, UsernameWebModel>();
}
}
}
diff --git a/src/DevHive.Web/Controllers/FeedController.cs b/src/DevHive.Web/Controllers/FeedController.cs
index 7d0269b..9d3693b 100644
--- a/src/DevHive.Web/Controllers/FeedController.cs
+++ b/src/DevHive.Web/Controllers/FeedController.cs
@@ -4,12 +4,14 @@ using AutoMapper;
using DevHive.Services.Interfaces;
using DevHive.Services.Models;
using DevHive.Web.Models.Feed;
+using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace DevHive.Web.Controllers
{
[ApiController]
[Route("/api/[controller]")]
+ [Authorize(Roles = "User,Admin")]
public class FeedController
{
private readonly IFeedService _feedService;
diff --git a/src/DevHive.Web/Controllers/LanguageController.cs b/src/DevHive.Web/Controllers/LanguageController.cs
index c0c5fd1..85ec1e1 100644
--- a/src/DevHive.Web/Controllers/LanguageController.cs
+++ b/src/DevHive.Web/Controllers/LanguageController.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Threading.Tasks;
using AutoMapper;
using DevHive.Services.Interfaces;
@@ -11,7 +12,6 @@ namespace DevHive.Web.Controllers
{
[ApiController]
[Route("/api/[controller]")]
- [Authorize(Policy = "Administrator")]
public class LanguageController
{
private readonly ILanguageService _languageService;
@@ -24,6 +24,7 @@ namespace DevHive.Web.Controllers
}
[HttpPost]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Create([FromBody] CreateLanguageWebModel createLanguageWebModel)
{
CreateLanguageServiceModel languageServiceModel = this._languageMapper.Map<CreateLanguageServiceModel>(createLanguageWebModel);
@@ -36,7 +37,7 @@ namespace DevHive.Web.Controllers
}
[HttpGet]
- [Authorize(Policy = "User")]
+ [Authorize(Roles = "User,Admin")]
public async Task<IActionResult> GetById(Guid id)
{
ReadLanguageServiceModel languageServiceModel = await this._languageService.GetLanguageById(id);
@@ -45,7 +46,19 @@ namespace DevHive.Web.Controllers
return new OkObjectResult(languageWebModel);
}
+ [HttpGet]
+ [Route("GetLanguages")]
+ [Authorize(Roles = "User,Admin")]
+ public IActionResult GetAllExistingLanguages()
+ {
+ HashSet<ReadLanguageServiceModel> languageServiceModels = this._languageService.GetLanguages();
+ HashSet<ReadLanguageWebModel> languageWebModels = this._languageMapper.Map<HashSet<ReadLanguageWebModel>>(languageServiceModels);
+
+ return new OkObjectResult(languageWebModels);
+ }
+
[HttpPut]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Update(Guid id, [FromBody] UpdateLanguageWebModel updateModel)
{
UpdateLanguageServiceModel updatelanguageServiceModel = this._languageMapper.Map<UpdateLanguageServiceModel>(updateModel);
@@ -60,6 +73,7 @@ namespace DevHive.Web.Controllers
}
[HttpDelete]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Delete(Guid id)
{
bool result = await this._languageService.DeleteLanguage(id);
diff --git a/src/DevHive.Web/Controllers/PostController.cs b/src/DevHive.Web/Controllers/PostController.cs
index 151c688..8bb1d66 100644
--- a/src/DevHive.Web/Controllers/PostController.cs
+++ b/src/DevHive.Web/Controllers/PostController.cs
@@ -27,6 +27,7 @@ namespace DevHive.Web.Controllers
#region Create
[HttpPost]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Create(Guid userId, [FromBody] CreatePostWebModel createPostWebModel)
{
CreatePostServiceModel createPostServiceModel =
diff --git a/src/DevHive.Web/Controllers/RoleController.cs b/src/DevHive.Web/Controllers/RoleController.cs
index d8bb60c..0d2a2eb 100644
--- a/src/DevHive.Web/Controllers/RoleController.cs
+++ b/src/DevHive.Web/Controllers/RoleController.cs
@@ -23,7 +23,7 @@ namespace DevHive.Web.Controllers
}
[HttpPost]
- // [Authorize(Policy = "Administrator")]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Create([FromBody] CreateRoleWebModel createRoleWebModel)
{
CreateRoleServiceModel roleServiceModel =
@@ -37,17 +37,17 @@ namespace DevHive.Web.Controllers
}
[HttpGet]
- [Authorize(Policy = "User")]
+ [Authorize(Roles = "User,Admin")]
public async Task<IActionResult> GetById(Guid id)
{
- ReadRoleServiceModel roleServiceModel = await this._roleService.GetRoleById(id);
+ RoleServiceModel roleServiceModel = await this._roleService.GetRoleById(id);
RoleWebModel roleWebModel = this._roleMapper.Map<RoleWebModel>(roleServiceModel);
return new OkObjectResult(roleWebModel);
}
[HttpPut]
- [Authorize(Policy = "Administrator")]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Update(Guid id, [FromBody] UpdateRoleWebModel updateRoleWebModel)
{
UpdateRoleServiceModel updateRoleServiceModel =
@@ -63,7 +63,7 @@ namespace DevHive.Web.Controllers
}
[HttpDelete]
- [Authorize(Policy = "Administrator")]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Delete(Guid id)
{
bool result = await this._roleService.DeleteRole(id);
diff --git a/src/DevHive.Web/Controllers/TechnologyController.cs b/src/DevHive.Web/Controllers/TechnologyController.cs
index 3d7568b..6453d12 100644
--- a/src/DevHive.Web/Controllers/TechnologyController.cs
+++ b/src/DevHive.Web/Controllers/TechnologyController.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.Threading.Tasks;
using AutoMapper;
using DevHive.Services.Interfaces;
@@ -11,7 +12,6 @@ namespace DevHive.Web.Controllers
{
[ApiController]
[Route("/api/[controller]")]
- [Authorize(Policy = "Administrator")]
public class TechnologyController
{
private readonly ITechnologyService _technologyService;
@@ -24,6 +24,7 @@ namespace DevHive.Web.Controllers
}
[HttpPost]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Create([FromBody] CreateTechnologyWebModel createTechnologyWebModel)
{
CreateTechnologyServiceModel technologyServiceModel = this._technologyMapper.Map<CreateTechnologyServiceModel>(createTechnologyWebModel);
@@ -36,7 +37,7 @@ namespace DevHive.Web.Controllers
}
[HttpGet]
- [Authorize(Policy = "User")]
+ [Authorize(Roles = "User,Admin")]
public async Task<IActionResult> GetById(Guid id)
{
CreateTechnologyServiceModel createTechnologyServiceModel = await this._technologyService.GetTechnologyById(id);
@@ -45,7 +46,19 @@ namespace DevHive.Web.Controllers
return new OkObjectResult(createTechnologyWebModel);
}
+ [HttpGet]
+ [Route("GetTechnologies")]
+ [Authorize(Roles = "User,Admin")]
+ public IActionResult GetAllExistingTechnologies()
+ {
+ HashSet<ReadTechnologyServiceModel> technologyServiceModels = this._technologyService.GetTechnologies();
+ HashSet<ReadTechnologyWebModel> languageWebModels = this._technologyMapper.Map<HashSet<ReadTechnologyWebModel>>(technologyServiceModels);
+
+ return new OkObjectResult(languageWebModels);
+ }
+
[HttpPut]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Update(Guid id, [FromBody] UpdateTechnologyWebModel updateModel)
{
UpdateTechnologyServiceModel updateTechnologyServiceModel = this._technologyMapper.Map<UpdateTechnologyServiceModel>(updateModel);
@@ -60,6 +73,7 @@ namespace DevHive.Web.Controllers
}
[HttpDelete]
+ [Authorize(Roles = "Admin")]
public async Task<IActionResult> Delete(Guid id)
{
bool result = await this._technologyService.DeleteTechnology(id);
diff --git a/src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs b/src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs
index 254affc..3870481 100644
--- a/src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/Role/UpdateRoleWebModel.cs
@@ -4,10 +4,12 @@ using System.Diagnostics.CodeAnalysis;
namespace DevHive.Web.Models.Identity.Role
{
- public class UpdateRoleWebModel : RoleWebModel
+ public class UpdateRoleWebModel
{
[NotNull]
[Required]
- public Guid Id { get; set; }
+ [MinLength(3)]
+ [MaxLength(50)]
+ public string Name { get; set; }
}
}
diff --git a/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs b/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs
index 30c66fb..62901f6 100644
--- a/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/UpdateUserWebModel.cs
@@ -17,7 +17,7 @@ namespace DevHive.Web.Models.Identity.User
[NotNull]
[Required]
- public HashSet<FriendWebModel> Friends { get; set; }
+ public HashSet<UsernameWebModel> Friends { get; set; }
[NotNull]
[Required]
diff --git a/src/DevHive.Web/Models/Identity/User/UserWebModel.cs b/src/DevHive.Web/Models/Identity/User/UserWebModel.cs
index 5b80ba3..4097901 100644
--- a/src/DevHive.Web/Models/Identity/User/UserWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/UserWebModel.cs
@@ -15,7 +15,7 @@ namespace DevHive.Web.Models.Identity.User
[NotNull]
[Required]
- public HashSet<FriendWebModel> Friends { get; set; } = new HashSet<FriendWebModel>();
+ public HashSet<UsernameWebModel> Friends { get; set; } = new HashSet<UsernameWebModel>();
[NotNull]
[Required]
diff --git a/src/DevHive.Web/Models/Identity/User/FriendWebModel.cs b/src/DevHive.Web/Models/Identity/User/UsernameWebModel.cs
index d59bff5..a20c1bf 100644
--- a/src/DevHive.Web/Models/Identity/User/FriendWebModel.cs
+++ b/src/DevHive.Web/Models/Identity/User/UsernameWebModel.cs
@@ -4,7 +4,7 @@ using DevHive.Web.Attributes;
namespace DevHive.Web.Models.Identity.User
{
- public class FriendWebModel
+ public class UsernameWebModel
{
[NotNull]
[Required]