summaryrefslogtreecommitdiff
path: root/Controllers/AdministratorSessionsController.cs
diff options
context:
space:
mode:
authorHombreLaser <sebastian-440@live.com>2022-11-18 16:32:38 -0600
committerHombreLaser <sebastian-440@live.com>2022-11-18 16:32:38 -0600
commita640608ab8ff895be3125ebf75a4d3d19139f5c3 (patch)
tree5634b61500b4925bb07f918ec5780a93186bb89e /Controllers/AdministratorSessionsController.cs
parent22b5afd25bc29f920f46456c0a6acf6847a9af5e (diff)
Añadido login de administradores
Diffstat (limited to 'Controllers/AdministratorSessionsController.cs')
-rw-r--r--Controllers/AdministratorSessionsController.cs34
1 files changed, 34 insertions, 0 deletions
diff --git a/Controllers/AdministratorSessionsController.cs b/Controllers/AdministratorSessionsController.cs
new file mode 100644
index 0000000..2ecf5e0
--- /dev/null
+++ b/Controllers/AdministratorSessionsController.cs
@@ -0,0 +1,34 @@
+using Microsoft.AspNetCore.Identity;
+using Microsoft.AspNetCore.Mvc;
+using BackendPIA.Forms;
+using BackendPIA.Models;
+using BackendPIA.Services;
+using BackendPIA.Errors;
+using BackendPIA.Logics;
+
+namespace BackendPIA.Controllers {
+ [Route("api/admin")]
+ [ApiController]
+ public class AdministratorSessionsController : ControllerBase {
+ private readonly ApplicationDbContext _context;
+ private readonly ITokenGenerator _token_generator;
+ private readonly UserManager<UserAccount> _manager;
+
+ public AdministratorSessionsController(ApplicationDbContext context, ITokenGenerator token_generator, UserManager<UserAccount> manager) {
+ _context = context;
+ _token_generator = token_generator;
+ _manager = manager;
+ }
+
+ [HttpPost("login")]
+ public async Task<ActionResult<AuthenticationToken>> Create(UserAccountLoginForm form) {
+ CreateAdministratorSessionLogic logic = new CreateAdministratorSessionLogic(_token_generator, _manager, form);
+ var result = await logic.Call();
+
+ if(result)
+ return Ok(logic.Token);
+
+ return StatusCode(401, new InvalidLoginError(401, "Check your credentials"));
+ }
+ }
+} \ No newline at end of file