Skip to content

Commit 60c34cb

Browse files
committed
Bitbucket Cloud: Add workspaces repository permissions.
1 parent 4f5deba commit 60c34cb

File tree

1 file changed

+36
-1
lines changed

1 file changed

+36
-1
lines changed

atlassian/bitbucket/cloud/workspaces/permissions.py

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# coding=utf-8
22

33

4-
54
from ..base import BitbucketCloudBase
65

76

@@ -16,6 +15,9 @@ def __get_object_workspace_membership(self, data):
1615
**self._new_session_args,
1716
)
1817

18+
def __get_object_repository_permission(self, data):
19+
return RepositoryPermission(self.url, data, **self._new_session_args)
20+
1921
def each(self, q=None, sort=None, pagelen=10):
2022
"""
2123
Returns the list of pipelines in this repository.
@@ -45,6 +47,12 @@ def each(self, q=None, sort=None, pagelen=10):
4547

4648
return
4749

50+
def repositories(self, repo_slug="", pagelen=10):
51+
for permissions in self._get_paged(
52+
"repositories/{}".format(repo_slug), trailing=True, params={"pagelen": pagelen}
53+
):
54+
yield self.__get_object_repository_permission(permissions)
55+
4856

4957
class WorkspaceMembership(BitbucketCloudBase):
5058
def __init__(self, url, data, *args, **kwargs):
@@ -89,3 +97,30 @@ def permission(self):
8997
def last_accessed(self):
9098
"""The workspace_membership last accessed"""
9199
return self.get_time("last_accessed")
100+
101+
102+
class RepositoryPermission(BitbucketCloudBase):
103+
def __init__(self, url, data, *args, **kwargs):
104+
super(RepositoryPermission, self).__init__(
105+
url, *args, data=data, expected_type="repository_permission", **kwargs
106+
)
107+
108+
@property
109+
def repository(self):
110+
"""The repository_permission uuid"""
111+
return self.get_data("repository")
112+
113+
@property
114+
def type(self):
115+
"""The repository_permission type"""
116+
return self.get_data("type")
117+
118+
@property
119+
def permission(self):
120+
"""The repository_permission permission"""
121+
return self.get_data("permission")
122+
123+
@property
124+
def user(self):
125+
"""The repository_permission workspace"""
126+
return self.get_data("user")

0 commit comments

Comments
 (0)