From 7ff4a0875ca4c1c091ccc490f5bd5d8cf4aac799 Mon Sep 17 00:00:00 2001 From: markus Date: Wed, 5 May 2021 14:48:08 +0200 Subject: [PATCH] add group folder extended permissions type of functions --- setup.py | 2 +- src/nextcloud/api_wrappers/group_folders.py | 82 +++++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index f008c9a..7d70a84 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ setuptools.setup( name='nextcloud', - version='0.0.1', + version='0.0.2', author='EnterpriseyIntranet', description="Python wrapper for NextCloud api", long_description=long_description, diff --git a/src/nextcloud/api_wrappers/group_folders.py b/src/nextcloud/api_wrappers/group_folders.py index 448c4db..11e2997 100644 --- a/src/nextcloud/api_wrappers/group_folders.py +++ b/src/nextcloud/api_wrappers/group_folders.py @@ -121,3 +121,85 @@ def rename_group_folder(self, fid, mountpoint): """ url = "/".join([str(fid), "mountpoint"]) return self.requester.post(url=url, data={"mountpoint": mountpoint}) + + def enable_group_folder_advanced_permissions(self, fid): + """ + Enable advanced permissions for group folder + + Args: + fid (int/str): group folder id + + Returns: + + """ + url = "/".join([str(fid), "1"]) + return self.requester.post(url) + + def disable_group_folder_advanced_permissions(self, fid): + """ + Disable advanced permissions for group folder + + Args: + fid (int/str): group folder id + + Returns: + + """ + url = "/".join([str(fid), "0"]) + return self.requester.post(url) + + def add_group_folder_manage_group(self, fid, gid): + """ + Add group to group folder manangers + + Args: + fid (int/str): group folder id + gid (str): group id + + Returns: + + """ + url = "/".join([str(fid), "manageACL"]) + return self.requester.post(url=url, data={'manageACL': 1, 'mappingId': gid, 'mappingType': 'group'}) + + def remove_group_folder_manage_group(self, fid, gid): + """ + Remove group from group folder manangers + + Args: + fid (int/str): group folder id + gid (str): group id + + Returns: + + """ + url = "/".join([str(fid), "manageACL"]) + return self.requester.post(url=url, data={'manageACL': 0, 'mappingId': gid, 'mappingType': 'group'}) + + def add_group_folder_manage_user(self, fid, uid): + """ + Add user to group folder manangers + + Args: + fid (int/str): group folder id + uid (str): group id + + Returns: + + """ + url = "/".join([str(fid), "manageACL"]) + return self.requester.post(url=url, data={'manageACL': 1, 'mappingId': uid, 'mappingType': 'user'}) + + def remove_group_folder_manage_user(self, fid, uid): + """ + Remove user from group folder manangers + + Args: + fid (int/str): group folder id + uid (str): group id + + Returns: + + """ + url = "/".join([str(fid), "manageACL"]) + return self.requester.post(url=url, data={'manageACL': 0, 'mappingId': uid, 'mappingType': 'user'})