X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=portal-BE%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportal%2Fservice%2FBulkUploadUserRolesService.java;fp=portal-BE%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportal%2Fservice%2FBulkUploadUserRolesService.java;h=0b8dac7d75a2937f5f22dd3b2fa1e2458f544447;hb=ca3d9f4b725774763f12488940033a294b778244;hp=0000000000000000000000000000000000000000;hpb=4c6f6a443cb2e6effa995e77d56689c1c2dab4ad;p=portal.git diff --git a/portal-BE/src/main/java/org/onap/portal/service/BulkUploadUserRolesService.java b/portal-BE/src/main/java/org/onap/portal/service/BulkUploadUserRolesService.java new file mode 100644 index 00000000..0b8dac7d --- /dev/null +++ b/portal-BE/src/main/java/org/onap/portal/service/BulkUploadUserRolesService.java @@ -0,0 +1,72 @@ +package org.onap.portal.service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import javax.persistence.EntityManager; +import javax.transaction.Transactional; +import org.onap.portal.domain.dto.transport.BulkUploadRoleFunction; +import org.onap.portal.domain.dto.transport.BulkUploadUserRoles; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +@Transactional +class BulkUploadUserRolesService { + + private static final String getBulkUsersForSingleRole = "select fr.role_name as roleName, fu.org_user_id as orgUserId, fa.auth_namespace as appNameSpace from fn_user_role fur " + + "left outer join fn_role fr on fr.role_id = fur.role_id " + + "left outer join fn_app fa on fa.app_id = fur.app_id " + + "left outer join fn_user fu on fu.user_id = fur.user_id " + + "where fa.ueb_key =:uebKey and fr.role_id =:roleId"; + + private static final String uploadAllRoleFunctions = "select fr.function_cd, fn.function_name from fn_role_function fr " + + "left outer join fn_function fn on fr.function_cd = fn.function_cd " + + "where role_id =:roleId"; + + private static final String getBulkUserRoles = "select fr.role_name, fu.org_user_id, fa.auth_namespace from fn_user_role fur " + + "left outer join fn_role fr on fr.role_id = fur.role_id " + + "left outer join fn_app fa on fa.app_id = fur.app_id " + + "left outer join fn_user fu on fu.user_id = fur.user_id where fa.ueb_key =:uebKey"; + + private static final String uploadPartnerRoleFunctions = "select distinct eprf.function_cd, epfn.function_name " + + "from ep_app_role_function eprf " + + "left outer join ep_app_function epfn on eprf.function_cd = epfn.function_cd " + + "where eprf.role_id =:roleId"; + + private final EntityManager entityManager; + + @Autowired + public BulkUploadUserRolesService(EntityManager entityManager) { + this.entityManager = entityManager; + } + + List getBulkUsersForSingleRole(final String uebKey, final Long roleId){ + return Optional.of(entityManager + .createQuery(getBulkUsersForSingleRole) + .setParameter("uebKey", uebKey) + .setParameter("roleId", roleId) + .getResultList()).orElse(new ArrayList()); + } + + List uploadAllRoleFunctions(final Long roleId){ + return Optional.of(entityManager + .createQuery(uploadAllRoleFunctions) + .setParameter("roleId", roleId) + .getResultList()).orElse(new ArrayList()); + } + + public List getBulkUserRoles(String uebKey) { + return Optional.of(entityManager + .createQuery(getBulkUserRoles) + .setParameter("uebKey", uebKey) + .getResultList()).orElse(new ArrayList()); + } + + public List uploadPartnerRoleFunctions(Long roleId) { + return Optional.of(entityManager + .createQuery(uploadPartnerRoleFunctions) + .setParameter("roleId", roleId) + .getResultList()).orElse(new ArrayList()); + } +}