45 lines
1.3 KiB
C#
45 lines
1.3 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace back.controllers;
|
|
|
|
public class ValidationErrors
|
|
{
|
|
public string? Field { get; set; }
|
|
public string? Message { get; set; }
|
|
}
|
|
|
|
public class ExecutionErrors
|
|
{
|
|
public Exception? Exception { get; set; }
|
|
public string? Message { get; set; }
|
|
}
|
|
|
|
public abstract class ResponseBase
|
|
{
|
|
public object? Data { get; set; }
|
|
public string? Message { get; set; }
|
|
public bool Success { get; set; }
|
|
public int StatusCode { get; set; }
|
|
public ValidationErrors[] ValidationErrors { get; set; }
|
|
public ExecutionErrors[] ExecutionErrors { get; set; }
|
|
}
|
|
|
|
public record LoginRequest(string Username, string Password);
|
|
|
|
[ApiController, Route("api/[controller]")]
|
|
public class AuthController(IAuthService authService) : ControllerBase
|
|
{
|
|
|
|
private readonly IAuthService _authService = authService;
|
|
|
|
[HttpPost, Route("login")]
|
|
public async Task<IActionResult> Login([FromBody] LoginRequest loginRequest)
|
|
{
|
|
// validar que el usuario y la contraseña sean correctos
|
|
// obtener el token JWT encriptado
|
|
// obtener el refresh token
|
|
// devolver el token JWT y el refresh token en los headers de las respuestas
|
|
// devolver datos del usuario en el body de la respuesta
|
|
}
|
|
}
|