Interface UserRepository

    • Method Detail

      • isUserInGroup

        @Query("SELECT case when (count(u.id) > 0) then true else false end FROM UserEntity u JOIN u.groups g WHERE g.entity.id=:entityId AND u.id=:userId")
        boolean isUserInGroup​(@Param("userId")
                              String userId,
                              @Param("entityId")
                              String groupId)
      • isUserInRole

        @Query("SELECT case when (count(u.id) > 0) then true else false end FROM UserEntity u JOIN u.roles r WHERE r.entity.id=:entityId AND u.id=:userId")
        boolean isUserInRole​(@Param("userId")
                             String userId,
                             @Param("entityId")
                             String roleId)
      • isUserInOrg

        @Query("SELECT case when (count(u.id) > 0) then true else false end FROM UserEntity u JOIN u.affiliations r WHERE r.entity.id=:entityId AND u.id=:userId")
        boolean isUserInOrg​(@Param("userId")
                            String userId,
                            @Param("entityId")
                            String orgId)
      • getSuperiors

        @Query("SELECT s.id.supervisor FROM SupervisorEntity s WHERE s.id.employee.id=:userId")
        org.springframework.data.domain.Page<UserEntity> getSuperiors​(@Param("userId")
                                                                      String userId,
                                                                      org.springframework.data.domain.Pageable page)
      • getAllSuperiors

        @Query("SELECT s.id.supervisor FROM SupervisorEntity s")
        org.springframework.data.domain.Page<UserEntity> getAllSuperiors​(org.springframework.data.domain.Pageable page)
      • getSubordinatesCount

        @Query("SELECT COUNT(DISTINCT s.id.employee.id) FROM SupervisorEntity s WHERE s.id.supervisor.id=:userId")
        int getSubordinatesCount​(@Param("userId")
                                 String userId)
      • getSubordinates

        @Query("SELECT s.id.employee FROM SupervisorEntity s WHERE s.id.supervisor.id=:userId")
        org.springframework.data.domain.Page<UserEntity> getSubordinates​(@Param("userId")
                                                                         String userId,
                                                                         org.springframework.data.domain.Pageable page)
      • getFilteredSubordinates

        @Query("SELECT s.id.employee FROM SupervisorEntity s WHERE s.id.supervisor.id=:userId and s.id.employee.id IN (:filteredIds)")
        org.springframework.data.domain.Page<UserEntity> getFilteredSubordinates​(@Param("userId")
                                                                                 String userId,
                                                                                 @Param("filteredIds")
                                                                                 List<String> filteredIds,
                                                                                 org.springframework.data.domain.Pageable page)
      • getAllUserIds

        @Query("SELECT u.id FROM UserEntity u")
        List<String> getAllUserIds()
        Get all user ids from DB.
        Returns:
      • getUserIdsForRoles

        @Query("SELECT u.id FROM UserEntity u JOIN u.roles r WHERE r.entity.id IN (:entityIds)")
        List<String> getUserIdsForRoles​(@Param("entityIds")
                                        Collection<String> entityIds,
                                        org.springframework.data.domain.Pageable page)
      • getUserIdsForGroups

        @Query("SELECT u.id FROM UserEntity u JOIN u.groups r WHERE r.entity.id IN (:entityIds)")
        List<String> getUserIdsForGroups​(@Param("entityIds")
                                         Collection<String> entityIds,
                                         org.springframework.data.domain.Pageable page)
      • getUserIdsForOrganizations

        @Query("SELECT u.id FROM UserEntity u JOIN u.affiliations r WHERE r.entity.id IN (:entityIds)")
        List<String> getUserIdsForOrganizations​(@Param("entityIds")
                                                Collection<String> entityIds,
                                                org.springframework.data.domain.Pageable page)
      • getUserIdsForResources

        @Query("SELECT u.id FROM UserEntity u JOIN u.resources r WHERE r.entity.id IN (:entityIds)")
        List<String> getUserIdsForResources​(@Param("entityIds")
                                            Collection<String> entityIds,
                                            org.springframework.data.domain.Pageable page)
      • isUserEntitledToResource

        @Query("SELECT case when (count(u.id) > 0) then true else false end FROM UserEntity u JOIN u.resources r WHERE r.entity.id=:entityId AND u.id=:userId")
        boolean isUserEntitledToResource​(@Param("userId")
                                         String userId,
                                         @Param("entityId")
                                         String resourceId)
      • findPrimarySupervisor

        @Query("SELECT s.id.supervisor FROM SupervisorEntity s WHERE s.id.employee.id=:userId AND s.primarySuper=true")
        UserEntity findPrimarySupervisor​(@Param("userId")
                                         String employeeId)
      • getAllAttachedSupSubIds

        @Query(value="SELECT STAFF_ID as ID FROM ORG_STRUCTURE WHERE SUPERVISOR_ID IN (:userIds)UNION SELECT SUPERVISOR_ID as ID FROM ORG_STRUCTURE WHERE STAFF_ID IN (:userIds) ",
               nativeQuery=true)
        List<String> getAllAttachedSupSubIds​(@Param("userIds")
                                             Collection<String> userIds)
      • getUserBySecondaryStatus

        @Query("SELECT u FROM UserEntity u WHERE u.secondaryStatus=:secStatus")
        List<UserEntity> getUserBySecondaryStatus​(@Param("secStatus")
                                                  UserStatusEnum secStatus,
                                                  org.springframework.data.domain.Pageable page)
      • findByEmail

        @Query("SELECT u FROM UserEntity u JOIN u.emailAddresses e WHERE u.status != \'DEACTIVATED\' AND e.emailAddress=:email")
        List<UserEntity> findByEmail​(@Param("email")
                                     String email,
                                     org.springframework.data.domain.Pageable page)
      • getUsersForGroupsByAccessRights

        @Query("SELECT NEW EntitlementsDBWrapper(user.id, r.id, CONCAT(user.firstName, user.lastName), ug.entity.id,ug.startDate,ug.endDate, ug.description ) FROM UserToGroupMembershipXrefEntity ug JOIN ug.rights as r  JOIN ug.memberEntity as user WHERE ug.entity.id IN (:groupIds) and r.id IN (:accessRightIds)")
        List<EntitlementsDBWrapper> getUsersForGroupsByAccessRights​(@Param("groupIds")
                                                                    List<String> groupIds,
                                                                    @Param("accessRightIds")
                                                                    List<String> accessRightIds)
      • getUsersForRolesByAccessRights

        @Query("SELECT NEW EntitlementsDBWrapper(user.id, r.id, CONCAT(user.firstName, user.lastName), ug.entity.id,ug.startDate,ug.endDate, ug.description ) FROM UserToRoleMembershipXrefEntity ug JOIN ug.rights as r  JOIN ug.memberEntity as user WHERE ug.entity.id IN (:roleIds) and r.id IN (:accessRightIds)")
        List<EntitlementsDBWrapper> getUsersForRolesByAccessRights​(@Param("roleIds")
                                                                   List<String> roleIds,
                                                                   @Param("accessRightIds")
                                                                   List<String> accessRightIds)
      • getUsersForRolesXrefs

        @Query("SELECT NEW EntitlementsDBWrapper(user.id, r.id, CONCAT(user.firstName, user.lastName), ug.entity.id,ug.startDate,ug.endDate, ug.description ) FROM UserToRoleMembershipXrefEntity ug LEFT JOIN ug.rights as r  JOIN ug.memberEntity as user WHERE ug.entity.id IN (:roleIds) and user.id=:userId")
        List<EntitlementsDBWrapper> getUsersForRolesXrefs​(@Param("roleIds")
                                                          List<String> roleIds,
                                                          @Param("userId")
                                                          String userId)
      • getUsersForGroupsXrefs

        @Query("SELECT NEW EntitlementsDBWrapper(user.id, r.id, CONCAT(user.firstName, user.lastName), ug.entity.id,ug.startDate,ug.endDate, ug.description ) FROM UserToGroupMembershipXrefEntity ug LEFT JOIN ug.rights as r  JOIN ug.memberEntity as user WHERE ug.entity.id IN (:groupIds) and user.id=:userId")
        List<EntitlementsDBWrapper> getUsersForGroupsXrefs​(@Param("groupIds")
                                                           List<String> groupIds,
                                                           @Param("userId")
                                                           String userId)
      • getUserMetadataTypeId

        @Query("SELECT user.type.id FROM UserEntity user WHERE user.id = :userId")
        String getUserMetadataTypeId​(@Param("userId")
                                     String userId)
      • getUsersForOrganizationsXrefs

        @Query("SELECT NEW EntitlementsDBWrapper(user.id, r.id, CONCAT(user.firstName, user.lastName), uo.entity.id, uo.startDate, uo.endDate, uo.description) FROM UserToOrganizationMembershipXrefEntity uo LEFT JOIN uo.rights as r  JOIN uo.memberEntity as user WHERE uo.entity.id IN (:orgIds) and user.id=:userId")
        List<EntitlementsDBWrapper> getUsersForOrganizationsXrefs​(@Param("orgIds")
                                                                  List<String> orgIds,
                                                                  @Param("userId")
                                                                  String userId)
      • getUserRoleToProvisionInStartDateRange

        @Query("SELECT NEW EntitlementsDBWrapper(ur.memberEntity.id, ur.entity.id) FROM UserToRoleMembershipXrefEntity ur WHERE ur.startDate >= :from AND ur.startDate <= :to")
        List<EntitlementsDBWrapper> getUserRoleToProvisionInStartDateRange​(@Param("from")
                                                                           Date from,
                                                                           @Param("to")
                                                                           Date to)
      • getUserGroupToProvisionInStartDateRange

        @Query("SELECT NEW EntitlementsDBWrapper(ug.memberEntity.id, ug.entity.id) FROM UserToGroupMembershipXrefEntity ug WHERE ug.startDate >= :from AND ug.startDate <= :to")
        List<EntitlementsDBWrapper> getUserGroupToProvisionInStartDateRange​(@Param("from")
                                                                            Date from,
                                                                            @Param("to")
                                                                            Date to)
      • getUserOrgToProvisionInStartDateRange

        @Query("SELECT NEW EntitlementsDBWrapper(ug.memberEntity.id, ug.entity.id) FROM UserToOrganizationMembershipXrefEntity  ug WHERE ug.startDate >= :from AND ug.startDate <= :to")
        List<EntitlementsDBWrapper> getUserOrgToProvisionInStartDateRange​(@Param("from")
                                                                          Date from,
                                                                          @Param("to")
                                                                          Date to)
      • getUserResToProvisionInStartDateRange

        @Query("SELECT NEW EntitlementsDBWrapper(ug.memberEntity.id, ug.entity.id) FROM UserToResourceMembershipXrefEntity ug WHERE ug.startDate >= :from AND ug.startDate <= :to")
        List<EntitlementsDBWrapper> getUserResToProvisionInStartDateRange​(@Param("from")
                                                                          Date from,
                                                                          @Param("to")
                                                                          Date to)
      • getUserRoleToDeProvisionInEndDateRange

        @Query("SELECT NEW EntitlementsDBWrapper(ug.memberEntity.id, ug.entity.id) FROM UserToRoleMembershipXrefEntity ug WHERE ug.endDate >= :from AND ug.endDate <= :to")
        List<EntitlementsDBWrapper> getUserRoleToDeProvisionInEndDateRange​(@Param("from")
                                                                           Date from,
                                                                           @Param("to")
                                                                           Date to)
      • getUserGroupToDeProvisionInEndDateRange

        @Query("SELECT NEW EntitlementsDBWrapper(ug.memberEntity.id, ug.entity.id) FROM UserToGroupMembershipXrefEntity ug WHERE ug.endDate >= :from AND ug.endDate <= :to")
        List<EntitlementsDBWrapper> getUserGroupToDeProvisionInEndDateRange​(@Param("from")
                                                                            Date from,
                                                                            @Param("to")
                                                                            Date to)
      • getUserOrgToDeProvisionInEndDateRange

        @Query("SELECT NEW EntitlementsDBWrapper(ug.memberEntity.id, ug.entity.id) FROM UserToOrganizationMembershipXrefEntity ug WHERE ug.endDate >= :from AND ug.endDate <= :to")
        List<EntitlementsDBWrapper> getUserOrgToDeProvisionInEndDateRange​(@Param("from")
                                                                          Date from,
                                                                          @Param("to")
                                                                          Date to)
      • getUserResToDeProvisionInEndDateRange

        @Query("SELECT NEW EntitlementsDBWrapper(ug.memberEntity.id, ug.entity.id) FROM UserToResourceMembershipXrefEntity ug WHERE ug.endDate >= :from AND ug.endDate <= :to")
        List<EntitlementsDBWrapper> getUserResToDeProvisionInEndDateRange​(@Param("from")
                                                                          Date from,
                                                                          @Param("to")
                                                                          Date to)