implementado el soft-delete

This commit is contained in:
Jaime Jiménez
2025-09-29 15:35:41 +02:00
parent 865b1573b9
commit 656bb5bad2
11 changed files with 522 additions and 241 deletions

View File

@ -4,10 +4,7 @@ import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.Set;
import java.util.stream.Collectors;
/**
* Adaptador de la entidad User a Spring Security.
@ -15,21 +12,22 @@ import java.util.stream.Collectors;
public class UserDetailsImpl implements UserDetails {
private final User user;
private final java.util.Collection<? extends GrantedAuthority> authorities;
public UserDetailsImpl(User user) {
this.user = user;
this.authorities = user.getRoles().stream()
.map(Role::getName)
.filter(java.util.Objects::nonNull)
.map(String::trim)
.map(String::toUpperCase)
.map(name -> new SimpleGrantedAuthority("ROLE_" + name))
.toList();
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
// Si tu User tiene un Set<Role>:
Set<String> roles = user.getRoles().stream()
.map(r -> r.getName()) // ejemplo: "ADMIN", "USER"
.collect(Collectors.toSet());
return roles.stream()
.map(role -> new SimpleGrantedAuthority("ROLE_" + role))
.collect(Collectors.toSet());
public java.util.Collection<? extends GrantedAuthority> getAuthorities() {
return authorities; // no volvemos a tocar user.getRoles() fuera de sesión
}
@Override
@ -43,11 +41,10 @@ public class UserDetailsImpl implements UserDetails {
}
public String getFullname() {
return user.getFullName();
return user.getFullName();
}
// 👇 si en la vista usas principal.role, añade este también
public String getRole() {
return user.getRoles().stream()
.map(r -> r.getName()) // "ADMIN", "USER", ...
@ -79,10 +76,15 @@ public class UserDetailsImpl implements UserDetails {
@Override
public boolean isEnabled() {
return user.isEnabled();
return user.isEnabled() && !user.isDeleted();
}
public User getUser() {
return user;
}
public Long getId() {
return user.getId();
}
}