victorycode-sdk 1.0.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 (121) hide show
  1. victorycode_sdk/__init__.py +260 -0
  2. victorycode_sdk/api/__init__.py +13 -0
  3. victorycode_sdk/api/authentication_api.py +285 -0
  4. victorycode_sdk/api/classification_api.py +1203 -0
  5. victorycode_sdk/api/game_recap_api.py +1395 -0
  6. victorycode_sdk/api/games_api.py +1497 -0
  7. victorycode_sdk/api/mascot_api.py +1203 -0
  8. victorycode_sdk/api/plays_events_api.py +1057 -0
  9. victorycode_sdk/api/teams_api.py +1220 -0
  10. victorycode_sdk/api/uploads_api.py +872 -0
  11. victorycode_sdk/api/venue_api.py +1203 -0
  12. victorycode_sdk/api_client.py +833 -0
  13. victorycode_sdk/api_response.py +21 -0
  14. victorycode_sdk/configuration.py +698 -0
  15. victorycode_sdk/exceptions.py +218 -0
  16. victorycode_sdk/models/__init__.py +114 -0
  17. victorycode_sdk/models/add_video_to_game_with_s3_link_dto.py +90 -0
  18. victorycode_sdk/models/address.py +96 -0
  19. victorycode_sdk/models/address_dto.py +96 -0
  20. victorycode_sdk/models/bad_request_error_response_dto.py +90 -0
  21. victorycode_sdk/models/classification.py +90 -0
  22. victorycode_sdk/models/client_create_game_with_video_url_dto.py +130 -0
  23. victorycode_sdk/models/complete_multipart_upload_dto.py +97 -0
  24. victorycode_sdk/models/complete_multipart_upload_response.py +90 -0
  25. victorycode_sdk/models/complete_multipart_upload_response_dto.py +94 -0
  26. victorycode_sdk/models/completed_part_dto.py +90 -0
  27. victorycode_sdk/models/conflict_error_response_dto.py +90 -0
  28. victorycode_sdk/models/coordinates.py +90 -0
  29. victorycode_sdk/models/coordinates_dto.py +90 -0
  30. victorycode_sdk/models/create_classification_dto.py +90 -0
  31. victorycode_sdk/models/create_mascot_dto.py +90 -0
  32. victorycode_sdk/models/create_team_dto.py +108 -0
  33. victorycode_sdk/models/create_team_response_dto.py +106 -0
  34. victorycode_sdk/models/create_venue_dto.py +102 -0
  35. victorycode_sdk/models/defense_section_dto.py +101 -0
  36. victorycode_sdk/models/defense_stats_dto.py +106 -0
  37. victorycode_sdk/models/defense_totals_dto.py +100 -0
  38. victorycode_sdk/models/delete_response_dto.py +90 -0
  39. victorycode_sdk/models/down_efficiency_dto.py +90 -0
  40. victorycode_sdk/models/fetch_team_response_dto.py +117 -0
  41. victorycode_sdk/models/fumble_section_dto.py +101 -0
  42. victorycode_sdk/models/fumble_stats_dto.py +98 -0
  43. victorycode_sdk/models/fumble_totals_dto.py +92 -0
  44. victorycode_sdk/models/game_all_play_list_item_dto.py +106 -0
  45. victorycode_sdk/models/game_box_score_meta_dto.py +104 -0
  46. victorycode_sdk/models/game_box_score_response_dto.py +98 -0
  47. victorycode_sdk/models/game_box_score_teams_dto.py +97 -0
  48. victorycode_sdk/models/game_details_response.py +108 -0
  49. victorycode_sdk/models/game_recap_scoring_summary_pro_response.py +101 -0
  50. victorycode_sdk/models/game_recap_scoring_summary_response.py +101 -0
  51. victorycode_sdk/models/game_recap_team_stats_response.py +101 -0
  52. victorycode_sdk/models/game_score_response.py +101 -0
  53. victorycode_sdk/models/game_scoring_summary_data_dto.py +104 -0
  54. victorycode_sdk/models/get_parts_presign_url_response.py +88 -0
  55. victorycode_sdk/models/get_parts_presign_url_response_dto.py +94 -0
  56. victorycode_sdk/models/initiate_multipart_upload_dto.py +92 -0
  57. victorycode_sdk/models/initiate_multipart_upload_response.py +88 -0
  58. victorycode_sdk/models/initiate_multipart_upload_response_dto.py +94 -0
  59. victorycode_sdk/models/interception_section_dto.py +101 -0
  60. victorycode_sdk/models/interception_stats_dto.py +98 -0
  61. victorycode_sdk/models/interception_totals_dto.py +92 -0
  62. victorycode_sdk/models/kicking_section_dto.py +101 -0
  63. victorycode_sdk/models/kicking_stats_dto.py +106 -0
  64. victorycode_sdk/models/kicking_totals_dto.py +100 -0
  65. victorycode_sdk/models/line_of_scrimmage_dto.py +90 -0
  66. victorycode_sdk/models/list_classification_paginated_response_dto.py +101 -0
  67. victorycode_sdk/models/list_game_all_plays_response_dto.py +103 -0
  68. victorycode_sdk/models/list_games_paginated_response_dto.py +101 -0
  69. victorycode_sdk/models/list_mascot_paginated_response_dto.py +101 -0
  70. victorycode_sdk/models/list_play_clips_response_dto.py +105 -0
  71. victorycode_sdk/models/list_team_paginated_response_dto.py +101 -0
  72. victorycode_sdk/models/list_venue_paginated_response_dto.py +101 -0
  73. victorycode_sdk/models/list_video_paginated_response_dto.py +103 -0
  74. victorycode_sdk/models/mascot.py +90 -0
  75. victorycode_sdk/models/mascot_response_dto.py +96 -0
  76. victorycode_sdk/models/not_found_error_response_dto.py +90 -0
  77. victorycode_sdk/models/offense_dto.py +92 -0
  78. victorycode_sdk/models/passing_dto.py +98 -0
  79. victorycode_sdk/models/passing_section_dto.py +101 -0
  80. victorycode_sdk/models/passing_stats_dto.py +117 -0
  81. victorycode_sdk/models/passing_totals_dto.py +111 -0
  82. victorycode_sdk/models/period_score_dto.py +94 -0
  83. victorycode_sdk/models/play_attributes_list_dto.py +106 -0
  84. victorycode_sdk/models/play_clip_list_details_dto.py +104 -0
  85. victorycode_sdk/models/play_clip_list_item_dto.py +104 -0
  86. victorycode_sdk/models/pro_scoring_play_dto.py +202 -0
  87. victorycode_sdk/models/receiving_section_dto.py +101 -0
  88. victorycode_sdk/models/receiving_stats_dto.py +104 -0
  89. victorycode_sdk/models/receiving_totals_dto.py +98 -0
  90. victorycode_sdk/models/red_zone_dto.py +90 -0
  91. victorycode_sdk/models/rushing_dto.py +92 -0
  92. victorycode_sdk/models/rushing_section_dto.py +101 -0
  93. victorycode_sdk/models/rushing_stats_dto.py +102 -0
  94. victorycode_sdk/models/rushing_totals_dto.py +96 -0
  95. victorycode_sdk/models/scoring_play_player_involved_dto.py +106 -0
  96. victorycode_sdk/models/scoring_summary_pro_team_dto.py +90 -0
  97. victorycode_sdk/models/single_classification_response_dto.py +94 -0
  98. victorycode_sdk/models/single_mascot_response_dto.py +94 -0
  99. victorycode_sdk/models/single_team_response_dto.py +94 -0
  100. victorycode_sdk/models/single_venue_response_dto.py +99 -0
  101. victorycode_sdk/models/single_video_response_dto.py +94 -0
  102. victorycode_sdk/models/team_basic_info_dto.py +96 -0
  103. victorycode_sdk/models/team_box_score_dto.py +139 -0
  104. victorycode_sdk/models/team_score_dto.py +109 -0
  105. victorycode_sdk/models/team_stats_dto.py +137 -0
  106. victorycode_sdk/models/token_response.py +92 -0
  107. victorycode_sdk/models/turnovers_dto.py +92 -0
  108. victorycode_sdk/models/unauthorized_error_response_dto.py +90 -0
  109. victorycode_sdk/models/update_classification_dto.py +90 -0
  110. victorycode_sdk/models/update_mascot_dto.py +90 -0
  111. victorycode_sdk/models/update_team_dto.py +108 -0
  112. victorycode_sdk/models/update_venue_dto.py +102 -0
  113. victorycode_sdk/models/venue.py +102 -0
  114. victorycode_sdk/models/video_list_item_dto.py +96 -0
  115. victorycode_sdk/py.typed +0 -0
  116. victorycode_sdk/rest.py +334 -0
  117. victorycode_sdk-1.0.0.dist-info/METADATA +288 -0
  118. victorycode_sdk-1.0.0.dist-info/RECORD +121 -0
  119. victorycode_sdk-1.0.0.dist-info/WHEEL +5 -0
  120. victorycode_sdk-1.0.0.dist-info/licenses/LICENSE +21 -0
  121. victorycode_sdk-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1497 @@
