Añade la capacidad de que setes un mail de recuperacion

This commit is contained in:
2025-05-07 15:30:05 -03:00
parent 61eacc5533
commit 1a5006e832
6 changed files with 159 additions and 2 deletions

View File

@@ -33,4 +33,9 @@ public class UsuarioDtoBuilder : Builder<UsuarioDto>
data.Email = email;
return this;
}
public UsuarioDtoBuilder SetEmailRecuperacion(string? email)
{
data.EmailRecuperacion = email ?? "";
return this;
}
}

View File

@@ -18,6 +18,7 @@ public class UsuarioController : ControllerBase
.SetNombre(cli.Nombre).SetApellido(cli.Apellido)
.SetEmail(cli.Email).SetCelular(cli.Celular)
.SetDni(cli.Dni).SetDomicilio(cli.Domicilio)
.SetEmailRecuperacion(cli.EmailRecuperacion)
.Build();
return Ok(usu);
}
@@ -37,6 +38,20 @@ public class UsuarioController : ControllerBase
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" });
}
public record setemail(string EmailRecuperacion);
[HttpPut("/api/usuario/emailrecuperacion")]
public IActionResult CambiarPass([FromHeader(Name = "Auth")] string Auth, [FromBody] setemail setemail)
{
Cliente? cli = RepositorioUsuarios.Singleton.ObtenerClientePorToken(Auth);
if (cli == null) return BadRequest(new { message = "No hay un usuario por ese token" });
string emailrecuperacion = setemail.EmailRecuperacion;
if (!emailrecuperacion.Contains("@")) return BadRequest(new { message = "Tiene que ser un email" });
bool ret = RepositorioUsuarios.Singleton.SetEmailRecuperacion(emailrecuperacion, cli);
return ret ? Ok(new { message = "Email de recuperación actualizado con éxito" }) : BadRequest(new { message = "No se pudo actualizar el email de recuperación" });
}
}