diff --git a/src/codeocean/capsule.py b/src/codeocean/capsule.py index c4696c6..baabe10 100644 --- a/src/codeocean/capsule.py +++ b/src/codeocean/capsule.py @@ -58,6 +58,12 @@ def list_computations(self, capsule_id: str) -> list[Computation]: return [Computation.from_dict(c) for c in res.json()] + def get_permissions(self, capsule_id: str) -> Permissions: + """Get permissions for a specific capsule.""" + res = self.client.get(f"{self._route}/{capsule_id}/permissions") + + return Permissions.from_dict(res.json()) + def update_permissions(self, capsule_id: str, permissions: Permissions): """Update permissions for a capsule.""" self.client.post( diff --git a/src/codeocean/data_asset.py b/src/codeocean/data_asset.py index 5ccbd56..0e861cc 100644 --- a/src/codeocean/data_asset.py +++ b/src/codeocean/data_asset.py @@ -183,6 +183,12 @@ def search_data_assets_iterator(self, search_params: DataAssetSearchParams) -> I params["next_token"] = response.next_token + def get_data_asset_permissions(self, data_asset_id: str) -> Permissions: + """Get permissions for a specific data asset.""" + res = self.client.get(f"data_assets/{data_asset_id}/permissions") + + return Permissions.from_dict(res.json()) + def list_data_asset_files(self, data_asset_id: str, path: str = "") -> Folder: """ List files and folders within an internal data asset at the specified path. diff --git a/src/codeocean/pipeline.py b/src/codeocean/pipeline.py index 366c77c..b85349c 100644 --- a/src/codeocean/pipeline.py +++ b/src/codeocean/pipeline.py @@ -42,6 +42,10 @@ def list_computations(self, pipeline_id: str) -> list[Computation]: """Get all computations associated with a specific pipeline.""" return self._capsules.list_computations(pipeline_id) + def get_permissions(self, pipeline_id: str) -> Permissions: + """Get permissions for a specific pipeline.""" + return self._capsules.get_permissions(pipeline_id) + def update_permissions(self, pipeline_id: str, permissions: Permissions): """Update permissions for a pipeline.""" return self._capsules.update_permissions(pipeline_id, permissions)