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 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 } }