survey-webapp/SurveyBackend/SurveyBackend.API/Controllers/AuthController.cs
shept 6692a91821 life quality changes
- refactored SurveyController.cs
- added ProducesResponseType to every endpoint in every controller
- remade mappers
2025-04-20 23:12:20 +05:00

40 lines
No EOL
1.3 KiB
C#

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using SurveyBackend.DTOs;
using SurveyBackend.Mappers;
using IAuthorizationService = SurveyBackend.Core.Services.IAuthorizationService;
namespace SurveyBackend.Controllers;
[ApiController]
[Route("auth")]
public class AuthController : ControllerBase
{
private readonly IAuthorizationService _authorizationService;
public AuthController(IAuthorizationService authorizationService)
{
_authorizationService = authorizationService;
}
[AllowAnonymous]
[HttpPost("login")]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status200OK)]
public async Task<IActionResult> LogIn([FromBody] UserLoginDto loginData)
{
var token = await _authorizationService.LogInUser(loginData.Email, loginData.Password);
return Ok(new { token = token });
}
[AllowAnonymous]
[HttpPost("register")]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status200OK)]
public async Task<IActionResult> Register([FromBody] UserRegistrationDto registerData)
{
var token = await _authorizationService.RegisterUser(
AuthMapper.UserRegistrationToModel(registerData));
return Ok(new { token = token });
}
}