1. Update first controller:

- Add new method `CaminarContraAdmin` for changing contrasection
- Include HTTP PATCH handler
- Use camelCase for class names
2. Update second controller:
- Update method name from `caminarContraseña` to `caminarContraAdmin`
- Fix message "contraseña" to be more precise ("contraseña correcta")
3. Update modal component:
- Change `handleSubmit` event from `submit` (JS) to `POST` (Svelte)
- Ensure form validation in JavaScript
4. Update page admin/users to use CardLink for links
This commit is contained in:
2025-05-22 15:23:49 -03:00
parent b4a1d5c0c5
commit 6f3d985960
3 changed files with 56 additions and 26 deletions

View File

@@ -41,6 +41,29 @@ public class UsuarioController : ControllerBase
return ret ? Ok(new { message = "Contraseña cambiada con éxito" }) : BadRequest(new { message = "No se pudo cambiar la contraseña" });
}
public class bodyCambiarContraAdmin : bodyCambiarContraseña
{
public long Dni { get; set; }
}
[HttpPatch("/api/admin/contraseña")]
public IActionResult CambiarPassAdmin([FromHeader(Name = "Auth")] string Auth, [FromBody] bodyCambiarContraAdmin body)
{
var ret = RepositorioPermisos.Singleton.CheckPermisos(Auth, 9);
if (!ret) return BadRequest(new { message = "No tienes permisos para cambiar contraseñas de usuario" });
if (body.contraseña.Length < 8 || string.IsNullOrWhiteSpace(body.contraseña)) return BadRequest(new { message = "La contraseña debe tener al menos 8 caracteres y no puede estar vacía" });
if (body.Dni <= 0) return BadRequest(new { message = "El DNI no puede estar vacío" });
Cliente? usu = RepositorioUsuarios.Singleton.ObtenerClientePorDni(body.Dni);
if (usu == null) return BadRequest(new { message = "No existe un usuario con ese DNI" });
ret = RepositorioUsuarios.Singleton.CambiarContraseña(body.contraseña, usu);
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)