Interface SpacePermissionQueryManager
- All Known Implementing Classes:
DefaultSpacePermissionQueryManager
@Internal
public interface SpacePermissionQueryManager
Helps build database queries for
SpacePermissions, without interpreting the logic of the spacepermissions
table in multiple DAO's.-
Method Summary
Modifier and TypeMethodDescriptionio.atlassian.fugue.Either<AccessDenied,SpacePermissionQueryBuilder> createSpacePermissionQueryBuilder(@Nullable ConfluenceUser user, @NonNull String permissionType) Constructs aSpacePermissionQueryBuilderfor use by DAO's to construct database queries, without having to reach out to the manager level to determine which categories of permission apply for the current user.
-
Method Details
-
createSpacePermissionQueryBuilder
io.atlassian.fugue.Either<AccessDenied,SpacePermissionQueryBuilder> createSpacePermissionQueryBuilder(@Nullable ConfluenceUser user, @NonNull String permissionType) Constructs aSpacePermissionQueryBuilderfor use by DAO's to construct database queries, without having to reach out to the manager level to determine which categories of permission apply for the current user. SeeSpacePermissionAccessMapperandSpacePermissionSubjectType.- Parameters:
user- the user being checked for permissions, or null for anonymouspermissionType- theSpacePermissionpermission type- Returns:
- a
SpacePermissionQueryBuilderfor the user / anonymous ORAccessDeniedif the user does not have access to Confluence, or the permissionType is not valid for the user (depends on theirAccessStatus).
-