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,1057 @@
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, field_validator
19
+ from typing import Optional, Union
20
+ from typing_extensions import Annotated
21
+ from victorycode_sdk.models.list_game_all_plays_response_dto import ListGameAllPlaysResponseDto
22
+ from victorycode_sdk.models.list_play_clips_response_dto import ListPlayClipsResponseDto
23
+ from victorycode_sdk.models.play_clip_list_item_dto import PlayClipListItemDto
24
+
25
+ from victorycode_sdk.api_client import ApiClient, RequestSerialized
26
+ from victorycode_sdk.api_response import ApiResponse
27
+ from victorycode_sdk.rest import RESTResponseType
28
+
29
+
30
+ class PlaysEventsApi:
31
+ """NOTE: This class is auto generated by OpenAPI Generator
32
+ Ref: https://openapi-generator.tech
33
+
34
+ Do not edit the class manually.
35
+ """
36
+
37
+ def __init__(self, api_client=None) -> None:
38
+ if api_client is None:
39
+ api_client = ApiClient.get_default()
40
+ self.api_client = api_client
41
+
42
+
43
+ @validate_call
44
+ def get_play_by_id(
45
+ self,
46
+ play_id: StrictStr,
47
+ _request_timeout: Union[
48
+ None,
49
+ Annotated[StrictFloat, Field(gt=0)],
50
+ Tuple[
51
+ Annotated[StrictFloat, Field(gt=0)],
52
+ Annotated[StrictFloat, Field(gt=0)]
53
+ ]
54
+ ] = None,
55
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
56
+ _content_type: Optional[StrictStr] = None,
57
+ _headers: Optional[Dict[StrictStr, Any]] = None,
58
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
59
+ ) -> PlayClipListItemDto:
60
+ """Get the single Play Clip
61
+
62
+ Retrieves the complete metadata for a single play clip by its unique ID.
63
+
64
+ :param play_id: (required)
65
+ :type play_id: str
66
+ :param _request_timeout: timeout setting for this request. If one
67
+ number provided, it will be total request
68
+ timeout. It can also be a pair (tuple) of
69
+ (connection, read) timeouts.
70
+ :type _request_timeout: int, tuple(int, int), optional
71
+ :param _request_auth: set to override the auth_settings for an a single
72
+ request; this effectively ignores the
73
+ authentication in the spec for a single request.
74
+ :type _request_auth: dict, optional
75
+ :param _content_type: force content-type for the request.
76
+ :type _content_type: str, Optional
77
+ :param _headers: set to override the headers for a single
78
+ request; this effectively ignores the headers
79
+ in the spec for a single request.
80
+ :type _headers: dict, optional
81
+ :param _host_index: set to override the host_index for a single
82
+ request; this effectively ignores the host_index
83
+ in the spec for a single request.
84
+ :type _host_index: int, optional
85
+ :return: Returns the result object.
86
+ """ # noqa: E501
87
+
88
+ _param = self._get_play_by_id_serialize(
89
+ play_id=play_id,
90
+ _request_auth=_request_auth,
91
+ _content_type=_content_type,
92
+ _headers=_headers,
93
+ _host_index=_host_index
94
+ )
95
+
96
+ _response_types_map: Dict[str, Optional[str]] = {
97
+ '200': "PlayClipListItemDto",
98
+ '400': "BadRequestErrorResponseDto",
99
+ '401': "UnauthorizedErrorResponseDto",
100
+ '404': "NotFoundErrorResponseDto",
101
+ }
102
+ response_data = self.api_client.call_api(
103
+ *_param,
104
+ _request_timeout=_request_timeout
105
+ )
106
+ response_data.read()
107
+ return self.api_client.response_deserialize(
108
+ response_data=response_data,
109
+ response_types_map=_response_types_map,
110
+ ).data
111
+
112
+
113
+ @validate_call
114
+ def get_play_by_id_with_http_info(
115
+ self,
116
+ play_id: StrictStr,
117
+ _request_timeout: Union[
118
+ None,
119
+ Annotated[StrictFloat, Field(gt=0)],
120
+ Tuple[
121
+ Annotated[StrictFloat, Field(gt=0)],
122
+ Annotated[StrictFloat, Field(gt=0)]
123
+ ]
124
+ ] = None,
125
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
126
+ _content_type: Optional[StrictStr] = None,
127
+ _headers: Optional[Dict[StrictStr, Any]] = None,
128
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
129
+ ) -> ApiResponse[PlayClipListItemDto]:
130
+ """Get the single Play Clip
131
+
132
+ Retrieves the complete metadata for a single play clip by its unique ID.
133
+
134
+ :param play_id: (required)
135
+ :type play_id: str
136
+ :param _request_timeout: timeout setting for this request. If one
137
+ number provided, it will be total request
138
+ timeout. It can also be a pair (tuple) of
139
+ (connection, read) timeouts.
140
+ :type _request_timeout: int, tuple(int, int), optional
141
+ :param _request_auth: set to override the auth_settings for an a single
142
+ request; this effectively ignores the
143
+ authentication in the spec for a single request.
144
+ :type _request_auth: dict, optional
145
+ :param _content_type: force content-type for the request.
146
+ :type _content_type: str, Optional
147
+ :param _headers: set to override the headers for a single
148
+ request; this effectively ignores the headers
149
+ in the spec for a single request.
150
+ :type _headers: dict, optional
151
+ :param _host_index: set to override the host_index for a single
152
+ request; this effectively ignores the host_index
153
+ in the spec for a single request.
154
+ :type _host_index: int, optional
155
+ :return: Returns the result object.
156
+ """ # noqa: E501
157
+
158
+ _param = self._get_play_by_id_serialize(
159
+ play_id=play_id,
160
+ _request_auth=_request_auth,
161
+ _content_type=_content_type,
162
+ _headers=_headers,
163
+ _host_index=_host_index
164
+ )
165
+
166
+ _response_types_map: Dict[str, Optional[str]] = {
167
+ '200': "PlayClipListItemDto",
168
+ '400': "BadRequestErrorResponseDto",
169
+ '401': "UnauthorizedErrorResponseDto",
170
+ '404': "NotFoundErrorResponseDto",
171
+ }
172
+ response_data = self.api_client.call_api(
173
+ *_param,
174
+ _request_timeout=_request_timeout
175
+ )
176
+ response_data.read()
177
+ return self.api_client.response_deserialize(
178
+ response_data=response_data,
179
+ response_types_map=_response_types_map,
180
+ )
181
+
182
+
183
+ @validate_call
184
+ def get_play_by_id_without_preload_content(
185
+ self,
186
+ play_id: StrictStr,
187
+ _request_timeout: Union[
188
+ None,
189
+ Annotated[StrictFloat, Field(gt=0)],
190
+ Tuple[
191
+ Annotated[StrictFloat, Field(gt=0)],
192
+ Annotated[StrictFloat, Field(gt=0)]
193
+ ]
194
+ ] = None,
195
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
196
+ _content_type: Optional[StrictStr] = None,
197
+ _headers: Optional[Dict[StrictStr, Any]] = None,
198
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
199
+ ) -> RESTResponseType:
200
+ """Get the single Play Clip
201
+
202
+ Retrieves the complete metadata for a single play clip by its unique ID.
203
+
204
+ :param play_id: (required)
205
+ :type play_id: str
206
+ :param _request_timeout: timeout setting for this request. If one
207
+ number provided, it will be total request
208
+ timeout. It can also be a pair (tuple) of
209
+ (connection, read) timeouts.
210
+ :type _request_timeout: int, tuple(int, int), optional
211
+ :param _request_auth: set to override the auth_settings for an a single
212
+ request; this effectively ignores the
213
+ authentication in the spec for a single request.
214
+ :type _request_auth: dict, optional
215
+ :param _content_type: force content-type for the request.
216
+ :type _content_type: str, Optional
217
+ :param _headers: set to override the headers for a single
218
+ request; this effectively ignores the headers
219
+ in the spec for a single request.
220
+ :type _headers: dict, optional
221
+ :param _host_index: set to override the host_index for a single
222
+ request; this effectively ignores the host_index
223
+ in the spec for a single request.
224
+ :type _host_index: int, optional
225
+ :return: Returns the result object.
226
+ """ # noqa: E501
227
+
228
+ _param = self._get_play_by_id_serialize(
229
+ play_id=play_id,
230
+ _request_auth=_request_auth,
231
+ _content_type=_content_type,
232
+ _headers=_headers,
233
+ _host_index=_host_index
234
+ )
235
+
236
+ _response_types_map: Dict[str, Optional[str]] = {
237
+ '200': "PlayClipListItemDto",
238
+ '400': "BadRequestErrorResponseDto",
239
+ '401': "UnauthorizedErrorResponseDto",
240
+ '404': "NotFoundErrorResponseDto",
241
+ }
242
+ response_data = self.api_client.call_api(
243
+ *_param,
244
+ _request_timeout=_request_timeout
245
+ )
246
+ return response_data.response
247
+
248
+
249
+ def _get_play_by_id_serialize(
250
+ self,
251
+ play_id,
252
+ _request_auth,
253
+ _content_type,
254
+ _headers,
255
+ _host_index,
256
+ ) -> RequestSerialized:
257
+
258
+ _host = None
259
+
260
+ _collection_formats: Dict[str, str] = {
261
+ }
262
+
263
+ _path_params: Dict[str, str] = {}
264
+ _query_params: List[Tuple[str, str]] = []
265
+ _header_params: Dict[str, Optional[str]] = _headers or {}
266
+ _form_params: List[Tuple[str, str]] = []
267
+ _files: Dict[
268
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
269
+ ] = {}
270
+ _body_params: Optional[bytes] = None
271
+
272
+ # process the path parameters
273
+ if play_id is not None:
274
+ _path_params['playId'] = play_id
275
+ # process the query parameters
276
+ # process the header parameters
277
+ # process the form parameters
278
+ # process the body parameter
279
+
280
+
281
+ # set the HTTP header `Accept`
282
+ if 'Accept' not in _header_params:
283
+ _header_params['Accept'] = self.api_client.select_header_accept(
284
+ [
285
+ 'application/json'
286
+ ]
287
+ )
288
+
289
+
290
+ # authentication setting
291
+ _auth_settings: List[str] = [
292
+ 'Client-App-Token',
293
+ 'Client-App-Id'
294
+ ]
295
+
296
+ return self.api_client.param_serialize(
297
+ method='GET',
298
+ resource_path='/api/v1/client/plays/{playId}',
299
+ path_params=_path_params,
300
+ query_params=_query_params,
301
+ header_params=_header_params,
302
+ body=_body_params,
303
+ post_params=_form_params,
304
+ files=_files,
305
+ auth_settings=_auth_settings,
306
+ collection_formats=_collection_formats,
307
+ _host=_host,
308
+ _request_auth=_request_auth
309
+ )
310
+
311
+
312
+
313
+
314
+ @validate_call
315
+ def get_plays_of_game(
316
+ self,
317
+ game_id: StrictStr,
318
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
319
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
320
+ search: Optional[StrictStr] = None,
321
+ down: Annotated[Optional[StrictStr], Field(description="Filter by down number")] = None,
322
+ distance_zone: Annotated[Optional[StrictStr], Field(description="Filter by distance zone (yards to go)")] = None,
323
+ play_type: Annotated[Optional[StrictStr], Field(description="Filter by analyzed play type")] = None,
324
+ _request_timeout: Union[
325
+ None,
326
+ Annotated[StrictFloat, Field(gt=0)],
327
+ Tuple[
328
+ Annotated[StrictFloat, Field(gt=0)],
329
+ Annotated[StrictFloat, Field(gt=0)]
330
+ ]
331
+ ] = None,
332
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
333
+ _content_type: Optional[StrictStr] = None,
334
+ _headers: Optional[Dict[StrictStr, Any]] = None,
335
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
336
+ ) -> ListGameAllPlaysResponseDto:
337
+ """Get a list of all plays for a game
338
+
339
+ Retrieves a paginated list of all plays for a given game. The results can be filtered by various play attributes.
340
+
341
+ :param game_id: (required)
342
+ :type game_id: str
343
+ :param limit: The number of results to return per page.
344
+ :type limit: float
345
+ :param offset: The number of results to skip for pagination.
346
+ :type offset: float
347
+ :param search:
348
+ :type search: str
349
+ :param down: Filter by down number
350
+ :type down: str
351
+ :param distance_zone: Filter by distance zone (yards to go)
352
+ :type distance_zone: str
353
+ :param play_type: Filter by analyzed play type
354
+ :type play_type: str
355
+ :param _request_timeout: timeout setting for this request. If one
356
+ number provided, it will be total request
357
+ timeout. It can also be a pair (tuple) of
358
+ (connection, read) timeouts.
359
+ :type _request_timeout: int, tuple(int, int), optional
360
+ :param _request_auth: set to override the auth_settings for an a single
361
+ request; this effectively ignores the
362
+ authentication in the spec for a single request.
363
+ :type _request_auth: dict, optional
364
+ :param _content_type: force content-type for the request.
365
+ :type _content_type: str, Optional
366
+ :param _headers: set to override the headers for a single
367
+ request; this effectively ignores the headers
368
+ in the spec for a single request.
369
+ :type _headers: dict, optional
370
+ :param _host_index: set to override the host_index for a single
371
+ request; this effectively ignores the host_index
372
+ in the spec for a single request.
373
+ :type _host_index: int, optional
374
+ :return: Returns the result object.
375
+ """ # noqa: E501
376
+
377
+ _param = self._get_plays_of_game_serialize(
378
+ game_id=game_id,
379
+ limit=limit,
380
+ offset=offset,
381
+ search=search,
382
+ down=down,
383
+ distance_zone=distance_zone,
384
+ play_type=play_type,
385
+ _request_auth=_request_auth,
386
+ _content_type=_content_type,
387
+ _headers=_headers,
388
+ _host_index=_host_index
389
+ )
390
+
391
+ _response_types_map: Dict[str, Optional[str]] = {
392
+ '200': "ListGameAllPlaysResponseDto",
393
+ '400': "BadRequestErrorResponseDto",
394
+ '401': "UnauthorizedErrorResponseDto",
395
+ '404': "NotFoundErrorResponseDto",
396
+ }
397
+ response_data = self.api_client.call_api(
398
+ *_param,
399
+ _request_timeout=_request_timeout
400
+ )
401
+ response_data.read()
402
+ return self.api_client.response_deserialize(
403
+ response_data=response_data,
404
+ response_types_map=_response_types_map,
405
+ ).data
406
+
407
+
408
+ @validate_call
409
+ def get_plays_of_game_with_http_info(
410
+ self,
411
+ game_id: StrictStr,
412
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
413
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
414
+ search: Optional[StrictStr] = None,
415
+ down: Annotated[Optional[StrictStr], Field(description="Filter by down number")] = None,
416
+ distance_zone: Annotated[Optional[StrictStr], Field(description="Filter by distance zone (yards to go)")] = None,
417
+ play_type: Annotated[Optional[StrictStr], Field(description="Filter by analyzed play type")] = None,
418
+ _request_timeout: Union[
419
+ None,
420
+ Annotated[StrictFloat, Field(gt=0)],
421
+ Tuple[
422
+ Annotated[StrictFloat, Field(gt=0)],
423
+ Annotated[StrictFloat, Field(gt=0)]
424
+ ]
425
+ ] = None,
426
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
427
+ _content_type: Optional[StrictStr] = None,
428
+ _headers: Optional[Dict[StrictStr, Any]] = None,
429
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
430
+ ) -> ApiResponse[ListGameAllPlaysResponseDto]:
431
+ """Get a list of all plays for a game
432
+
433
+ Retrieves a paginated list of all plays for a given game. The results can be filtered by various play attributes.
434
+
435
+ :param game_id: (required)
436
+ :type game_id: str
437
+ :param limit: The number of results to return per page.
438
+ :type limit: float
439
+ :param offset: The number of results to skip for pagination.
440
+ :type offset: float
441
+ :param search:
442
+ :type search: str
443
+ :param down: Filter by down number
444
+ :type down: str
445
+ :param distance_zone: Filter by distance zone (yards to go)
446
+ :type distance_zone: str
447
+ :param play_type: Filter by analyzed play type
448
+ :type play_type: str
449
+ :param _request_timeout: timeout setting for this request. If one
450
+ number provided, it will be total request
451
+ timeout. It can also be a pair (tuple) of
452
+ (connection, read) timeouts.
453
+ :type _request_timeout: int, tuple(int, int), optional
454
+ :param _request_auth: set to override the auth_settings for an a single
455
+ request; this effectively ignores the
456
+ authentication in the spec for a single request.
457
+ :type _request_auth: dict, optional
458
+ :param _content_type: force content-type for the request.
459
+ :type _content_type: str, Optional
460
+ :param _headers: set to override the headers for a single
461
+ request; this effectively ignores the headers
462
+ in the spec for a single request.
463
+ :type _headers: dict, optional
464
+ :param _host_index: set to override the host_index for a single
465
+ request; this effectively ignores the host_index
466
+ in the spec for a single request.
467
+ :type _host_index: int, optional
468
+ :return: Returns the result object.
469
+ """ # noqa: E501
470
+
471
+ _param = self._get_plays_of_game_serialize(
472
+ game_id=game_id,
473
+ limit=limit,
474
+ offset=offset,
475
+ search=search,
476
+ down=down,
477
+ distance_zone=distance_zone,
478
+ play_type=play_type,
479
+ _request_auth=_request_auth,
480
+ _content_type=_content_type,
481
+ _headers=_headers,
482
+ _host_index=_host_index
483
+ )
484
+
485
+ _response_types_map: Dict[str, Optional[str]] = {
486
+ '200': "ListGameAllPlaysResponseDto",
487
+ '400': "BadRequestErrorResponseDto",
488
+ '401': "UnauthorizedErrorResponseDto",
489
+ '404': "NotFoundErrorResponseDto",
490
+ }
491
+ response_data = self.api_client.call_api(
492
+ *_param,
493
+ _request_timeout=_request_timeout
494
+ )
495
+ response_data.read()
496
+ return self.api_client.response_deserialize(
497
+ response_data=response_data,
498
+ response_types_map=_response_types_map,
499
+ )
500
+
501
+
502
+ @validate_call
503
+ def get_plays_of_game_without_preload_content(
504
+ self,
505
+ game_id: StrictStr,
506
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
507
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
508
+ search: Optional[StrictStr] = None,
509
+ down: Annotated[Optional[StrictStr], Field(description="Filter by down number")] = None,
510
+ distance_zone: Annotated[Optional[StrictStr], Field(description="Filter by distance zone (yards to go)")] = None,
511
+ play_type: Annotated[Optional[StrictStr], Field(description="Filter by analyzed play type")] = None,
512
+ _request_timeout: Union[
513
+ None,
514
+ Annotated[StrictFloat, Field(gt=0)],
515
+ Tuple[
516
+ Annotated[StrictFloat, Field(gt=0)],
517
+ Annotated[StrictFloat, Field(gt=0)]
518
+ ]
519
+ ] = None,
520
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
521
+ _content_type: Optional[StrictStr] = None,
522
+ _headers: Optional[Dict[StrictStr, Any]] = None,
523
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
524
+ ) -> RESTResponseType:
525
+ """Get a list of all plays for a game
526
+
527
+ Retrieves a paginated list of all plays for a given game. The results can be filtered by various play attributes.
528
+
529
+ :param game_id: (required)
530
+ :type game_id: str
531
+ :param limit: The number of results to return per page.
532
+ :type limit: float
533
+ :param offset: The number of results to skip for pagination.
534
+ :type offset: float
535
+ :param search:
536
+ :type search: str
537
+ :param down: Filter by down number
538
+ :type down: str
539
+ :param distance_zone: Filter by distance zone (yards to go)
540
+ :type distance_zone: str
541
+ :param play_type: Filter by analyzed play type
542
+ :type play_type: str
543
+ :param _request_timeout: timeout setting for this request. If one
544
+ number provided, it will be total request
545
+ timeout. It can also be a pair (tuple) of
546
+ (connection, read) timeouts.
547
+ :type _request_timeout: int, tuple(int, int), optional
548
+ :param _request_auth: set to override the auth_settings for an a single
549
+ request; this effectively ignores the
550
+ authentication in the spec for a single request.
551
+ :type _request_auth: dict, optional
552
+ :param _content_type: force content-type for the request.
553
+ :type _content_type: str, Optional
554
+ :param _headers: set to override the headers for a single
555
+ request; this effectively ignores the headers
556
+ in the spec for a single request.
557
+ :type _headers: dict, optional
558
+ :param _host_index: set to override the host_index for a single
559
+ request; this effectively ignores the host_index
560
+ in the spec for a single request.
561
+ :type _host_index: int, optional
562
+ :return: Returns the result object.
563
+ """ # noqa: E501
564
+
565
+ _param = self._get_plays_of_game_serialize(
566
+ game_id=game_id,
567
+ limit=limit,
568
+ offset=offset,
569
+ search=search,
570
+ down=down,
571
+ distance_zone=distance_zone,
572
+ play_type=play_type,
573
+ _request_auth=_request_auth,
574
+ _content_type=_content_type,
575
+ _headers=_headers,
576
+ _host_index=_host_index
577
+ )
578
+
579
+ _response_types_map: Dict[str, Optional[str]] = {
580
+ '200': "ListGameAllPlaysResponseDto",
581
+ '400': "BadRequestErrorResponseDto",
582
+ '401': "UnauthorizedErrorResponseDto",
583
+ '404': "NotFoundErrorResponseDto",
584
+ }
585
+ response_data = self.api_client.call_api(
586
+ *_param,
587
+ _request_timeout=_request_timeout
588
+ )
589
+ return response_data.response
590
+
591
+
592
+ def _get_plays_of_game_serialize(
593
+ self,
594
+ game_id,
595
+ limit,
596
+ offset,
597
+ search,
598
+ down,
599
+ distance_zone,
600
+ play_type,
601
+ _request_auth,
602
+ _content_type,
603
+ _headers,
604
+ _host_index,
605
+ ) -> RequestSerialized:
606
+
607
+ _host = None
608
+
609
+ _collection_formats: Dict[str, str] = {
610
+ }
611
+
612
+ _path_params: Dict[str, str] = {}
613
+ _query_params: List[Tuple[str, str]] = []
614
+ _header_params: Dict[str, Optional[str]] = _headers or {}
615
+ _form_params: List[Tuple[str, str]] = []
616
+ _files: Dict[
617
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
618
+ ] = {}
619
+ _body_params: Optional[bytes] = None
620
+
621
+ # process the path parameters
622
+ if game_id is not None:
623
+ _path_params['gameId'] = game_id
624
+ # process the query parameters
625
+ if limit is not None:
626
+
627
+ _query_params.append(('limit', limit))
628
+
629
+ if offset is not None:
630
+
631
+ _query_params.append(('offset', offset))
632
+
633
+ if search is not None:
634
+
635
+ _query_params.append(('search', search))
636
+
637
+ if down is not None:
638
+
639
+ _query_params.append(('down', down))
640
+
641
+ if distance_zone is not None:
642
+
643
+ _query_params.append(('distanceZone', distance_zone))
644
+
645
+ if play_type is not None:
646
+
647
+ _query_params.append(('playType', play_type))
648
+
649
+ # process the header parameters
650
+ # process the form parameters
651
+ # process the body parameter
652
+
653
+
654
+ # set the HTTP header `Accept`
655
+ if 'Accept' not in _header_params:
656
+ _header_params['Accept'] = self.api_client.select_header_accept(
657
+ [
658
+ 'application/json'
659
+ ]
660
+ )
661
+
662
+
663
+ # authentication setting
664
+ _auth_settings: List[str] = [
665
+ 'Client-App-Token',
666
+ 'Client-App-Id'
667
+ ]
668
+
669
+ return self.api_client.param_serialize(
670
+ method='GET',
671
+ resource_path='/api/v1/client/game/{gameId}/plays',
672
+ path_params=_path_params,
673
+ query_params=_query_params,
674
+ header_params=_header_params,
675
+ body=_body_params,
676
+ post_params=_form_params,
677
+ files=_files,
678
+ auth_settings=_auth_settings,
679
+ collection_formats=_collection_formats,
680
+ _host=_host,
681
+ _request_auth=_request_auth
682
+ )
683
+
684
+
685
+
686
+
687
+ @validate_call
688
+ def get_plays_of_video(
689
+ self,
690
+ video_id: StrictStr,
691
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
692
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
693
+ search: Optional[StrictStr] = None,
694
+ down: Annotated[Optional[StrictStr], Field(description="Filter by down number")] = None,
695
+ distance_zone: Annotated[Optional[StrictStr], Field(description="Filter by distance zone (yards to go)")] = None,
696
+ play_type: Annotated[Optional[StrictStr], Field(description="Filter by analyzed play type")] = None,
697
+ _request_timeout: Union[
698
+ None,
699
+ Annotated[StrictFloat, Field(gt=0)],
700
+ Tuple[
701
+ Annotated[StrictFloat, Field(gt=0)],
702
+ Annotated[StrictFloat, Field(gt=0)]
703
+ ]
704
+ ] = None,
705
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
706
+ _content_type: Optional[StrictStr] = None,
707
+ _headers: Optional[Dict[StrictStr, Any]] = None,
708
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
709
+ ) -> ListPlayClipsResponseDto:
710
+ """Get a list of play clips for a video
711
+
712
+ Retrieves a paginated list of all play clips for a given video. The results can be filtered by various play attributes.
713
+
714
+ :param video_id: (required)
715
+ :type video_id: str
716
+ :param limit: The number of results to return per page.
717
+ :type limit: float
718
+ :param offset: The number of results to skip for pagination.
719
+ :type offset: float
720
+ :param search:
721
+ :type search: str
722
+ :param down: Filter by down number
723
+ :type down: str
724
+ :param distance_zone: Filter by distance zone (yards to go)
725
+ :type distance_zone: str
726
+ :param play_type: Filter by analyzed play type
727
+ :type play_type: str
728
+ :param _request_timeout: timeout setting for this request. If one
729
+ number provided, it will be total request
730
+ timeout. It can also be a pair (tuple) of
731
+ (connection, read) timeouts.
732
+ :type _request_timeout: int, tuple(int, int), optional
733
+ :param _request_auth: set to override the auth_settings for an a single
734
+ request; this effectively ignores the
735
+ authentication in the spec for a single request.
736
+ :type _request_auth: dict, optional
737
+ :param _content_type: force content-type for the request.
738
+ :type _content_type: str, Optional
739
+ :param _headers: set to override the headers for a single
740
+ request; this effectively ignores the headers
741
+ in the spec for a single request.
742
+ :type _headers: dict, optional
743
+ :param _host_index: set to override the host_index for a single
744
+ request; this effectively ignores the host_index
745
+ in the spec for a single request.
746
+ :type _host_index: int, optional
747
+ :return: Returns the result object.
748
+ """ # noqa: E501
749
+
750
+ _param = self._get_plays_of_video_serialize(
751
+ video_id=video_id,
752
+ limit=limit,
753
+ offset=offset,
754
+ search=search,
755
+ down=down,
756
+ distance_zone=distance_zone,
757
+ play_type=play_type,
758
+ _request_auth=_request_auth,
759
+ _content_type=_content_type,
760
+ _headers=_headers,
761
+ _host_index=_host_index
762
+ )
763
+
764
+ _response_types_map: Dict[str, Optional[str]] = {
765
+ '200': "ListPlayClipsResponseDto",
766
+ '400': "BadRequestErrorResponseDto",
767
+ '401': "UnauthorizedErrorResponseDto",
768
+ '404': "NotFoundErrorResponseDto",
769
+ }
770
+ response_data = self.api_client.call_api(
771
+ *_param,
772
+ _request_timeout=_request_timeout
773
+ )
774
+ response_data.read()
775
+ return self.api_client.response_deserialize(
776
+ response_data=response_data,
777
+ response_types_map=_response_types_map,
778
+ ).data
779
+
780
+
781
+ @validate_call
782
+ def get_plays_of_video_with_http_info(
783
+ self,
784
+ video_id: StrictStr,
785
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
786
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
787
+ search: Optional[StrictStr] = None,
788
+ down: Annotated[Optional[StrictStr], Field(description="Filter by down number")] = None,
789
+ distance_zone: Annotated[Optional[StrictStr], Field(description="Filter by distance zone (yards to go)")] = None,
790
+ play_type: Annotated[Optional[StrictStr], Field(description="Filter by analyzed play type")] = None,
791
+ _request_timeout: Union[
792
+ None,
793
+ Annotated[StrictFloat, Field(gt=0)],
794
+ Tuple[
795
+ Annotated[StrictFloat, Field(gt=0)],
796
+ Annotated[StrictFloat, Field(gt=0)]
797
+ ]
798
+ ] = None,
799
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
800
+ _content_type: Optional[StrictStr] = None,
801
+ _headers: Optional[Dict[StrictStr, Any]] = None,
802
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
803
+ ) -> ApiResponse[ListPlayClipsResponseDto]:
804
+ """Get a list of play clips for a video
805
+
806
+ Retrieves a paginated list of all play clips for a given video. The results can be filtered by various play attributes.
807
+
808
+ :param video_id: (required)
809
+ :type video_id: str
810
+ :param limit: The number of results to return per page.
811
+ :type limit: float
812
+ :param offset: The number of results to skip for pagination.
813
+ :type offset: float
814
+ :param search:
815
+ :type search: str
816
+ :param down: Filter by down number
817
+ :type down: str
818
+ :param distance_zone: Filter by distance zone (yards to go)
819
+ :type distance_zone: str
820
+ :param play_type: Filter by analyzed play type
821
+ :type play_type: str
822
+ :param _request_timeout: timeout setting for this request. If one
823
+ number provided, it will be total request
824
+ timeout. It can also be a pair (tuple) of
825
+ (connection, read) timeouts.
826
+ :type _request_timeout: int, tuple(int, int), optional
827
+ :param _request_auth: set to override the auth_settings for an a single
828
+ request; this effectively ignores the
829
+ authentication in the spec for a single request.
830
+ :type _request_auth: dict, optional
831
+ :param _content_type: force content-type for the request.
832
+ :type _content_type: str, Optional
833
+ :param _headers: set to override the headers for a single
834
+ request; this effectively ignores the headers
835
+ in the spec for a single request.
836
+ :type _headers: dict, optional
837
+ :param _host_index: set to override the host_index for a single
838
+ request; this effectively ignores the host_index
839
+ in the spec for a single request.
840
+ :type _host_index: int, optional
841
+ :return: Returns the result object.
842
+ """ # noqa: E501
843
+
844
+ _param = self._get_plays_of_video_serialize(
845
+ video_id=video_id,
846
+ limit=limit,
847
+ offset=offset,
848
+ search=search,
849
+ down=down,
850
+ distance_zone=distance_zone,
851
+ play_type=play_type,
852
+ _request_auth=_request_auth,
853
+ _content_type=_content_type,
854
+ _headers=_headers,
855
+ _host_index=_host_index
856
+ )
857
+
858
+ _response_types_map: Dict[str, Optional[str]] = {
859
+ '200': "ListPlayClipsResponseDto",
860
+ '400': "BadRequestErrorResponseDto",
861
+ '401': "UnauthorizedErrorResponseDto",
862
+ '404': "NotFoundErrorResponseDto",
863
+ }
864
+ response_data = self.api_client.call_api(
865
+ *_param,
866
+ _request_timeout=_request_timeout
867
+ )
868
+ response_data.read()
869
+ return self.api_client.response_deserialize(
870
+ response_data=response_data,
871
+ response_types_map=_response_types_map,
872
+ )
873
+
874
+
875
+ @validate_call
876
+ def get_plays_of_video_without_preload_content(
877
+ self,
878
+ video_id: StrictStr,
879
+ limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to return per page.")] = None,
880
+ offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="The number of results to skip for pagination.")] = None,
881
+ search: Optional[StrictStr] = None,
882
+ down: Annotated[Optional[StrictStr], Field(description="Filter by down number")] = None,
883
+ distance_zone: Annotated[Optional[StrictStr], Field(description="Filter by distance zone (yards to go)")] = None,
884
+ play_type: Annotated[Optional[StrictStr], Field(description="Filter by analyzed play type")] = None,
885
+ _request_timeout: Union[
886
+ None,
887
+ Annotated[StrictFloat, Field(gt=0)],
888
+ Tuple[
889
+ Annotated[StrictFloat, Field(gt=0)],
890
+ Annotated[StrictFloat, Field(gt=0)]
891
+ ]
892
+ ] = None,
893
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
894
+ _content_type: Optional[StrictStr] = None,
895
+ _headers: Optional[Dict[StrictStr, Any]] = None,
896
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
897
+ ) -> RESTResponseType:
898
+ """Get a list of play clips for a video
899
+
900
+ Retrieves a paginated list of all play clips for a given video. The results can be filtered by various play attributes.
901
+
902
+ :param video_id: (required)
903
+ :type video_id: str
904
+ :param limit: The number of results to return per page.
905
+ :type limit: float
906
+ :param offset: The number of results to skip for pagination.
907
+ :type offset: float
908
+ :param search:
909
+ :type search: str
910
+ :param down: Filter by down number
911
+ :type down: str
912
+ :param distance_zone: Filter by distance zone (yards to go)
913
+ :type distance_zone: str
914
+ :param play_type: Filter by analyzed play type
915
+ :type play_type: str
916
+ :param _request_timeout: timeout setting for this request. If one
917
+ number provided, it will be total request
918
+ timeout. It can also be a pair (tuple) of
919
+ (connection, read) timeouts.
920
+ :type _request_timeout: int, tuple(int, int), optional
921
+ :param _request_auth: set to override the auth_settings for an a single
922
+ request; this effectively ignores the
923
+ authentication in the spec for a single request.
924
+ :type _request_auth: dict, optional
925
+ :param _content_type: force content-type for the request.
926
+ :type _content_type: str, Optional
927
+ :param _headers: set to override the headers for a single
928
+ request; this effectively ignores the headers
929
+ in the spec for a single request.
930
+ :type _headers: dict, optional
931
+ :param _host_index: set to override the host_index for a single
932
+ request; this effectively ignores the host_index
933
+ in the spec for a single request.
934
+ :type _host_index: int, optional
935
+ :return: Returns the result object.
936
+ """ # noqa: E501
937
+
938
+ _param = self._get_plays_of_video_serialize(
939
+ video_id=video_id,
940
+ limit=limit,
941
+ offset=offset,
942
+ search=search,
943
+ down=down,
944
+ distance_zone=distance_zone,
945
+ play_type=play_type,
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': "ListPlayClipsResponseDto",
954
+ '400': "BadRequestErrorResponseDto",
955
+ '401': "UnauthorizedErrorResponseDto",
956
+ '404': "NotFoundErrorResponseDto",
957
+ }
958
+ response_data = self.api_client.call_api(
959
+ *_param,
960
+ _request_timeout=_request_timeout
961
+ )
962
+ return response_data.response
963
+
964
+
965
+ def _get_plays_of_video_serialize(
966
+ self,
967
+ video_id,
968
+ limit,
969
+ offset,
970
+ search,
971
+ down,
972
+ distance_zone,
973
+ play_type,
974
+ _request_auth,
975
+ _content_type,
976
+ _headers,
977
+ _host_index,
978
+ ) -> RequestSerialized:
979
+
980
+ _host = None
981
+
982
+ _collection_formats: Dict[str, str] = {
983
+ }
984
+
985
+ _path_params: Dict[str, str] = {}
986
+ _query_params: List[Tuple[str, str]] = []
987
+ _header_params: Dict[str, Optional[str]] = _headers or {}
988
+ _form_params: List[Tuple[str, str]] = []
989
+ _files: Dict[
990
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
991
+ ] = {}
992
+ _body_params: Optional[bytes] = None
993
+
994
+ # process the path parameters
995
+ if video_id is not None:
996
+ _path_params['videoId'] = video_id
997
+ # process the query parameters
998
+ if limit is not None:
999
+
1000
+ _query_params.append(('limit', limit))
1001
+
1002
+ if offset is not None:
1003
+
1004
+ _query_params.append(('offset', offset))
1005
+
1006
+ if search is not None:
1007
+
1008
+ _query_params.append(('search', search))
1009
+
1010
+ if down is not None:
1011
+
1012
+ _query_params.append(('down', down))
1013
+
1014
+ if distance_zone is not None:
1015
+
1016
+ _query_params.append(('distanceZone', distance_zone))
1017
+
1018
+ if play_type is not None:
1019
+
1020
+ _query_params.append(('playType', play_type))
1021
+
1022
+ # process the header parameters
1023
+ # process the form parameters
1024
+ # process the body parameter
1025
+
1026
+
1027
+ # set the HTTP header `Accept`
1028
+ if 'Accept' not in _header_params:
1029
+ _header_params['Accept'] = self.api_client.select_header_accept(
1030
+ [
1031
+ 'application/json'
1032
+ ]
1033
+ )
1034
+
1035
+
1036
+ # authentication setting
1037
+ _auth_settings: List[str] = [
1038
+ 'Client-App-Token',
1039
+ 'Client-App-Id'
1040
+ ]
1041
+
1042
+ return self.api_client.param_serialize(
1043
+ method='GET',
1044
+ resource_path='/api/v1/client/videos/{videoId}/plays',
1045
+ path_params=_path_params,
1046
+ query_params=_query_params,
1047
+ header_params=_header_params,
1048
+ body=_body_params,
1049
+ post_params=_form_params,
1050
+ files=_files,
1051
+ auth_settings=_auth_settings,
1052
+ collection_formats=_collection_formats,
1053
+ _host=_host,
1054
+ _request_auth=_request_auth
1055
+ )
1056
+
1057
+