aboutsummaryrefslogtreecommitdiff
path: root/API
diff options
context:
space:
mode:
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.");
}
}
}