Se modifica el servicio de usuarioLogeado

parent 2cc8e6c9
......@@ -2,6 +2,7 @@ package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import java.util.Set;
@Data
......@@ -18,4 +19,6 @@ public class DtoUserLogeado {
private String spriden_id;
private String uzytusuario_campus;
private String uzytusuario_departamento;
private Set<DtoUzyTPerfil> perfiles;
}
......@@ -2,7 +2,6 @@ package ec.edu.espe.movilidad.MovilidadWS.Dto;
import lombok.Data;
import java.util.Set;
@Data
public class DtoUzyTPerfil {
......@@ -10,6 +9,4 @@ public class DtoUzyTPerfil {
private Long uzytperfil_id;
private String uzytperfil_nombre;
private Set<DtoUzyTUsuario> usuarios;
}
package ec.edu.espe.movilidad.MovilidadWS.Model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;
......@@ -25,8 +26,8 @@ public class ModelUzyTPerfil {
@OneToMany(mappedBy = "uzytperfil")
private Set<ModelUzyTPerfilMenu> uzytperfilmenus = new LinkedHashSet<>();
@ManyToMany
@JsonIgnore
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "UZYTPERFIL_USUARIO",
joinColumns = @JoinColumn(name = "UZYTPERFIL_ID"),
inverseJoinColumns = @JoinColumn(name = "UZYTUSUARIO_ID"))
......
......@@ -14,12 +14,12 @@ public class ModelUzyTPerfilUsuario {
private ModelUzyTPerfilUsuarioId id;
@MapsId("uzytperfilId")
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "UZYTPERFIL_ID", nullable = false)
private ModelUzyTPerfil uzytperfil;
@MapsId("uzytusuarioId")
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@JoinColumn(name = "UZYTUSUARIO_ID", nullable = false)
private ModelUzyTUsuario uzytusuario;
......
......@@ -124,7 +124,8 @@ public class ModelUzyTUsuario {
private Set<ModelUzyTavProyec> modelUzyTavProyecSet;
//RELACIÓN CON PERFIL
@ManyToMany
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "UZYTPERFIL_USUARIO",
joinColumns = @JoinColumn(name = "UZYTUSUARIO_ID"),
inverseJoinColumns = @JoinColumn(name = "UZYTPERFIL_ID"))
......
......@@ -2,6 +2,9 @@ package ec.edu.espe.movilidad.MovilidadWS.Security;
import ec.edu.espe.movilidad.MovilidadWS.Dao.DaoUzyTUsuario;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUserLogeado;
import ec.edu.espe.movilidad.MovilidadWS.Dto.DtoUzyTPerfil;
import ec.edu.espe.movilidad.MovilidadWS.Mapper.Components_Class.UzyTPerfilMapper;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTPerfil;
import ec.edu.espe.movilidad.MovilidadWS.Model.ModelUzyTUsuario;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.userdetails.User;
......@@ -10,11 +13,17 @@ import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;
import java.util.HashSet;
import java.util.Set;
@Service
public class JwtUserDetailsService implements UserDetailsService {
private final DaoUzyTUsuario userRepository;
@Autowired
UzyTPerfilMapper perfilMapper;
@Autowired
public JwtUserDetailsService(DaoUzyTUsuario userRepository) {
this.userRepository = userRepository;
......@@ -52,6 +61,15 @@ public class JwtUserDetailsService implements UserDetailsService {
userInfo.setSpriden_id(user.getSpriden_id());
userInfo.setUzytusuario_campus(user.getUzytusuario_campus());
userInfo.setUzytusuario_departamento(user.getUzytusuario_departamento());
// Obtener el perfil asociado al usuario
Set<ModelUzyTPerfil> perfiles = user.getUzytperfils();
Set<DtoUzyTPerfil> dtoPerfiles = new HashSet<>();
for (ModelUzyTPerfil perfil : perfiles) {
DtoUzyTPerfil dtoPerfil = perfilMapper.entityToDto(perfil);
dtoPerfiles.add(dtoPerfil);
}
userInfo.setPerfiles(dtoPerfiles);
return userInfo;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment