nadeshiko-sdk 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. nadeshiko/__init__.py +10 -0
  2. nadeshiko/_version.py +1 -0
  3. nadeshiko/api/__init__.py +1 -0
  4. nadeshiko/api/auth/__init__.py +3 -0
  5. nadeshiko/api/auth/internal/__init__.py +11 -0
  6. nadeshiko/api/auth/internal/get_discord_auth_url.py +176 -0
  7. nadeshiko/api/auth/internal/login.py +213 -0
  8. nadeshiko/api/auth/internal/login_discord.py +204 -0
  9. nadeshiko/api/auth/internal/login_google.py +204 -0
  10. nadeshiko/api/auth/internal/register.py +212 -0
  11. nadeshiko/api/auth_jwt/__init__.py +3 -0
  12. nadeshiko/api/auth_jwt/internal/__init__.py +7 -0
  13. nadeshiko/api/auth_jwt/internal/logout.py +151 -0
  14. nadeshiko/api/lists/__init__.py +8 -0
  15. nadeshiko/api/lists/internal/__init__.py +12 -0
  16. nadeshiko/api/lists/internal/list_add_item.py +215 -0
  17. nadeshiko/api/lists/internal/list_create.py +194 -0
  18. nadeshiko/api/lists/internal/list_destroy.py +193 -0
  19. nadeshiko/api/lists/internal/list_remove_item.py +207 -0
  20. nadeshiko/api/lists/internal/list_update.py +215 -0
  21. nadeshiko/api/lists/internal/list_update_item.py +229 -0
  22. nadeshiko/api/lists/list_index.py +257 -0
  23. nadeshiko/api/lists/list_show.py +193 -0
  24. nadeshiko/api/media/__init__.py +14 -0
  25. nadeshiko/api/media/character_show.py +193 -0
  26. nadeshiko/api/media/episode_index.py +229 -0
  27. nadeshiko/api/media/episode_show.py +207 -0
  28. nadeshiko/api/media/internal/__init__.py +16 -0
  29. nadeshiko/api/media/internal/episode_create.py +215 -0
  30. nadeshiko/api/media/internal/episode_destroy.py +205 -0
  31. nadeshiko/api/media/internal/episode_update.py +229 -0
  32. nadeshiko/api/media/internal/media_create.py +194 -0
  33. nadeshiko/api/media/internal/media_destroy.py +197 -0
  34. nadeshiko/api/media/internal/media_update.py +219 -0
  35. nadeshiko/api/media/internal/segment_create.py +229 -0
  36. nadeshiko/api/media/internal/segment_destroy.py +219 -0
  37. nadeshiko/api/media/internal/segment_index.py +243 -0
  38. nadeshiko/api/media/internal/segment_update.py +243 -0
  39. nadeshiko/api/media/media_index.py +232 -0
  40. nadeshiko/api/media/media_show.py +193 -0
  41. nadeshiko/api/media/segment_show.py +221 -0
  42. nadeshiko/api/media/segment_show_by_uuid.py +193 -0
  43. nadeshiko/api/media/seiyuu_show.py +193 -0
  44. nadeshiko/api/search/__init__.py +11 -0
  45. nadeshiko/api/search/fetch_media_info.py +278 -0
  46. nadeshiko/api/search/fetch_sentence_context.py +219 -0
  47. nadeshiko/api/search/internal/__init__.py +6 -0
  48. nadeshiko/api/search/search.py +295 -0
  49. nadeshiko/api/search/search_health_check.py +168 -0
  50. nadeshiko/api/search/search_multiple.py +238 -0
  51. nadeshiko/api/user/__init__.py +3 -0
  52. nadeshiko/api/user/internal/__init__.py +11 -0
  53. nadeshiko/api/user/internal/create_api_key.py +199 -0
  54. nadeshiko/api/user/internal/deactivate_api_key.py +194 -0
  55. nadeshiko/api/user/internal/get_api_keys.py +151 -0
  56. nadeshiko/api/user/internal/get_identity_me.py +156 -0
  57. nadeshiko/api/user/internal/get_user_info.py +156 -0
  58. nadeshiko/client.py +138 -0
  59. nadeshiko/errors.py +16 -0
  60. nadeshiko/models/__init__.py +215 -0
  61. nadeshiko/models/api_key.py +118 -0
  62. nadeshiko/models/api_key_permission.py +70 -0
  63. nadeshiko/models/auth_user.py +107 -0
  64. nadeshiko/models/basic_info.py +132 -0
  65. nadeshiko/models/category_statistic.py +71 -0
  66. nadeshiko/models/character.py +100 -0
  67. nadeshiko/models/character_input.py +130 -0
  68. nadeshiko/models/character_input_character_role.py +10 -0
  69. nadeshiko/models/character_with_media.py +124 -0
  70. nadeshiko/models/character_with_media_media_appearances_item.py +93 -0
  71. nadeshiko/models/character_with_media_media_appearances_item_role.py +10 -0
  72. nadeshiko/models/create_api_key_request.py +75 -0
  73. nadeshiko/models/create_api_key_response.py +70 -0
  74. nadeshiko/models/deactivate_api_key_request.py +62 -0
  75. nadeshiko/models/deactivate_api_key_response.py +62 -0
  76. nadeshiko/models/discord_auth_url_response.py +62 -0
  77. nadeshiko/models/discord_login_request.py +62 -0
  78. nadeshiko/models/episode.py +253 -0
  79. nadeshiko/models/episode_create_request.py +145 -0
  80. nadeshiko/models/episode_list_response.py +94 -0
  81. nadeshiko/models/episode_update_request.py +135 -0
  82. nadeshiko/models/error.py +128 -0
  83. nadeshiko/models/error_errors.py +46 -0
  84. nadeshiko/models/fetch_media_info_response.py +115 -0
  85. nadeshiko/models/fetch_media_info_type.py +10 -0
  86. nadeshiko/models/fetch_sentence_context_request.py +96 -0
  87. nadeshiko/models/fetch_sentence_context_response.py +75 -0
  88. nadeshiko/models/get_api_keys_response.py +86 -0
  89. nadeshiko/models/google_login_request.py +62 -0
  90. nadeshiko/models/list_.py +97 -0
  91. nadeshiko/models/list_add_item_body.py +69 -0
  92. nadeshiko/models/list_add_item_response_201.py +61 -0
  93. nadeshiko/models/list_create_request.py +107 -0
  94. nadeshiko/models/list_create_request_type.py +9 -0
  95. nadeshiko/models/list_create_request_visibility.py +9 -0
  96. nadeshiko/models/list_destroy_response_200.py +70 -0
  97. nadeshiko/models/list_index_type.py +9 -0
  98. nadeshiko/models/list_index_visibility.py +9 -0
  99. nadeshiko/models/list_input.py +138 -0
  100. nadeshiko/models/list_input_list_type.py +9 -0
  101. nadeshiko/models/list_input_list_visibility.py +9 -0
  102. nadeshiko/models/list_remove_item_response_200.py +61 -0
  103. nadeshiko/models/list_type.py +9 -0
  104. nadeshiko/models/list_update_body.py +78 -0
  105. nadeshiko/models/list_update_body_visibility.py +9 -0
  106. nadeshiko/models/list_update_item_body.py +61 -0
  107. nadeshiko/models/list_update_item_response_200.py +61 -0
  108. nadeshiko/models/list_visibility.py +9 -0
  109. nadeshiko/models/list_with_media.py +119 -0
  110. nadeshiko/models/list_with_media_media_item.py +83 -0
  111. nadeshiko/models/list_with_media_type.py +9 -0
  112. nadeshiko/models/list_with_media_visibility.py +9 -0
  113. nadeshiko/models/login_request.py +70 -0
  114. nadeshiko/models/login_response.py +84 -0
  115. nadeshiko/models/logout_response.py +73 -0
  116. nadeshiko/models/media.py +288 -0
  117. nadeshiko/models/media_category.py +11 -0
  118. nadeshiko/models/media_character.py +78 -0
  119. nadeshiko/models/media_character_role.py +10 -0
  120. nadeshiko/models/media_create_request.py +270 -0
  121. nadeshiko/models/media_create_request_category.py +11 -0
  122. nadeshiko/models/media_destroy_response_200.py +70 -0
  123. nadeshiko/models/media_index_category.py +9 -0
  124. nadeshiko/models/media_info_data.py +307 -0
  125. nadeshiko/models/media_info_path.py +83 -0
  126. nadeshiko/models/media_info_stats.py +89 -0
  127. nadeshiko/models/media_list_response.py +94 -0
  128. nadeshiko/models/media_update_request.py +297 -0
  129. nadeshiko/models/media_update_request_category.py +9 -0
  130. nadeshiko/models/quota_info.py +87 -0
  131. nadeshiko/models/quota_info_quota_limit_type_1.py +8 -0
  132. nadeshiko/models/register_request.py +78 -0
  133. nadeshiko/models/register_response.py +76 -0
  134. nadeshiko/models/register_response_user.py +46 -0
  135. nadeshiko/models/search_health_check_response.py +138 -0
  136. nadeshiko/models/search_multiple_request.py +72 -0
  137. nadeshiko/models/search_multiple_response.py +79 -0
  138. nadeshiko/models/search_request.py +253 -0
  139. nadeshiko/models/search_request_content_sort.py +13 -0
  140. nadeshiko/models/search_request_media_item.py +85 -0
  141. nadeshiko/models/search_request_media_item_seasons_item.py +69 -0
  142. nadeshiko/models/search_response.py +158 -0
  143. nadeshiko/models/segment.py +303 -0
  144. nadeshiko/models/segment_create_request.py +203 -0
  145. nadeshiko/models/segment_create_request_status.py +13 -0
  146. nadeshiko/models/segment_info.py +207 -0
  147. nadeshiko/models/segment_list_response.py +94 -0
  148. nadeshiko/models/segment_status.py +13 -0
  149. nadeshiko/models/segment_update_request.py +198 -0
  150. nadeshiko/models/segment_update_request_status.py +13 -0
  151. nadeshiko/models/seiyuu.py +86 -0
  152. nadeshiko/models/seiyuu_with_roles.py +108 -0
  153. nadeshiko/models/seiyuu_with_roles_roles_item.py +109 -0
  154. nadeshiko/models/seiyuu_with_roles_roles_item_role.py +10 -0
  155. nadeshiko/models/sentence.py +88 -0
  156. nadeshiko/models/statistic.py +132 -0
  157. nadeshiko/models/statistic_season_with_episode_hits.py +74 -0
  158. nadeshiko/models/statistic_season_with_episode_hits_additional_property.py +46 -0
  159. nadeshiko/models/user_info_response.py +79 -0
  160. nadeshiko/models/user_info_response_user.py +91 -0
  161. nadeshiko/models/user_role.py +71 -0
  162. nadeshiko/models/word_match.py +107 -0
  163. nadeshiko/models/word_match_media.py +98 -0
  164. nadeshiko/types.py +54 -0
  165. nadeshiko_sdk-0.1.0.dist-info/METADATA +147 -0
  166. nadeshiko_sdk-0.1.0.dist-info/RECORD +167 -0
  167. nadeshiko_sdk-0.1.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,204 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+
