feat: login usuario

This commit is contained in:
2025-05-05 17:48:05 -03:00
parent 4f44581503
commit 139b855c2c
7 changed files with 366 additions and 52 deletions

View File

@@ -0,0 +1,42 @@
using AlquilaFacil.Builder;
using Microsoft.AspNetCore.Mvc;
using Modelo;
using Entidades;
namespace AlquilaFacil.Controllers;
[ApiController]
public class UsuarioController : ControllerBase
{
[HttpGet("/api/usuario")]
public IActionResult ObtenerInfoUsuario([FromHeader(Name = "Auth")] string Auth)
{
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return BadRequest(new { message = "No hay un usuari por ese token" });
var usu = new UsuarioDtoBuilder()
.SetNombre(cli.Nombre).SetApellido(cli.Apellido)
.SetEmail(cli.Email).SetCelular(cli.Celular)
.SetDni(cli.Dni).SetDomicilio(cli.Domicilio)
.Build();
return Ok(usu);
}
public class bodyCambiarContraseña
{
public string contraseña { get; set; } = "";
}
[HttpPatch("/api/usuario")]
public IActionResult CambiarPass([FromHeader(Name = "Auth")] string Auth, [FromBody] bodyCambiarContraseña body)
{
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return BadRequest(new { message = "No hay un usuario por ese token" });
if (body.contraseña.Length < 8) return BadRequest(new { message = "Tiene que tener por lo menos 8 caracteres" });
bool ret = RepositorioUsuarios.Singleton.CambiarContraseña(body.contraseña, cli);
return ret ? Ok(new { message = "Contraseña cambiada con éxito" }) : BadRequest(new { message = "No se pudo cambiar la contraseña" });
}
}