Skip to content

Commit

Permalink
Add Team object
Browse files Browse the repository at this point in the history
  • Loading branch information
jacquev6 committed Feb 23, 2012
1 parent 30757cf commit e483c31
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 14 deletions.
28 changes: 14 additions & 14 deletions ReferenceOfApis.md
Expand Up @@ -96,8 +96,8 @@ API `/orgs/:org/repos`

API `/orgs/:org/teams`
======================
* GET: `Organization.get_teams()`: list of `Team` (TODO SOON)
* POST: `Organization.create_team( ... ): `Team` (TODO SOON)
* GET: `Organization.get_teams()`: list of `Team`
* POST: `Organization.create_team( ... ): `Team`

API `/repos/:user/:repo`
========================
Expand Down Expand Up @@ -358,37 +358,37 @@ API `/repos/:user/:repo/tags`

API `/repos/:user/:repo/teams`
==============================
* GET: `Repository.get_teams()`: list of `Team` (TODO SOON)
* GET: `Repository.get_teams()`: list of `Team`

API `/repos/:user/:repo/watchers`
=================================
* GET: `Repository.get_watchers()`: list of `NamedUser`

API `/teams/:id`
================
* GET: Lazy completion of `Team` (TODO SOON)
* PATCH: `Team.edit( ... )` (TODO SOON)
* DELETE: `Team.delete()` (TODO SOON)
* GET: Lazy completion of `Team`
* PATCH: `Team.edit( ... )`
* DELETE: `Team.delete()`

API `/teams/:id/members`
========================
* GET: `Team.get_members()`: list of `NamedUser` (TODO SOON)
* GET: `Team.get_members()`: list of `NamedUser`

API `/teams/:id/members/:user`
==============================
* GET: `Team.has_in_members( user )`: `bool` (TODO SOON)
* PUT: `Team.add_to_members( user )` (TODO SOON)
* DELETE: `Team.remove_from_members( user )` (TODO SOON)
* GET: `Team.has_in_members( user )`: `bool`
* PUT: `Team.add_to_members( user )`
* DELETE: `Team.remove_from_members( user )`

API `/teams/:id/repos`
======================
* GET: `Team.get_repos()`: list of `Repository` (TODO SOON)
* GET: `Team.get_repos()`: list of `Repository`

API `/teams/:id/repos/:user/:repo`
==================================
* GET: `Team.has_in_repos( repo )`: `bool` (TODO SOON)
* PUT: `Team.add_to_repos( repo )` (TODO SOON)
* DELETE: `Team.remove_from_repos( repo )` (TODO SOON)
* GET: `Team.has_in_repos( repo )`: `bool`
* PUT: `Team.add_to_repos( repo )`
* DELETE: `Team.remove_from_repos( repo )`

API `/user`
===========
Expand Down
29 changes: 29 additions & 0 deletions ReferenceOfClasses.md
Expand Up @@ -90,6 +90,11 @@ Members
* `add_to_public_members( user )`
* `remove_from_public_members( user )`

Teams
-----
* `get_teams()`: list of `Team`
* `create_team( ... )`: `Team`: see [API](http://developer.github.com/v3/.../#...) for parameters (TODO SOON)

Class `Repository`
==================
* Attributes: see [API](http://developer.github.com/v3/repos/#get)
Expand Down Expand Up @@ -128,6 +133,30 @@ Git objects
* `get_git_tag( sha )`: `GitTag`
* `create_git_tag( ... )`: `GitTag`: see [API](http://developer.github.com/v3/git/tags/#create-a-tag-object) for parameters

Teams
-----
* `get_teams()`: list of `Team`

Class `Team`
============
* Attributes: see [API](http://developer.github.com/v3/.../#...) (TODO SOON)
* `edit( ... )`: see [API](http://developer.github.com/v3/.../#...) for parameters (TODO SOON)
* `delete()`

Members
-------
* `get_members()`: list of `NamedUser`
* `has_in_members( user )`: `bool`
* `add_to_members( user )`
* `remove_from_members( user )`

Repositories
------------
* `get_repos()`: list of `Repository`
* `has_in_repos( user )`: `bool`
* `add_to_repos( user )`
* `remove_from_repos( user )`

Class `GitRef`
==============
* Attributes: see [API](http://developer.github.com/v3/git/refs/#get-a-reference)
Expand Down
16 changes: 16 additions & 0 deletions github/GithubObjects.py
Expand Up @@ -178,3 +178,19 @@ def __createForkForOrg( org, repo ):
assert isinstance( repo, Repository )
return Repository( org._github, org._github._dataRequest( "POST", repo._baseUrl + "/forks", { "org": org.login }, None ), lazy = True )
Organization._addAttributePolicy( MethodFromCallable( "create_fork", __createForkForOrg ) )

Team = GithubObject(
"Team",
BaseUrl( lambda obj: "/teams/" + obj.id )
Identity( lambda obj: obj.id ),
BasicAttributes(
### @todo
),
Editable( [], [] ), ### @todo
Deletable(),
ListOfReferences( "members", NamedUser, addable = True, removable = True, hasable = True ),
ListOfReferences( "repos", Repository, addable = True, removable = True, hasable = True ),
)

Organization._addAttributePolicy( ListOfObjects( "teams", Team, creatable = True ) )
Repository._addAttributePolicy( ListOfReferences( "teams", Team ) )

0 comments on commit e483c31

Please sign in to comment.