1
+ """
2
+ Victory Code Client API
3
+
4
+ Client APIs for Tactix partners: authenticate, upload game video, and retrieve games, plays, game recaps and team metadata.
5
+
6
+ The version of the OpenAPI document: 1.0
7
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
8
+
9
+ Do not edit the class manually.
10
+ """ # noqa: E501
11
+
12
+
13
+ import warnings
14
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
15
+ from typing import Any, Dict, List, Optional, Tuple, Union
16
+ from typing_extensions import Annotated
17
+
18
+ from pydantic import Field, StrictFloat, StrictInt, StrictStr
19
+ from typing import Optional, Union
20
+ from typing_extensions import Annotated
21
+ from victorycode_sdk.models.add_video_to_game_with_s3_link_dto import AddVideoToGameWithS3LinkDto
22
+ from victorycode_sdk.models.client_create_game_with_video_url_dto import ClientCreateGameWithVideoUrlDto
23
+ from victorycode_sdk.models.game_details_response import GameDetailsResponse
24
+ from victorycode_sdk.models.list_games_paginated_response_dto import ListGamesPaginatedResponseDto
25
+ from victorycode_sdk.models.list_video_paginated_response_dto import ListVideoPaginatedResponseDto
26
+ from victorycode_sdk.models.single_video_response_dto import SingleVideoResponseDto
27
+
28
+ from victorycode_sdk.api_client import ApiClient, RequestSerialized
29
+ from victorycode_sdk.api_response import ApiResponse
30
+ from victorycode_sdk.rest import RESTResponseType
31
+
32
+
33
+ class GamesApi:
34
+ """NOTE: This class is auto generated by OpenAPI Generator
35
+ Ref: https://openapi-generator.tech
36
+
37
+ Do not edit the class manually.
38
+ """
39
+
40
+ def __init__(self, api_client=None) -> None:
41
+ if api_client is None:
42
+ api_client = ApiClient.get_default()
43
+ self.api_client = api_client
44
+
45
+
46
+ @validate_call
47
+ def add_video_to_game(
48
+ self,
49
+ game_id: StrictStr,
50
+ add_video_to_game_with_s3_link_dto: AddVideoToGameWithS3LinkDto,
51
+ _request_timeout: Union[
52
+ None,
53
+ Annotated[StrictFloat, Field(gt=0)],
54
+ Tuple[
55
+ Annotated[StrictFloat, Field(gt=0)],
56
+ Annotated[StrictFloat, Field(gt=0)]
57
+ ]
58
+ ] = None,
59
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
60
+ _content_type: Optional[StrictStr] = None,
61
+ _headers: Optional[Dict[StrictStr, Any]] = None,
62
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
63
+ ) -> SingleVideoResponseDto:
64
+ """Add new video to a game
65
+
66
+ Adds a new video to game.
67
+
68
+ :param game_id: (required)
69
+ :type game_id: str
70
+ :param add_video_to_game_with_s3_link_dto: (required)
71
+ :type add_video_to_game_with_s3_link_dto: AddVideoToGameWithS3LinkDto
72
+ :param _request_timeout: timeout setting for this request. If one
73
+ number provided, it will be total request
74
+ timeout. It can also be a pair (tuple) of
75
+ (connection, read) timeouts.
76
+ :type _request_timeout: int, tuple(int, int), optional
77
+ :param _request_auth: set to override the auth_settings for an a single
78
+ request; this effectively ignores the
79
+ authentication in the spec for a single request.
80
+ :type _request_auth: dict, optional
81
+ :param _content_type: force content-type for the request.
82
+ :type _content_type: str, Optional
83
+ :param _headers: set to override the headers for a single
84
+ request; this effectively ignores the headers
85
+ in the spec for a single request.
86
+ :type _headers: dict, optional
87
+ :param _host_index: set to override the host_index for a single
88
+ request; this effectively ignores the host_index
89
+ in the spec for a single request.
90
+ :type _host_index: int, optional
91
+ :return: Returns the result object.
92
+ """ # noqa: E501
93
+
94
+ _param = self._add_video_to_game_serialize(
95
+ game_id=game_id,
96
+ add_video_to_game_with_s3_link_dto=add_video_to_game_with_s3_link_dto,
97
+ _request_auth=_request_auth,
98
+ _content_type=_content_type,
99
+ _headers=_headers,
100
+ _host_index=_host_index
101
+ )
102
+
103
+ _response_types_map: Dict[str, Optional[str]] = {
104
+ '201': "SingleVideoResponseDto",
105
+ '400': "BadRequestErrorResponseDto",
106
+ '404': "NotFoundErrorResponseDto",
107
+ }
108
+ response_data = self.api_client.call_api(
109
+ *_param,
110
+ _request_timeout=_request_timeout
111
+ )
112
+ response_data.read()
113
+ return self.api_client.response_deserialize(
114
+ response_data=response_data,
115
+ response_types_map=_response_types_map,
116
+ ).data
117
+
118
+
119
+ @validate_call
120
+ def add_video_to_game_with_http_info(
121
+ self,
122
+ game_id: StrictStr,
123
+ add_video_to_game_with_s3_link_dto: AddVideoToGameWithS3LinkDto,
124
+ _request_timeout: Union[
125
+ None,
126
+ Annotated[StrictFloat, Field(gt=0)],
127
+ Tuple[
128
+ Annotated[StrictFloat, Field(gt=0)],
129
+ Annotated[StrictFloat, Field(gt=0)]
130
+ ]
131
+ ] = None,
132
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
133
+ _content_type: Optional[StrictStr] = None,
134
+ _headers: Optional[Dict[StrictStr, Any]] = None,
135
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
136
+ ) -> ApiResponse[SingleVideoResponseDto]:
137
+ """Add new video to a game
138
+
139
+ Adds a new video to game.
140
+
141
+ :param game_id: (required)
142
+ :type game_id: str
143
+ :param add_video_to_game_with_s3_link_dto: (required)
144
+ :type add_video_to_game_with_s3_link_dto: AddVideoToGameWithS3LinkDto
145
+ :param _request_timeout: timeout setting for this request. If one
146
+ number provided, it will be total request
147
+ timeout. It can also be a pair (tuple) of
148
+ (connection, read) timeouts.
149
+ :type _request_timeout: int, tuple(int, int), optional
150
+ :param _request_auth: set to override the auth_settings for an a single
151
+ request; this effectively ignores the
152
+ authentication in the spec for a single request.
153
+ :type _request_auth: dict, optional
154
+ :param _content_type: force content-type for the request.
155
+ :type _content_type: str, Optional
156
+ :param _headers: set to override the headers for a single
157
+ request; this effectively ignores the headers
158
+ in the spec for a single request.
159
+ :type _headers: dict, optional
160
+ :param _host_index: set to override the host_index for a single
161
+ request; this effectively ignores the host_index
162
+ in the spec for a single request.
163
+ :type _host_index: int, optional
164
+ :return: Returns the result object.
165
+ """ # noqa: E501
166
+
167
+ _param = self._add_video_to_game_serialize(
168
+ game_id=game_id,
169
+ add_video_to_game_with_s3_link_dto=add_video_to_game_with_s3_link_dto,
170
+ _request_auth=_request_auth,
171
+ _content_type=_content_type,
172
+ _headers=_headers,
173
+ _host_index=_host_index
174
+ )
175
+
176
+ _response_types_map: Dict[str, Optional[str]] = {
177
+ '201': "SingleVideoResponseDto",
178
+ '400': "BadRequestErrorResponseDto",
179
+ '404': "NotFoundErrorResponseDto",
180
+ }
181
+ response_data = self.api_client.call_api(
182
+ *_param,
183
+ _request_timeout=_request_timeout
184
+ )
185
+ response_data.read()
186
+ return self.api_client.response_deserialize(
187
+ response_data=response_data,
188
+ response_types_map=_response_types_map,
189
+ )
190
+
191
+
192
+ @validate_call
193
+ def add_video_to_game_without_preload_content(
194
+ self,
195
+ game_id: StrictStr,
196
+ add_video_to_game_with_s3_link_dto: AddVideoToGameWithS3LinkDto,
197
+ _request_timeout: Union[
198
+ None,
199
+ Annotated[StrictFloat, Field(gt=0)],
200
+ Tuple[
201
+ Annotated[StrictFloat, Field(gt=0)],
202
+ Annotated[StrictFloat, Field(gt=0)]
203
+ ]
204
+ ] = None,
205
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
206
+ _content_type: Optional[StrictStr] = None,
207
+ _headers: Optional[Dict[StrictStr, Any]] = None,
208
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
209
+ ) -> RESTResponseType:
210
+ """Add new video to a game
211
+
212
+ Adds a new video to game.
213
+
214
+ :param game_id: (required)
215
+ :type game_id: str
216
+ :param add_video_to_game_with_s3_link_dto: (required)
217
+ :type add_video_to_game_with_s3_link_dto: AddVideoToGameWithS3LinkDto
218
+ :param _request_timeout: timeout setting for this request. If one
219
+ number provided, it will be total request
220
+ timeout. It can also be a pair (tuple) of
221
+ (connection, read) timeouts.
222
+ :type _request_timeout: int, tuple(int, int), optional
223
+ :param _request_auth: set to override the auth_settings for an a single
224
+ request; this effectively ignores the
225
+ authentication in the spec for a single request.
226
+ :type _request_auth: dict, optional
227
+ :param _content_type: force content-type for the request.
228
+ :type _content_type: str, Optional
229
+ :param _headers: set to override the headers for a single
230
+ request; this effectively ignores the headers
231
+ in the spec for a single request.
232
+ :type _headers: dict, optional
233
+ :param _host_index: set to override the host_index for a single
234
+ request; this effectively ignores the host_index
235
+ in the spec for a single request.
236
+ :type _host_index: int, optional
237
+ :return: Returns the result object.
238
+ """ # noqa: E501
239
+
240
+ _param = self._add_video_to_game_serialize(
241
+ game_id=game_id,
242
+ add_video_to_game_with_s3_link_dto=add_video_to_game_with_s3_link_dto,
243
+ _request_auth=_request_auth,
244
+ _content_type=_content_type,
245
+ _headers=_headers,
246
+ _host_index=_host_index
247
+ )
248
+
249
+ _response_types_map: Dict[str, Optional[str]] = {
250
+ '201': "SingleVideoResponseDto",
251
+ '400': "BadRequestErrorResponseDto",
252
+ '404': "NotFoundErrorResponseDto",
253
+ }
254
+ response_data = self.api_client.call_api(
255
+ *_param,
256
+ _request_timeout=_request_timeout
257
+ )
258
+ return response_data.response
259
+
260
+
261
+ def _add_video_to_game_serialize(
262
+ self,
263
+ game_id,
264
+ add_video_to_game_with_s3_link_dto,
265
+ _request_auth,
266
+ _content_type,
267
+ _headers,
268
+ _host_index,
269
+ ) -> RequestSerialized:
270
+
271
+ _host = None
272
+
273
+ _collection_formats: Dict[str, str] = {
274
+ }
275
+
276
+ _path_params: Dict[str, str] = {}
277
+ _query_params: List[Tuple[str, str]] = []
278
+ _header_params: Dict[str, Optional[str]] = _headers or {}
279
+ _form_params: List[Tuple[str, str]] = []
280
+ _files: Dict[
281
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
282
+ ] = {}
283
+ _body_params: Optional[bytes] = None
284
+
285
+ # process the path parameters
286
+ if game_id is not None:
287
+ _path_params['gameId'] = game_id
288
+ # process the query parameters
289
+ # process the header parameters
290
+ # process the form parameters
291
+ # process the body parameter
292
+ if add_video_to_game_with_s3_link_dto is not None:
293
+ _body_params = add_video_to_game_with_s3_link_dto
294
+
295
+
296
+ # set the HTTP header `Accept`
297
+ if 'Accept' not in _header_params:
298
+ _header_params['Accept'] = self.api_client.select_header_accept(
299
+ [
300
+ 'application/json'
301
+ ]
302
+ )
303
+
304
+ # set the HTTP header `Content-Type`
305
+ if _content_type:
306
+ _header_params['Content-Type'] = _content_type
307
+ else:
308
+ _default_content_type = (
309
+ self.api_client.select_header_content_type(
310
+ [
311
+ 'application/json'
312
+ ]
313
+ )
314
+ )
315
+ if _default_content_type is not None:
316
+ _header_params['Content-Type'] = _default_content_type
317
+
318
+ # authentication setting
319
+ _auth_settings: List[str] = [
320
+ 'Client-App-Token',
321
+ 'Client-App-Id'
322
+ ]
323
+
324
+ return self.api_client.param_serialize(
325
+ method='POST',
326
+ resource_path='/api/v1/client/games/{gameId}/video',
327
+ path_params=_path_params,
328
+ query_params=_query_params,
329
+ header_params=_header_params,
330
+ body=_body_params,
331
+ post_params=_form_params,
332
+ files=_files,
333
+ auth_settings=_auth_settings,
334
+ collection_formats=_collection_formats,
335
+ _host=_host,
336
+ _request_auth=_request_auth
337
+ )
338
+
339
+
340
+
341
+
342
+ @validate_call
343
+ def create_game_with_video_url(
344
+ self,
345
+ client_create_game_with_video_url_dto: ClientCreateGameWithVideoUrlDto,
346
+ _request_timeout: Union[
347
+ None,
348
+ Annotated[StrictFloat, Field(gt=0)],
349
+ Tuple[
350
+ Annotated[StrictFloat, Field(gt=0)],
351
+ Annotated[StrictFloat, Field(gt=0)]
352
+ ]
353
+ ] = None,
354
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
355
+ _content_type: Optional[StrictStr] = None,
356
+ _headers: Optional[Dict[StrictStr, Any]] = None,
357
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
358
+ ) -> GameDetailsResponse:
359
+ """Create a new Game with Video URL
360
+
361
+ Registers a new game and associates a video URL (e.g., from a third-party source) with it in a single step.
362
+
363
+ :param client_create_game_with_video_url_dto: (required)
364
+ :type client_create_game_with_video_url_dto: ClientCreateGameWithVideoUrlDto
365
+ :param _request_timeout: timeout setting for this request. If one
366
+ number provided, it will be total request
367
+ timeout. It can also be a pair (tuple) of
368
+ (connection, read) timeouts.
369
+ :type _request_timeout: int, tuple(int, int), optional
370
+ :param _request_auth: set to override the auth_settings for an a single
371
+ request; this effectively ignores the
372
+ authentication in the spec for a single request.
373
+ :type _request_auth: dict, optional
374
+ :param _content_type: force content-type for the request.
375
+ :type _content_type: str, Optional
376
+ :param _headers: set to override the headers for a single
377
+ request; this effectively ignores the headers
378
+ in the spec for a single request.
379
+ :type _headers: dict, optional
380
+ :param _host_index: set to override the host_index for a single
381
+ request; this effectively ignores the host_index
382
+ in the spec for a single request.
383
+ :type _host_index: int, optional
384
+ :return: Returns the result object.
385
+ """ # noqa: E501
386
+
387
+ _param = self._create_game_with_video_url_serialize(
388
+ client_create_game_with_video_url_dto=client_create_game_with_video_url_dto,
389
+ _request_auth=_request_auth,
390
+ _content_type=_content_type,
391
+ _headers=_headers,
392
+ _host_index=_host_index
393
+ )
394
+
395
+ _response_types_map: Dict[str, Optional[str]] = {
396
+ '201': "GameDetailsResponse",
397
+ '400': "BadRequestErrorResponseDto",
398
+ '409': "ConflictErrorResponseDto",
399
+ }
400
+ response_data = self.api_client.call_api(
401
+ *_param,
402
+ _request_timeout=_request_timeout
403
+ )
404
+ response_data.read()
405
+ return self.api_client.response_deserialize(
406
+ response_data=response_data,
407
+ response_types_map=_response_types_map,
408
+ ).data
409
+
410
+
411
+ @validate_call
412
+ def create_game_with_video_url_with_http_info(
413
+ self,
414
+ client_create_game_with_video_url_dto: ClientCreateGameWithVideoUrlDto,
415
+ _request_timeout: Union[
416
+ None,
417
+ Annotated[StrictFloat, Field(gt=0)],
418
+ Tuple[
419
+ Annotated[StrictFloat, Field(gt=0)],
420
+ Annotated[StrictFloat, Field(gt=0)]
421
+ ]
422
+ ] = None,
423
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
424
+ _content_type: Optional[StrictStr] = None,
425
+ _headers: Optional[Dict[StrictStr, Any]] = None,
426
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
427
+ ) -> ApiResponse[GameDetailsResponse]:
428
+ """Create a new Game with Video URL
429
+
430
+ Registers a new game and associates a video URL (e.g., from a third-party source) with it in a single step.
431
+
432
+ :param client_create_game_with_video_url_dto: (required)
433
+ :type client_create_game_with_video_url_dto: ClientCreateGameWithVideoUrlDto
434
+ :param _request_timeout: timeout setting for this request. If one
435
+ number provided, it will be total request
436
+ timeout. It can also be a pair (tuple) of
437
+ (connection, read) timeouts.
438
+ :type _request_timeout: int, tuple(int, int), optional
439
+ :param _request_auth: set to override the auth_settings for an a single
440
+ request; this effectively ignores the
441
+ authentication in the spec for a single request.
442
+ :type _request_auth: dict, optional
443
+ :param _content_type: force content-type for the request.
444
+ :type _content_type: str, Optional
445
+ :param _headers: set to override the headers for a single
446
+ request; this effectively ignores the headers
447
+ in the spec for a single request.
448
+ :type _headers: dict, optional
449
+ :param _host_index: set to override the host_index for a single
450
+ request; this effectively ignores the host_index
451
+ in the spec for a single request.
452
+ :type _host_index: int, optional
453
+ :return: Returns the result object.
454
+ """ # noqa: E501
455
+
456
+ _param = self._create_game_with_video_url_serialize(
457
+ client_create_game_with_video_url_dto=client_create_game_with_video_url_dto,
458
+ _request_auth=_request_auth,
459
+ _content_type=_content_type,
460
+ _headers=_headers,
461
+ _host_index=_host_index
462
+ )
463
+
464
+ _response_types_map: Dict[str, Optional[str]] = {
465
+ '201': "GameDetailsResponse",
466
+ '400': "BadRequestErrorResponseDto",
467
+ '409': "ConflictErrorResponseDto",
468
+ }
469
+ response_data = self.api_client.call_api(
470
+ *_param,
471
+ _request_timeout=_request_timeout
472
+ )
473
+ response_data.read()
474
+ return self.api_client.response_deserialize(
475
+ response_data=response_data,
476
+ response_types_map=_response_types_map,
477
+ )
478
+
479
+
480
+ @validate_call
481
+ def create_game_with_video_url_without_preload_content(
482
+ self,
483
+ client_create_game_with_video_url_dto: ClientCreateGameWithVideoUrlDto,
484
+ _request_timeout: Union[
485
+ None,
486
+ Annotated[StrictFloat, Field(gt=0)],
487
+ Tuple[
488
+ Annotated[StrictFloat, Field(gt=0)],
489
+ Annotated[StrictFloat, Field(gt=0)]
490
+ ]
491
+ ] = None,
492
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
493
+ _content_type: Optional[StrictStr] = None,
494
+ _headers: Optional[Dict[StrictStr, Any]] = None,
495
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
496
+ ) -> RESTResponseType:
497
+ """Create a new Game with Video URL
498
+
499
+ Registers a new game and associates a video URL (e.g., from a third-party source) with it in a single step.
500
+
501
+ :param client_create_game_with_video_url_dto: (required)
502
+ :type client_create_game_with_video_url_dto: ClientCreateGameWithVideoUrlDto
503
+ :param _request_timeout: timeout setting for this request. If one
504
+ number provided, it will be total request
505
+ timeout. It can also be a pair (tuple) of
506
+ (connection, read) timeouts.
507
+ :type _request_timeout: int, tuple(int, int), optional
508
+ :param _request_auth: set to override the auth_settings for an a single
509
+ request; this effectively ignores the
510
+ authentication in the spec for a single request.
511
+ :type _request_auth: dict, optional
512
+ :param _content_type: force content-type for the request.
513
+ :type _content_type: str, Optional
514
+ :param _headers: set to override the headers for a single
515
+ request; this effectively ignores the headers
516
+ in the spec for a single request.
517
+ :type _headers: dict, optional
518
+ :param _host_index: set to override the host_index for a single
519
+ request; this effectively ignores the host_index
520
+ in the spec for a single request.
521
+ :type _host_index: int, optional
522
+ :return: Returns the result object.
523
+ """ # noqa: E501
524
+
525
+ _param = self._create_game_with_video_url_serialize(
526
+ client_create_game_with_video_url_dto=client_create_game_with_video_url_dto,
527
+ _request_auth=_request_auth,
528
+ _content_type=_content_type,
529
+ _headers=_headers,
530
+ _host_index=_host_index
531
+ )
532
+
533
+ _response_types_map: Dict[str, Optional[str]] = {
534
+ '201': "GameDetailsResponse",
535
+ '400': "BadRequestErrorResponseDto",
536
+ '409': "ConflictErrorResponseDto",
537
+ }
538
+ response_data = self.api_client.call_api(
539
+ *_param,
540
+ _request_timeout=_request_timeout
541
+ )
542
+ return response_data.response
543
+
544
+
545
+ def _create_game_with_video_url_serialize(
546
+ self,
547
+ client_create_game_with_video_url_dto,
548
+ _request_auth,
549
+ _content_type,
550
+ _headers,
551
+ _host_index,
552
+ ) -> RequestSerialized:
553
+
554
+ _host = None
555
+
556
+ _collection_formats: Dict[str, str] = {
557
+ }
558
+
559
+ _path_params: Dict[str, str] = {}
560
+ _query_params: List[Tuple[str, str]] = []
561
+ _header_params: Dict[str, Optional[str]] = _headers or {}
562
+ _form_params: List[Tuple[str, str]] = []
563
+ _files: Dict[
564
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
565
+ ] = {}
566
+ _body_params: Optional[bytes] = None
567
+
568
+ # process the path parameters
569
+ # process the query parameters
570
+ # process the header parameters
571
+ # process the form parameters
572
+ # process the body parameter
573
+ if client_create_game_with_video_url_dto is not None:
574
+ _body_params = client_create_game_with_video_url_dto
575
+
576
+
577
+ # set the HTTP header `Accept`
578
+ if 'Accept' not in _header_params:
579
+ _header_params['Accept'] = self.api_client.select_header_accept(
580
+ [
581
+ 'application/json'
582
+ ]
583
+ )
584
+
585
+ # set the HTTP header `Content-Type`
586
+ if _content_type:
587
+ _header_params['Content-Type'] = _content_type
588
+ else:
589
+ _default_content_type = (
590
+ self.api_client.select_header_content_type(
591
+ [
592
+ 'application/json'
593
+ ]
594
+ )
595
+ )
596
+ if _default_content_type is not None:
597
+ _header_params['Content-Type'] = _default_content_type
598
+
599
+ # authentication setting
600
+ _auth_settings: List[str] = [
601
+ 'Client-App-Token',
602
+ 'Client-App-Id'
603
+ ]
604
+
605
+ return self.api_client.param_serialize(
606
+ method='POST',
607
+ resource_path='/api/v1/client/games',
608
+ path_params=_path_params,
609
+ query_params=_query_params,
610
+ header_params=_header_params,
611
+ body=_body_params,
612
+ post_params=_form_params,
613
+ files=_files,
614
+ auth_settings=_auth_settings,
615
+ collection_formats=_collection_formats,
616
+ _host=_host,
617
+ _request_auth=_request_auth
618
+ )
619
+
620
+
621
+
622
+
623
+ @validate_call
624
+ def get_game_details(
625
+ self,
626
+ game_id: StrictStr,
627
+ _request_timeout: Union[
628
+ None,
629
+ Annotated[StrictFloat, Field(gt=0)],
630
+ Tuple[
631
+ Annotated[StrictFloat, Field(gt=0)],
632
+ Annotated[StrictFloat, Field(gt=0)]
633
+ ]
634
+ ] = None,
635
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
636
+ _content_type: Optional[StrictStr] = None,
637
+ _headers: Optional[Dict[StrictStr, Any]] = None,
638
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
639
+ ) -> GameDetailsResponse:
640
+ """Get a Single Game.
641
+
642
+ Retrieves the core metadata for a single game, including date, time, location, and teams who participated.
643
+
644
+ :param game_id: (required)
645
+ :type game_id: str
646
+ :param _request_timeout: timeout setting for this request. If one
647
+ number provided, it will be total request
648
+ timeout. It can also be a pair (tuple) of
649
+ (connection, read) timeouts.
650
+ :type _request_timeout: int, tuple(int, int), optional
651
+ :param _request_auth: set to override the auth_settings for an a single
652
+ request; this effectively ignores the
653
+ authentication in the spec for a single request.
654
+ :type _request_auth: dict, optional
655
+ :param _content_type: force content-type for the request.
656
+ :type _content_type: str, Optional
657
+ :param _headers: set to override the headers for a single
658
+ request; this effectively ignores the headers
659
+ in the spec for a single request.
660
+ :type _headers: dict, optional
661
+ :param _host_index: set to override the host_index for a single
662
+ request; this effectively ignores the host_index
663
+ in the spec for a single request.
664
+ :type _host_index: int, optional
665
+ :return: Returns the result object.
666
+ """ # noqa: E501
667
+
668
+ _param = self._get_game_details_serialize(
669
+ game_id=game_id,
670
+ _request_auth=_request_auth,
671
+ _content_type=_content_type,
672
+ _headers=_headers,
673
+ _host_index=_host_index
674
+ )
675
+
676
+ _response_types_map: Dict[str, Optional[str]] = {
677
+ '200': "GameDetailsResponse",
678
+ '401': "UnauthorizedErrorResponseDto",
679
+ '404': "NotFoundErrorResponseDto",
680
+ }
681
+ response_data = self.api_client.call_api(
682
+ *_param,
683
+ _request_timeout=_request_timeout
684
+ )
685
+ response_data.read()
686
+ return self.api_client.response_deserialize(
687
+ response_data=response_data,
688
+ response_types_map=_response_types_map,
689
+ ).data
690
+
691
+
692
+ @validate_call
693
+ def get_game_details_with_http_info(
694
+ self,
695
+ game_id: StrictStr,
696
+ _request_timeout: Union[
697
+ None,
698
+ Annotated[StrictFloat, Field(gt=0)],
699
+ Tuple[
700
+ Annotated[StrictFloat, Field(gt=0)],
701
+ Annotated[StrictFloat, Field(gt=0)]
702
+ ]
703
+ ] = None,
704
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
705
+ _content_type: Optional[StrictStr] = None,
706
+ _headers: Optional[Dict[StrictStr, Any]] = None,
707
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
708
+ ) -> ApiResponse[GameDetailsResponse]:
709
+ """Get a Single Game.
710
+
711
+ Retrieves the core metadata for a single game, including date, time, location, and teams who participated.
712
+
713
+ :param game_id: (required)
714
+ :type game_id: str
715
+ :param _request_timeout: timeout setting for this request. If one
716
+ number provided, it will be total request
717
+ timeout. It can also be a pair (tuple) of
718
+ (connection, read) timeouts.
719
+ :type _request_timeout: int, tuple(int, int), optional
720
+ :param _request_auth: set to override the auth_settings for an a single
721
+ request; this effectively ignores the
722
+ authentication in the spec for a single request.
723
+ :type _request_auth: dict, optional
724
+ :param _content_type: force content-type for the request.
725
+ :type _content_type: str, Optional
726
+ :param _headers: set to override the headers for a single
727
+ request; this effectively ignores the headers
728
+ in the spec for a single request.
729
+ :type _headers: dict, optional
730
+ :param _host_index: set to override the host_index for a single
731
+ request; this effectively ignores the host_index
732
+ in the spec for a single request.
733
+ :type _host_index: int, optional
734
+ :return: Returns the result object.
735
+ """ # noqa: E501
736
+
737
+ _param = self._get_game_details_serialize(
738
+ game_id=game_id,
739
+ _request_auth=_request_auth,
740
+ _content_type=_content_type,
741
+ _headers=_headers,
742
+ _host_index=_host_index
743
+ )
744
+
745
+ _response_types_map: Dict[str, Optional[str]] = {
746
+ '200': "GameDetailsResponse",
747
+ '401': "UnauthorizedErrorResponseDto",
748
+ '404': "NotFoundErrorResponseDto",
749
+ }
750
+ response_data = self.api_client.call_api(
751
+ *_param,
752
+ _request_timeout=_request_timeout
753
+ )
754
+ response_data.read()
755
+ return self.api_client.response_deserialize(
756
+ response_data=response_data,
757
+ response_types_map=_response_types_map,
758
+ )
759
+
760
+
761
+ @validate_call
762
+ def get_game_details_without_preload_content(
763
+ self,
764
+ game_id: StrictStr,
765
+ _request_timeout: Union[
766
+ None,
767
+ Annotated[StrictFloat, Field(gt=0)],
768
+ Tuple[
769
+ Annotated[StrictFloat, Field(gt=0)],
770
+ Annotated[StrictFloat, Field(gt=0)]
771
+ ]
772
+ ] = None,
773
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
774
+ _content_type: Optional[StrictStr] = None,
775
+ _headers: Optional[Dict[StrictStr, Any]] = None,
776
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
777
+ ) -> RESTResponseType:
778
+ """Get a Single Game.
779
+
780
+ Retrieves the core metadata for a single game, including date, time, location, and teams who participated.
781
+
782
+ :param game_id: (required)
783
+ :type game_id: str
784
+ :param _request_timeout: timeout setting for this request. If one
785
+ number provided, it will be total request
786
+ timeout. It can also be a pair (tuple) of
787
+ (connection, read) timeouts.
788
+ :type _request_timeout: int, tuple(int, int), optional
789
+ :param _request_auth: set to override the auth_settings for an a single
790
+ request; this effectively ignores the
791
+ authentication in the spec for a single request.
792
+ :type _request_auth: dict, optional
793
+ :param _content_type: force content-type for the request.
794
+ :type _content_type: str, Optional
795
+ :param _headers: set to override the headers for a single
796
+ request; this effectively ignores the headers
797
+ in the spec for a single request.
798
+ :type _headers: dict, optional
799
+ :param _host_index: set to override the host_index for a single
800
+ request; this effectively ignores the host_index
801
+ in the spec for a single request.
802
+ :type _host_index: int, optional
803
+ :return: Returns the result object.
804
+ """ # noqa: E501
805
+
806
+ _param = self._get_game_details_serialize(
807
+ game_id=game_id,
808
+ _request_auth=_request_auth,
809
+ _content_type=_content_type,
810
+ _headers=_headers,
811
+ _host_index=_host_index
812
+ )
813
+
814
+ _response_types_map: Dict[str, Optional[str]] = {
815
+ '200': "GameDetailsResponse",
816
+ '401': "UnauthorizedErrorResponseDto",
817
+ '404': "NotFoundErrorResponseDto",
818
+ }
819
+ response_data = self.api_client.call_api(
820
+ *_param,
821
+ _request_timeout=_request_timeout
822
+ )
823
+ return response_data.response
824
+
825
+
826
+ def _get_game_details_serialize(
827
+ self,
828
+ game_id,
829
+ _request_auth,
830
+ _content_type,
831
+ _headers,
832
+ _host_index,
833
+ ) -> RequestSerialized:
834
+
835
+ _host = None
836
+
837
+ _collection_formats: Dict[str, str] = {
838
+ }
839
+
840
+ _path_params: Dict[str, str] = {}
841
+ _query_params: List[Tuple[str, str]] = []
842
+ _header_params: Dict[str, Optional[str]] = _headers or {}
843
+ _form_params: List[Tuple[str, str]] = []
844
+ _files: Dict[
845
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
846
+ ] = {}
847
+ _body_params: Optional[bytes] = None
848
+
849
+ # process the path parameters
850
+ if game_id is not None:
851
+ _path_params['gameId'] = game_id
852
+ # process the query parameters
853
+ # process the header parameters
854
+ # process the form parameters
855
+ # process the body parameter
856
+
857
+
858
+ # set the HTTP header `Accept`
859
+ if 'Accept' not in _header_params:
860
+ _header_params['Accept'] = self.api_client.select_header_accept(
861
+ [
862
+ 'application/json'
863
+ ]
864
+ )
865
+
866
+
867
+ # authentication setting
868
+ _auth_settings: List[str] = [
869
+ 'Client-App-Token',
870
+ 'Client-App-Id'
871
+ ]
872
+
873
+ return self.api_client.param_serialize(
874
+ method='GET',
875
+ resource_path='/api/v1/client/games/{gameId}',
876
+ path_params=_path_params,
877
+ query_params=_query_params,
878
+ header_params=_header_params,
879
+ body=_body_params,
880
+ post_params=_form_params,
881
+ files=_files,
882
+ auth_settings=_auth_settings,
883
+ collection_formats=_collection_formats,
884
+ _host=_host,
885
+ _request_auth=_request_auth
886
+ )
887
+
888
+
889
+
890
+
891
+ @validate_call
892
+ def get_games(
893
+ self,
894
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
895
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
896
+ search: Optional[StrictStr] = None,
897
+ _request_timeout: Union[
898
+ None,
899
+ Annotated[StrictFloat, Field(gt=0)],
900
+ Tuple[
901
+ Annotated[StrictFloat, Field(gt=0)],
902
+ Annotated[StrictFloat, Field(gt=0)]
903
+ ]
904
+ ] = None,
905
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
906
+ _content_type: Optional[StrictStr] = None,
907
+ _headers: Optional[Dict[StrictStr, Any]] = None,
908
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
909
+ ) -> ListGamesPaginatedResponseDto:
910
+ """List and Filter Games.
911
+
912
+ Retrieves a paginated list of games, with optional filters for team, upload status, and date-time range.
913
+
914
+ :param limit: The number of results to return per page.
915
+ :type limit: float
916
+ :param offset: The number of results to skip for pagination.
917
+ :type offset: float
918
+ :param search:
919
+ :type search: str
920
+ :param _request_timeout: timeout setting for this request. If one
921
+ number provided, it will be total request
922
+ timeout. It can also be a pair (tuple) of
923
+ (connection, read) timeouts.
924
+ :type _request_timeout: int, tuple(int, int), optional
925
+ :param _request_auth: set to override the auth_settings for an a single
926
+ request; this effectively ignores the
927
+ authentication in the spec for a single request.
928
+ :type _request_auth: dict, optional
929
+ :param _content_type: force content-type for the request.
930
+ :type _content_type: str, Optional
931
+ :param _headers: set to override the headers for a single
932
+ request; this effectively ignores the headers
933
+ in the spec for a single request.
934
+ :type _headers: dict, optional
935
+ :param _host_index: set to override the host_index for a single
936
+ request; this effectively ignores the host_index
937
+ in the spec for a single request.
938
+ :type _host_index: int, optional
939
+ :return: Returns the result object.
940
+ """ # noqa: E501
941
+
942
+ _param = self._get_games_serialize(
943
+ limit=limit,
944
+ offset=offset,
945
+ search=search,
946
+ _request_auth=_request_auth,
947
+ _content_type=_content_type,
948
+ _headers=_headers,
949
+ _host_index=_host_index
950
+ )
951
+
952
+ _response_types_map: Dict[str, Optional[str]] = {
953
+ '200': "ListGamesPaginatedResponseDto",
954
+ '400': "BadRequestErrorResponseDto",
955
+ '401': "UnauthorizedErrorResponseDto",
956
+ }
957
+ response_data = self.api_client.call_api(
958
+ *_param,
959
+ _request_timeout=_request_timeout
960
+ )
961
+ response_data.read()
962
+ return self.api_client.response_deserialize(
963
+ response_data=response_data,
964
+ response_types_map=_response_types_map,
965
+ ).data
966
+
967
+
968
+ @validate_call
969
+ def get_games_with_http_info(
970
+ self,
971
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
972
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
973
+ search: Optional[StrictStr] = None,
974
+ _request_timeout: Union[
975
+ None,
976
+ Annotated[StrictFloat, Field(gt=0)],
977
+ Tuple[
978
+ Annotated[StrictFloat, Field(gt=0)],
979
+ Annotated[StrictFloat, Field(gt=0)]
980
+ ]
981
+ ] = None,
982
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
983
+ _content_type: Optional[StrictStr] = None,
984
+ _headers: Optional[Dict[StrictStr, Any]] = None,
985
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
986
+ ) -> ApiResponse[ListGamesPaginatedResponseDto]:
987
+ """List and Filter Games.
988
+
989
+ Retrieves a paginated list of games, with optional filters for team, upload status, and date-time range.
990
+
991
+ :param limit: The number of results to return per page.
992
+ :type limit: float
993
+ :param offset: The number of results to skip for pagination.
994
+ :type offset: float
995
+ :param search:
996
+ :type search: str
997
+ :param _request_timeout: timeout setting for this request. If one
998
+ number provided, it will be total request
999
+ timeout. It can also be a pair (tuple) of
1000
+ (connection, read) timeouts.
1001
+ :type _request_timeout: int, tuple(int, int), optional
1002
+ :param _request_auth: set to override the auth_settings for an a single
1003
+ request; this effectively ignores the
1004
+ authentication in the spec for a single request.
1005
+ :type _request_auth: dict, optional
1006
+ :param _content_type: force content-type for the request.
1007
+ :type _content_type: str, Optional
1008
+ :param _headers: set to override the headers for a single
1009
+ request; this effectively ignores the headers
1010
+ in the spec for a single request.
1011
+ :type _headers: dict, optional
1012
+ :param _host_index: set to override the host_index for a single
1013
+ request; this effectively ignores the host_index
1014
+ in the spec for a single request.
1015
+ :type _host_index: int, optional
1016
+ :return: Returns the result object.
1017
+ """ # noqa: E501
1018
+
1019
+ _param = self._get_games_serialize(
1020
+ limit=limit,
1021
+ offset=offset,
1022
+ search=search,
1023
+ _request_auth=_request_auth,
1024
+ _content_type=_content_type,
1025
+ _headers=_headers,
1026
+ _host_index=_host_index
1027
+ )
1028
+
1029
+ _response_types_map: Dict[str, Optional[str]] = {
1030
+ '200': "ListGamesPaginatedResponseDto",
1031
+ '400': "BadRequestErrorResponseDto",
1032
+ '401': "UnauthorizedErrorResponseDto",
1033
+ }
1034
+ response_data = self.api_client.call_api(
1035
+ *_param,
1036
+ _request_timeout=_request_timeout
1037
+ )
1038
+ response_data.read()
1039
+ return self.api_client.response_deserialize(
1040
+ response_data=response_data,
1041
+ response_types_map=_response_types_map,
1042
+ )
1043
+
1044
+
1045
+ @validate_call
1046
+ def get_games_without_preload_content(
1047
+ self,
1048
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
1049
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
1050
+ search: Optional[StrictStr] = None,
1051
+ _request_timeout: Union[
1052
+ None,
1053
+ Annotated[StrictFloat, Field(gt=0)],
1054
+ Tuple[
1055
+ Annotated[StrictFloat, Field(gt=0)],
1056
+ Annotated[StrictFloat, Field(gt=0)]
1057
+ ]
1058
+ ] = None,
1059
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1060
+ _content_type: Optional[StrictStr] = None,
1061
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1062
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1063
+ ) -> RESTResponseType:
1064
+ """List and Filter Games.
1065
+
1066
+ Retrieves a paginated list of games, with optional filters for team, upload status, and date-time range.
1067
+
1068
+ :param limit: The number of results to return per page.
1069
+ :type limit: float
1070
+ :param offset: The number of results to skip for pagination.
1071
+ :type offset: float
1072
+ :param search:
1073
+ :type search: str
1074
+ :param _request_timeout: timeout setting for this request. If one
1075
+ number provided, it will be total request
1076
+ timeout. It can also be a pair (tuple) of
1077
+ (connection, read) timeouts.
1078
+ :type _request_timeout: int, tuple(int, int), optional
1079
+ :param _request_auth: set to override the auth_settings for an a single
1080
+ request; this effectively ignores the
1081
+ authentication in the spec for a single request.
1082
+ :type _request_auth: dict, optional
1083
+ :param _content_type: force content-type for the request.
1084
+ :type _content_type: str, Optional
1085
+ :param _headers: set to override the headers for a single
1086
+ request; this effectively ignores the headers
1087
+ in the spec for a single request.
1088
+ :type _headers: dict, optional
1089
+ :param _host_index: set to override the host_index for a single
1090
+ request; this effectively ignores the host_index
1091
+ in the spec for a single request.
1092
+ :type _host_index: int, optional
1093
+ :return: Returns the result object.
1094
+ """ # noqa: E501
1095
+
1096
+ _param = self._get_games_serialize(
1097
+ limit=limit,
1098
+ offset=offset,
1099
+ search=search,
1100
+ _request_auth=_request_auth,
1101
+ _content_type=_content_type,
1102
+ _headers=_headers,
1103
+ _host_index=_host_index
1104
+ )
1105
+
1106
+ _response_types_map: Dict[str, Optional[str]] = {
1107
+ '200': "ListGamesPaginatedResponseDto",
1108
+ '400': "BadRequestErrorResponseDto",
1109
+ '401': "UnauthorizedErrorResponseDto",
1110
+ }
1111
+ response_data = self.api_client.call_api(
1112
+ *_param,
1113
+ _request_timeout=_request_timeout
1114
+ )
1115
+ return response_data.response
1116
+
1117
+
1118
+ def _get_games_serialize(
1119
+ self,
1120
+ limit,
1121
+ offset,
1122
+ search,
1123
+ _request_auth,
1124
+ _content_type,
1125
+ _headers,
1126
+ _host_index,
1127
+ ) -> RequestSerialized:
1128
+
1129
+ _host = None
1130
+
1131
+ _collection_formats: Dict[str, str] = {
1132
+ }
1133
+
1134
+ _path_params: Dict[str, str] = {}
1135
+ _query_params: List[Tuple[str, str]] = []
1136
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1137
+ _form_params: List[Tuple[str, str]] = []
1138
+ _files: Dict[
1139
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1140
+ ] = {}
1141
+ _body_params: Optional[bytes] = None
1142
+
1143
+ # process the path parameters
1144
+ # process the query parameters
1145
+ if limit is not None:
1146
+
1147
+ _query_params.append(('limit', limit))
1148
+
1149
+ if offset is not None:
1150
+
1151
+ _query_params.append(('offset', offset))
1152
+
1153
+ if search is not None:
1154
+
1155
+ _query_params.append(('search', search))
1156
+
1157
+ # process the header parameters
1158
+ # process the form parameters
1159
+ # process the body parameter
1160
+
1161
+
1162
+ # set the HTTP header `Accept`
1163
+ if 'Accept' not in _header_params:
1164
+ _header_params['Accept'] = self.api_client.select_header_accept(
1165
+ [
1166
+ 'application/json'
1167
+ ]
1168
+ )
1169
+
1170
+
1171
+ # authentication setting
1172
+ _auth_settings: List[str] = [
1173
+ 'Client-App-Token',
1174
+ 'Client-App-Id'
1175
+ ]
1176
+
1177
+ return self.api_client.param_serialize(
1178
+ method='GET',
1179
+ resource_path='/api/v1/client/games',
1180
+ path_params=_path_params,
1181
+ query_params=_query_params,
1182
+ header_params=_header_params,
1183
+ body=_body_params,
1184
+ post_params=_form_params,
1185
+ files=_files,
1186
+ auth_settings=_auth_settings,
1187
+ collection_formats=_collection_formats,
1188
+ _host=_host,
1189
+ _request_auth=_request_auth
1190
+ )
1191
+
1192
+
1193
+
1194
+
1195
+ @validate_call
1196
+ def get_videos_of_game(
1197
+ self,
1198
+ game_id: StrictStr,
1199
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
1200
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
1201
+ _request_timeout: Union[
1202
+ None,
1203
+ Annotated[StrictFloat, Field(gt=0)],
1204
+ Tuple[
1205
+ Annotated[StrictFloat, Field(gt=0)],
1206
+ Annotated[StrictFloat, Field(gt=0)]
1207
+ ]
1208
+ ] = None,
1209
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1210
+ _content_type: Optional[StrictStr] = None,
1211
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1212
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1213
+ ) -> ListVideoPaginatedResponseDto:
1214
+ """Get a list of videos of a game
1215
+
1216
+ Retrieves a list of videos of a game.
1217
+
1218
+ :param game_id: (required)
1219
+ :type game_id: str
1220
+ :param limit: The number of results to return per page.
1221
+ :type limit: float
1222
+ :param offset: The number of results to skip for pagination.
1223
+ :type offset: float
1224
+ :param _request_timeout: timeout setting for this request. If one
1225
+ number provided, it will be total request
1226
+ timeout. It can also be a pair (tuple) of
1227
+ (connection, read) timeouts.
1228
+ :type _request_timeout: int, tuple(int, int), optional
1229
+ :param _request_auth: set to override the auth_settings for an a single
1230
+ request; this effectively ignores the
1231
+ authentication in the spec for a single request.
1232
+ :type _request_auth: dict, optional
1233
+ :param _content_type: force content-type for the request.
1234
+ :type _content_type: str, Optional
1235
+ :param _headers: set to override the headers for a single
1236
+ request; this effectively ignores the headers
1237
+ in the spec for a single request.
1238
+ :type _headers: dict, optional
1239
+ :param _host_index: set to override the host_index for a single
1240
+ request; this effectively ignores the host_index
1241
+ in the spec for a single request.
1242
+ :type _host_index: int, optional
1243
+ :return: Returns the result object.
1244
+ """ # noqa: E501
1245
+
1246
+ _param = self._get_videos_of_game_serialize(
1247
+ game_id=game_id,
1248
+ limit=limit,
1249
+ offset=offset,
1250
+ _request_auth=_request_auth,
1251
+ _content_type=_content_type,
1252
+ _headers=_headers,
1253
+ _host_index=_host_index
1254
+ )
1255
+
1256
+ _response_types_map: Dict[str, Optional[str]] = {
1257
+ '200': "ListVideoPaginatedResponseDto",
1258
+ '400': "BadRequestErrorResponseDto",
1259
+ '401': "UnauthorizedErrorResponseDto",
1260
+ '404': "NotFoundErrorResponseDto",
1261
+ }
1262
+ response_data = self.api_client.call_api(
1263
+ *_param,
1264
+ _request_timeout=_request_timeout
1265
+ )
1266
+ response_data.read()
1267
+ return self.api_client.response_deserialize(
1268
+ response_data=response_data,
1269
+ response_types_map=_response_types_map,
1270
+ ).data
1271
+
1272
+
1273
+ @validate_call
1274
+ def get_videos_of_game_with_http_info(
1275
+ self,
1276
+ game_id: StrictStr,
1277
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
1278
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
1279
+ _request_timeout: Union[
1280
+ None,
1281
+ Annotated[StrictFloat, Field(gt=0)],
1282
+ Tuple[
1283
+ Annotated[StrictFloat, Field(gt=0)],
1284
+ Annotated[StrictFloat, Field(gt=0)]
1285
+ ]
1286
+ ] = None,
1287
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1288
+ _content_type: Optional[StrictStr] = None,
1289
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1290
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1291
+ ) -> ApiResponse[ListVideoPaginatedResponseDto]:
1292
+ """Get a list of videos of a game
1293
+
1294
+ Retrieves a list of videos of a game.
1295
+
1296
+ :param game_id: (required)
1297
+ :type game_id: str
1298
+ :param limit: The number of results to return per page.
1299
+ :type limit: float
1300
+ :param offset: The number of results to skip for pagination.
1301
+ :type offset: float
1302
+ :param _request_timeout: timeout setting for this request. If one
1303
+ number provided, it will be total request
1304
+ timeout. It can also be a pair (tuple) of
1305
+ (connection, read) timeouts.
1306
+ :type _request_timeout: int, tuple(int, int), optional
1307
+ :param _request_auth: set to override the auth_settings for an a single
1308
+ request; this effectively ignores the
1309
+ authentication in the spec for a single request.
1310
+ :type _request_auth: dict, optional
1311
+ :param _content_type: force content-type for the request.
1312
+ :type _content_type: str, Optional
1313
+ :param _headers: set to override the headers for a single
1314
+ request; this effectively ignores the headers
1315
+ in the spec for a single request.
1316
+ :type _headers: dict, optional
1317
+ :param _host_index: set to override the host_index for a single
1318
+ request; this effectively ignores the host_index
1319
+ in the spec for a single request.
1320
+ :type _host_index: int, optional
1321
+ :return: Returns the result object.
1322
+ """ # noqa: E501
1323
+
1324
+ _param = self._get_videos_of_game_serialize(
1325
+ game_id=game_id,
1326
+ limit=limit,
1327
+ offset=offset,
1328
+ _request_auth=_request_auth,
1329
+ _content_type=_content_type,
1330
+ _headers=_headers,
1331
+ _host_index=_host_index
1332
+ )
1333
+
1334
+ _response_types_map: Dict[str, Optional[str]] = {
1335
+ '200': "ListVideoPaginatedResponseDto",
1336
+ '400': "BadRequestErrorResponseDto",
1337
+ '401': "UnauthorizedErrorResponseDto",
1338
+ '404': "NotFoundErrorResponseDto",
1339
+ }
1340
+ response_data = self.api_client.call_api(
1341
+ *_param,
1342
+ _request_timeout=_request_timeout
1343
+ )
1344
+ response_data.read()
1345
+ return self.api_client.response_deserialize(
1346
+ response_data=response_data,
1347
+ response_types_map=_response_types_map,
1348
+ )
1349
+
1350
+
1351
+ @validate_call
1352
+ def get_videos_of_game_without_preload_content(
1353
+ self,
1354
+ game_id: StrictStr,
1355
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
1356
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
1357
+ _request_timeout: Union[
1358
+ None,
1359
+ Annotated[StrictFloat, Field(gt=0)],
1360
+ Tuple[
1361
+ Annotated[StrictFloat, Field(gt=0)],
1362
+ Annotated[StrictFloat, Field(gt=0)]
1363
+ ]
1364
+ ] = None,
1365
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1366
+ _content_type: Optional[StrictStr] = None,
1367
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1368
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1369
+ ) -> RESTResponseType:
1370
+ """Get a list of videos of a game
1371
+
1372
+ Retrieves a list of videos of a game.
1373
+
1374
+ :param game_id: (required)
1375
+ :type game_id: str
1376
+ :param limit: The number of results to return per page.
1377
+ :type limit: float
1378
+ :param offset: The number of results to skip for pagination.
1379
+ :type offset: float
1380
+ :param _request_timeout: timeout setting for this request. If one
1381
+ number provided, it will be total request
1382
+ timeout. It can also be a pair (tuple) of
1383
+ (connection, read) timeouts.
1384
+ :type _request_timeout: int, tuple(int, int), optional
1385
+ :param _request_auth: set to override the auth_settings for an a single
1386
+ request; this effectively ignores the
1387
+ authentication in the spec for a single request.
1388
+ :type _request_auth: dict, optional
1389
+ :param _content_type: force content-type for the request.
1390
+ :type _content_type: str, Optional
1391
+ :param _headers: set to override the headers for a single
1392
+ request; this effectively ignores the headers
1393
+ in the spec for a single request.
1394
+ :type _headers: dict, optional
1395
+ :param _host_index: set to override the host_index for a single
1396
+ request; this effectively ignores the host_index
1397
+ in the spec for a single request.
1398
+ :type _host_index: int, optional
1399
+ :return: Returns the result object.
1400
+ """ # noqa: E501
1401
+
1402
+ _param = self._get_videos_of_game_serialize(
1403
+ game_id=game_id,
1404
+ limit=limit,
1405
+ offset=offset,
1406
+ _request_auth=_request_auth,
1407
+ _content_type=_content_type,
1408
+ _headers=_headers,
1409
+ _host_index=_host_index
1410
+ )
1411
+
1412
+ _response_types_map: Dict[str, Optional[str]] = {
1413
+ '200': "ListVideoPaginatedResponseDto",
1414
+ '400': "BadRequestErrorResponseDto",
1415
+ '401': "UnauthorizedErrorResponseDto",
1416
+ '404': "NotFoundErrorResponseDto",
1417
+ }
1418
+ response_data = self.api_client.call_api(
1419
+ *_param,
1420
+ _request_timeout=_request_timeout
1421
+ )
1422
+ return response_data.response
1423
+
1424
+
1425
+ def _get_videos_of_game_serialize(
1426
+ self,
1427
+ game_id,
1428
+ limit,
1429
+ offset,
1430
+ _request_auth,
1431
+ _content_type,
1432
+ _headers,
1433
+ _host_index,
1434
+ ) -> RequestSerialized:
1435
+
1436
+ _host = None
1437
+
1438
+ _collection_formats: Dict[str, str] = {
1439
+ }
1440
+
1441
+ _path_params: Dict[str, str] = {}
1442
+ _query_params: List[Tuple[str, str]] = []
1443
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1444
+ _form_params: List[Tuple[str, str]] = []
1445
+ _files: Dict[
1446
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1447
+ ] = {}
1448
+ _body_params: Optional[bytes] = None
1449
+
1450
+ # process the path parameters
1451
+ if game_id is not None:
1452
+ _path_params['gameId'] = game_id
1453
+ # process the query parameters
1454
+ if limit is not None:
1455
+
1456
+ _query_params.append(('limit', limit))
1457
+
1458
+ if offset is not None:
1459
+
1460
+ _query_params.append(('offset', offset))
1461
+
1462
+ # process the header parameters
1463
+ # process the form parameters
1464
+ # process the body parameter
1465
+
1466
+
1467
+ # set the HTTP header `Accept`
1468
+ if 'Accept' not in _header_params:
1469
+ _header_params['Accept'] = self.api_client.select_header_accept(
1470
+ [
1471
+ 'application/json'
1472
+ ]
1473
+ )
1474
+
1475
+
1476
+ # authentication setting
1477
+ _auth_settings: List[str] = [
1478
+ 'Client-App-Token',
1479
+ 'Client-App-Id'
1480
+ ]
1481
+
1482
+ return self.api_client.param_serialize(
1483
+ method='GET',
1484
+ resource_path='/api/v1/client/games/{gameId}/videos',
1485
+ path_params=_path_params,
1486
+ query_params=_query_params,
1487
+ header_params=_header_params,
1488
+ body=_body_params,
1489
+ post_params=_form_params,
1490
+ files=_files,
1491
+ auth_settings=_auth_settings,
1492
+ collection_formats=_collection_formats,
1493
+ _host=_host,
1494
+ _request_auth=_request_auth
1495
+ )
1496
+
1497
+