using HopFrame.Api.Logic; using HopFrame.Api.Models; using HopFrame.Security.Authorization; using HopFrame.Security.Models; using Microsoft.AspNetCore.Mvc; namespace HopFrame.Api.Controller; [ApiController] [Route("api/v1/authentication")] public class SecurityController(IAuthLogic auth) : ControllerBase { [HttpPut("login")] public async Task>> Login([FromBody] UserLogin login) { return await auth.Login(login); } [HttpPost("register")] public async Task>> Register([FromBody] UserRegister register) { return await auth.Register(register); } [HttpGet("authenticate")] public async Task>> Authenticate() { return await auth.Authenticate(); } [HttpDelete("logout"), Authorized] public async Task Logout() { return await auth.Logout(); } [HttpDelete("delete"), Authorized] public async Task Delete([FromBody] UserPasswordValidation validation) { return await auth.Delete(validation); } }