vrchatapi-async 1.20.8.dev1__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 (362) hide show
  1. vrchatapi/__init__.py +742 -0
  2. vrchatapi/api/__init__.py +23 -0
  3. vrchatapi/api/authentication_api.py +6253 -0
  4. vrchatapi/api/avatars_api.py +4234 -0
  5. vrchatapi/api/calendar_api.py +4090 -0
  6. vrchatapi/api/economy_api.py +11547 -0
  7. vrchatapi/api/favorites_api.py +2368 -0
  8. vrchatapi/api/files_api.py +6109 -0
  9. vrchatapi/api/friends_api.py +1708 -0
  10. vrchatapi/api/groups_api.py +15085 -0
  11. vrchatapi/api/instances_api.py +1754 -0
  12. vrchatapi/api/inventory_api.py +4333 -0
  13. vrchatapi/api/invite_api.py +3337 -0
  14. vrchatapi/api/jams_api.py +1446 -0
  15. vrchatapi/api/miscellaneous_api.py +2384 -0
  16. vrchatapi/api/notifications_api.py +3624 -0
  17. vrchatapi/api/playermoderation_api.py +1127 -0
  18. vrchatapi/api/prints_api.py +1478 -0
  19. vrchatapi/api/props_api.py +2269 -0
  20. vrchatapi/api/users_api.py +7894 -0
  21. vrchatapi/api/worlds_api.py +6153 -0
  22. vrchatapi/api_client.py +865 -0
  23. vrchatapi/api_response.py +21 -0
  24. vrchatapi/configuration.py +686 -0
  25. vrchatapi/exceptions.py +218 -0
  26. vrchatapi/models/__init__.py +345 -0
  27. vrchatapi/models/account_deletion_log.py +253 -0
  28. vrchatapi/models/add_favorite_request.py +246 -0
  29. vrchatapi/models/add_group_gallery_image_request.py +234 -0
  30. vrchatapi/models/admin_asset_bundle.py +337 -0
  31. vrchatapi/models/admin_unity_package.py +261 -0
  32. vrchatapi/models/age_verification_status.py +38 -0
  33. vrchatapi/models/agreement.py +280 -0
  34. vrchatapi/models/agreement_code.py +36 -0
  35. vrchatapi/models/agreement_request.py +256 -0
  36. vrchatapi/models/agreement_status.py +261 -0
  37. vrchatapi/models/api_config.py +1299 -0
  38. vrchatapi/models/api_config_access_logs_urls.py +258 -0
  39. vrchatapi/models/api_config_announcement.py +217 -0
  40. vrchatapi/models/api_config_audio_config.py +311 -0
  41. vrchatapi/models/api_config_avatar_perf_limiter.py +293 -0
  42. vrchatapi/models/api_config_constants.py +262 -0
  43. vrchatapi/models/api_config_constants_groups.py +306 -0
  44. vrchatapi/models/api_config_constants_instance.py +238 -0
  45. vrchatapi/models/api_config_constants_instancepopulationbrackets.py +262 -0
  46. vrchatapi/models/api_config_constants_instancepopulationbracketscrowded.py +216 -0
  47. vrchatapi/models/api_config_constants_instancepopulationbracketsfew.py +216 -0
  48. vrchatapi/models/api_config_constants_instancepopulationbracketsmany.py +216 -0
  49. vrchatapi/models/api_config_constants_language.py +234 -0
  50. vrchatapi/models/api_config_download_url_list.py +258 -0
  51. vrchatapi/models/api_config_events.py +314 -0
  52. vrchatapi/models/api_config_ios_version.py +216 -0
  53. vrchatapi/models/api_config_min_supported_client_build_number.py +348 -0
  54. vrchatapi/models/api_config_offline_analysis.py +216 -0
  55. vrchatapi/models/api_health.py +248 -0
  56. vrchatapi/models/avatar.py +463 -0
  57. vrchatapi/models/avatar_moderation.py +249 -0
  58. vrchatapi/models/avatar_moderation_created.py +248 -0
  59. vrchatapi/models/avatar_moderation_type.py +36 -0
  60. vrchatapi/models/avatar_performance.py +265 -0
  61. vrchatapi/models/avatar_published_listings_inner.py +271 -0
  62. vrchatapi/models/avatar_style.py +239 -0
  63. vrchatapi/models/avatar_styles.py +231 -0
  64. vrchatapi/models/avatar_unity_package_url_object.py +234 -0
  65. vrchatapi/models/badge.py +308 -0
  66. vrchatapi/models/balance.py +247 -0
  67. vrchatapi/models/ban_group_member_request.py +234 -0
  68. vrchatapi/models/boop_request.py +250 -0
  69. vrchatapi/models/calendar_day_of_week.py +42 -0
  70. vrchatapi/models/calendar_event.py +475 -0
  71. vrchatapi/models/calendar_event_access.py +37 -0
  72. vrchatapi/models/calendar_event_category.py +48 -0
  73. vrchatapi/models/calendar_event_discovery.py +247 -0
  74. vrchatapi/models/calendar_event_discovery_inclusion.py +38 -0
  75. vrchatapi/models/calendar_event_discovery_scope.py +38 -0
  76. vrchatapi/models/calendar_event_frequency.py +39 -0
  77. vrchatapi/models/calendar_event_occurrence_kind.py +38 -0
  78. vrchatapi/models/calendar_event_platform.py +38 -0
  79. vrchatapi/models/calendar_event_recurrence.py +261 -0
  80. vrchatapi/models/calendar_event_recurrence_end.py +246 -0
  81. vrchatapi/models/calendar_event_recurrence_end_type.py +37 -0
  82. vrchatapi/models/calendar_event_user_interest.py +251 -0
  83. vrchatapi/models/change_user_tags_request.py +212 -0
  84. vrchatapi/models/change_world_tags_request.py +212 -0
  85. vrchatapi/models/content_filter.py +40 -0
  86. vrchatapi/models/create_avatar_moderation_request.py +243 -0
  87. vrchatapi/models/create_avatar_request.py +324 -0
  88. vrchatapi/models/create_calendar_event_request.py +385 -0
  89. vrchatapi/models/create_file_request.py +251 -0
  90. vrchatapi/models/create_file_version_request.py +259 -0
  91. vrchatapi/models/create_group_announcement_request.py +253 -0
  92. vrchatapi/models/create_group_gallery_request.py +297 -0
  93. vrchatapi/models/create_group_invite_request.py +242 -0
  94. vrchatapi/models/create_group_post_request.py +267 -0
  95. vrchatapi/models/create_group_request.py +295 -0
  96. vrchatapi/models/create_group_role_request.py +255 -0
  97. vrchatapi/models/create_instance_request.py +384 -0
  98. vrchatapi/models/create_jam_submission_request.py +239 -0
  99. vrchatapi/models/create_listing_request.py +285 -0
  100. vrchatapi/models/create_product_request.py +270 -0
  101. vrchatapi/models/create_prop_request.py +308 -0
  102. vrchatapi/models/create_world_request.py +322 -0
  103. vrchatapi/models/current_user.py +909 -0
  104. vrchatapi/models/current_user_platform_history_inner.py +245 -0
  105. vrchatapi/models/current_user_presence.py +379 -0
  106. vrchatapi/models/decline_group_invite_request.py +211 -0
  107. vrchatapi/models/developer_type.py +39 -0
  108. vrchatapi/models/disable2_fa_result.py +211 -0
  109. vrchatapi/models/discord_details.py +216 -0
  110. vrchatapi/models/dynamic_content_row.py +276 -0
  111. vrchatapi/models/earnings_metrics.py +248 -0
  112. vrchatapi/models/earnings_metrics_totals.py +267 -0
  113. vrchatapi/models/economy_account.py +360 -0
  114. vrchatapi/models/economy_balances.py +221 -0
  115. vrchatapi/models/economy_payout.py +385 -0
  116. vrchatapi/models/economy_payout_eligibility.py +263 -0
  117. vrchatapi/models/economy_payout_list.py +219 -0
  118. vrchatapi/models/economy_payout_status.py +295 -0
  119. vrchatapi/models/equip_inventory_item_request.py +235 -0
  120. vrchatapi/models/error.py +215 -0
  121. vrchatapi/models/favorite.py +251 -0
  122. vrchatapi/models/favorite_group.py +278 -0
  123. vrchatapi/models/favorite_group_limits.py +249 -0
  124. vrchatapi/models/favorite_group_visibility.py +38 -0
  125. vrchatapi/models/favorite_limits.py +265 -0
  126. vrchatapi/models/favorite_type.py +39 -0
  127. vrchatapi/models/favorited_world.py +441 -0
  128. vrchatapi/models/feedback.py +331 -0
  129. vrchatapi/models/file.py +325 -0
  130. vrchatapi/models/file_analysis.py +281 -0
  131. vrchatapi/models/file_analysis_avatar_stats.py +575 -0
  132. vrchatapi/models/file_data.py +279 -0
  133. vrchatapi/models/file_status.py +39 -0
  134. vrchatapi/models/file_upload_url.py +212 -0
  135. vrchatapi/models/file_version.py +254 -0
  136. vrchatapi/models/file_version_upload_status.py +269 -0
  137. vrchatapi/models/finish_file_data_upload_request.py +248 -0
  138. vrchatapi/models/follow_calendar_event_request.py +234 -0
  139. vrchatapi/models/friend_status.py +250 -0
  140. vrchatapi/models/get_group_posts200_response.py +219 -0
  141. vrchatapi/models/get_user_group_instances200_response.py +248 -0
  142. vrchatapi/models/group.py +514 -0
  143. vrchatapi/models/group_access_type.py +38 -0
  144. vrchatapi/models/group_announcement.py +315 -0
  145. vrchatapi/models/group_audit_log_entry.py +287 -0
  146. vrchatapi/models/group_gallery.py +319 -0
  147. vrchatapi/models/group_gallery_file_order.py +211 -0
  148. vrchatapi/models/group_gallery_file_order_request.py +239 -0
  149. vrchatapi/models/group_gallery_image.py +301 -0
  150. vrchatapi/models/group_instance.py +257 -0
  151. vrchatapi/models/group_join_request_action.py +37 -0
  152. vrchatapi/models/group_join_state.py +39 -0
  153. vrchatapi/models/group_member.py +415 -0
  154. vrchatapi/models/group_member_limited_user.py +290 -0
  155. vrchatapi/models/group_member_status.py +41 -0
  156. vrchatapi/models/group_my_member.py +399 -0
  157. vrchatapi/models/group_permission.py +260 -0
  158. vrchatapi/models/group_permissions.py +63 -0
  159. vrchatapi/models/group_post.py +317 -0
  160. vrchatapi/models/group_post_visibility.py +37 -0
  161. vrchatapi/models/group_privacy.py +37 -0
  162. vrchatapi/models/group_role.py +309 -0
  163. vrchatapi/models/group_role_template.py +39 -0
  164. vrchatapi/models/group_role_template_values.py +254 -0
  165. vrchatapi/models/group_role_template_values_roles.py +253 -0
  166. vrchatapi/models/group_search_sort.py +37 -0
  167. vrchatapi/models/group_transferable.py +215 -0
  168. vrchatapi/models/group_transferable_requirements.py +266 -0
  169. vrchatapi/models/group_user_visibility.py +38 -0
  170. vrchatapi/models/image_animation_style.py +62 -0
  171. vrchatapi/models/image_loop_style.py +37 -0
  172. vrchatapi/models/image_mask.py +41 -0
  173. vrchatapi/models/image_purpose.py +46 -0
  174. vrchatapi/models/info_push.py +306 -0
  175. vrchatapi/models/info_push_data.py +288 -0
  176. vrchatapi/models/info_push_data_article.py +215 -0
  177. vrchatapi/models/info_push_data_article_content.py +251 -0
  178. vrchatapi/models/info_push_data_clickable.py +224 -0
  179. vrchatapi/models/instance.py +597 -0
  180. vrchatapi/models/instance_content_settings.py +236 -0
  181. vrchatapi/models/instance_platforms.py +222 -0
  182. vrchatapi/models/instance_region.py +40 -0
  183. vrchatapi/models/instance_short_name_response.py +248 -0
  184. vrchatapi/models/instance_type.py +40 -0
  185. vrchatapi/models/inventory.py +247 -0
  186. vrchatapi/models/inventory_consumption_results.py +255 -0
  187. vrchatapi/models/inventory_default_attributes_value.py +243 -0
  188. vrchatapi/models/inventory_default_attributes_value_validator.py +211 -0
  189. vrchatapi/models/inventory_drop.py +331 -0
  190. vrchatapi/models/inventory_equip_slot.py +39 -0
  191. vrchatapi/models/inventory_flag.py +43 -0
  192. vrchatapi/models/inventory_item.py +420 -0
  193. vrchatapi/models/inventory_item_type.py +42 -0
  194. vrchatapi/models/inventory_metadata.py +287 -0
  195. vrchatapi/models/inventory_notification_details.py +244 -0
  196. vrchatapi/models/inventory_spawn.py +216 -0
  197. vrchatapi/models/inventory_template.py +351 -0
  198. vrchatapi/models/inventory_user_attributes.py +250 -0
  199. vrchatapi/models/invite_message.py +276 -0
  200. vrchatapi/models/invite_message_type.py +39 -0
  201. vrchatapi/models/invite_request.py +243 -0
  202. vrchatapi/models/invite_response.py +235 -0
  203. vrchatapi/models/jam.py +302 -0
  204. vrchatapi/models/jam_state_change_dates.py +276 -0
  205. vrchatapi/models/jam_submission.py +275 -0
  206. vrchatapi/models/join_group_request.py +234 -0
  207. vrchatapi/models/license.py +261 -0
  208. vrchatapi/models/license_action.py +37 -0
  209. vrchatapi/models/license_group.py +235 -0
  210. vrchatapi/models/license_type.py +39 -0
  211. vrchatapi/models/limited_group.py +377 -0
  212. vrchatapi/models/limited_unity_package.py +251 -0
  213. vrchatapi/models/limited_user_friend.py +399 -0
  214. vrchatapi/models/limited_user_groups.py +386 -0
  215. vrchatapi/models/limited_user_instance.py +430 -0
  216. vrchatapi/models/limited_user_search.py +395 -0
  217. vrchatapi/models/limited_world.py +410 -0
  218. vrchatapi/models/mime_type.py +50 -0
  219. vrchatapi/models/model_print.py +299 -0
  220. vrchatapi/models/moderate_user_request.py +217 -0
  221. vrchatapi/models/moderation_report.py +296 -0
  222. vrchatapi/models/mutual_friend.py +302 -0
  223. vrchatapi/models/mutuals.py +217 -0
  224. vrchatapi/models/notification.py +283 -0
  225. vrchatapi/models/notification_detail_invite.py +250 -0
  226. vrchatapi/models/notification_detail_invite_response.py +242 -0
  227. vrchatapi/models/notification_detail_request_invite.py +239 -0
  228. vrchatapi/models/notification_detail_request_invite_response.py +242 -0
  229. vrchatapi/models/notification_detail_vote_to_kick.py +242 -0
  230. vrchatapi/models/notification_type.py +43 -0
  231. vrchatapi/models/notification_v2.py +466 -0
  232. vrchatapi/models/notification_v2_details_boop.py +255 -0
  233. vrchatapi/models/notification_v2_response.py +259 -0
  234. vrchatapi/models/notification_v2_type.py +58 -0
  235. vrchatapi/models/ok_status.py +211 -0
  236. vrchatapi/models/ok_status2.py +234 -0
  237. vrchatapi/models/order_option.py +37 -0
  238. vrchatapi/models/order_option_short.py +37 -0
  239. vrchatapi/models/paginated_calendar_event_list.py +255 -0
  240. vrchatapi/models/paginated_group_audit_log_entry_list.py +255 -0
  241. vrchatapi/models/paginated_moderation_report_list.py +255 -0
  242. vrchatapi/models/past_display_name.py +241 -0
  243. vrchatapi/models/pending2_fa_result.py +239 -0
  244. vrchatapi/models/performance_limiter_info.py +234 -0
  245. vrchatapi/models/performance_ratings.py +41 -0
  246. vrchatapi/models/permission.py +280 -0
  247. vrchatapi/models/permission_data.py +258 -0
  248. vrchatapi/models/platform_build_info.py +242 -0
  249. vrchatapi/models/player_moderation.py +276 -0
  250. vrchatapi/models/player_moderation_type.py +44 -0
  251. vrchatapi/models/print_files.py +239 -0
  252. vrchatapi/models/private_profile.py +267 -0
  253. vrchatapi/models/private_profile_activity.py +292 -0
  254. vrchatapi/models/product.py +389 -0
  255. vrchatapi/models/product_listing.py +538 -0
  256. vrchatapi/models/product_listing_type.py +39 -0
  257. vrchatapi/models/product_listing_variant.py +272 -0
  258. vrchatapi/models/product_purchase.py +571 -0
  259. vrchatapi/models/product_purchase_history.py +256 -0
  260. vrchatapi/models/product_purchase_location_type.py +46 -0
  261. vrchatapi/models/product_purchase_product.py +269 -0
  262. vrchatapi/models/product_purchase_purchase_context.py +250 -0
  263. vrchatapi/models/product_purchase_record.py +312 -0
  264. vrchatapi/models/product_type.py +39 -0
  265. vrchatapi/models/profile_represented_group.py +262 -0
  266. vrchatapi/models/prop.py +358 -0
  267. vrchatapi/models/prop_publish_status.py +234 -0
  268. vrchatapi/models/prop_unity_package.py +269 -0
  269. vrchatapi/models/public_profile.py +398 -0
  270. vrchatapi/models/purchase_context_data.py +251 -0
  271. vrchatapi/models/purchase_product_listing_request.py +281 -0
  272. vrchatapi/models/region.py +42 -0
  273. vrchatapi/models/register_user_account_request.py +278 -0
  274. vrchatapi/models/release_status.py +39 -0
  275. vrchatapi/models/report_category.py +226 -0
  276. vrchatapi/models/report_reason.py +216 -0
  277. vrchatapi/models/represented_group.py +348 -0
  278. vrchatapi/models/request_invite_request.py +235 -0
  279. vrchatapi/models/respond_group_join_request.py +217 -0
  280. vrchatapi/models/respond_notification_v2_request.py +242 -0
  281. vrchatapi/models/response.py +217 -0
  282. vrchatapi/models/reward_badge.py +308 -0
  283. vrchatapi/models/reward_redemption.py +220 -0
  284. vrchatapi/models/reward_redemption_data.py +224 -0
  285. vrchatapi/models/reward_redemption_request.py +211 -0
  286. vrchatapi/models/reward_redemption_result.py +250 -0
  287. vrchatapi/models/search_group_members200_response.py +224 -0
  288. vrchatapi/models/seller_eligibility.py +211 -0
  289. vrchatapi/models/sent_notification.py +278 -0
  290. vrchatapi/models/service_queue_stats.py +234 -0
  291. vrchatapi/models/service_status.py +281 -0
  292. vrchatapi/models/share_inventory_item_direct_request.py +239 -0
  293. vrchatapi/models/sort_option.py +53 -0
  294. vrchatapi/models/sort_option_product_purchase.py +36 -0
  295. vrchatapi/models/store.py +372 -0
  296. vrchatapi/models/store_context.py +249 -0
  297. vrchatapi/models/store_shelf.py +304 -0
  298. vrchatapi/models/store_type.py +38 -0
  299. vrchatapi/models/store_view.py +40 -0
  300. vrchatapi/models/submit_moderation_report_request.py +263 -0
  301. vrchatapi/models/submit_moderation_report_request_details.py +283 -0
  302. vrchatapi/models/subscription.py +301 -0
  303. vrchatapi/models/subscription_period.py +40 -0
  304. vrchatapi/models/success.py +215 -0
  305. vrchatapi/models/success_flag.py +211 -0
  306. vrchatapi/models/tilia_kyc.py +246 -0
  307. vrchatapi/models/tilia_status.py +259 -0
  308. vrchatapi/models/tilia_tos.py +211 -0
  309. vrchatapi/models/token_bundle.py +286 -0
  310. vrchatapi/models/transaction.py +322 -0
  311. vrchatapi/models/transaction_agreement.py +353 -0
  312. vrchatapi/models/transaction_status.py +39 -0
  313. vrchatapi/models/transaction_steam_info.py +271 -0
  314. vrchatapi/models/transaction_steam_wallet_info.py +227 -0
  315. vrchatapi/models/transfer_group_request.py +234 -0
  316. vrchatapi/models/tutorial_status.py +255 -0
  317. vrchatapi/models/two_factor_auth_code.py +211 -0
  318. vrchatapi/models/two_factor_email_code.py +211 -0
  319. vrchatapi/models/two_factor_recovery_codes.py +247 -0
  320. vrchatapi/models/two_factor_recovery_codes_otp_inner.py +216 -0
  321. vrchatapi/models/unity_package.py +360 -0
  322. vrchatapi/models/update_asset_review_notes_request.py +234 -0
  323. vrchatapi/models/update_avatar_request.py +293 -0
  324. vrchatapi/models/update_calendar_event_request.py +365 -0
  325. vrchatapi/models/update_favorite_group_request.py +246 -0
  326. vrchatapi/models/update_group_gallery_request.py +297 -0
  327. vrchatapi/models/update_group_member_request.py +256 -0
  328. vrchatapi/models/update_group_representation_request.py +234 -0
  329. vrchatapi/models/update_group_request.py +300 -0
  330. vrchatapi/models/update_group_role_request.py +255 -0
  331. vrchatapi/models/update_inventory_item_request.py +254 -0
  332. vrchatapi/models/update_invite_message_request.py +211 -0
  333. vrchatapi/models/update_listing_request.py +211 -0
  334. vrchatapi/models/update_product_request.py +261 -0
  335. vrchatapi/models/update_prop_request.py +303 -0
  336. vrchatapi/models/update_tilia_tos_request.py +211 -0
  337. vrchatapi/models/update_user_badge_request.py +216 -0
  338. vrchatapi/models/update_user_note_request.py +239 -0
  339. vrchatapi/models/update_user_request.py +358 -0
  340. vrchatapi/models/update_world_request.py +317 -0
  341. vrchatapi/models/user.py +549 -0
  342. vrchatapi/models/user_credits_eligible.py +216 -0
  343. vrchatapi/models/user_exists.py +242 -0
  344. vrchatapi/models/user_note.py +273 -0
  345. vrchatapi/models/user_note_target_user.py +277 -0
  346. vrchatapi/models/user_state.py +38 -0
  347. vrchatapi/models/user_status.py +40 -0
  348. vrchatapi/models/user_subscription.py +330 -0
  349. vrchatapi/models/user_subscription_eligible.py +274 -0
  350. vrchatapi/models/verify2_fa_email_code_result.py +211 -0
  351. vrchatapi/models/verify2_fa_result.py +216 -0
  352. vrchatapi/models/verify_auth_token_result.py +217 -0
  353. vrchatapi/models/world.py +459 -0
  354. vrchatapi/models/world_metadata.py +216 -0
  355. vrchatapi/models/world_publish_status.py +234 -0
  356. vrchatapi/py.typed +0 -0
  357. vrchatapi/rest.py +303 -0
  358. vrchatapi_async-1.20.8.dev1.dist-info/METADATA +137 -0
  359. vrchatapi_async-1.20.8.dev1.dist-info/RECORD +362 -0
  360. vrchatapi_async-1.20.8.dev1.dist-info/WHEEL +5 -0
  361. vrchatapi_async-1.20.8.dev1.dist-info/licenses/LICENSE +21 -0
  362. vrchatapi_async-1.20.8.dev1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1446 @@
