diff --git a/filecloudapi/fcserver.py b/filecloudapi/fcserver.py index f591151..f3e0241 100644 --- a/filecloudapi/fcserver.py +++ b/filecloudapi/fcserver.py @@ -998,6 +998,15 @@ def adduserstoshare( self._raise_exception_from_command(resp) + def addgrouptoshare(self, share: FCShare, groupid: str) -> None: + """ + Allow group access to share + """ + resp = self._api_call( + "/core/addgrouptoshare", {"shareid": share.shareid, "groupid": groupid} + ) + self._raise_exception_from_command(resp) + def createfolder( self, path: str, @@ -1071,6 +1080,35 @@ def setuseraccessforshare( ) self._raise_exception_from_command(resp) + def setgroupaccessforshare( + self, + share: FCShare, + groupid: str, + allowwrite: bool, + allowdownload: bool, + allowshare: bool, + allowsync: bool, + disallowdelete: bool, + adminproxyuserid: Optional[str] = None, + ) -> None: + """ + Set group permissions for share + """ + resp = self._api_call( + "/core/setgroupaccessforshare", + { + "shareid": share.shareid, + "groupid": groupid, + "write": "true" if allowwrite else "false", + "download": "true" if allowdownload else "false", + "share": "true" if allowshare else "false", + "sync": "true" if allowsync else "false", + "disallowdelete": "true" if disallowdelete else "false", + "adminproxyuserid": adminproxyuserid if adminproxyuserid else "", + }, + ) + self._raise_exception_from_command(resp) + def getusersforshare(self, share: FCShare) -> list[FCShareUser]: """ Returns a list of users that are added explicitly to the share