diff options
Diffstat (limited to 'Controllers')
-rw-r--r-- | Controllers/RafflesController.cs | 2 | ||||
-rw-r--r-- | Controllers/UserAccountSessionsController.cs | 15 |
2 files changed, 15 insertions, 2 deletions
diff --git a/Controllers/RafflesController.cs b/Controllers/RafflesController.cs index c649b70..aff4085 100644 --- a/Controllers/RafflesController.cs +++ b/Controllers/RafflesController.cs @@ -68,7 +68,7 @@ namespace BackendPIA.Controllers { return StatusCode(303, new { Message = "The resource has been deleted"} ); } - [Authorize] + [Authorize(Policy = "ValidToken")] [HttpGet("{id:int}/available_tickets")] public async Task<ActionResult<IEnumerable<int>>> AvailableTickets(long id) { IEnumerable<int> available_tickets = from number in Enumerable.Range(1, 54) select number; diff --git a/Controllers/UserAccountSessionsController.cs b/Controllers/UserAccountSessionsController.cs index 217c05c..ebeca96 100644 --- a/Controllers/UserAccountSessionsController.cs +++ b/Controllers/UserAccountSessionsController.cs @@ -32,11 +32,24 @@ namespace BackendPIA.Controllers { return StatusCode(401, new InvalidLoginError(401, "Check your credentials")); } + [Authorize(Policy = "ValidToken")] + [HttpDelete("logout")] + public async Task<ActionResult> Delete() { + string email = HttpContext.User.Claims.Where(c => c.Type.Contains("email")).First().Value; + DestroyUserAccountSessionLogic logic = new DestroyUserAccountSessionLogic(_manager, email); + bool result = await logic.Call(); + + if(result) + return Ok(); + + return NotFound(new NotFoundError(404, "Couldn't find the user.")); + } + // [Authorize] [HttpPost("refresh")] public async Task<ActionResult<AuthenticationToken>> Refresh(AuthenticationToken form) { RefreshTokenLogic logic = new RefreshTokenLogic(_token_generator, _manager, form); - var result = await logic.Call(); + bool result = await logic.Call(); if(result) return Ok(logic.Token); |