Interface SpaceManagerInternal

    • Method Detail

      • getSpaces

        @Transactional(readOnly=true)
        @NonNull PageResponse<Space> getSpaces​(SpacesQuery query,
                                               LimitedRequest limitedRequest,
                                               Predicate<? super Space>... filter)
        get a paginated list of spaces that match the spaceQuery, filtered by the given predicate
        Parameters:
        query - - the query to use to fetch the spaces from the databases
        limitedRequest - - the pagination request limit
        filter - - the filter to apply to the requested spaces
        Returns:
        a PageResponse of matching spaces
        Since:
        7.0.1
      • toSpacesQueryWithPermissionQueryBuilder

        @NonNull io.atlassian.fugue.Either<AccessDenied,​SpacesQueryWithPermissionQueryBuilder> toSpacesQueryWithPermissionQueryBuilder​(SpacesQuery spacesQuery)

        Converts a SpacesQuery into a decorated form SpacesQueryWithPermissionQueryBuilder that includes information about how database queries should be built for the space permissions table. This extra information is passed down to the DAO level so that SpaceDao doesn't have to call out to the manager level to determine things like the user's AccessStatus, or construct extremely complex queries to join and figure out the user's Confluence access.

        If no permission check is defined in the SpacesQuery or the user is a super-user, then the returned object excludes permission checking.

        Parameters:
        spacesQuery - the query to use to fetch the spaces from the databases
        Returns:
        the SpacesQuery decorated into a SpacesQueryWithPermissionQueryBuilder OR AccessDenied if the user does not have Confluence access, or an invalid permission is being checked for the user.
        Since:
        7.0.1