Added support for retrieving info about authorizables and for adding and
removing members to a group
This commit is contained in:
@@ -1,11 +1,11 @@
|
|||||||
import json
|
import json
|
||||||
from typing import Union, List, Optional
|
from typing import Union, List, Optional
|
||||||
|
|
||||||
import requests
|
|
||||||
from urllib.parse import urljoin
|
from urllib.parse import urljoin
|
||||||
|
|
||||||
from .simplenode import SimpleNode
|
import requests
|
||||||
|
|
||||||
from .patchbuilder import PatchBuilder
|
from .patchbuilder import PatchBuilder
|
||||||
|
from .simplenode import SimpleNode
|
||||||
|
|
||||||
# TODO validation
|
# TODO validation
|
||||||
|
|
||||||
@@ -41,6 +41,8 @@ WORKFLOW_LIST_MODELS = '/libs/cq/workflow/content/console/workflows.json'
|
|||||||
|
|
||||||
CREATE_ASSET = '.createasset.html'
|
CREATE_ASSET = '.createasset.html'
|
||||||
|
|
||||||
|
SECURITY_AUTHORIZABLES = "/bin/security/authorizables.json"
|
||||||
|
|
||||||
JSON_DATA_EXTENSION = '.1.json'
|
JSON_DATA_EXTENSION = '.1.json'
|
||||||
|
|
||||||
QUERY_TYPES = {
|
QUERY_TYPES = {
|
||||||
@@ -343,3 +345,27 @@ class Connection:
|
|||||||
)
|
)
|
||||||
resp.raise_for_status()
|
resp.raise_for_status()
|
||||||
return resp.json()['path']
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user