diff options
Diffstat (limited to 'pygithub3/services')
-rw-r--r-- | pygithub3/services/repos.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/pygithub3/services/repos.py b/pygithub3/services/repos.py index 9b061d4..97294ae 100644 --- a/pygithub3/services/repos.py +++ b/pygithub3/services/repos.py @@ -4,9 +4,40 @@ from .base import Base +class Collaborator(Base): + + def list(self, user=None, repo=None): + request = self.make_request('repos.collaborators.list', + user=user or self.get_user(), + repo=repo or self.get_repo()) + return self._get_result(request) + + def add(self, collaborator, user=None, repo=None): + request = self.make_request('repos.collaborators.add', + collaborator=collaborator, + user=user or self.get_user(), + repo=repo or self.get_repo()) + return self._put(request) + + def is_collaborator(self, collaborator, user=None, repo=None): + request = self.make_request('repos.collaborators.is_collaborator', + collaborator=collaborator, + user=user or self.get_user(), + repo=repo or self.get_repo()) + return self._bool(request) + + def delete(self, collaborator, user=None, repo=None): + request = self.make_request('repos.collaborators.delete', + collaborator=collaborator, + user=user or self.get_user(), + repo=repo or self.get_repo()) + self._delete(request) + + class Repo(Base): def __init__(self, **config): + self.collaborators = Collaborator(**config) super(Repo, self).__init__(**config) def list(self, user=None, type='all'): |