Added support for retrieving info about authorizables and for adding and

removing members to a group
This commit is contained in:
Rick Rongen
2019-08-01 13:48:12 +02:00
parent 21a23a70cc
commit 50e62ba400

View File

@@ -1,11 +1,11 @@
import json
from typing import Union, List, Optional
import requests
from urllib.parse import urljoin
from .simplenode import SimpleNode
import requests
from .patchbuilder import PatchBuilder
from .simplenode import SimpleNode
# TODO validation
@@ -41,6 +41,8 @@ WORKFLOW_LIST_MODELS = '/libs/cq/workflow/content/console/workflows.json'
CREATE_ASSET = '.createasset.html'
SECURITY_AUTHORIZABLES = "/bin/security/authorizables.json"
JSON_DATA_EXTENSION = '.1.json'
QUERY_TYPES = {
@@ -343,3 +345,27 @@ class Connection:
)
resp.raise_for_status()
return resp.json()['path']
def get_authorizables(self, start: int = 0, user_filter: str = "", ml: int = 0, limit: int = 500, hide_groups: bool = False, hide_users: bool = False):
args = {
'start': start,
'filter': user_filter,
'ml': ml,
'limit': limit,
'hideGroups': json.dumps(hide_groups),
'hideUsers': json.dumps(hide_users),
}
url = self._host + SECURITY_AUTHORIZABLES
resp = self._session.get(url, params=args)
return resp.json()['authorizables']
def add_remove_group(self, path: str, group_name: str):
args = {
'memberAction': (None, 'memberOf'),
'memberEntry': (None, group_name),
}
url = self._host + path
resp = self._session.post(url, files=args)
print(resp.text)
return resp.ok