diff options
Diffstat (limited to 'Controllers/UserAccountsController.cs')
-rw-r--r-- | Controllers/UserAccountsController.cs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Controllers/UserAccountsController.cs b/Controllers/UserAccountsController.cs index 51c2481..2a0a8dd 100644 --- a/Controllers/UserAccountsController.cs +++ b/Controllers/UserAccountsController.cs @@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Mvc; using BackendPIA.Forms; using BackendPIA.Models; using BackendPIA.Services; +using Microsoft.AspNetCore.Authorization; using BackendPIA.Errors; using BackendPIA.Logics; @@ -25,6 +26,18 @@ namespace BackendPIA.Controllers { _token_generator = token_generator; } + [HttpGet("user")] + [Authorize(Roles = "Regular")] + public async Task<ActionResult<UserAccountDTO>> Show() { + string email = HttpContext.User.Claims.Where(c => c.Type.Contains("email")).First().Value; + var user = await _user_account_service.GetUserAccount(email); + + if(user == null) + return StatusCode(404, "User couldn't be found."); + + return Ok(_mapper.Map<UserAccountDTO>(user)); + } + [HttpPost("signup")] public async Task<ActionResult<AuthenticationToken>> Create(UserAccountForm form) { CreateUserAccountLogic logic = new CreateUserAccountLogic(_token_generator, _manager, form, _mapper, _user_account_service, "Regular"); |