Interface SpacePermissionQueryManager
- All Known Implementing Classes:
DefaultSpacePermissionQueryManager
@Internal
public interface SpacePermissionQueryManager
Helps build database queries for
SpacePermission
s, 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 aSpacePermissionQueryBuilder
for 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 aSpacePermissionQueryBuilder
for 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. SeeSpacePermissionAccessMapper
andSpacePermissionSubjectType
.- Parameters:
user
- the user being checked for permissions, or null for anonymouspermissionType
- theSpacePermission
permission type- Returns:
- a
SpacePermissionQueryBuilder
for the user / anonymous ORAccessDenied
if the user does not have access to Confluence, or the permissionType is not valid for the user (depends on theirAccessStatus
).
-