diff options
author | Daniel Kimsey <dekimsey@ufl.edu> | 2013-07-02 16:15:06 -0400 |
---|---|---|
committer | Daniel Kimsey <dekimsey@ufl.edu> | 2013-07-02 16:15:06 -0400 |
commit | 8a22958e20a622400daecb288135793544ad01ad (patch) | |
tree | 605593017a1ec869e384d65d2054289f1d676ca3 /gitlab.py | |
parent | 05ab4732ceaee7d6d6c1f162b5925602b7c9ad44 (diff) | |
download | gitlab-8a22958e20a622400daecb288135793544ad01ad.tar.gz |
Addded API for team access.
Diffstat (limited to 'gitlab.py')
-rw-r--r-- | gitlab.py | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -852,3 +852,42 @@ class Project(GitlabObject): return self._getListOrObject(ProjectTag, id, project_id=self.id, **kwargs) + + +class TeamMember(GitlabObject): + _url = '/user_teams/%(team_id)s/members' + canUpdate = False + requiredCreateAttrs = ['team_id', 'user_id', 'access_level'] + requiredDeleteAttrs = ['team_id'] + requiredGetAttrs = ['team_id'] + requiredListAttrs = ['team_id'] + shortPrintAttr = 'username' + + +class TeamProject(GitlabObject): + _url = '/user_teams/%(team_id)s/projects' + _constructorTypes = {'owner': 'User'} + canUpdate = False + requiredCreateAttrs = ['team_id', 'project_id', 'greatest_access_level'] + requiredDeleteAttrs = ['team_id', 'project_id'] + requiredGetAttrs = ['team_id'] + requiredListAttrs = ['team_id'] + shortPrintAttr = 'name' + + +class Team(GitlabObject): + _url = '/user_teams' + shortPrintAttr = 'name' + requiredCreateAttrs = ['name', 'path'] + canUpdate = False + + def Members(self, id=None, **kwargs): + return self._getListOrObject(TeamMember, id, + team_id=self.id, + **kwargs) + + def Projects(self, id=None, **kwargs): + return self._getListOrObject(TeamProject, id, + team_id=self.id, + **kwargs) + |