aboutsummaryrefslogtreecommitdiff
path: root/API
diff options
context:
space:
mode:
authorSyndamia <kamen.d.mladenov@protonmail.com>2020-12-11 15:23:15 +0200
committerSyndamia <kamen.d.mladenov@protonmail.com>2020-12-11 15:23:15 +0200
commit5a64d52df66264c9f752b03f38a0bc40ddf25931 (patch)
tree6fbd918dcdf0c67e438e7354691ee1e81e8c34bb /API
parent8554d02a954449e8e7c250f3f83868834056afad (diff)
downloadDevHive-5a64d52df66264c9f752b03f38a0bc40ddf25931.tar
DevHive-5a64d52df66264c9f752b03f38a0bc40ddf25931.tar.gz
DevHive-5a64d52df66264c9f752b03f38a0bc40ddf25931.zip
Made UserController (and UserService) return IActionResult, rather than HttpStatusCode
Diffstat (limited to 'API')
-rw-r--r--API/Controllers/UserController.cs8
-rw-r--r--API/Service/UserService.cs38
2 files changed, 18 insertions, 28 deletions
diff --git a/API/Controllers/UserController.cs b/API/Controllers/UserController.cs
index 3f18dbe..7e75e3e 100644
--- a/API/Controllers/UserController.cs
+++ b/API/Controllers/UserController.cs
@@ -23,28 +23,28 @@ namespace API.Controllers
//Create
[HttpPost]
- public async Task<HttpStatusCode> Create([FromBody] UserDTO userDTO)
+ public async Task<IActionResult> Create([FromBody] UserDTO userDTO)
{
return await this._service.CreateUser(userDTO);
}
//Read
[HttpGet]
- public async Task<User> GetById(int id)
+ public async Task<IActionResult> GetById(int id)
{
return await this._service.GetUserById(id);
}
//Update
[HttpPut]
- public async Task<HttpStatusCode> Update(int id, [FromBody] UserDTO userDTO)
+ public async Task<IActionResult> Update(int id, [FromBody] UserDTO userDTO)
{
return await this._service.UpdateUser(id, userDTO);
}
//Delete
[HttpDelete]
- public async Task<HttpStatusCode> Delete(int id)
+ public async Task<IActionResult> Delete(int id)
{
return await this._service.DeleteUser(id);
}
diff --git a/API/Service/UserService.cs b/API/Service/UserService.cs
index a03de45..fec6821 100644
--- a/API/Service/UserService.cs
+++ b/API/Service/UserService.cs
@@ -10,6 +10,7 @@ using System.Net.Http;
using Npgsql.EntityFrameworkCore.PostgreSQL.Query.ExpressionTranslators.Internal;
using System;
using Microsoft.AspNetCore.Mvc.Routing;
+using Microsoft.AspNetCore.Mvc;
namespace API.Service
{
@@ -24,60 +25,49 @@ namespace API.Service
this._userMapper = mapper;
}
- public async Task<HttpStatusCode> CreateUser(UserDTO userDTO)
+ public async Task<IActionResult> CreateUser(UserDTO userDTO)
{
if (this._userDbRepository.DoesUsernameExist(userDTO.UserName))
- ThrowHttpRequestException(HttpStatusCode.BadRequest, "Username already exists!");
+ return new BadRequestObjectResult("Username already exists!");
User user = this._userMapper.Map<User>(userDTO);
await this._userDbRepository.AddAsync(user);
- return HttpStatusCode.Created;
+ return new OkObjectResult("User created.");
}
- public async Task<User> GetUserById(int id)
+ public async Task<IActionResult> GetUserById(int id)
{
User user = await this._userDbRepository.FindByIdAsync(id);
if (user == null)
- ThrowHttpRequestException(HttpStatusCode.NotFound);
+ return new NotFoundObjectResult("User does not exist!");
- return user;
+ return new OkObjectResult(JsonConvert.SerializeObject(user));
}
- public async Task<HttpStatusCode> UpdateUser(int id, UserDTO userDTO)
+ public async Task<IActionResult> UpdateUser(int id, UserDTO userDTO)
{
if (!this._userDbRepository.DoesUserExist(id))
- ThrowHttpRequestException(HttpStatusCode.NotFound);
+ return new NotFoundObjectResult("User does not exist!");
if (this._userDbRepository.DoesUsernameExist(userDTO.UserName))
- ThrowHttpRequestException(HttpStatusCode.Forbidden);
+ return new BadRequestObjectResult("Username already exists!");
User user = this._userMapper.Map<User>(userDTO);
await this._userDbRepository.EditAsync(id, user);
- return HttpStatusCode.OK;
+ return new OkObjectResult("User updated.");
}
- public async Task<HttpStatusCode> DeleteUser(int id)
+ public async Task<IActionResult> DeleteUser(int id)
{
if (!this._userDbRepository.DoesUserExist(id))
- return HttpStatusCode.Forbidden;
+ return new NotFoundObjectResult("User does not exist!");
await this._userDbRepository.DeleteAsync(id);
- return HttpStatusCode.OK;
- }
-
- private void ThrowHttpRequestException(HttpStatusCode statusCode, string errorMessage = "")
- {
- HttpResponseMessage message = new()
- {
- StatusCode = statusCode,
- Content = new StringContent(errorMessage)
- };
-
- throw new HttpResponseException(message);
+ return new OkObjectResult("User deleted successfully.");
}
}
}