feat: login usuario
This commit is contained in:
36
Aspnet/Builder/DtoBuilder/UsuarioDtoBuilder.cs
Normal file
36
Aspnet/Builder/DtoBuilder/UsuarioDtoBuilder.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using Entidades.Dto;
|
||||
|
||||
namespace AlquilaFacil.Builder;
|
||||
public class UsuarioDtoBuilder : Builder<UsuarioDto>
|
||||
{
|
||||
public UsuarioDtoBuilder SetDni(long dni)
|
||||
{
|
||||
data.Dni = dni;
|
||||
return this;
|
||||
}
|
||||
public UsuarioDtoBuilder SetNombre(string nombre)
|
||||
{
|
||||
data.Nombre = nombre;
|
||||
return this;
|
||||
}
|
||||
public UsuarioDtoBuilder SetApellido(string apellido)
|
||||
{
|
||||
data.Apellido = apellido;
|
||||
return this;
|
||||
}
|
||||
public UsuarioDtoBuilder SetDomicilio(string domicilio)
|
||||
{
|
||||
data.Domicilio = domicilio;
|
||||
return this;
|
||||
}
|
||||
public UsuarioDtoBuilder SetCelular(string celular)
|
||||
{
|
||||
data.Celular = celular;
|
||||
return this;
|
||||
}
|
||||
public UsuarioDtoBuilder SetEmail(string email)
|
||||
{
|
||||
data.Email = email;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
42
Aspnet/Controllers/UsuarioController.cs
Normal file
42
Aspnet/Controllers/UsuarioController.cs
Normal 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" });
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user