package es.uv.saic.service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import es.uv.saic.shared.domain.Usuari; import es.uv.saic.shared.domain.UsuarisRol; import es.uv.saic.shared.domain.UsuarisRolRepository; @Service public class UsuarisRolService { @Autowired private UsuarisRolRepository usuarisRolRepository; public List findAll() { return this.usuarisRolRepository.findAll(); } public boolean exists(String usuari, String tlugar, Integer lugar) { if(this.usuarisRolRepository.findActiveByUsuariTlugarLugar(usuari, tlugar, lugar) != null) { return true; } return false; } public UsuarisRol find(Integer idRol, String usuari, Integer lugar, String tlugar) { return this.usuarisRolRepository.find(idRol, usuari, lugar, tlugar); } public UsuarisRol findActive(Integer idRol, String usuari, Integer lugar, String tlugar) { return this.usuarisRolRepository.findActive(idRol, usuari, lugar, tlugar); } public UsuarisRol findLast(Integer idRol, String usuari, Integer lugar, String tlugar) { return this.usuarisRolRepository.findLast(idRol, usuari, lugar, tlugar); } public Integer findLastNum(Integer idRol, Integer lugar, String tlugar) { return this.usuarisRolRepository.findLastNum(idRol, lugar, tlugar); } public boolean hasActiveRol(Usuari usuari) { List rols = this.usuarisRolRepository.findByUsernameActive(usuari); if(rols != null) { if(rols.size() > 0) { return true; } } return false; } public List findActiveRols(Usuari usuari){ return this.usuarisRolRepository.findByUsernameActive(usuari); } public boolean isGrantedUser(Usuari usuari) { if(this.usuarisRolRepository.findByUsernameActiveRol(usuari, "u_uq") != null || this.usuarisRolRepository.findByUsernameActiveRol(usuari, "u_admi") != null) { return true; } else { return false; } } public boolean isGrantedSupervisor(Usuari usuari) { if(this.usuarisRolRepository.findByUsernameActiveRol(usuari, "adeit") != null || this.usuarisRolRepository.findByUsernameActiveRol(usuari, "relint") != null || this.usuarisRolRepository.findByUsernameActiveRol(usuari, "u_supe") != null) { return true; } else { return false; } } public boolean isAdminUser(Usuari usuari) { if(this.usuarisRolRepository.findByUsernameActiveRol(usuari, "u_admi") != null) { return true; } else { return false; } } public boolean isDataTestUser(Usuari usuari) { if(this.usuarisRolRepository.findByUsernameActiveRol(usuari, "u_data") != null) { return true; } else { return false; } } public boolean hasActiveRol(Usuari usuari, String rol) { if(this.usuarisRolRepository.findByUsernameActiveRol(usuari, rol) != null) { return true; } else { return false; } } public boolean hasActiveRoles(Usuari usuari, ArrayList rols) { if(this.usuarisRolRepository.findByUsernameActiveRoles(usuari, rols) != null) { return true; } else { return false; } } public boolean hasActiveAmbit(Usuari usuari, String ambit) { if(this.usuarisRolRepository.findByUsernameActiveAmbit(usuari.getUsuari(), ambit) != null) { return true; } else { return false; } } public boolean hasAssociatedProcs(String rol) { List procs = this.usuarisRolRepository.findAssociatedProcs(rol); if(procs != null) { if(procs.size() > 0) { return true; } else { return false; } } else { return false; } } public List findAssociatedProcs(String rol) { return this.usuarisRolRepository.findAssociatedProcs(rol); } public List findManagerByCentre(Integer centre){ return this.usuarisRolRepository.findManagerByCentre(centre); } public List findManagerByTitulacio(Integer titulacio){ return this.usuarisRolRepository.findManagerByTitulacio(titulacio); } public List findManagerByCentres(List centre){ return this.usuarisRolRepository.findManagerByCentres(centre); } public List findManagerByTitulacions(List titulacio){ return this.usuarisRolRepository.findManagerByTitulacions(titulacio); } public ArrayList getSpecialRoles(){ return new ArrayList(Arrays.asList("adeit", "relint")); } public void save(UsuarisRol u) { this.usuarisRolRepository.save(u); this.usuarisRolRepository.flush(); } public void delete(UsuarisRol ur) { this.usuarisRolRepository.delete(ur); } }