1
+ """
2
+ VRChat API Documentation
3
+
4
+
5
+ The version of the OpenAPI document: 1.20.8
6
+ Contact: vrchatapi.lpv0t@aries.fyi
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, StrictStr
19
+ from typing import List, Optional
20
+ from typing_extensions import Annotated
21
+ from vrchatapi.models.create_jam_submission_request import CreateJamSubmissionRequest
22
+ from vrchatapi.models.jam import Jam
23
+ from vrchatapi.models.jam_submission import JamSubmission
24
+ from vrchatapi.models.success import Success
25
+
26
+ from vrchatapi.api_client import ApiClient, RequestSerialized
27
+ from vrchatapi.api_response import ApiResponse
28
+ from vrchatapi.rest import RESTResponseType
29
+
30
+
31
+ class JamsApi:
32
+ """NOTE: This class is auto generated by OpenAPI Generator
33
+ Ref: https://openapi-generator.tech
34
+
35
+ Do not edit the class manually.
36
+ """
37
+
38
+ def __init__(self, api_client=None) -> None:
39
+ if api_client is None:
40
+ api_client = ApiClient.get_default()
41
+ self.api_client = api_client
42
+
43
+
44
+ @validate_call
45
+ async def delete_jam_submission(
46
+ self,
47
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
48
+ jam_submission_id: Annotated[StrictStr, Field(description="Must be a valid jam submission ID.")],
49
+ _request_timeout: Union[
50
+ None,
51
+ Annotated[StrictFloat, Field(gt=0)],
52
+ Tuple[
53
+ Annotated[StrictFloat, Field(gt=0)],
54
+ Annotated[StrictFloat, Field(gt=0)]
55
+ ]
56
+ ] = None,
57
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
58
+ _content_type: Optional[StrictStr] = None,
59
+ _headers: Optional[Dict[StrictStr, Any]] = None,
60
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
61
+ ) -> Success:
62
+ """Delete Jam Submission
63
+
64
+ Withdraws a content submission from a jam.
65
+
66
+ :param jam_id: Must be a valid jam ID. (required)
67
+ :type jam_id: str
68
+ :param jam_submission_id: Must be a valid jam submission ID. (required)
69
+ :type jam_submission_id: str
70
+ :param _request_timeout: timeout setting for this request. If one
71
+ number provided, it will be total request
72
+ timeout. It can also be a pair (tuple) of
73
+ (connection, read) timeouts.
74
+ :type _request_timeout: int, tuple(int, int), optional
75
+ :param _request_auth: set to override the auth_settings for an a single
76
+ request; this effectively ignores the
77
+ authentication in the spec for a single request.
78
+ :type _request_auth: dict, optional
79
+ :param _content_type: force content-type for the request.
80
+ :type _content_type: str, Optional
81
+ :param _headers: set to override the headers for a single
82
+ request; this effectively ignores the headers
83
+ in the spec for a single request.
84
+ :type _headers: dict, optional
85
+ :param _host_index: set to override the host_index for a single
86
+ request; this effectively ignores the host_index
87
+ in the spec for a single request.
88
+ :type _host_index: int, optional
89
+ :return: Returns the result object.
90
+ """ # noqa: E501
91
+
92
+ _param = self._delete_jam_submission_serialize(
93
+ jam_id=jam_id,
94
+ jam_submission_id=jam_submission_id,
95
+ _request_auth=_request_auth,
96
+ _content_type=_content_type,
97
+ _headers=_headers,
98
+ _host_index=_host_index
99
+ )
100
+
101
+ _response_types_map: Dict[str, Optional[str]] = {
102
+ '200': "Success",
103
+ '401': "Error",
104
+ '403': "Error",
105
+ '404': "Error",
106
+ }
107
+ response_data = await self.api_client.call_api(
108
+ *_param,
109
+ _request_timeout=_request_timeout
110
+ )
111
+ await response_data.read()
112
+ return self.api_client.response_deserialize(
113
+ response_data=response_data,
114
+ response_types_map=_response_types_map,
115
+ ).data
116
+
117
+
118
+ @validate_call
119
+ async def delete_jam_submission_with_http_info(
120
+ self,
121
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
122
+ jam_submission_id: Annotated[StrictStr, Field(description="Must be a valid jam submission ID.")],
123
+ _request_timeout: Union[
124
+ None,
125
+ Annotated[StrictFloat, Field(gt=0)],
126
+ Tuple[
127
+ Annotated[StrictFloat, Field(gt=0)],
128
+ Annotated[StrictFloat, Field(gt=0)]
129
+ ]
130
+ ] = None,
131
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
132
+ _content_type: Optional[StrictStr] = None,
133
+ _headers: Optional[Dict[StrictStr, Any]] = None,
134
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
135
+ ) -> ApiResponse[Success]:
136
+ """Delete Jam Submission
137
+
138
+ Withdraws a content submission from a jam.
139
+
140
+ :param jam_id: Must be a valid jam ID. (required)
141
+ :type jam_id: str
142
+ :param jam_submission_id: Must be a valid jam submission ID. (required)
143
+ :type jam_submission_id: str
144
+ :param _request_timeout: timeout setting for this request. If one
145
+ number provided, it will be total request
146
+ timeout. It can also be a pair (tuple) of
147
+ (connection, read) timeouts.
148
+ :type _request_timeout: int, tuple(int, int), optional
149
+ :param _request_auth: set to override the auth_settings for an a single
150
+ request; this effectively ignores the
151
+ authentication in the spec for a single request.
152
+ :type _request_auth: dict, optional
153
+ :param _content_type: force content-type for the request.
154
+ :type _content_type: str, Optional
155
+ :param _headers: set to override the headers for a single
156
+ request; this effectively ignores the headers
157
+ in the spec for a single request.
158
+ :type _headers: dict, optional
159
+ :param _host_index: set to override the host_index for a single
160
+ request; this effectively ignores the host_index
161
+ in the spec for a single request.
162
+ :type _host_index: int, optional
163
+ :return: Returns the result object.
164
+ """ # noqa: E501
165
+
166
+ _param = self._delete_jam_submission_serialize(
167
+ jam_id=jam_id,
168
+ jam_submission_id=jam_submission_id,
169
+ _request_auth=_request_auth,
170
+ _content_type=_content_type,
171
+ _headers=_headers,
172
+ _host_index=_host_index
173
+ )
174
+
175
+ _response_types_map: Dict[str, Optional[str]] = {
176
+ '200': "Success",
177
+ '401': "Error",
178
+ '403': "Error",
179
+ '404': "Error",
180
+ }
181
+ response_data = await self.api_client.call_api(
182
+ *_param,
183
+ _request_timeout=_request_timeout
184
+ )
185
+ await 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
+ async def delete_jam_submission_without_preload_content(
194
+ self,
195
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
196
+ jam_submission_id: Annotated[StrictStr, Field(description="Must be a valid jam submission ID.")],
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
+ """Delete Jam Submission
211
+
212
+ Withdraws a content submission from a jam.
213
+
214
+ :param jam_id: Must be a valid jam ID. (required)
215
+ :type jam_id: str
216
+ :param jam_submission_id: Must be a valid jam submission ID. (required)
217
+ :type jam_submission_id: str
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._delete_jam_submission_serialize(
241
+ jam_id=jam_id,
242
+ jam_submission_id=jam_submission_id,
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
+ '200': "Success",
251
+ '401': "Error",
252
+ '403': "Error",
253
+ '404': "Error",
254
+ }
255
+ response_data = await self.api_client.call_api(
256
+ *_param,
257
+ _request_timeout=_request_timeout
258
+ )
259
+ return response_data.response
260
+
261
+
262
+ def _delete_jam_submission_serialize(
263
+ self,
264
+ jam_id,
265
+ jam_submission_id,
266
+ _request_auth,
267
+ _content_type,
268
+ _headers,
269
+ _host_index,
270
+ ) -> RequestSerialized:
271
+
272
+ _host = None
273
+
274
+ _collection_formats: Dict[str, str] = {
275
+ }
276
+
277
+ _path_params: Dict[str, str] = {}
278
+ _query_params: List[Tuple[str, str]] = []
279
+ _header_params: Dict[str, Optional[str]] = _headers or {}
280
+ _form_params: List[Tuple[str, str]] = []
281
+ _files: Dict[
282
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
283
+ ] = {}
284
+ _body_params: Optional[bytes] = None
285
+
286
+ # process the path parameters
287
+ if jam_id is not None:
288
+ _path_params['jamId'] = jam_id
289
+ if jam_submission_id is not None:
290
+ _path_params['jamSubmissionId'] = jam_submission_id
291
+ # process the query parameters
292
+ # process the header parameters
293
+ # process the form parameters
294
+ # process the body parameter
295
+
296
+
297
+ # set the HTTP header `Accept`
298
+ if 'Accept' not in _header_params:
299
+ _header_params['Accept'] = self.api_client.select_header_accept(
300
+ [
301
+ 'application/json'
302
+ ]
303
+ )
304
+
305
+
306
+ # authentication setting
307
+ _auth_settings: List[str] = [
308
+ 'authCookie'
309
+ ]
310
+
311
+ return self.api_client.param_serialize(
312
+ method='DELETE',
313
+ resource_path='/jams/{jamId}/submissions/{jamSubmissionId}',
314
+ path_params=_path_params,
315
+ query_params=_query_params,
316
+ header_params=_header_params,
317
+ body=_body_params,
318
+ post_params=_form_params,
319
+ files=_files,
320
+ auth_settings=_auth_settings,
321
+ collection_formats=_collection_formats,
322
+ _host=_host,
323
+ _request_auth=_request_auth
324
+ )
325
+
326
+
327
+
328
+
329
+ @validate_call
330
+ async def get_jam(
331
+ self,
332
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
333
+ _request_timeout: Union[
334
+ None,
335
+ Annotated[StrictFloat, Field(gt=0)],
336
+ Tuple[
337
+ Annotated[StrictFloat, Field(gt=0)],
338
+ Annotated[StrictFloat, Field(gt=0)]
339
+ ]
340
+ ] = None,
341
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
342
+ _content_type: Optional[StrictStr] = None,
343
+ _headers: Optional[Dict[StrictStr, Any]] = None,
344
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
345
+ ) -> Jam:
346
+ """Show jam information
347
+
348
+ Returns a jam.
349
+
350
+ :param jam_id: Must be a valid jam ID. (required)
351
+ :type jam_id: str
352
+ :param _request_timeout: timeout setting for this request. If one
353
+ number provided, it will be total request
354
+ timeout. It can also be a pair (tuple) of
355
+ (connection, read) timeouts.
356
+ :type _request_timeout: int, tuple(int, int), optional
357
+ :param _request_auth: set to override the auth_settings for an a single
358
+ request; this effectively ignores the
359
+ authentication in the spec for a single request.
360
+ :type _request_auth: dict, optional
361
+ :param _content_type: force content-type for the request.
362
+ :type _content_type: str, Optional
363
+ :param _headers: set to override the headers for a single
364
+ request; this effectively ignores the headers
365
+ in the spec for a single request.
366
+ :type _headers: dict, optional
367
+ :param _host_index: set to override the host_index for a single
368
+ request; this effectively ignores the host_index
369
+ in the spec for a single request.
370
+ :type _host_index: int, optional
371
+ :return: Returns the result object.
372
+ """ # noqa: E501
373
+
374
+ _param = self._get_jam_serialize(
375
+ jam_id=jam_id,
376
+ _request_auth=_request_auth,
377
+ _content_type=_content_type,
378
+ _headers=_headers,
379
+ _host_index=_host_index
380
+ )
381
+
382
+ _response_types_map: Dict[str, Optional[str]] = {
383
+ '200': "Jam",
384
+ '404': "Error",
385
+ }
386
+ response_data = await self.api_client.call_api(
387
+ *_param,
388
+ _request_timeout=_request_timeout
389
+ )
390
+ await response_data.read()
391
+ return self.api_client.response_deserialize(
392
+ response_data=response_data,
393
+ response_types_map=_response_types_map,
394
+ ).data
395
+
396
+
397
+ @validate_call
398
+ async def get_jam_with_http_info(
399
+ self,
400
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
401
+ _request_timeout: Union[
402
+ None,
403
+ Annotated[StrictFloat, Field(gt=0)],
404
+ Tuple[
405
+ Annotated[StrictFloat, Field(gt=0)],
406
+ Annotated[StrictFloat, Field(gt=0)]
407
+ ]
408
+ ] = None,
409
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
410
+ _content_type: Optional[StrictStr] = None,
411
+ _headers: Optional[Dict[StrictStr, Any]] = None,
412
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
413
+ ) -> ApiResponse[Jam]:
414
+ """Show jam information
415
+
416
+ Returns a jam.
417
+
418
+ :param jam_id: Must be a valid jam ID. (required)
419
+ :type jam_id: str
420
+ :param _request_timeout: timeout setting for this request. If one
421
+ number provided, it will be total request
422
+ timeout. It can also be a pair (tuple) of
423
+ (connection, read) timeouts.
424
+ :type _request_timeout: int, tuple(int, int), optional
425
+ :param _request_auth: set to override the auth_settings for an a single
426
+ request; this effectively ignores the
427
+ authentication in the spec for a single request.
428
+ :type _request_auth: dict, optional
429
+ :param _content_type: force content-type for the request.
430
+ :type _content_type: str, Optional
431
+ :param _headers: set to override the headers for a single
432
+ request; this effectively ignores the headers
433
+ in the spec for a single request.
434
+ :type _headers: dict, optional
435
+ :param _host_index: set to override the host_index for a single
436
+ request; this effectively ignores the host_index
437
+ in the spec for a single request.
438
+ :type _host_index: int, optional
439
+ :return: Returns the result object.
440
+ """ # noqa: E501
441
+
442
+ _param = self._get_jam_serialize(
443
+ jam_id=jam_id,
444
+ _request_auth=_request_auth,
445
+ _content_type=_content_type,
446
+ _headers=_headers,
447
+ _host_index=_host_index
448
+ )
449
+
450
+ _response_types_map: Dict[str, Optional[str]] = {
451
+ '200': "Jam",
452
+ '404': "Error",
453
+ }
454
+ response_data = await self.api_client.call_api(
455
+ *_param,
456
+ _request_timeout=_request_timeout
457
+ )
458
+ await response_data.read()
459
+ return self.api_client.response_deserialize(
460
+ response_data=response_data,
461
+ response_types_map=_response_types_map,
462
+ )
463
+
464
+
465
+ @validate_call
466
+ async def get_jam_without_preload_content(
467
+ self,
468
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
469
+ _request_timeout: Union[
470
+ None,
471
+ Annotated[StrictFloat, Field(gt=0)],
472
+ Tuple[
473
+ Annotated[StrictFloat, Field(gt=0)],
474
+ Annotated[StrictFloat, Field(gt=0)]
475
+ ]
476
+ ] = None,
477
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
478
+ _content_type: Optional[StrictStr] = None,
479
+ _headers: Optional[Dict[StrictStr, Any]] = None,
480
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
481
+ ) -> RESTResponseType:
482
+ """Show jam information
483
+
484
+ Returns a jam.
485
+
486
+ :param jam_id: Must be a valid jam ID. (required)
487
+ :type jam_id: str
488
+ :param _request_timeout: timeout setting for this request. If one
489
+ number provided, it will be total request
490
+ timeout. It can also be a pair (tuple) of
491
+ (connection, read) timeouts.
492
+ :type _request_timeout: int, tuple(int, int), optional
493
+ :param _request_auth: set to override the auth_settings for an a single
494
+ request; this effectively ignores the
495
+ authentication in the spec for a single request.
496
+ :type _request_auth: dict, optional
497
+ :param _content_type: force content-type for the request.
498
+ :type _content_type: str, Optional
499
+ :param _headers: set to override the headers for a single
500
+ request; this effectively ignores the headers
501
+ in the spec for a single request.
502
+ :type _headers: dict, optional
503
+ :param _host_index: set to override the host_index for a single
504
+ request; this effectively ignores the host_index
505
+ in the spec for a single request.
506
+ :type _host_index: int, optional
507
+ :return: Returns the result object.
508
+ """ # noqa: E501
509
+
510
+ _param = self._get_jam_serialize(
511
+ jam_id=jam_id,
512
+ _request_auth=_request_auth,
513
+ _content_type=_content_type,
514
+ _headers=_headers,
515
+ _host_index=_host_index
516
+ )
517
+
518
+ _response_types_map: Dict[str, Optional[str]] = {
519
+ '200': "Jam",
520
+ '404': "Error",
521
+ }
522
+ response_data = await self.api_client.call_api(
523
+ *_param,
524
+ _request_timeout=_request_timeout
525
+ )
526
+ return response_data.response
527
+
528
+
529
+ def _get_jam_serialize(
530
+ self,
531
+ jam_id,
532
+ _request_auth,
533
+ _content_type,
534
+ _headers,
535
+ _host_index,
536
+ ) -> RequestSerialized:
537
+
538
+ _host = None
539
+
540
+ _collection_formats: Dict[str, str] = {
541
+ }
542
+
543
+ _path_params: Dict[str, str] = {}
544
+ _query_params: List[Tuple[str, str]] = []
545
+ _header_params: Dict[str, Optional[str]] = _headers or {}
546
+ _form_params: List[Tuple[str, str]] = []
547
+ _files: Dict[
548
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
549
+ ] = {}
550
+ _body_params: Optional[bytes] = None
551
+
552
+ # process the path parameters
553
+ if jam_id is not None:
554
+ _path_params['jamId'] = jam_id
555
+ # process the query parameters
556
+ # process the header parameters
557
+ # process the form parameters
558
+ # process the body parameter
559
+
560
+
561
+ # set the HTTP header `Accept`
562
+ if 'Accept' not in _header_params:
563
+ _header_params['Accept'] = self.api_client.select_header_accept(
564
+ [
565
+ 'application/json'
566
+ ]
567
+ )
568
+
569
+
570
+ # authentication setting
571
+ _auth_settings: List[str] = [
572
+ 'authCookie'
573
+ ]
574
+
575
+ return self.api_client.param_serialize(
576
+ method='GET',
577
+ resource_path='/jams/{jamId}',
578
+ path_params=_path_params,
579
+ query_params=_query_params,
580
+ header_params=_header_params,
581
+ body=_body_params,
582
+ post_params=_form_params,
583
+ files=_files,
584
+ auth_settings=_auth_settings,
585
+ collection_formats=_collection_formats,
586
+ _host=_host,
587
+ _request_auth=_request_auth
588
+ )
589
+
590
+
591
+
592
+
593
+ @validate_call
594
+ async def get_jam_submissions(
595
+ self,
596
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
597
+ content_id: Annotated[Optional[StrictStr], Field(description="Filter for particular content submitted, e.g., a groupId, userId, avatarId, etc.")] = None,
598
+ submitter_id: Annotated[Optional[StrictStr], Field(description="Must be a valid user ID.")] = None,
599
+ _request_timeout: Union[
600
+ None,
601
+ Annotated[StrictFloat, Field(gt=0)],
602
+ Tuple[
603
+ Annotated[StrictFloat, Field(gt=0)],
604
+ Annotated[StrictFloat, Field(gt=0)]
605
+ ]
606
+ ] = None,
607
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
608
+ _content_type: Optional[StrictStr] = None,
609
+ _headers: Optional[Dict[StrictStr, Any]] = None,
610
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
611
+ ) -> List[JamSubmission]:
612
+ """Show jam submissions
613
+
614
+ Returns all submissions of a jam. Can filter by contentId (for world or avatar jams) or submitterId (for a participant).
615
+
616
+ :param jam_id: Must be a valid jam ID. (required)
617
+ :type jam_id: str
618
+ :param content_id: Filter for particular content submitted, e.g., a groupId, userId, avatarId, etc.
619
+ :type content_id: str
620
+ :param submitter_id: Must be a valid user ID.
621
+ :type submitter_id: str
622
+ :param _request_timeout: timeout setting for this request. If one
623
+ number provided, it will be total request
624
+ timeout. It can also be a pair (tuple) of
625
+ (connection, read) timeouts.
626
+ :type _request_timeout: int, tuple(int, int), optional
627
+ :param _request_auth: set to override the auth_settings for an a single
628
+ request; this effectively ignores the
629
+ authentication in the spec for a single request.
630
+ :type _request_auth: dict, optional
631
+ :param _content_type: force content-type for the request.
632
+ :type _content_type: str, Optional
633
+ :param _headers: set to override the headers for a single
634
+ request; this effectively ignores the headers
635
+ in the spec for a single request.
636
+ :type _headers: dict, optional
637
+ :param _host_index: set to override the host_index for a single
638
+ request; this effectively ignores the host_index
639
+ in the spec for a single request.
640
+ :type _host_index: int, optional
641
+ :return: Returns the result object.
642
+ """ # noqa: E501
643
+
644
+ _param = self._get_jam_submissions_serialize(
645
+ jam_id=jam_id,
646
+ content_id=content_id,
647
+ submitter_id=submitter_id,
648
+ _request_auth=_request_auth,
649
+ _content_type=_content_type,
650
+ _headers=_headers,
651
+ _host_index=_host_index
652
+ )
653
+
654
+ _response_types_map: Dict[str, Optional[str]] = {
655
+ '200': "List[JamSubmission]",
656
+ '404': "Error",
657
+ }
658
+ response_data = await self.api_client.call_api(
659
+ *_param,
660
+ _request_timeout=_request_timeout
661
+ )
662
+ await response_data.read()
663
+ return self.api_client.response_deserialize(
664
+ response_data=response_data,
665
+ response_types_map=_response_types_map,
666
+ ).data
667
+
668
+
669
+ @validate_call
670
+ async def get_jam_submissions_with_http_info(
671
+ self,
672
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
673
+ content_id: Annotated[Optional[StrictStr], Field(description="Filter for particular content submitted, e.g., a groupId, userId, avatarId, etc.")] = None,
674
+ submitter_id: Annotated[Optional[StrictStr], Field(description="Must be a valid user ID.")] = None,
675
+ _request_timeout: Union[
676
+ None,
677
+ Annotated[StrictFloat, Field(gt=0)],
678
+ Tuple[
679
+ Annotated[StrictFloat, Field(gt=0)],
680
+ Annotated[StrictFloat, Field(gt=0)]
681
+ ]
682
+ ] = None,
683
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
684
+ _content_type: Optional[StrictStr] = None,
685
+ _headers: Optional[Dict[StrictStr, Any]] = None,
686
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
687
+ ) -> ApiResponse[List[JamSubmission]]:
688
+ """Show jam submissions
689
+
690
+ Returns all submissions of a jam. Can filter by contentId (for world or avatar jams) or submitterId (for a participant).
691
+
692
+ :param jam_id: Must be a valid jam ID. (required)
693
+ :type jam_id: str
694
+ :param content_id: Filter for particular content submitted, e.g., a groupId, userId, avatarId, etc.
695
+ :type content_id: str
696
+ :param submitter_id: Must be a valid user ID.
697
+ :type submitter_id: str
698
+ :param _request_timeout: timeout setting for this request. If one
699
+ number provided, it will be total request
700
+ timeout. It can also be a pair (tuple) of
701
+ (connection, read) timeouts.
702
+ :type _request_timeout: int, tuple(int, int), optional
703
+ :param _request_auth: set to override the auth_settings for an a single
704
+ request; this effectively ignores the
705
+ authentication in the spec for a single request.
706
+ :type _request_auth: dict, optional
707
+ :param _content_type: force content-type for the request.
708
+ :type _content_type: str, Optional
709
+ :param _headers: set to override the headers for a single
710
+ request; this effectively ignores the headers
711
+ in the spec for a single request.
712
+ :type _headers: dict, optional
713
+ :param _host_index: set to override the host_index for a single
714
+ request; this effectively ignores the host_index
715
+ in the spec for a single request.
716
+ :type _host_index: int, optional
717
+ :return: Returns the result object.
718
+ """ # noqa: E501
719
+
720
+ _param = self._get_jam_submissions_serialize(
721
+ jam_id=jam_id,
722
+ content_id=content_id,
723
+ submitter_id=submitter_id,
724
+ _request_auth=_request_auth,
725
+ _content_type=_content_type,
726
+ _headers=_headers,
727
+ _host_index=_host_index
728
+ )
729
+
730
+ _response_types_map: Dict[str, Optional[str]] = {
731
+ '200': "List[JamSubmission]",
732
+ '404': "Error",
733
+ }
734
+ response_data = await self.api_client.call_api(
735
+ *_param,
736
+ _request_timeout=_request_timeout
737
+ )
738
+ await response_data.read()
739
+ return self.api_client.response_deserialize(
740
+ response_data=response_data,
741
+ response_types_map=_response_types_map,
742
+ )
743
+
744
+
745
+ @validate_call
746
+ async def get_jam_submissions_without_preload_content(
747
+ self,
748
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
749
+ content_id: Annotated[Optional[StrictStr], Field(description="Filter for particular content submitted, e.g., a groupId, userId, avatarId, etc.")] = None,
750
+ submitter_id: Annotated[Optional[StrictStr], Field(description="Must be a valid user ID.")] = None,
751
+ _request_timeout: Union[
752
+ None,
753
+ Annotated[StrictFloat, Field(gt=0)],
754
+ Tuple[
755
+ Annotated[StrictFloat, Field(gt=0)],
756
+ Annotated[StrictFloat, Field(gt=0)]
757
+ ]
758
+ ] = None,
759
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
760
+ _content_type: Optional[StrictStr] = None,
761
+ _headers: Optional[Dict[StrictStr, Any]] = None,
762
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
763
+ ) -> RESTResponseType:
764
+ """Show jam submissions
765
+
766
+ Returns all submissions of a jam. Can filter by contentId (for world or avatar jams) or submitterId (for a participant).
767
+
768
+ :param jam_id: Must be a valid jam ID. (required)
769
+ :type jam_id: str
770
+ :param content_id: Filter for particular content submitted, e.g., a groupId, userId, avatarId, etc.
771
+ :type content_id: str
772
+ :param submitter_id: Must be a valid user ID.
773
+ :type submitter_id: str
774
+ :param _request_timeout: timeout setting for this request. If one
775
+ number provided, it will be total request
776
+ timeout. It can also be a pair (tuple) of
777
+ (connection, read) timeouts.
778
+ :type _request_timeout: int, tuple(int, int), optional
779
+ :param _request_auth: set to override the auth_settings for an a single
780
+ request; this effectively ignores the
781
+ authentication in the spec for a single request.
782
+ :type _request_auth: dict, optional
783
+ :param _content_type: force content-type for the request.
784
+ :type _content_type: str, Optional
785
+ :param _headers: set to override the headers for a single
786
+ request; this effectively ignores the headers
787
+ in the spec for a single request.
788
+ :type _headers: dict, optional
789
+ :param _host_index: set to override the host_index for a single
790
+ request; this effectively ignores the host_index
791
+ in the spec for a single request.
792
+ :type _host_index: int, optional
793
+ :return: Returns the result object.
794
+ """ # noqa: E501
795
+
796
+ _param = self._get_jam_submissions_serialize(
797
+ jam_id=jam_id,
798
+ content_id=content_id,
799
+ submitter_id=submitter_id,
800
+ _request_auth=_request_auth,
801
+ _content_type=_content_type,
802
+ _headers=_headers,
803
+ _host_index=_host_index
804
+ )
805
+
806
+ _response_types_map: Dict[str, Optional[str]] = {
807
+ '200': "List[JamSubmission]",
808
+ '404': "Error",
809
+ }
810
+ response_data = await self.api_client.call_api(
811
+ *_param,
812
+ _request_timeout=_request_timeout
813
+ )
814
+ return response_data.response
815
+
816
+
817
+ def _get_jam_submissions_serialize(
818
+ self,
819
+ jam_id,
820
+ content_id,
821
+ submitter_id,
822
+ _request_auth,
823
+ _content_type,
824
+ _headers,
825
+ _host_index,
826
+ ) -> RequestSerialized:
827
+
828
+ _host = None
829
+
830
+ _collection_formats: Dict[str, str] = {
831
+ }
832
+
833
+ _path_params: Dict[str, str] = {}
834
+ _query_params: List[Tuple[str, str]] = []
835
+ _header_params: Dict[str, Optional[str]] = _headers or {}
836
+ _form_params: List[Tuple[str, str]] = []
837
+ _files: Dict[
838
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
839
+ ] = {}
840
+ _body_params: Optional[bytes] = None
841
+
842
+ # process the path parameters
843
+ if jam_id is not None:
844
+ _path_params['jamId'] = jam_id
845
+ # process the query parameters
846
+ if content_id is not None:
847
+
848
+ _query_params.append(('contentId', content_id))
849
+
850
+ if submitter_id is not None:
851
+
852
+ _query_params.append(('submitterId', submitter_id))
853
+
854
+ # process the header parameters
855
+ # process the form parameters
856
+ # process the body parameter
857
+
858
+
859
+ # set the HTTP header `Accept`
860
+ if 'Accept' not in _header_params:
861
+ _header_params['Accept'] = self.api_client.select_header_accept(
862
+ [
863
+ 'application/json'
864
+ ]
865
+ )
866
+
867
+
868
+ # authentication setting
869
+ _auth_settings: List[str] = [
870
+ 'authCookie'
871
+ ]
872
+
873
+ return self.api_client.param_serialize(
874
+ method='GET',
875
+ resource_path='/jams/{jamId}/submissions',
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
+ async def get_jams(
893
+ self,
894
+ type: Annotated[Optional[StrictStr], Field(description="Only show jams of this type (`avatar` or `world`).")] = None,
895
+ _request_timeout: Union[
896
+ None,
897
+ Annotated[StrictFloat, Field(gt=0)],
898
+ Tuple[
899
+ Annotated[StrictFloat, Field(gt=0)],
900
+ Annotated[StrictFloat, Field(gt=0)]
901
+ ]
902
+ ] = None,
903
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
904
+ _content_type: Optional[StrictStr] = None,
905
+ _headers: Optional[Dict[StrictStr, Any]] = None,
906
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
907
+ ) -> List[Jam]:
908
+ """Show jams list
909
+
910
+ Lists World Jams or Avatar Jams, both currently running and ones that have ended. `isActive` is used to select only active or already ended jams. `type` is used to select only world or avatar jams, and can only take `world` or `avatar`. ``
911
+
912
+ :param type: Only show jams of this type (`avatar` or `world`).
913
+ :type type: str
914
+ :param _request_timeout: timeout setting for this request. If one
915
+ number provided, it will be total request
916
+ timeout. It can also be a pair (tuple) of
917
+ (connection, read) timeouts.
918
+ :type _request_timeout: int, tuple(int, int), optional
919
+ :param _request_auth: set to override the auth_settings for an a single
920
+ request; this effectively ignores the
921
+ authentication in the spec for a single request.
922
+ :type _request_auth: dict, optional
923
+ :param _content_type: force content-type for the request.
924
+ :type _content_type: str, Optional
925
+ :param _headers: set to override the headers for a single
926
+ request; this effectively ignores the headers
927
+ in the spec for a single request.
928
+ :type _headers: dict, optional
929
+ :param _host_index: set to override the host_index for a single
930
+ request; this effectively ignores the host_index
931
+ in the spec for a single request.
932
+ :type _host_index: int, optional
933
+ :return: Returns the result object.
934
+ """ # noqa: E501
935
+
936
+ _param = self._get_jams_serialize(
937
+ type=type,
938
+ _request_auth=_request_auth,
939
+ _content_type=_content_type,
940
+ _headers=_headers,
941
+ _host_index=_host_index
942
+ )
943
+
944
+ _response_types_map: Dict[str, Optional[str]] = {
945
+ '200': "List[Jam]",
946
+ }
947
+ response_data = await self.api_client.call_api(
948
+ *_param,
949
+ _request_timeout=_request_timeout
950
+ )
951
+ await response_data.read()
952
+ return self.api_client.response_deserialize(
953
+ response_data=response_data,
954
+ response_types_map=_response_types_map,
955
+ ).data
956
+
957
+
958
+ @validate_call
959
+ async def get_jams_with_http_info(
960
+ self,
961
+ type: Annotated[Optional[StrictStr], Field(description="Only show jams of this type (`avatar` or `world`).")] = None,
962
+ _request_timeout: Union[
963
+ None,
964
+ Annotated[StrictFloat, Field(gt=0)],
965
+ Tuple[
966
+ Annotated[StrictFloat, Field(gt=0)],
967
+ Annotated[StrictFloat, Field(gt=0)]
968
+ ]
969
+ ] = None,
970
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
971
+ _content_type: Optional[StrictStr] = None,
972
+ _headers: Optional[Dict[StrictStr, Any]] = None,
973
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
974
+ ) -> ApiResponse[List[Jam]]:
975
+ """Show jams list
976
+
977
+ Lists World Jams or Avatar Jams, both currently running and ones that have ended. `isActive` is used to select only active or already ended jams. `type` is used to select only world or avatar jams, and can only take `world` or `avatar`. ``
978
+
979
+ :param type: Only show jams of this type (`avatar` or `world`).
980
+ :type type: str
981
+ :param _request_timeout: timeout setting for this request. If one
982
+ number provided, it will be total request
983
+ timeout. It can also be a pair (tuple) of
984
+ (connection, read) timeouts.
985
+ :type _request_timeout: int, tuple(int, int), optional
986
+ :param _request_auth: set to override the auth_settings for an a single
987
+ request; this effectively ignores the
988
+ authentication in the spec for a single request.
989
+ :type _request_auth: dict, optional
990
+ :param _content_type: force content-type for the request.
991
+ :type _content_type: str, Optional
992
+ :param _headers: set to override the headers for a single
993
+ request; this effectively ignores the headers
994
+ in the spec for a single request.
995
+ :type _headers: dict, optional
996
+ :param _host_index: set to override the host_index for a single
997
+ request; this effectively ignores the host_index
998
+ in the spec for a single request.
999
+ :type _host_index: int, optional
1000
+ :return: Returns the result object.
1001
+ """ # noqa: E501
1002
+
1003
+ _param = self._get_jams_serialize(
1004
+ type=type,
1005
+ _request_auth=_request_auth,
1006
+ _content_type=_content_type,
1007
+ _headers=_headers,
1008
+ _host_index=_host_index
1009
+ )
1010
+
1011
+ _response_types_map: Dict[str, Optional[str]] = {
1012
+ '200': "List[Jam]",
1013
+ }
1014
+ response_data = await self.api_client.call_api(
1015
+ *_param,
1016
+ _request_timeout=_request_timeout
1017
+ )
1018
+ await response_data.read()
1019
+ return self.api_client.response_deserialize(
1020
+ response_data=response_data,
1021
+ response_types_map=_response_types_map,
1022
+ )
1023
+
1024
+
1025
+ @validate_call
1026
+ async def get_jams_without_preload_content(
1027
+ self,
1028
+ type: Annotated[Optional[StrictStr], Field(description="Only show jams of this type (`avatar` or `world`).")] = None,
1029
+ _request_timeout: Union[
1030
+ None,
1031
+ Annotated[StrictFloat, Field(gt=0)],
1032
+ Tuple[
1033
+ Annotated[StrictFloat, Field(gt=0)],
1034
+ Annotated[StrictFloat, Field(gt=0)]
1035
+ ]
1036
+ ] = None,
1037
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1038
+ _content_type: Optional[StrictStr] = None,
1039
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1040
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1041
+ ) -> RESTResponseType:
1042
+ """Show jams list
1043
+
1044
+ Lists World Jams or Avatar Jams, both currently running and ones that have ended. `isActive` is used to select only active or already ended jams. `type` is used to select only world or avatar jams, and can only take `world` or `avatar`. ``
1045
+
1046
+ :param type: Only show jams of this type (`avatar` or `world`).
1047
+ :type type: str
1048
+ :param _request_timeout: timeout setting for this request. If one
1049
+ number provided, it will be total request
1050
+ timeout. It can also be a pair (tuple) of
1051
+ (connection, read) timeouts.
1052
+ :type _request_timeout: int, tuple(int, int), optional
1053
+ :param _request_auth: set to override the auth_settings for an a single
1054
+ request; this effectively ignores the
1055
+ authentication in the spec for a single request.
1056
+ :type _request_auth: dict, optional
1057
+ :param _content_type: force content-type for the request.
1058
+ :type _content_type: str, Optional
1059
+ :param _headers: set to override the headers for a single
1060
+ request; this effectively ignores the headers
1061
+ in the spec for a single request.
1062
+ :type _headers: dict, optional
1063
+ :param _host_index: set to override the host_index for a single
1064
+ request; this effectively ignores the host_index
1065
+ in the spec for a single request.
1066
+ :type _host_index: int, optional
1067
+ :return: Returns the result object.
1068
+ """ # noqa: E501
1069
+
1070
+ _param = self._get_jams_serialize(
1071
+ type=type,
1072
+ _request_auth=_request_auth,
1073
+ _content_type=_content_type,
1074
+ _headers=_headers,
1075
+ _host_index=_host_index
1076
+ )
1077
+
1078
+ _response_types_map: Dict[str, Optional[str]] = {
1079
+ '200': "List[Jam]",
1080
+ }
1081
+ response_data = await self.api_client.call_api(
1082
+ *_param,
1083
+ _request_timeout=_request_timeout
1084
+ )
1085
+ return response_data.response
1086
+
1087
+
1088
+ def _get_jams_serialize(
1089
+ self,
1090
+ type,
1091
+ _request_auth,
1092
+ _content_type,
1093
+ _headers,
1094
+ _host_index,
1095
+ ) -> RequestSerialized:
1096
+
1097
+ _host = None
1098
+
1099
+ _collection_formats: Dict[str, str] = {
1100
+ }
1101
+
1102
+ _path_params: Dict[str, str] = {}
1103
+ _query_params: List[Tuple[str, str]] = []
1104
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1105
+ _form_params: List[Tuple[str, str]] = []
1106
+ _files: Dict[
1107
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1108
+ ] = {}
1109
+ _body_params: Optional[bytes] = None
1110
+
1111
+ # process the path parameters
1112
+ # process the query parameters
1113
+ if type is not None:
1114
+
1115
+ _query_params.append(('type', type))
1116
+
1117
+ # process the header parameters
1118
+ # process the form parameters
1119
+ # process the body parameter
1120
+
1121
+
1122
+ # set the HTTP header `Accept`
1123
+ if 'Accept' not in _header_params:
1124
+ _header_params['Accept'] = self.api_client.select_header_accept(
1125
+ [
1126
+ 'application/json'
1127
+ ]
1128
+ )
1129
+
1130
+
1131
+ # authentication setting
1132
+ _auth_settings: List[str] = [
1133
+ 'authCookie'
1134
+ ]
1135
+
1136
+ return self.api_client.param_serialize(
1137
+ method='GET',
1138
+ resource_path='/jams',
1139
+ path_params=_path_params,
1140
+ query_params=_query_params,
1141
+ header_params=_header_params,
1142
+ body=_body_params,
1143
+ post_params=_form_params,
1144
+ files=_files,
1145
+ auth_settings=_auth_settings,
1146
+ collection_formats=_collection_formats,
1147
+ _host=_host,
1148
+ _request_auth=_request_auth
1149
+ )
1150
+
1151
+
1152
+
1153
+
1154
+ @validate_call
1155
+ async def submit_jam_content(
1156
+ self,
1157
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
1158
+ create_jam_submission_request: Optional[CreateJamSubmissionRequest] = None,
1159
+ _request_timeout: Union[
1160
+ None,
1161
+ Annotated[StrictFloat, Field(gt=0)],
1162
+ Tuple[
1163
+ Annotated[StrictFloat, Field(gt=0)],
1164
+ Annotated[StrictFloat, Field(gt=0)]
1165
+ ]
1166
+ ] = None,
1167
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1168
+ _content_type: Optional[StrictStr] = None,
1169
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1170
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1171
+ ) -> JamSubmission:
1172
+ """Submit Jam Content
1173
+
1174
+ Submits content to a jam. The content must have been uploaded by the submitter, and both the content upload and jam submission must be made within the jam's designated times.
1175
+
1176
+ :param jam_id: Must be a valid jam ID. (required)
1177
+ :type jam_id: str
1178
+ :param create_jam_submission_request:
1179
+ :type create_jam_submission_request: CreateJamSubmissionRequest
1180
+ :param _request_timeout: timeout setting for this request. If one
1181
+ number provided, it will be total request
1182
+ timeout. It can also be a pair (tuple) of
1183
+ (connection, read) timeouts.
1184
+ :type _request_timeout: int, tuple(int, int), optional
1185
+ :param _request_auth: set to override the auth_settings for an a single
1186
+ request; this effectively ignores the
1187
+ authentication in the spec for a single request.
1188
+ :type _request_auth: dict, optional
1189
+ :param _content_type: force content-type for the request.
1190
+ :type _content_type: str, Optional
1191
+ :param _headers: set to override the headers for a single
1192
+ request; this effectively ignores the headers
1193
+ in the spec for a single request.
1194
+ :type _headers: dict, optional
1195
+ :param _host_index: set to override the host_index for a single
1196
+ request; this effectively ignores the host_index
1197
+ in the spec for a single request.
1198
+ :type _host_index: int, optional
1199
+ :return: Returns the result object.
1200
+ """ # noqa: E501
1201
+
1202
+ _param = self._submit_jam_content_serialize(
1203
+ jam_id=jam_id,
1204
+ create_jam_submission_request=create_jam_submission_request,
1205
+ _request_auth=_request_auth,
1206
+ _content_type=_content_type,
1207
+ _headers=_headers,
1208
+ _host_index=_host_index
1209
+ )
1210
+
1211
+ _response_types_map: Dict[str, Optional[str]] = {
1212
+ '200': "JamSubmission",
1213
+ '401': "Error",
1214
+ '404': "Error",
1215
+ }
1216
+ response_data = await self.api_client.call_api(
1217
+ *_param,
1218
+ _request_timeout=_request_timeout
1219
+ )
1220
+ await response_data.read()
1221
+ return self.api_client.response_deserialize(
1222
+ response_data=response_data,
1223
+ response_types_map=_response_types_map,
1224
+ ).data
1225
+
1226
+
1227
+ @validate_call
1228
+ async def submit_jam_content_with_http_info(
1229
+ self,
1230
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
1231
+ create_jam_submission_request: Optional[CreateJamSubmissionRequest] = None,
1232
+ _request_timeout: Union[
1233
+ None,
1234
+ Annotated[StrictFloat, Field(gt=0)],
1235
+ Tuple[
1236
+ Annotated[StrictFloat, Field(gt=0)],
1237
+ Annotated[StrictFloat, Field(gt=0)]
1238
+ ]
1239
+ ] = None,
1240
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1241
+ _content_type: Optional[StrictStr] = None,
1242
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1243
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1244
+ ) -> ApiResponse[JamSubmission]:
1245
+ """Submit Jam Content
1246
+
1247
+ Submits content to a jam. The content must have been uploaded by the submitter, and both the content upload and jam submission must be made within the jam's designated times.
1248
+
1249
+ :param jam_id: Must be a valid jam ID. (required)
1250
+ :type jam_id: str
1251
+ :param create_jam_submission_request:
1252
+ :type create_jam_submission_request: CreateJamSubmissionRequest
1253
+ :param _request_timeout: timeout setting for this request. If one
1254
+ number provided, it will be total request
1255
+ timeout. It can also be a pair (tuple) of
1256
+ (connection, read) timeouts.
1257
+ :type _request_timeout: int, tuple(int, int), optional
1258
+ :param _request_auth: set to override the auth_settings for an a single
1259
+ request; this effectively ignores the
1260
+ authentication in the spec for a single request.
1261
+ :type _request_auth: dict, optional
1262
+ :param _content_type: force content-type for the request.
1263
+ :type _content_type: str, Optional
1264
+ :param _headers: set to override the headers for a single
1265
+ request; this effectively ignores the headers
1266
+ in the spec for a single request.
1267
+ :type _headers: dict, optional
1268
+ :param _host_index: set to override the host_index for a single
1269
+ request; this effectively ignores the host_index
1270
+ in the spec for a single request.
1271
+ :type _host_index: int, optional
1272
+ :return: Returns the result object.
1273
+ """ # noqa: E501
1274
+
1275
+ _param = self._submit_jam_content_serialize(
1276
+ jam_id=jam_id,
1277
+ create_jam_submission_request=create_jam_submission_request,
1278
+ _request_auth=_request_auth,
1279
+ _content_type=_content_type,
1280
+ _headers=_headers,
1281
+ _host_index=_host_index
1282
+ )
1283
+
1284
+ _response_types_map: Dict[str, Optional[str]] = {
1285
+ '200': "JamSubmission",
1286
+ '401': "Error",
1287
+ '404': "Error",
1288
+ }
1289
+ response_data = await self.api_client.call_api(
1290
+ *_param,
1291
+ _request_timeout=_request_timeout
1292
+ )
1293
+ await response_data.read()
1294
+ return self.api_client.response_deserialize(
1295
+ response_data=response_data,
1296
+ response_types_map=_response_types_map,
1297
+ )
1298
+
1299
+
1300
+ @validate_call
1301
+ async def submit_jam_content_without_preload_content(
1302
+ self,
1303
+ jam_id: Annotated[StrictStr, Field(description="Must be a valid jam ID.")],
1304
+ create_jam_submission_request: Optional[CreateJamSubmissionRequest] = None,
1305
+ _request_timeout: Union[
1306
+ None,
1307
+ Annotated[StrictFloat, Field(gt=0)],
1308
+ Tuple[
1309
+ Annotated[StrictFloat, Field(gt=0)],
1310
+ Annotated[StrictFloat, Field(gt=0)]
1311
+ ]
1312
+ ] = None,
1313
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1314
+ _content_type: Optional[StrictStr] = None,
1315
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1316
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1317
+ ) -> RESTResponseType:
1318
+ """Submit Jam Content
1319
+
1320
+ Submits content to a jam. The content must have been uploaded by the submitter, and both the content upload and jam submission must be made within the jam's designated times.
1321
+
1322
+ :param jam_id: Must be a valid jam ID. (required)
1323
+ :type jam_id: str
1324
+ :param create_jam_submission_request:
1325
+ :type create_jam_submission_request: CreateJamSubmissionRequest
1326
+ :param _request_timeout: timeout setting for this request. If one
1327
+ number provided, it will be total request
1328
+ timeout. It can also be a pair (tuple) of
1329
+ (connection, read) timeouts.
1330
+ :type _request_timeout: int, tuple(int, int), optional
1331
+ :param _request_auth: set to override the auth_settings for an a single
1332
+ request; this effectively ignores the
1333
+ authentication in the spec for a single request.
1334
+ :type _request_auth: dict, optional
1335
+ :param _content_type: force content-type for the request.
1336
+ :type _content_type: str, Optional
1337
+ :param _headers: set to override the headers for a single
1338
+ request; this effectively ignores the headers
1339
+ in the spec for a single request.
1340
+ :type _headers: dict, optional
1341
+ :param _host_index: set to override the host_index for a single
1342
+ request; this effectively ignores the host_index
1343
+ in the spec for a single request.
1344
+ :type _host_index: int, optional
1345
+ :return: Returns the result object.
1346
+ """ # noqa: E501
1347
+
1348
+ _param = self._submit_jam_content_serialize(
1349
+ jam_id=jam_id,
1350
+ create_jam_submission_request=create_jam_submission_request,
1351
+ _request_auth=_request_auth,
1352
+ _content_type=_content_type,
1353
+ _headers=_headers,
1354
+ _host_index=_host_index
1355
+ )
1356
+
1357
+ _response_types_map: Dict[str, Optional[str]] = {
1358
+ '200': "JamSubmission",
1359
+ '401': "Error",
1360
+ '404': "Error",
1361
+ }
1362
+ response_data = await self.api_client.call_api(
1363
+ *_param,
1364
+ _request_timeout=_request_timeout
1365
+ )
1366
+ return response_data.response
1367
+
1368
+
1369
+ def _submit_jam_content_serialize(
1370
+ self,
1371
+ jam_id,
1372
+ create_jam_submission_request,
1373
+ _request_auth,
1374
+ _content_type,
1375
+ _headers,
1376
+ _host_index,
1377
+ ) -> RequestSerialized:
1378
+
1379
+ _host = None
1380
+
1381
+ _collection_formats: Dict[str, str] = {
1382
+ }
1383
+
1384
+ _path_params: Dict[str, str] = {}
1385
+ _query_params: List[Tuple[str, str]] = []
1386
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1387
+ _form_params: List[Tuple[str, str]] = []
1388
+ _files: Dict[
1389
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1390
+ ] = {}
1391
+ _body_params: Optional[bytes] = None
1392
+
1393
+ # process the path parameters
1394
+ if jam_id is not None:
1395
+ _path_params['jamId'] = jam_id
1396
+ # process the query parameters
1397
+ # process the header parameters
1398
+ # process the form parameters
1399
+ # process the body parameter
1400
+ if create_jam_submission_request is not None:
1401
+ _body_params = create_jam_submission_request
1402
+
1403
+
1404
+ # set the HTTP header `Accept`
1405
+ if 'Accept' not in _header_params:
1406
+ _header_params['Accept'] = self.api_client.select_header_accept(
1407
+ [
1408
+ 'application/json'
1409
+ ]
1410
+ )
1411
+
1412
+ # set the HTTP header `Content-Type`
1413
+ if _content_type:
1414
+ _header_params['Content-Type'] = _content_type
1415
+ else:
1416
+ _default_content_type = (
1417
+ self.api_client.select_header_content_type(
1418
+ [
1419
+ 'application/json'
1420
+ ]
1421
+ )
1422
+ )
1423
+ if _default_content_type is not None:
1424
+ _header_params['Content-Type'] = _default_content_type
1425
+
1426
+ # authentication setting
1427
+ _auth_settings: List[str] = [
1428
+ 'authCookie'
1429
+ ]
1430
+
1431
+ return self.api_client.param_serialize(
1432
+ method='POST',
1433
+ resource_path='/jams/{jamId}/submissions',
1434
+ path_params=_path_params,
1435
+ query_params=_query_params,
1436
+ header_params=_header_params,
1437
+ body=_body_params,
1438
+ post_params=_form_params,
1439
+ files=_files,
1440
+ auth_settings=_auth_settings,
1441
+ collection_formats=_collection_formats,
1442
+ _host=_host,
1443
+ _request_auth=_request_auth
1444
+ )
1445
+
1446
+