Interface PermResource


  • @Path("/perm")
    @Produces("application/json")
    public interface PermResource
    Resource for reading and writing permissions.

    The following table can be used to look up the bit positions (starting at 0) of the folder permissions:

    TypeShortDescriptionBit
    FoldersShow0
    rAssign user permissions1
    cCreate8
    eEdit9
    dDelete10
    Pages/Images/FilessShow11
    cCreate12
    eEdit13
    dDelete14
    iImport23
    PagespPublish19
    TemplatessShow15
    cCreate16
    lLink21
    eEdit17
    dDelete18
    WorkflowvLink22

    The following table can be used to look up the bit positions (starting at 0) of the role permissions:

    TypeDescriptionBit
    Role permissionsShow10
    Create11
    Modify12
    Delete13
    Publishing14
    Translate15
    • Method Detail

      • getPermissions

        @GET
        @Path("/{type}")
        PermBitsResponse getPermissions​(@PathParam("type")
                                        String objType,
                                        @QueryParam("map") @DefaultValue("false")
                                        boolean privilegeMap)
                                 throws Exception
        Get the permission bits valid for the current user and the given type
        Parameters:
        objType - object type
        privilegeMap - true if the privileges should also be returned as map
        Returns:
        permission bits response
        Throws:
        Exception
      • getPermissions

        @GET
        @Path("/{type}/{id}")
        PermBitsResponse getPermissions​(@PathParam("type")
                                        String objType,
                                        @PathParam("id")
                                        int objId,
                                        @QueryParam("nodeId") @DefaultValue("0")
                                        int nodeId,
                                        @QueryParam("type") @DefaultValue("-1")
                                        int checkType,
                                        @QueryParam("lang") @DefaultValue("0")
                                        int languageId,
                                        @QueryParam("map") @DefaultValue("false")
                                        boolean privilegeMap)
                                 throws Exception
        Get the permission bits valid for the current user on the given object (and optionally for the given node).

        See the class description for the permission bits.
        To get the folder permissions you need to provide the type (10002 = Folder, 10001 = Node) and the object id.
        To get the role permissions you need to provide the languageId and the type to check for (10007 = Pages, 10008 = Files).

        Parameters:
        objType - object type (10002 = Folder, 10001 = Node)
        objId - object id
        nodeId - optional node id
        checkType - optional type for which the role permission should be returned (10007 = Pages, 10008 = Files)
        languageId - optional language id for which the role permissions should be returned
        privilegeMap - true if the privileges should also be returned as map
        Returns:
        permission bits response
        Throws:
        Exception
      • getObjectPermission

        @GET
        @Path("/{perm}/{type}/{id}")
        PermResponse getObjectPermission​(@PathParam("perm")
                                         Permission perm,
                                         @PathParam("type")
                                         String objType,
                                         @PathParam("id")
                                         int objId,
                                         @QueryParam("nodeId") @DefaultValue("0")
                                         int nodeId)
                                  throws Exception
        Check whether the user has permission perm on the object defined by type and id
        Parameters:
        perm - permission
        objType - object type
        objId - object id
        nodeId - node id
        Returns:
        response containing the result
        Throws:
        Exception
      • setPermissions

        @POST
        @Path("/{type}")
        GenericResponse setPermissions​(@PathParam("type")
                                       String type,
                                       @QueryParam("wait") @DefaultValue("0")
                                       long waitMs,
                                       SetPermsRequest req)
                                throws Exception
        Set the permissions on the type
        Parameters:
        type - type
        waitMs - wait timeout in milliseconds
        req - request
        Returns:
        generic response
        Throws:
        Exception
      • setPermissions

        @POST
        @Path("/{type}/{id}")
        GenericResponse setPermissions​(@PathParam("type")
                                       String objType,
                                       @PathParam("id")
                                       int objId,
                                       @QueryParam("wait") @DefaultValue("0")
                                       long waitMs,
                                       SetPermsRequest req)
                                throws Exception
        Set the permissions on the identified object according to the posted request
        Parameters:
        objType - object type
        objId - object id
        waitMs - wait timeout in milliseconds
        req - request
        Returns:
        generic response
        Throws:
        Exception
      • list

        @GET
        @Path("/list/{type}")
        GroupsPermBitsResponse list​(@PathParam("type")
                                    String objType)
                             throws Exception
        List all groups with with their permission bits for the given object type This only lists groups that the current user actually has permission to view (his own groups and their sub groups)
        Parameters:
        objType - Type of the object
        Returns:
        generic GroupsPermBitsResponse object
        Throws:
        Exception
      • list

        @GET
        @Path("/list/{type}/{id}")
        GroupsPermBitsResponse list​(@PathParam("type")
                                    String objType,
                                    @PathParam("id")
                                    int objId)
                             throws Exception
        List all groups with with their permission bits for the given object This only lists groups that the current user actually has permission to view (his own groups and their sub groups)
        Parameters:
        objType - Type of the object
        objId - ID of the object
        Returns:
        generic GroupsPermBitsResponse object
        Throws:
        Exception