aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web/Controllers
diff options
context:
space:
mode:
Diffstat (limited to 'src/DevHive.Web/Controllers')
-rw-r--r--src/DevHive.Web/Controllers/TechnologyController.cs5
-rw-r--r--src/DevHive.Web/Controllers/UserController.cs65
2 files changed, 62 insertions, 8 deletions
diff --git a/src/DevHive.Web/Controllers/TechnologyController.cs b/src/DevHive.Web/Controllers/TechnologyController.cs
index 08d4ca8..e02ca3d 100644
--- a/src/DevHive.Web/Controllers/TechnologyController.cs
+++ b/src/DevHive.Web/Controllers/TechnologyController.cs
@@ -23,9 +23,9 @@ namespace DevHive.Web.Controllers
}
[HttpPost]
- public async Task<IActionResult> Create([FromBody] TechnologyWebModel technologyWebModel)
+ public async Task<IActionResult> Create([FromBody] CreateTechnologyWebModel technologyWebModel)
{
- TechnologyServiceModel technologyServiceModel = this._technologyMapper.Map<TechnologyServiceModel>(technologyWebModel);
+ CreateTechnologyServiceModel technologyServiceModel = this._technologyMapper.Map<CreateTechnologyServiceModel>(technologyWebModel);
bool result = await this._technologyService.Create(technologyServiceModel);
@@ -48,7 +48,6 @@ namespace DevHive.Web.Controllers
public async Task<IActionResult> Update(Guid id, [FromBody] UpdateTechnologyWebModel updateModel)
{
UpdateTechnologyServiceModel updateTechnologyWebModel = this._technologyMapper.Map<UpdateTechnologyServiceModel>(updateModel);
- updateTechnologyWebModel.Id = id;
bool result = await this._technologyService.UpdateTechnology(updateTechnologyWebModel);
diff --git a/src/DevHive.Web/Controllers/UserController.cs b/src/DevHive.Web/Controllers/UserController.cs
index ce972a5..8fa07cf 100644
--- a/src/DevHive.Web/Controllers/UserController.cs
+++ b/src/DevHive.Web/Controllers/UserController.cs
@@ -10,6 +10,10 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using DevHive.Common.Models.Identity;
using DevHive.Common.Models.Misc;
+using DevHive.Web.Models.Language;
+using DevHive.Services.Models.Language;
+using DevHive.Web.Models.Technology;
+using DevHive.Services.Models.Technology;
namespace DevHive.Web.Controllers
{
@@ -27,6 +31,7 @@ namespace DevHive.Web.Controllers
this._userMapper = mapper;
}
+ #region Authentication
[HttpPost]
[Route("Login")]
[AllowAnonymous]
@@ -40,7 +45,6 @@ namespace DevHive.Web.Controllers
return new OkObjectResult(tokenWebModel);
}
- //Create
[HttpPost]
[Route("Register")]
[AllowAnonymous]
@@ -53,6 +57,9 @@ namespace DevHive.Web.Controllers
return new CreatedResult("Register", tokenWebModel);
}
+ #endregion
+
+ #region Create
[HttpPost]
[Route("AddAFriend")]
@@ -63,7 +70,30 @@ namespace DevHive.Web.Controllers
new BadRequestResult();
}
- //Read
+ [HttpPost]
+ [Route("AddLanguageToUser")]
+ public async Task<IActionResult> AddLanguageToUser(Guid userId, [FromBody] LanguageWebModel languageWebModel)
+ {
+ LanguageServiceModel languageServiceModel = this._userMapper.Map<LanguageServiceModel>(languageWebModel);
+
+ return await this._userService.AddLanguageToUser(userId, languageServiceModel) ?
+ new OkResult() :
+ new BadRequestResult();
+ }
+
+ [HttpPost]
+ [Route("AddTechnologyToUser")]
+ public async Task<IActionResult> AddTechnologyToUser(Guid userId, [FromBody] TechnologyWebModel technologyWebModel)
+ {
+ TechnologyServiceModel technologyServiceModel = this._userMapper.Map<TechnologyServiceModel>(technologyWebModel);
+
+ return await this._userService.AddTechnologyToUser(userId, technologyServiceModel) ?
+ new OkResult() :
+ new BadRequestResult();
+ }
+ #endregion
+
+ #region Read
[HttpGet]
public async Task<IActionResult> GetById(Guid id, [FromHeader] string authorization)
{
@@ -85,8 +115,9 @@ namespace DevHive.Web.Controllers
return new OkObjectResult(friend);
}
+ #endregion
- //Update
+ #region Update
[HttpPut]
public async Task<IActionResult> Update(Guid id, [FromBody] UpdateUserWebModel updateModel, [FromHeader] string authorization)
{
@@ -100,10 +131,10 @@ namespace DevHive.Web.Controllers
UserWebModel userWebModel = this._userMapper.Map<UserWebModel>(userServiceModel);
return new AcceptedResult("UpdateUser", userWebModel);
-
}
+ #endregion
- //Delete
+ #region Delete
[HttpDelete]
public async Task<IActionResult> Delete(Guid id, [FromHeader] string authorization)
{
@@ -121,5 +152,29 @@ namespace DevHive.Web.Controllers
await this._userService.RemoveFriend(userId, friendId);
return new OkResult();
}
+
+ [HttpPost]
+ [Route("RemoveLanguageFromUser")]
+ public async Task<IActionResult> RemoveLanguageFromUser(Guid userId, [FromBody] LanguageWebModel languageWebModel)
+ {
+ LanguageServiceModel languageServiceModel = this._userMapper.Map<LanguageServiceModel>(languageWebModel);
+
+ return await this._userService.RemoveLanguageFromUser(userId, languageServiceModel) ?
+ new OkResult() :
+ new BadRequestResult();
+ }
+
+ [HttpPost]
+ [Route("RemoveTechnologyFromUser")]
+ public async Task<IActionResult> RemoveTechnologyFromUser(Guid userId, [FromBody] TechnologyWebModel technologyWebModel)
+ {
+ TechnologyServiceModel technologyServiceModel = this._userMapper.Map<TechnologyServiceModel>(technologyWebModel);
+
+ return await this._userService.RemoveTechnologyFromUser(userId, technologyServiceModel) ?
+ new OkResult() :
+ new BadRequestResult();
+ }
+
+ #endregion
}
}