se añadio websocket para terminar el remate
Some checks failed
Deploy Spring Boot App / build-and-deploy (push) Has been cancelled
Some checks failed
Deploy Spring Boot App / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
package com.example.fercoganbackend.service;
|
||||
import com.example.fercoganbackend.entity.Rol;
|
||||
import com.example.fercoganbackend.entity.Usuario;
|
||||
import com.example.fercoganbackend.otros.ConfirmadoTF;
|
||||
import com.example.fercoganbackend.repository.UsuarioRepository;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@Service
|
||||
public class UsuarioService {
|
||||
private final UsuarioRepository repo;
|
||||
private final PasswordEncoder encoder;
|
||||
|
||||
public List<Usuario> getAll(){
|
||||
return repo.findAll();
|
||||
}
|
||||
public UsuarioService(UsuarioRepository repo, PasswordEncoder encoder) {
|
||||
this.repo = repo;
|
||||
this.encoder = encoder;
|
||||
}
|
||||
|
||||
public Usuario registrarUsuario(String username, String password, Set<Rol> roles) {
|
||||
Usuario u = new Usuario();
|
||||
u.setUsername(username);
|
||||
u.setPassword(encoder.encode(password));
|
||||
u.setRoles(roles);
|
||||
u.setAprobado(false); // no aprobado hasta aceptación
|
||||
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() {
|
||||
return repo.findAll().stream().filter(u -> !u.isAprobado()).toList();
|
||||
}
|
||||
|
||||
public Usuario aceptarUsuario(Long id) {
|
||||
Usuario u = repo.findById(id).orElseThrow();
|
||||
u.setAprobado(true);
|
||||
return repo.save(u);
|
||||
}
|
||||
|
||||
public boolean estaAprobado(String username) {
|
||||
return repo.findByUsername(username).map(Usuario::isAprobado).orElse(false);
|
||||
}
|
||||
public boolean estaRegistrado(String username) {
|
||||
return repo.findByUsername(username).isPresent();
|
||||
}
|
||||
|
||||
public ConfirmadoTF registradoYAprobado(String username){
|
||||
ConfirmadoTF confirmadotf = new ConfirmadoTF();
|
||||
confirmadotf.setAuthenticated(estaRegistrado(username));
|
||||
confirmadotf.setConfirmed(estaAprobado(username));
|
||||
return confirmadotf;
|
||||
}
|
||||
|
||||
public void eliminarUsuario(Long id) {
|
||||
if (!repo.existsById(id)) {
|
||||
throw new RuntimeException("Usuario no encontrado");
|
||||
}
|
||||
repo.deleteById(id);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user