using Microsoft.AspNetCore.Mvc; using SurveyBackend.DTOs; using SurveyBackend.Infrastructure.Services; using SurveyBackend.Mappers.UserDTOs; namespace SurveyBackend.Controllers; [ApiController] [Route("auth")] public class AuthController : ControllerBase { private readonly AuthorizationService _authorizationService; public AuthController(AuthorizationService authorizationService) { _authorizationService = authorizationService; } [HttpPost("login")] public async Task LogIn([FromBody] UserLoginDto loginData) { var token = await _authorizationService.LogInUser(loginData.Email, loginData.Password); return token is null ? Unauthorized() : Ok(new { token = token }); } [HttpPost("register")] public async Task Register([FromBody] UserRegistrationDto registerData) { try { await _authorizationService.RegisterUser(UserRegistrationMapper.UserRegistrationToModel(registerData)); } catch (Exception ex) { return BadRequest(ex.Message); } return Ok(); } }