correcion del put
Some checks failed
Deploy Spring Boot App / build-and-deploy (push) Has been cancelled

This commit is contained in:
2025-10-10 14:48:17 -04:00
parent 6dcf2a99f5
commit b47e43df57
2 changed files with 15 additions and 10 deletions

View File

@@ -66,18 +66,10 @@ public class UserController {
// ✅ Actualizar usuario (por id) // ✅ Actualizar usuario (por id)
@PutMapping("/{id}") @PutMapping("/{id}")
public Usuario actualizarUsuario(@PathVariable Long id, @RequestBody Usuario usuario) { public Usuario actualizarUsuario(@PathVariable Long id, @RequestBody Usuario usuario) {
Usuario existente = service.getAll().stream() return service.actualizarUsuario(id, usuario);
.filter(u -> u.getId().equals(id))
.findFirst()
.orElseThrow(() -> new RuntimeException("Usuario no encontrado"));
existente.setUsername(usuario.getUsername());
existente.setPassword(usuario.getPassword());
existente.setRoles(usuario.getRoles());
existente.setAprobado(usuario.isAprobado());
return service.registrarUsuario(existente.getUsername(), existente.getPassword(), existente.getRoles());
} }
// ✅ Eliminar usuario // ✅ Eliminar usuario
@DeleteMapping("/{id}") @DeleteMapping("/{id}")
public void eliminarUsuario(@PathVariable Long id) { public void eliminarUsuario(@PathVariable Long id) {

View File

@@ -30,6 +30,19 @@ public class UsuarioService {
return repo.save(u); return repo.save(u);
} }
public Usuario actualizarUsuario(Long id, Usuario usuario) {
Usuario existente = repo.findById(id)
.orElseThrow(() -> new RuntimeException("Usuario no encontrado"));
existente.setUsername(usuario.getUsername());
existente.setPassword(encoder.encode(usuario.getPassword()));
existente.setRoles(usuario.getRoles());
existente.setAprobado(usuario.isAprobado());
existente.setVisible(usuario.getVisible());
return repo.save(existente); // <-- Aquí sí se actualiza el existente
}
public List<Usuario> listarPendientes() { public List<Usuario> listarPendientes() {
return repo.findAll().stream().filter(u -> !u.isAprobado()).toList(); return repo.findAll().stream().filter(u -> !u.isAprobado()).toList();
} }