Skip to content

Commit 53af124

Browse files
authored
👽 re-generate models
1 parent 9a3a403 commit 53af124

File tree

6 files changed

+1510
-12
lines changed

6 files changed

+1510
-12
lines changed

githubkit/rest/__init__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
from .markdown import MarkdownClient
3434
from .packages import PackagesClient
3535
from .projects import ProjectsClient
36+
from .classroom import ClassroomClient
3637
from .gitignore import GitignoreClient
3738
from .reactions import ReactionsClient
3839
from .rate_limit import RateLimitClient
@@ -66,6 +67,10 @@ def security_advisories(self) -> SecurityAdvisoriesClient:
6667
def apps(self) -> AppsClient:
6768
return AppsClient(self._github)
6869

70+
@cached_property
71+
def classroom(self) -> ClassroomClient:
72+
return ClassroomClient(self._github)
73+
6974
@cached_property
7075
def codes_of_conduct(self) -> CodesOfConductClient:
7176
return CodesOfConductClient(self._github)

githubkit/rest/classroom.py

Lines changed: 304 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,304 @@
1+
"""DO NOT EDIT THIS FILE!
2+
3+
This file is automatically @generated by githubkit using the follow command:
4+
5+
python -m codegen && isort . && black .
6+
7+
See https://github.com/github/rest-api-description for more information.
8+
"""
9+
10+
11+
from typing import TYPE_CHECKING, Dict, List, Literal, Optional, overload
12+
13+
from pydantic import BaseModel, TypeAdapter
14+
15+
from githubkit.utils import UNSET, Missing, exclude_unset
16+
17+
from .models import (
18+
Classroom,
19+
BasicError,
20+
SimpleClassroom,
21+
ClassroomAssignment,
22+
ClassroomAssignmentGrade,
23+
SimpleClassroomAssignment,
24+
ClassroomAcceptedAssignment,
25+
)
26+
27+
if TYPE_CHECKING:
28+
from githubkit import GitHubCore
29+
from githubkit.response import Response
30+
31+
32+
class ClassroomClient:
33+
_REST_API_VERSION = "2022-11-28"
34+
35+
def __init__(self, github: "GitHubCore"):
36+
self._github = github
37+
38+
def get_an_assignment(
39+
self,
40+
assignment_id: int,
41+
*,
42+
headers: Optional[Dict[str, str]] = None,
43+
) -> "Response[ClassroomAssignment]":
44+
url = f"/assignments/{assignment_id}"
45+
46+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
47+
48+
return self._github.request(
49+
"GET",
50+
url,
51+
headers=exclude_unset(headers),
52+
response_model=ClassroomAssignment,
53+
error_models={
54+
"404": BasicError,
55+
},
56+
)
57+
58+
async def async_get_an_assignment(
59+
self,
60+
assignment_id: int,
61+
*,
62+
headers: Optional[Dict[str, str]] = None,
63+
) -> "Response[ClassroomAssignment]":
64+
url = f"/assignments/{assignment_id}"
65+
66+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
67+
68+
return await self._github.arequest(
69+
"GET",
70+
url,
71+
headers=exclude_unset(headers),
72+
response_model=ClassroomAssignment,
73+
error_models={
74+
"404": BasicError,
75+
},
76+
)
77+
78+
def list_accepted_assigments_for_an_assignment(
79+
self,
80+
assignment_id: int,
81+
page: Missing[int] = 1,
82+
per_page: Missing[int] = 30,
83+
*,
84+
headers: Optional[Dict[str, str]] = None,
85+
) -> "Response[List[ClassroomAcceptedAssignment]]":
86+
url = f"/assignments/{assignment_id}/accepted_assignments"
87+
88+
params = {
89+
"page": page,
90+
"per_page": per_page,
91+
}
92+
93+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
94+
95+
return self._github.request(
96+
"GET",
97+
url,
98+
params=exclude_unset(params),
99+
headers=exclude_unset(headers),
100+
response_model=List[ClassroomAcceptedAssignment],
101+
)
102+
103+
async def async_list_accepted_assigments_for_an_assignment(
104+
self,
105+
assignment_id: int,
106+
page: Missing[int] = 1,
107+
per_page: Missing[int] = 30,
108+
*,
109+
headers: Optional[Dict[str, str]] = None,
110+
) -> "Response[List[ClassroomAcceptedAssignment]]":
111+
url = f"/assignments/{assignment_id}/accepted_assignments"
112+
113+
params = {
114+
"page": page,
115+
"per_page": per_page,
116+
}
117+
118+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
119+
120+
return await self._github.arequest(
121+
"GET",
122+
url,
123+
params=exclude_unset(params),
124+
headers=exclude_unset(headers),
125+
response_model=List[ClassroomAcceptedAssignment],
126+
)
127+
128+
def get_assignment_grades(
129+
self,
130+
assignment_id: int,
131+
*,
132+
headers: Optional[Dict[str, str]] = None,
133+
) -> "Response[List[ClassroomAssignmentGrade]]":
134+
url = f"/assignments/{assignment_id}/grades"
135+
136+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
137+
138+
return self._github.request(
139+
"GET",
140+
url,
141+
headers=exclude_unset(headers),
142+
response_model=List[ClassroomAssignmentGrade],
143+
error_models={
144+
"404": BasicError,
145+
},
146+
)
147+
148+
async def async_get_assignment_grades(
149+
self,
150+
assignment_id: int,
151+
*,
152+
headers: Optional[Dict[str, str]] = None,
153+
) -> "Response[List[ClassroomAssignmentGrade]]":
154+
url = f"/assignments/{assignment_id}/grades"
155+
156+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
157+
158+
return await self._github.arequest(
159+
"GET",
160+
url,
161+
headers=exclude_unset(headers),
162+
response_model=List[ClassroomAssignmentGrade],
163+
error_models={
164+
"404": BasicError,
165+
},
166+
)
167+
168+
def list_classrooms(
169+
self,
170+
page: Missing[int] = 1,
171+
per_page: Missing[int] = 30,
172+
*,
173+
headers: Optional[Dict[str, str]] = None,
174+
) -> "Response[List[SimpleClassroom]]":
175+
url = "/classrooms"
176+
177+
params = {
178+
"page": page,
179+
"per_page": per_page,
180+
}
181+
182+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
183+
184+
return self._github.request(
185+
"GET",
186+
url,
187+
params=exclude_unset(params),
188+
headers=exclude_unset(headers),
189+
response_model=List[SimpleClassroom],
190+
)
191+
192+
async def async_list_classrooms(
193+
self,
194+
page: Missing[int] = 1,
195+
per_page: Missing[int] = 30,
196+
*,
197+
headers: Optional[Dict[str, str]] = None,
198+
) -> "Response[List[SimpleClassroom]]":
199+
url = "/classrooms"
200+
201+
params = {
202+
"page": page,
203+
"per_page": per_page,
204+
}
205+
206+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
207+
208+
return await self._github.arequest(
209+
"GET",
210+
url,
211+
params=exclude_unset(params),
212+
headers=exclude_unset(headers),
213+
response_model=List[SimpleClassroom],
214+
)
215+
216+
def get_a_classroom(
217+
self,
218+
classroom_id: int,
219+
*,
220+
headers: Optional[Dict[str, str]] = None,
221+
) -> "Response[Classroom]":
222+
url = f"/classrooms/{classroom_id}"
223+
224+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
225+
226+
return self._github.request(
227+
"GET",
228+
url,
229+
headers=exclude_unset(headers),
230+
response_model=Classroom,
231+
error_models={
232+
"404": BasicError,
233+
},
234+
)
235+
236+
async def async_get_a_classroom(
237+
self,
238+
classroom_id: int,
239+
*,
240+
headers: Optional[Dict[str, str]] = None,
241+
) -> "Response[Classroom]":
242+
url = f"/classrooms/{classroom_id}"
243+
244+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
245+
246+
return await self._github.arequest(
247+
"GET",
248+
url,
249+
headers=exclude_unset(headers),
250+
response_model=Classroom,
251+
error_models={
252+
"404": BasicError,
253+
},
254+
)
255+
256+
def list_assignments_for_a_classroom(
257+
self,
258+
classroom_id: int,
259+
page: Missing[int] = 1,
260+
per_page: Missing[int] = 30,
261+
*,
262+
headers: Optional[Dict[str, str]] = None,
263+
) -> "Response[List[SimpleClassroomAssignment]]":
264+
url = f"/classrooms/{classroom_id}/assignments"
265+
266+
params = {
267+
"page": page,
268+
"per_page": per_page,
269+
}
270+
271+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
272+
273+
return self._github.request(
274+
"GET",
275+
url,
276+
params=exclude_unset(params),
277+
headers=exclude_unset(headers),
278+
response_model=List[SimpleClassroomAssignment],
279+
)
280+
281+
async def async_list_assignments_for_a_classroom(
282+
self,
283+
classroom_id: int,
284+
page: Missing[int] = 1,
285+
per_page: Missing[int] = 30,
286+
*,
287+
headers: Optional[Dict[str, str]] = None,
288+
) -> "Response[List[SimpleClassroomAssignment]]":
289+
url = f"/classrooms/{classroom_id}/assignments"
290+
291+
params = {
292+
"page": page,
293+
"per_page": per_page,
294+
}
295+
296+
headers = {"X-GitHub-Api-Version": self._REST_API_VERSION, **(headers or {})}
297+
298+
return await self._github.arequest(
299+
"GET",
300+
url,
301+
params=exclude_unset(params),
302+
headers=exclude_unset(headers),
303+
response_model=List[SimpleClassroomAssignment],
304+
)

0 commit comments

Comments
 (0)