aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/requests
diff options
context:
space:
mode:
Diffstat (limited to 'pygithub3/requests')
-rw-r--r--pygithub3/requests/orgs/__init__.py27
-rw-r--r--pygithub3/requests/orgs/members.py34
-rw-r--r--pygithub3/requests/orgs/teams.py74
-rw-r--r--pygithub3/requests/repos/__init__.py3
4 files changed, 137 insertions, 1 deletions
diff --git a/pygithub3/requests/orgs/__init__.py b/pygithub3/requests/orgs/__init__.py
new file mode 100644
index 0000000..deba5ef
--- /dev/null
+++ b/pygithub3/requests/orgs/__init__.py
@@ -0,0 +1,27 @@
+# -*- encoding: utf-8 -*-
+
+from pygithub3.requests.base import Request
+from pygithub3.resources.orgs import Org
+
+
+class List(Request):
+ uri = 'users/{user}/orgs'
+ resource = Org
+
+ def clean_uri(self):
+ if not self.user:
+ return 'user/orgs'
+
+
+class Get(Request):
+ uri = 'orgs/{org}'
+ resource = Org
+
+
+class Update(Request):
+ uri = 'orgs/{org}'
+ resource = Org
+ body_schema = {
+ 'schema': ('billing_email', 'company', 'email', 'location', 'name'),
+ 'required': (),
+ }
diff --git a/pygithub3/requests/orgs/members.py b/pygithub3/requests/orgs/members.py
new file mode 100644
index 0000000..a6b05c2
--- /dev/null
+++ b/pygithub3/requests/orgs/members.py
@@ -0,0 +1,34 @@
+# -*- encoding: utf-8 -*-
+
+from pygithub3.resources.orgs import Member
+from . import Request
+
+
+class List(Request):
+ uri = 'orgs/{org}/members'
+ resource = Member
+
+
+class Is_member(Request):
+ uri = 'orgs/{org}/members/{user}'
+
+
+class Delete(Request):
+ uri = 'orgs/{org}/members/{user}'
+
+
+class Listpublic(Request):
+ uri = 'orgs/{org}/public_members'
+ resource = Member
+
+
+class Is_public_member(Request):
+ uri = 'orgs/{org}/public_members/{user}'
+
+
+class Publicize(Request):
+ uri = 'orgs/{org}/public_members/{user}'
+
+
+class Conceal(Request):
+ uri = 'orgs/{org}/public_members/{user}'
diff --git a/pygithub3/requests/orgs/teams.py b/pygithub3/requests/orgs/teams.py
new file mode 100644
index 0000000..cc92f9c
--- /dev/null
+++ b/pygithub3/requests/orgs/teams.py
@@ -0,0 +1,74 @@
+# -*- encoding: utf-8 -*-
+
+from pygithub3.resources.orgs import Member, Team
+from pygithub3.resources.repos import Repo
+from . import Request
+
+
+class List(Request):
+ uri = 'orgs/{org}/teams'
+ resource = Team
+
+
+class Get(Request):
+ uri = 'teams/{id}'
+ resource = Team
+
+
+class Create(Request):
+ uri = 'orgs/{org}/teams'
+ resource = Team
+ body_schema = {
+ 'schema': ('name', 'repo_names', 'permission',),
+ 'required': ('name',),
+ }
+
+ # TODO: Check if this request fails with invalid permission
+ #def clean_body(self):
+
+
+class Update(Request):
+ uri = 'teams/{id}'
+ resource = Team
+ body_schema = {
+ 'schema': ('name', 'permission',),
+ 'required': ('name',),
+ }
+
+
+class Delete(Request):
+ uri = 'teams/{id}'
+
+
+class List_members(Request):
+ uri = 'teams/{id}/members'
+ resource = Member
+
+
+class Is_member(Request):
+ uri = 'teams/{id}/members/{user}'
+
+
+class Add_member(Request):
+ uri = 'teams/{id}/members/{user}'
+
+
+class Remove_member(Request):
+ uri = 'teams/{id}/members/{user}'
+
+
+class List_repos(Request):
+ uri = 'teams/{id}/repos'
+ resource = Repo
+
+
+class Contains_repo(Request):
+ uri = 'teams/{id}/repos/{user}/{repo}'
+
+
+class Add_repo(Request):
+ uri = 'teams/{id}/repos/{user}/{repo}'
+
+
+class Remove_repo(Request):
+ uri = 'teams/{id}/repos/{user}/{repo}'
diff --git a/pygithub3/requests/repos/__init__.py b/pygithub3/requests/repos/__init__.py
index cd920fe..7bbcf3e 100644
--- a/pygithub3/requests/repos/__init__.py
+++ b/pygithub3/requests/repos/__init__.py
@@ -1,8 +1,9 @@
# -*- encoding: utf-8 -*-
from pygithub3.requests.base import Request, ValidationError
+from pygithub3.resources.orgs import Team
+from pygithub3.resources.repos import Repo, Tag, Branch
from pygithub3.resources.users import User
-from pygithub3.resources.repos import Repo, Team, Tag, Branch
class List(Request):