X-Git-Url: https://gerrit.onap.org/r/gitweb?p=portal.git;a=blobdiff_plain;f=portal-BE%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fportal%2Fservice%2Ffn%2FFnUserRoleService.java;h=9f136df31dbf90961404437b77938e2ef6653106;hp=4b24f9f33ba13c2dff6ed829321343ef336c664c;hb=009040bc056dee5e26e43244422e8e0b9c47144a;hpb=0cd9645a9dc83b9a5a2eddcc15cdfaf30fdade3a diff --git a/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserRoleService.java b/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserRoleService.java index 4b24f9f3..9f136df3 100644 --- a/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserRoleService.java +++ b/portal-BE/src/main/java/org/onap/portal/service/fn/FnUserRoleService.java @@ -41,9 +41,13 @@ package org.onap.portal.service.fn; import java.util.ArrayList; +import java.util.Collections; import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; import org.onap.portal.dao.fn.FnUserRoleDao; import org.onap.portal.domain.db.fn.FnUserRole; +import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,7 +55,7 @@ import org.springframework.transaction.annotation.Transactional; @Service @Transactional public class FnUserRoleService { - + private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(FnUserRoleService.class); private final FnUserRoleDao fnUserRoleDao; @Autowired @@ -62,4 +66,17 @@ public class FnUserRoleService { public List getAdminUserRoles(final Long userId, final Long roleId, final Long appId) { return fnUserRoleDao.getAdminUserRoles(userId, roleId, appId).orElse(new ArrayList<>()); } + + public boolean isSuperAdmin(final String orgUserId, final Long roleId, final Long appId){ + List roles = getUserRolesForRoleIdAndAppId(roleId, appId).stream().filter(role -> role.getUserId().getOrgUserId().equals(orgUserId)).collect(Collectors.toList()); + return !roles.isEmpty(); + } + + private List getUserRolesForRoleIdAndAppId(final Long roleId, final Long appId){ + return Optional.of(fnUserRoleDao.getUserRolesForRoleIdAndAppId(roleId, appId)).orElse(new ArrayList<>()); + } + + public FnUserRole saveOne(final FnUserRole fnUserRole){ + return fnUserRoleDao.save(fnUserRole); + } }