using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using MTWorkHR.Application.Filters; using MTWorkHR.Application.Identity; using MTWorkHR.Application.Models; using MTWorkHR.Core.Global; using MTWorkHR.Identity.Services; namespace MTWorkHR.API.Controllers { [Route("api/[controller]")] [ApiController] public class AuthController : ControllerBase { private readonly IAuthService _authenticationService; private readonly IUserService _userService; public AuthController(IAuthService authenticationService, IUserService userService) { _authenticationService = authenticationService; _userService = userService; } [HttpPost("login")] public async Task> Login(AuthRequest request) { return Ok( await _authenticationService.Login(request)); } [HttpPost("register")] [Consumes("multipart/form-data")] public async Task> Register([FromForm] UserDto input) { return await _userService.Create(input); } [HttpGet("forgetPasswordMail")] //[ProducesResponseType(StatusCodes.Status200OK)] public async Task> ForgetPasswordMail([FromQuery] string email) { var result = await _userService.ForgetPasswordMail(email); return result; } [HttpPost("forgetPassword")] [ProducesResponseType(StatusCodes.Status200OK)] public async Task ForgetPassword([FromBody] ForgetPasswordDto model) { return Ok( await _userService.ForgetPassword(model)); } [HttpPost("VerifyOTP")] [ProducesResponseType(StatusCodes.Status200OK)] public async Task VerifyOTP([FromBody] VerifyOTPDto model) { var result = await _userService.VerifyOTP(model); return Ok(result); } [HttpGet("confirmEmail")] [ProducesResponseType(StatusCodes.Status200OK)] public async Task ConfirmEmail([FromQuery] ConfirmEmailDto model) { var result = await _userService.ConfirmEmail(model); return Ok(result); } } }