Interface SpaceManagerInternal

All Superinterfaces:
SpaceManager
All Known Implementing Classes:
DefaultSpaceManager

@Transactional public interface SpaceManagerInternal extends SpaceManager
DMZ space manager interface. ; see the package-info.java for rationale.
Since:
9.0
  • Method Details

    • 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