Class PermissionsResource

java.lang.Object
com.atlassian.confluence.functest.rest.admin.PermissionsResource

@Consumes("application/json") @Produces("application/json") @Path("/admin/permissions") public class PermissionsResource extends Object
Modifies space and global permission settings.

Preferred way to invoke this from tests: com.atlassian.confluence.test.rest.api.PermissionsRest in confluence-test-utils.

Legacy alternative way to invoke this: com.atlassian.confluence.it.rpc.delegates.admin.PermissionsRpc via com.atlassian.confluence.it.rpc.ConfluenceRpc.

Please maintain both of the above clients if modifying this class.

Permission requirements: must be sysadmin to call this.

TODO: update this to use api SpacePermissionService instead of SpacePermissionManager, once implemented.

Since:
5.9
  • Constructor Details

    • PermissionsResource

      @Inject public PermissionsResource(@Qualifier("spacePermissionManager") SpacePermissionManager spacePermissionManager, SpaceManager spaceManager, UserAccessor userAccessor)
      Parameters:
      spacePermissionManager - the top-level SpacePermissionManager: note this is wrapped with SpacePermissionCoordinator, which does its own permission checks, but calling user has to be sysadmin anyway
  • Method Details

    • addUserGlobalPermission

      @PUT @Path("global/user/{userKey}/{permission}") public void addUserGlobalPermission(@PathParam("userKey") String userKey, @PathParam("permission") String permission)
    • removeUserGlobalPermission

      @DELETE @Path("global/user/{userKey}/{permission}") public void removeUserGlobalPermission(@PathParam("userKey") String userKey, @PathParam("permission") String permission)
    • addGroupGlobalPermission

      @PUT @Path("global/group/{groupName}/{permission}") public void addGroupGlobalPermission(@PathParam("groupName") String groupName, @PathParam("permission") String permission)
    • removeGroupGlobalPermission

      @DELETE @Path("global/group/{groupName}/{permission}") public void removeGroupGlobalPermission(@PathParam("groupName") String groupName, @PathParam("permission") String permission)
    • addAnonymousGlobalPermission

      @PUT @Path("global/anonymous/{permission}") public void addAnonymousGlobalPermission(@PathParam("permission") String permission)
    • removeAnonymousGlobalPermission

      @DELETE @Path("global/anonymous/{permission}") public void removeAnonymousGlobalPermission(@PathParam("permission") String permission)
    • addUnlicensedUserGlobalPermission

      @PUT @Path("global/unlicensed/{permission}") public void addUnlicensedUserGlobalPermission(@PathParam("permission") String permission)
    • removeUnlicensedUserGlobalPermission

      @DELETE @Path("global/unlicensed/{permission}") public void removeUnlicensedUserGlobalPermission(@PathParam("permission") String permission)
    • addUserSpacePermission

      @PUT @Path("space/{spaceKey}/user/{userKey}/{permission}") public void addUserSpacePermission(@PathParam("spaceKey") String spaceKey, @PathParam("userKey") String userKey, @PathParam("permission") String permission)
    • removeUserSpacePermission

      @DELETE @Path("space/{spaceKey}/user/{userKey}/{permission}") public void removeUserSpacePermission(@PathParam("spaceKey") String spaceKey, @PathParam("userKey") String userKey, @PathParam("permission") String permission)
    • addGroupSpacePermission

      @PUT @Path("space/{spaceKey}/group/{groupName}/{permission}") public void addGroupSpacePermission(@PathParam("spaceKey") String spaceKey, @PathParam("groupName") String groupName, @PathParam("permission") String permission)
    • removeGroupSpacePermission

      @DELETE @Path("space/{spaceKey}/group/{groupName}/{permission}") public void removeGroupSpacePermission(@PathParam("spaceKey") String spaceKey, @PathParam("groupName") String groupName, @PathParam("permission") String permission)
    • addAnonymousSpacePermission

      @PUT @Path("space/{spaceKey}/anonymous/{permission}") public void addAnonymousSpacePermission(@PathParam("spaceKey") String spaceKey, @PathParam("permission") String permission)
    • removeAnonymousSpacePermission

      @DELETE @Path("space/{spaceKey}/anonymous/{permission}") public void removeAnonymousSpacePermission(@PathParam("spaceKey") String spaceKey, @PathParam("permission") String permission)
    • addUnlicensedUserSpacePermission

      @PUT @Path("space/{spaceKey}/unlicensed/{permission}") public void addUnlicensedUserSpacePermission(@PathParam("spaceKey") String spaceKey, @PathParam("permission") String permission)
    • removeUnlicensedUserSpacePermission

      @DELETE @Path("space/{spaceKey}/unlicensed/{permission}") public void removeUnlicensedUserSpacePermission(@PathParam("spaceKey") String spaceKey, @PathParam("permission") String permission)