4
+ import httpx
5
+
6
+ from .... import errors
7
+ from ....client import AuthenticatedClient, Client
8
+ from ....models.error import Error
9
+ from ....models.google_login_request import GoogleLoginRequest
10
+ from ....models.login_response import LoginResponse
11
+ from ....types import UNSET, Response, Unset
12
+
13
+
14
+ def _get_kwargs(
15
+ *,
16
+ body: GoogleLoginRequest,
17
+ referer: str | Unset = UNSET,
18
+ ) -> dict[str, Any]:
19
+ headers: dict[str, Any] = {}
20
+ if not isinstance(referer, Unset):
21
+ headers["Referer"] = referer
22
+
23
+ _kwargs: dict[str, Any] = {
24
+ "method": "post",
25
+ "url": "/v1/auth/google",
26
+ }
27
+
28
+ _kwargs["json"] = body.to_dict()
29
+
30
+ headers["Content-Type"] = "application/json"
31
+
32
+ _kwargs["headers"] = headers
33
+ return _kwargs
34
+
35
+
36
+ def _parse_response(
37
+ *, client: AuthenticatedClient | Client, response: httpx.Response
38
+ ) -> Error | LoginResponse | None:
39
+ if response.status_code == 200:
40
+ response_200 = LoginResponse.from_dict(response.json())
41
+
42
+ return response_200
43
+
44
+ if response.status_code == 400:
45
+ response_400 = Error.from_dict(response.json())
46
+
47
+ return response_400
48
+
49
+ if response.status_code == 409:
50
+ response_409 = Error.from_dict(response.json())
51
+
52
+ return response_409
53
+
54
+ if response.status_code == 429:
55
+ response_429 = Error.from_dict(response.json())
56
+
57
+ return response_429
58
+
59
+ if response.status_code == 500:
60
+ response_500 = Error.from_dict(response.json())
61
+
62
+ return response_500
63
+
64
+ if client.raise_on_unexpected_status:
65
+ raise errors.UnexpectedStatus(response.status_code, response.content)
66
+ else:
67
+ return None
68
+
69
+
70
+ def _build_response(
71
+ *, client: AuthenticatedClient | Client, response: httpx.Response
72
+ ) -> Response[Error | LoginResponse]:
73
+ return Response(
74
+ status_code=HTTPStatus(response.status_code),
75
+ content=response.content,
76
+ headers=response.headers,
77
+ parsed=_parse_response(client=client, response=response),
78
+ )
79
+
80
+
81
+ def sync_detailed(
82
+ *,
83
+ client: AuthenticatedClient | Client,
84
+ body: GoogleLoginRequest,
85
+ referer: str | Unset = UNSET,
86
+ ) -> Response[Error | LoginResponse]:
87
+ """(OAuth) Login with Google
88
+
89
+ Receive the callback from Google OAuth2 and authenticate or register the user properly.
90
+
91
+ Args:
92
+ referer (str | Unset): Example: http://localhost:3000.
93
+ body (GoogleLoginRequest): Google OAuth login request body
94
+
95
+ Raises:
96
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
97
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
98
+
99
+ Returns:
100
+ Response[Error | LoginResponse]
101
+ """
102
+
103
+ kwargs = _get_kwargs(
104
+ body=body,
105
+ referer=referer,
106
+ )
107
+
108
+ response = client.get_httpx_client().request(
109
+ **kwargs,
110
+ )
111
+
112
+ return _build_response(client=client, response=response)
113
+
114
+
115
+ def sync(
116
+ *,
117
+ client: AuthenticatedClient | Client,
118
+ body: GoogleLoginRequest,
119
+ referer: str | Unset = UNSET,
120
+ ) -> Error | LoginResponse | None:
121
+ """(OAuth) Login with Google
122
+
123
+ Receive the callback from Google OAuth2 and authenticate or register the user properly.
124
+
125
+ Args:
126
+ referer (str | Unset): Example: http://localhost:3000.
127
+ body (GoogleLoginRequest): Google OAuth login request body
128
+
129
+ Raises:
130
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
131
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
132
+
133
+ Returns:
134
+ Error | LoginResponse
135
+ """
136
+
137
+ return sync_detailed(
138
+ client=client,
139
+ body=body,
140
+ referer=referer,
141
+ ).parsed
142
+
143
+
144
+ async def asyncio_detailed(
145
+ *,
146
+ client: AuthenticatedClient | Client,
147
+ body: GoogleLoginRequest,
148
+ referer: str | Unset = UNSET,
149
+ ) -> Response[Error | LoginResponse]:
150
+ """(OAuth) Login with Google
151
+
152
+ Receive the callback from Google OAuth2 and authenticate or register the user properly.
153
+
154
+ Args:
155
+ referer (str | Unset): Example: http://localhost:3000.
156
+ body (GoogleLoginRequest): Google OAuth login request body
157
+
158
+ Raises:
159
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
160
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
161
+
162
+ Returns:
163
+ Response[Error | LoginResponse]
164
+ """
165
+
166
+ kwargs = _get_kwargs(
167
+ body=body,
168
+ referer=referer,
169
+ )
170
+
171
+ response = await client.get_async_httpx_client().request(**kwargs)
172
+
173
+ return _build_response(client=client, response=response)
174
+
175
+
176
+ async def asyncio(
177
+ *,
178
+ client: AuthenticatedClient | Client,
179
+ body: GoogleLoginRequest,
180
+ referer: str | Unset = UNSET,
181
+ ) -> Error | LoginResponse | None:
182
+ """(OAuth) Login with Google
183
+
184
+ Receive the callback from Google OAuth2 and authenticate or register the user properly.
185
+
186
+ Args:
187
+ referer (str | Unset): Example: http://localhost:3000.
188
+ body (GoogleLoginRequest): Google OAuth login request body
189
+
190
+ Raises:
191
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
192
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
193
+
194
+ Returns:
195
+ Error | LoginResponse
196
+ """
197
+
198
+ return (
199
+ await asyncio_detailed(
200
+ client=client,
201
+ body=body,
202
+ referer=referer,
203
+ )
204
+ ).parsed
@@ -0,0 +1,212 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+
4
+ import httpx
5
+
6
+ from .... import errors
7
+ from ....client import AuthenticatedClient, Client
8
+ from ....models.error import Error
9
+ from ....models.register_request import RegisterRequest
10
+ from ....models.register_response import RegisterResponse
11
+ from ....types import UNSET, Response, Unset
12
+
13
+
14
+ def _get_kwargs(
15
+ *,
16
+ body: RegisterRequest,
17
+ referer: str | Unset = UNSET,
18
+ ) -> dict[str, Any]:
19
+ headers: dict[str, Any] = {}
20
+ if not isinstance(referer, Unset):
21
+ headers["Referer"] = referer
22
+
23
+ _kwargs: dict[str, Any] = {
24
+ "method": "post",
25
+ "url": "/v1/auth/register",
26
+ }
27
+
28
+ _kwargs["json"] = body.to_dict()
29
+
30
+ headers["Content-Type"] = "application/json"
31
+
32
+ _kwargs["headers"] = headers
33
+ return _kwargs
34
+
35
+
36
+ def _parse_response(
37
+ *, client: AuthenticatedClient | Client, response: httpx.Response
38
+ ) -> Error | RegisterResponse | None:
39
+ if response.status_code == 201:
40
+ response_201 = RegisterResponse.from_dict(response.json())
41
+
42
+ return response_201
43
+
44
+ if response.status_code == 400:
45
+ response_400 = Error.from_dict(response.json())
46
+
47
+ return response_400
48
+
49
+ if response.status_code == 409:
50
+ response_409 = Error.from_dict(response.json())
51
+
52
+ return response_409
53
+
54
+ if response.status_code == 429:
55
+ response_429 = Error.from_dict(response.json())
56
+
57
+ return response_429
58
+
59
+ if response.status_code == 500:
60
+ response_500 = Error.from_dict(response.json())
61
+
62
+ return response_500
63
+
64
+ if client.raise_on_unexpected_status:
65
+ raise errors.UnexpectedStatus(response.status_code, response.content)
66
+ else:
67
+ return None
68
+
69
+
70
+ def _build_response(
71
+ *, client: AuthenticatedClient | Client, response: httpx.Response
72
+ ) -> Response[Error | RegisterResponse]:
73
+ return Response(
74
+ status_code=HTTPStatus(response.status_code),
75
+ content=response.content,
76
+ headers=response.headers,
77
+ parsed=_parse_response(client=client, response=response),
78
+ )
79
+
80
+
81
+ def sync_detailed(
82
+ *,
83
+ client: AuthenticatedClient | Client,
84
+ body: RegisterRequest,
85
+ referer: str | Unset = UNSET,
86
+ ) -> Response[Error | RegisterResponse]:
87
+ """Register a new user with email and password
88
+
89
+ Register a new user account providing an email and password.
90
+
91
+ This endpoint is not offered to public users, just for internal testing purposes.
92
+
93
+ Args:
94
+ referer (str | Unset): Example: http://localhost:3000.
95
+ body (RegisterRequest): Registration request body
96
+
97
+ Raises:
98
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
99
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
100
+
101
+ Returns:
102
+ Response[Error | RegisterResponse]
103
+ """
104
+
105
+ kwargs = _get_kwargs(
106
+ body=body,
107
+ referer=referer,
108
+ )
109
+
110
+ response = client.get_httpx_client().request(
111
+ **kwargs,
112
+ )
113
+
114
+ return _build_response(client=client, response=response)
115
+
116
+
117
+ def sync(
118
+ *,
119
+ client: AuthenticatedClient | Client,
120
+ body: RegisterRequest,
121
+ referer: str | Unset = UNSET,
122
+ ) -> Error | RegisterResponse | None:
123
+ """Register a new user with email and password
124
+
125
+ Register a new user account providing an email and password.
126
+
127
+ This endpoint is not offered to public users, just for internal testing purposes.
128
+
129
+ Args:
130
+ referer (str | Unset): Example: http://localhost:3000.
131
+ body (RegisterRequest): Registration request body
132
+
133
+ Raises:
134
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
135
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
136
+
137
+ Returns:
138
+ Error | RegisterResponse
139
+ """
140
+
141
+ return sync_detailed(
142
+ client=client,
143
+ body=body,
144
+ referer=referer,
145
+ ).parsed
146
+
147
+
148
+ async def asyncio_detailed(
149
+ *,
150
+ client: AuthenticatedClient | Client,
151
+ body: RegisterRequest,
152
+ referer: str | Unset = UNSET,
153
+ ) -> Response[Error | RegisterResponse]:
154
+ """Register a new user with email and password
155
+
156
+ Register a new user account providing an email and password.
157
+
158
+ This endpoint is not offered to public users, just for internal testing purposes.
159
+
160
+ Args:
161
+ referer (str | Unset): Example: http://localhost:3000.
162
+ body (RegisterRequest): Registration request body
163
+
164
+ Raises:
165
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
166
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
167
+
168
+ Returns:
169
+ Response[Error | RegisterResponse]
170
+ """
171
+
172
+ kwargs = _get_kwargs(
173
+ body=body,
174
+ referer=referer,
175
+ )
176
+
177
+ response = await client.get_async_httpx_client().request(**kwargs)
178
+
179
+ return _build_response(client=client, response=response)
180
+
181
+
182
+ async def asyncio(
183
+ *,
184
+ client: AuthenticatedClient | Client,
185
+ body: RegisterRequest,
186
+ referer: str | Unset = UNSET,
187
+ ) -> Error | RegisterResponse | None:
188
+ """Register a new user with email and password
189
+
190
+ Register a new user account providing an email and password.
191
+
192
+ This endpoint is not offered to public users, just for internal testing purposes.
193
+
194
+ Args:
195
+ referer (str | Unset): Example: http://localhost:3000.
196
+ body (RegisterRequest): Registration request body
197
+
198
+ Raises:
199
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
200
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
201
+
202
+ Returns:
203
+ Error | RegisterResponse
204
+ """
205
+
206
+ return (
207
+ await asyncio_detailed(
208
+ client=client,
209
+ body=body,
210
+ referer=referer,
211
+ )
212
+ ).parsed
@@ -0,0 +1,3 @@
1
+ # This module has no public endpoints.
2
+ # Internal endpoints are available in the .internal submodule.
3
+
@@ -0,0 +1,7 @@
1
+ from typing import Any
2
+ import httpx
3
+ from .... import errors
4
+ from ....client import AuthenticatedClient, Client
5
+ from ....types import Response
6
+
7
+ from . import logout
@@ -0,0 +1,151 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+
4
+ import httpx
5
+
6
+ from .... import errors
7
+ from ....client import AuthenticatedClient, Client
8
+ from ....models.error import Error
9
+ from ....models.logout_response import LogoutResponse
10
+ from ....types import Response
11
+
12
+
13
+ def _get_kwargs() -> dict[str, Any]:
14
+ _kwargs: dict[str, Any] = {
15
+ "method": "post",
16
+ "url": "/v1/auth/logout",
17
+ }
18
+
19
+ return _kwargs
20
+
21
+
22
+ def _parse_response(
23
+ *, client: AuthenticatedClient | Client, response: httpx.Response
24
+ ) -> Error | LogoutResponse | None:
25
+ if response.status_code == 200:
26
+ response_200 = LogoutResponse.from_dict(response.json())
27
+
28
+ return response_200
29
+
30
+ if response.status_code == 401:
31
+ response_401 = Error.from_dict(response.json())
32
+
33
+ return response_401
34
+
35
+ if response.status_code == 429:
36
+ response_429 = Error.from_dict(response.json())
37
+
38
+ return response_429
39
+
40
+ if response.status_code == 500:
41
+ response_500 = Error.from_dict(response.json())
42
+
43
+ return response_500
44
+
45
+ if client.raise_on_unexpected_status:
46
+ raise errors.UnexpectedStatus(response.status_code, response.content)
47
+ else:
48
+ return None
49
+
50
+
51
+ def _build_response(
52
+ *, client: AuthenticatedClient | Client, response: httpx.Response
53
+ ) -> Response[Error | LogoutResponse]:
54
+ return Response(
55
+ status_code=HTTPStatus(response.status_code),
56
+ content=response.content,
57
+ headers=response.headers,
58
+ parsed=_parse_response(client=client, response=response),
59
+ )
60
+
61
+
62
+ def sync_detailed(
63
+ *,
64
+ client: AuthenticatedClient,
65
+ ) -> Response[Error | LogoutResponse]:
66
+ """Logout the user
67
+
68
+ Logout the current user and clear the JWT token cookie
69
+
70
+ Raises:
71
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
72
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
73
+
74
+ Returns:
75
+ Response[Error | LogoutResponse]
76
+ """
77
+
78
+ kwargs = _get_kwargs()
79
+
80
+ response = client.get_httpx_client().request(
81
+ **kwargs,
82
+ )
83
+
84
+ return _build_response(client=client, response=response)
85
+
86
+
87
+ def sync(
88
+ *,
89
+ client: AuthenticatedClient,
90
+ ) -> Error | LogoutResponse | None:
91
+ """Logout the user
92
+
93
+ Logout the current user and clear the JWT token cookie
94
+
95
+ Raises:
96
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
97
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
98
+
99
+ Returns:
100
+ Error | LogoutResponse
101
+ """
102
+
103
+ return sync_detailed(
104
+ client=client,
105
+ ).parsed
106
+
107
+
108
+ async def asyncio_detailed(
109
+ *,
110
+ client: AuthenticatedClient,
111
+ ) -> Response[Error | LogoutResponse]:
112
+ """Logout the user
113
+
114
+ Logout the current user and clear the JWT token cookie
115
+
116
+ Raises:
117
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
118
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
119
+
120
+ Returns:
121
+ Response[Error | LogoutResponse]
122
+ """
123
+
124
+ kwargs = _get_kwargs()
125
+
126
+ response = await client.get_async_httpx_client().request(**kwargs)
127
+
128
+ return _build_response(client=client, response=response)
129
+
130
+
131
+ async def asyncio(
132
+ *,
133
+ client: AuthenticatedClient,
134
+ ) -> Error | LogoutResponse | None:
135
+ """Logout the user
136
+
137
+ Logout the current user and clear the JWT token cookie
138
+
139
+ Raises:
140
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
141
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
142
+
143
+ Returns:
144
+ Error | LogoutResponse
145
+ """
146
+
147
+ return (
148
+ await asyncio_detailed(
149
+ client=client,
150
+ )
151
+ ).parsed
@@ -0,0 +1,8 @@
1
+ from typing import Any
2
+ import httpx
3
+ from ... import errors
4
+ from ...client import AuthenticatedClient, Client
5
+ from ...types import Response
6
+
7
+ from . import list_index
8
+ from . import list_show
@@ -0,0 +1,12 @@
1
+ from typing import Any
2
+ import httpx
3
+ from .... import errors
4
+ from ....client import AuthenticatedClient, Client
5
+ from ....types import Response
6
+
7
+ from . import list_add_item
8
+ from . import list_create
9
+ from . import list_destroy
10
+ from . import list_remove_item
11
+ from . import list_update_item
12
+ from . import list_update