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,4234 @@
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, StrictBool, StrictStr, field_validator
19
+ from typing import List, Optional
20
+ from typing_extensions import Annotated
21
+ from vrchatapi.models.avatar import Avatar
22
+ from vrchatapi.models.avatar_style import AvatarStyle
23
+ from vrchatapi.models.create_avatar_request import CreateAvatarRequest
24
+ from vrchatapi.models.current_user import CurrentUser
25
+ from vrchatapi.models.order_option import OrderOption
26
+ from vrchatapi.models.release_status import ReleaseStatus
27
+ from vrchatapi.models.service_queue_stats import ServiceQueueStats
28
+ from vrchatapi.models.service_status import ServiceStatus
29
+ from vrchatapi.models.sort_option import SortOption
30
+ from vrchatapi.models.update_avatar_request import UpdateAvatarRequest
31
+
32
+ from vrchatapi.api_client import ApiClient, RequestSerialized
33
+ from vrchatapi.api_response import ApiResponse
34
+ from vrchatapi.rest import RESTResponseType
35
+
36
+
37
+ class AvatarsApi:
38
+ """NOTE: This class is auto generated by OpenAPI Generator
39
+ Ref: https://openapi-generator.tech
40
+
41
+ Do not edit the class manually.
42
+ """
43
+
44
+ def __init__(self, api_client=None) -> None:
45
+ if api_client is None:
46
+ api_client = ApiClient.get_default()
47
+ self.api_client = api_client
48
+
49
+
50
+ @validate_call
51
+ async def create_avatar(
52
+ self,
53
+ create_avatar_request: Optional[CreateAvatarRequest] = None,
54
+ _request_timeout: Union[
55
+ None,
56
+ Annotated[StrictFloat, Field(gt=0)],
57
+ Tuple[
58
+ Annotated[StrictFloat, Field(gt=0)],
59
+ Annotated[StrictFloat, Field(gt=0)]
60
+ ]
61
+ ] = None,
62
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
63
+ _content_type: Optional[StrictStr] = None,
64
+ _headers: Optional[Dict[StrictStr, Any]] = None,
65
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
66
+ ) -> Avatar:
67
+ """Create Avatar
68
+
69
+ Create an avatar. It's possible to optionally specify a ID if you want a custom one. Attempting to create an Avatar with an already claimed ID will result in a DB error.
70
+
71
+ :param create_avatar_request:
72
+ :type create_avatar_request: CreateAvatarRequest
73
+ :param _request_timeout: timeout setting for this request. If one
74
+ number provided, it will be total request
75
+ timeout. It can also be a pair (tuple) of
76
+ (connection, read) timeouts.
77
+ :type _request_timeout: int, tuple(int, int), optional
78
+ :param _request_auth: set to override the auth_settings for an a single
79
+ request; this effectively ignores the
80
+ authentication in the spec for a single request.
81
+ :type _request_auth: dict, optional
82
+ :param _content_type: force content-type for the request.
83
+ :type _content_type: str, Optional
84
+ :param _headers: set to override the headers for a single
85
+ request; this effectively ignores the headers
86
+ in the spec for a single request.
87
+ :type _headers: dict, optional
88
+ :param _host_index: set to override the host_index for a single
89
+ request; this effectively ignores the host_index
90
+ in the spec for a single request.
91
+ :type _host_index: int, optional
92
+ :return: Returns the result object.
93
+ """ # noqa: E501
94
+
95
+ _param = self._create_avatar_serialize(
96
+ create_avatar_request=create_avatar_request,
97
+ _request_auth=_request_auth,
98
+ _content_type=_content_type,
99
+ _headers=_headers,
100
+ _host_index=_host_index
101
+ )
102
+
103
+ _response_types_map: Dict[str, Optional[str]] = {
104
+ '200': "Avatar",
105
+ '400': "Error",
106
+ '401': "Error",
107
+ }
108
+ response_data = await self.api_client.call_api(
109
+ *_param,
110
+ _request_timeout=_request_timeout
111
+ )
112
+ await response_data.read()
113
+ return self.api_client.response_deserialize(
114
+ response_data=response_data,
115
+ response_types_map=_response_types_map,
116
+ ).data
117
+
118
+
119
+ @validate_call
120
+ async def create_avatar_with_http_info(
121
+ self,
122
+ create_avatar_request: Optional[CreateAvatarRequest] = None,
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[Avatar]:
136
+ """Create Avatar
137
+
138
+ Create an avatar. It's possible to optionally specify a ID if you want a custom one. Attempting to create an Avatar with an already claimed ID will result in a DB error.
139
+
140
+ :param create_avatar_request:
141
+ :type create_avatar_request: CreateAvatarRequest
142
+ :param _request_timeout: timeout setting for this request. If one
143
+ number provided, it will be total request
144
+ timeout. It can also be a pair (tuple) of
145
+ (connection, read) timeouts.
146
+ :type _request_timeout: int, tuple(int, int), optional
147
+ :param _request_auth: set to override the auth_settings for an a single
148
+ request; this effectively ignores the
149
+ authentication in the spec for a single request.
150
+ :type _request_auth: dict, optional
151
+ :param _content_type: force content-type for the request.
152
+ :type _content_type: str, Optional
153
+ :param _headers: set to override the headers for a single
154
+ request; this effectively ignores the headers
155
+ in the spec for a single request.
156
+ :type _headers: dict, optional
157
+ :param _host_index: set to override the host_index for a single
158
+ request; this effectively ignores the host_index
159
+ in the spec for a single request.
160
+ :type _host_index: int, optional
161
+ :return: Returns the result object.
162
+ """ # noqa: E501
163
+
164
+ _param = self._create_avatar_serialize(
165
+ create_avatar_request=create_avatar_request,
166
+ _request_auth=_request_auth,
167
+ _content_type=_content_type,
168
+ _headers=_headers,
169
+ _host_index=_host_index
170
+ )
171
+
172
+ _response_types_map: Dict[str, Optional[str]] = {
173
+ '200': "Avatar",
174
+ '400': "Error",
175
+ '401': "Error",
176
+ }
177
+ response_data = await self.api_client.call_api(
178
+ *_param,
179
+ _request_timeout=_request_timeout
180
+ )
181
+ await response_data.read()
182
+ return self.api_client.response_deserialize(
183
+ response_data=response_data,
184
+ response_types_map=_response_types_map,
185
+ )
186
+
187
+
188
+ @validate_call
189
+ async def create_avatar_without_preload_content(
190
+ self,
191
+ create_avatar_request: Optional[CreateAvatarRequest] = None,
192
+ _request_timeout: Union[
193
+ None,
194
+ Annotated[StrictFloat, Field(gt=0)],
195
+ Tuple[
196
+ Annotated[StrictFloat, Field(gt=0)],
197
+ Annotated[StrictFloat, Field(gt=0)]
198
+ ]
199
+ ] = None,
200
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
201
+ _content_type: Optional[StrictStr] = None,
202
+ _headers: Optional[Dict[StrictStr, Any]] = None,
203
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
204
+ ) -> RESTResponseType:
205
+ """Create Avatar
206
+
207
+ Create an avatar. It's possible to optionally specify a ID if you want a custom one. Attempting to create an Avatar with an already claimed ID will result in a DB error.
208
+
209
+ :param create_avatar_request:
210
+ :type create_avatar_request: CreateAvatarRequest
211
+ :param _request_timeout: timeout setting for this request. If one
212
+ number provided, it will be total request
213
+ timeout. It can also be a pair (tuple) of
214
+ (connection, read) timeouts.
215
+ :type _request_timeout: int, tuple(int, int), optional
216
+ :param _request_auth: set to override the auth_settings for an a single
217
+ request; this effectively ignores the
218
+ authentication in the spec for a single request.
219
+ :type _request_auth: dict, optional
220
+ :param _content_type: force content-type for the request.
221
+ :type _content_type: str, Optional
222
+ :param _headers: set to override the headers for a single
223
+ request; this effectively ignores the headers
224
+ in the spec for a single request.
225
+ :type _headers: dict, optional
226
+ :param _host_index: set to override the host_index for a single
227
+ request; this effectively ignores the host_index
228
+ in the spec for a single request.
229
+ :type _host_index: int, optional
230
+ :return: Returns the result object.
231
+ """ # noqa: E501
232
+
233
+ _param = self._create_avatar_serialize(
234
+ create_avatar_request=create_avatar_request,
235
+ _request_auth=_request_auth,
236
+ _content_type=_content_type,
237
+ _headers=_headers,
238
+ _host_index=_host_index
239
+ )
240
+
241
+ _response_types_map: Dict[str, Optional[str]] = {
242
+ '200': "Avatar",
243
+ '400': "Error",
244
+ '401': "Error",
245
+ }
246
+ response_data = await self.api_client.call_api(
247
+ *_param,
248
+ _request_timeout=_request_timeout
249
+ )
250
+ return response_data.response
251
+
252
+
253
+ def _create_avatar_serialize(
254
+ self,
255
+ create_avatar_request,
256
+ _request_auth,
257
+ _content_type,
258
+ _headers,
259
+ _host_index,
260
+ ) -> RequestSerialized:
261
+
262
+ _host = None
263
+
264
+ _collection_formats: Dict[str, str] = {
265
+ }
266
+
267
+ _path_params: Dict[str, str] = {}
268
+ _query_params: List[Tuple[str, str]] = []
269
+ _header_params: Dict[str, Optional[str]] = _headers or {}
270
+ _form_params: List[Tuple[str, str]] = []
271
+ _files: Dict[
272
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
273
+ ] = {}
274
+ _body_params: Optional[bytes] = None
275
+
276
+ # process the path parameters
277
+ # process the query parameters
278
+ # process the header parameters
279
+ # process the form parameters
280
+ # process the body parameter
281
+ if create_avatar_request is not None:
282
+ _body_params = create_avatar_request
283
+
284
+
285
+ # set the HTTP header `Accept`
286
+ if 'Accept' not in _header_params:
287
+ _header_params['Accept'] = self.api_client.select_header_accept(
288
+ [
289
+ 'application/json'
290
+ ]
291
+ )
292
+
293
+ # set the HTTP header `Content-Type`
294
+ if _content_type:
295
+ _header_params['Content-Type'] = _content_type
296
+ else:
297
+ _default_content_type = (
298
+ self.api_client.select_header_content_type(
299
+ [
300
+ 'application/json'
301
+ ]
302
+ )
303
+ )
304
+ if _default_content_type is not None:
305
+ _header_params['Content-Type'] = _default_content_type
306
+
307
+ # authentication setting
308
+ _auth_settings: List[str] = [
309
+ 'authCookie'
310
+ ]
311
+
312
+ return self.api_client.param_serialize(
313
+ method='POST',
314
+ resource_path='/avatars',
315
+ path_params=_path_params,
316
+ query_params=_query_params,
317
+ header_params=_header_params,
318
+ body=_body_params,
319
+ post_params=_form_params,
320
+ files=_files,
321
+ auth_settings=_auth_settings,
322
+ collection_formats=_collection_formats,
323
+ _host=_host,
324
+ _request_auth=_request_auth
325
+ )
326
+
327
+
328
+
329
+
330
+ @validate_call
331
+ async def delete_avatar(
332
+ self,
333
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
334
+ _request_timeout: Union[
335
+ None,
336
+ Annotated[StrictFloat, Field(gt=0)],
337
+ Tuple[
338
+ Annotated[StrictFloat, Field(gt=0)],
339
+ Annotated[StrictFloat, Field(gt=0)]
340
+ ]
341
+ ] = None,
342
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
343
+ _content_type: Optional[StrictStr] = None,
344
+ _headers: Optional[Dict[StrictStr, Any]] = None,
345
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
346
+ ) -> Avatar:
347
+ """Delete Avatar
348
+
349
+ Delete an avatar. Notice an avatar is never fully \"deleted\", only its ReleaseStatus is set to \"hidden\" and the linked Files are deleted. The AvatarID is permanently reserved.
350
+
351
+ :param avatar_id: Must be a valid avatar ID. (required)
352
+ :type avatar_id: str
353
+ :param _request_timeout: timeout setting for this request. If one
354
+ number provided, it will be total request
355
+ timeout. It can also be a pair (tuple) of
356
+ (connection, read) timeouts.
357
+ :type _request_timeout: int, tuple(int, int), optional
358
+ :param _request_auth: set to override the auth_settings for an a single
359
+ request; this effectively ignores the
360
+ authentication in the spec for a single request.
361
+ :type _request_auth: dict, optional
362
+ :param _content_type: force content-type for the request.
363
+ :type _content_type: str, Optional
364
+ :param _headers: set to override the headers for a single
365
+ request; this effectively ignores the headers
366
+ in the spec for a single request.
367
+ :type _headers: dict, optional
368
+ :param _host_index: set to override the host_index for a single
369
+ request; this effectively ignores the host_index
370
+ in the spec for a single request.
371
+ :type _host_index: int, optional
372
+ :return: Returns the result object.
373
+ """ # noqa: E501
374
+
375
+ _param = self._delete_avatar_serialize(
376
+ avatar_id=avatar_id,
377
+ _request_auth=_request_auth,
378
+ _content_type=_content_type,
379
+ _headers=_headers,
380
+ _host_index=_host_index
381
+ )
382
+
383
+ _response_types_map: Dict[str, Optional[str]] = {
384
+ '200': "Avatar",
385
+ '401': "Error",
386
+ '404': "Error",
387
+ }
388
+ response_data = await self.api_client.call_api(
389
+ *_param,
390
+ _request_timeout=_request_timeout
391
+ )
392
+ await response_data.read()
393
+ return self.api_client.response_deserialize(
394
+ response_data=response_data,
395
+ response_types_map=_response_types_map,
396
+ ).data
397
+
398
+
399
+ @validate_call
400
+ async def delete_avatar_with_http_info(
401
+ self,
402
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
403
+ _request_timeout: Union[
404
+ None,
405
+ Annotated[StrictFloat, Field(gt=0)],
406
+ Tuple[
407
+ Annotated[StrictFloat, Field(gt=0)],
408
+ Annotated[StrictFloat, Field(gt=0)]
409
+ ]
410
+ ] = None,
411
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
412
+ _content_type: Optional[StrictStr] = None,
413
+ _headers: Optional[Dict[StrictStr, Any]] = None,
414
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
415
+ ) -> ApiResponse[Avatar]:
416
+ """Delete Avatar
417
+
418
+ Delete an avatar. Notice an avatar is never fully \"deleted\", only its ReleaseStatus is set to \"hidden\" and the linked Files are deleted. The AvatarID is permanently reserved.
419
+
420
+ :param avatar_id: Must be a valid avatar ID. (required)
421
+ :type avatar_id: str
422
+ :param _request_timeout: timeout setting for this request. If one
423
+ number provided, it will be total request
424
+ timeout. It can also be a pair (tuple) of
425
+ (connection, read) timeouts.
426
+ :type _request_timeout: int, tuple(int, int), optional
427
+ :param _request_auth: set to override the auth_settings for an a single
428
+ request; this effectively ignores the
429
+ authentication in the spec for a single request.
430
+ :type _request_auth: dict, optional
431
+ :param _content_type: force content-type for the request.
432
+ :type _content_type: str, Optional
433
+ :param _headers: set to override the headers for a single
434
+ request; this effectively ignores the headers
435
+ in the spec for a single request.
436
+ :type _headers: dict, optional
437
+ :param _host_index: set to override the host_index for a single
438
+ request; this effectively ignores the host_index
439
+ in the spec for a single request.
440
+ :type _host_index: int, optional
441
+ :return: Returns the result object.
442
+ """ # noqa: E501
443
+
444
+ _param = self._delete_avatar_serialize(
445
+ avatar_id=avatar_id,
446
+ _request_auth=_request_auth,
447
+ _content_type=_content_type,
448
+ _headers=_headers,
449
+ _host_index=_host_index
450
+ )
451
+
452
+ _response_types_map: Dict[str, Optional[str]] = {
453
+ '200': "Avatar",
454
+ '401': "Error",
455
+ '404': "Error",
456
+ }
457
+ response_data = await self.api_client.call_api(
458
+ *_param,
459
+ _request_timeout=_request_timeout
460
+ )
461
+ await response_data.read()
462
+ return self.api_client.response_deserialize(
463
+ response_data=response_data,
464
+ response_types_map=_response_types_map,
465
+ )
466
+
467
+
468
+ @validate_call
469
+ async def delete_avatar_without_preload_content(
470
+ self,
471
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
472
+ _request_timeout: Union[
473
+ None,
474
+ Annotated[StrictFloat, Field(gt=0)],
475
+ Tuple[
476
+ Annotated[StrictFloat, Field(gt=0)],
477
+ Annotated[StrictFloat, Field(gt=0)]
478
+ ]
479
+ ] = None,
480
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
481
+ _content_type: Optional[StrictStr] = None,
482
+ _headers: Optional[Dict[StrictStr, Any]] = None,
483
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
484
+ ) -> RESTResponseType:
485
+ """Delete Avatar
486
+
487
+ Delete an avatar. Notice an avatar is never fully \"deleted\", only its ReleaseStatus is set to \"hidden\" and the linked Files are deleted. The AvatarID is permanently reserved.
488
+
489
+ :param avatar_id: Must be a valid avatar ID. (required)
490
+ :type avatar_id: str
491
+ :param _request_timeout: timeout setting for this request. If one
492
+ number provided, it will be total request
493
+ timeout. It can also be a pair (tuple) of
494
+ (connection, read) timeouts.
495
+ :type _request_timeout: int, tuple(int, int), optional
496
+ :param _request_auth: set to override the auth_settings for an a single
497
+ request; this effectively ignores the
498
+ authentication in the spec for a single request.
499
+ :type _request_auth: dict, optional
500
+ :param _content_type: force content-type for the request.
501
+ :type _content_type: str, Optional
502
+ :param _headers: set to override the headers for a single
503
+ request; this effectively ignores the headers
504
+ in the spec for a single request.
505
+ :type _headers: dict, optional
506
+ :param _host_index: set to override the host_index for a single
507
+ request; this effectively ignores the host_index
508
+ in the spec for a single request.
509
+ :type _host_index: int, optional
510
+ :return: Returns the result object.
511
+ """ # noqa: E501
512
+
513
+ _param = self._delete_avatar_serialize(
514
+ avatar_id=avatar_id,
515
+ _request_auth=_request_auth,
516
+ _content_type=_content_type,
517
+ _headers=_headers,
518
+ _host_index=_host_index
519
+ )
520
+
521
+ _response_types_map: Dict[str, Optional[str]] = {
522
+ '200': "Avatar",
523
+ '401': "Error",
524
+ '404': "Error",
525
+ }
526
+ response_data = await self.api_client.call_api(
527
+ *_param,
528
+ _request_timeout=_request_timeout
529
+ )
530
+ return response_data.response
531
+
532
+
533
+ def _delete_avatar_serialize(
534
+ self,
535
+ avatar_id,
536
+ _request_auth,
537
+ _content_type,
538
+ _headers,
539
+ _host_index,
540
+ ) -> RequestSerialized:
541
+
542
+ _host = None
543
+
544
+ _collection_formats: Dict[str, str] = {
545
+ }
546
+
547
+ _path_params: Dict[str, str] = {}
548
+ _query_params: List[Tuple[str, str]] = []
549
+ _header_params: Dict[str, Optional[str]] = _headers or {}
550
+ _form_params: List[Tuple[str, str]] = []
551
+ _files: Dict[
552
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
553
+ ] = {}
554
+ _body_params: Optional[bytes] = None
555
+
556
+ # process the path parameters
557
+ if avatar_id is not None:
558
+ _path_params['avatarId'] = avatar_id
559
+ # process the query parameters
560
+ # process the header parameters
561
+ # process the form parameters
562
+ # process the body parameter
563
+
564
+
565
+ # set the HTTP header `Accept`
566
+ if 'Accept' not in _header_params:
567
+ _header_params['Accept'] = self.api_client.select_header_accept(
568
+ [
569
+ 'application/json'
570
+ ]
571
+ )
572
+
573
+
574
+ # authentication setting
575
+ _auth_settings: List[str] = [
576
+ 'authCookie'
577
+ ]
578
+
579
+ return self.api_client.param_serialize(
580
+ method='DELETE',
581
+ resource_path='/avatars/{avatarId}',
582
+ path_params=_path_params,
583
+ query_params=_query_params,
584
+ header_params=_header_params,
585
+ body=_body_params,
586
+ post_params=_form_params,
587
+ files=_files,
588
+ auth_settings=_auth_settings,
589
+ collection_formats=_collection_formats,
590
+ _host=_host,
591
+ _request_auth=_request_auth
592
+ )
593
+
594
+
595
+
596
+
597
+ @validate_call
598
+ async def delete_impostor(
599
+ self,
600
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
601
+ _request_timeout: Union[
602
+ None,
603
+ Annotated[StrictFloat, Field(gt=0)],
604
+ Tuple[
605
+ Annotated[StrictFloat, Field(gt=0)],
606
+ Annotated[StrictFloat, Field(gt=0)]
607
+ ]
608
+ ] = None,
609
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
610
+ _content_type: Optional[StrictStr] = None,
611
+ _headers: Optional[Dict[StrictStr, Any]] = None,
612
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
613
+ ) -> None:
614
+ """Delete generated Impostor
615
+
616
+ Delete generated Impostor for that avatar.
617
+
618
+ :param avatar_id: Must be a valid avatar ID. (required)
619
+ :type avatar_id: str
620
+ :param _request_timeout: timeout setting for this request. If one
621
+ number provided, it will be total request
622
+ timeout. It can also be a pair (tuple) of
623
+ (connection, read) timeouts.
624
+ :type _request_timeout: int, tuple(int, int), optional
625
+ :param _request_auth: set to override the auth_settings for an a single
626
+ request; this effectively ignores the
627
+ authentication in the spec for a single request.
628
+ :type _request_auth: dict, optional
629
+ :param _content_type: force content-type for the request.
630
+ :type _content_type: str, Optional
631
+ :param _headers: set to override the headers for a single
632
+ request; this effectively ignores the headers
633
+ in the spec for a single request.
634
+ :type _headers: dict, optional
635
+ :param _host_index: set to override the host_index for a single
636
+ request; this effectively ignores the host_index
637
+ in the spec for a single request.
638
+ :type _host_index: int, optional
639
+ :return: Returns the result object.
640
+ """ # noqa: E501
641
+
642
+ _param = self._delete_impostor_serialize(
643
+ avatar_id=avatar_id,
644
+ _request_auth=_request_auth,
645
+ _content_type=_content_type,
646
+ _headers=_headers,
647
+ _host_index=_host_index
648
+ )
649
+
650
+ _response_types_map: Dict[str, Optional[str]] = {
651
+ '200': None,
652
+ '401': "Error",
653
+ '404': "Error",
654
+ }
655
+ response_data = await self.api_client.call_api(
656
+ *_param,
657
+ _request_timeout=_request_timeout
658
+ )
659
+ await response_data.read()
660
+ return self.api_client.response_deserialize(
661
+ response_data=response_data,
662
+ response_types_map=_response_types_map,
663
+ ).data
664
+
665
+
666
+ @validate_call
667
+ async def delete_impostor_with_http_info(
668
+ self,
669
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
670
+ _request_timeout: Union[
671
+ None,
672
+ Annotated[StrictFloat, Field(gt=0)],
673
+ Tuple[
674
+ Annotated[StrictFloat, Field(gt=0)],
675
+ Annotated[StrictFloat, Field(gt=0)]
676
+ ]
677
+ ] = None,
678
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
679
+ _content_type: Optional[StrictStr] = None,
680
+ _headers: Optional[Dict[StrictStr, Any]] = None,
681
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
682
+ ) -> ApiResponse[None]:
683
+ """Delete generated Impostor
684
+
685
+ Delete generated Impostor for that avatar.
686
+
687
+ :param avatar_id: Must be a valid avatar ID. (required)
688
+ :type avatar_id: str
689
+ :param _request_timeout: timeout setting for this request. If one
690
+ number provided, it will be total request
691
+ timeout. It can also be a pair (tuple) of
692
+ (connection, read) timeouts.
693
+ :type _request_timeout: int, tuple(int, int), optional
694
+ :param _request_auth: set to override the auth_settings for an a single
695
+ request; this effectively ignores the
696
+ authentication in the spec for a single request.
697
+ :type _request_auth: dict, optional
698
+ :param _content_type: force content-type for the request.
699
+ :type _content_type: str, Optional
700
+ :param _headers: set to override the headers for a single
701
+ request; this effectively ignores the headers
702
+ in the spec for a single request.
703
+ :type _headers: dict, optional
704
+ :param _host_index: set to override the host_index for a single
705
+ request; this effectively ignores the host_index
706
+ in the spec for a single request.
707
+ :type _host_index: int, optional
708
+ :return: Returns the result object.
709
+ """ # noqa: E501
710
+
711
+ _param = self._delete_impostor_serialize(
712
+ avatar_id=avatar_id,
713
+ _request_auth=_request_auth,
714
+ _content_type=_content_type,
715
+ _headers=_headers,
716
+ _host_index=_host_index
717
+ )
718
+
719
+ _response_types_map: Dict[str, Optional[str]] = {
720
+ '200': None,
721
+ '401': "Error",
722
+ '404': "Error",
723
+ }
724
+ response_data = await self.api_client.call_api(
725
+ *_param,
726
+ _request_timeout=_request_timeout
727
+ )
728
+ await response_data.read()
729
+ return self.api_client.response_deserialize(
730
+ response_data=response_data,
731
+ response_types_map=_response_types_map,
732
+ )
733
+
734
+
735
+ @validate_call
736
+ async def delete_impostor_without_preload_content(
737
+ self,
738
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
739
+ _request_timeout: Union[
740
+ None,
741
+ Annotated[StrictFloat, Field(gt=0)],
742
+ Tuple[
743
+ Annotated[StrictFloat, Field(gt=0)],
744
+ Annotated[StrictFloat, Field(gt=0)]
745
+ ]
746
+ ] = None,
747
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
748
+ _content_type: Optional[StrictStr] = None,
749
+ _headers: Optional[Dict[StrictStr, Any]] = None,
750
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
751
+ ) -> RESTResponseType:
752
+ """Delete generated Impostor
753
+
754
+ Delete generated Impostor for that avatar.
755
+
756
+ :param avatar_id: Must be a valid avatar ID. (required)
757
+ :type avatar_id: str
758
+ :param _request_timeout: timeout setting for this request. If one
759
+ number provided, it will be total request
760
+ timeout. It can also be a pair (tuple) of
761
+ (connection, read) timeouts.
762
+ :type _request_timeout: int, tuple(int, int), optional
763
+ :param _request_auth: set to override the auth_settings for an a single
764
+ request; this effectively ignores the
765
+ authentication in the spec for a single request.
766
+ :type _request_auth: dict, optional
767
+ :param _content_type: force content-type for the request.
768
+ :type _content_type: str, Optional
769
+ :param _headers: set to override the headers for a single
770
+ request; this effectively ignores the headers
771
+ in the spec for a single request.
772
+ :type _headers: dict, optional
773
+ :param _host_index: set to override the host_index for a single
774
+ request; this effectively ignores the host_index
775
+ in the spec for a single request.
776
+ :type _host_index: int, optional
777
+ :return: Returns the result object.
778
+ """ # noqa: E501
779
+
780
+ _param = self._delete_impostor_serialize(
781
+ avatar_id=avatar_id,
782
+ _request_auth=_request_auth,
783
+ _content_type=_content_type,
784
+ _headers=_headers,
785
+ _host_index=_host_index
786
+ )
787
+
788
+ _response_types_map: Dict[str, Optional[str]] = {
789
+ '200': None,
790
+ '401': "Error",
791
+ '404': "Error",
792
+ }
793
+ response_data = await self.api_client.call_api(
794
+ *_param,
795
+ _request_timeout=_request_timeout
796
+ )
797
+ return response_data.response
798
+
799
+
800
+ def _delete_impostor_serialize(
801
+ self,
802
+ avatar_id,
803
+ _request_auth,
804
+ _content_type,
805
+ _headers,
806
+ _host_index,
807
+ ) -> RequestSerialized:
808
+
809
+ _host = None
810
+
811
+ _collection_formats: Dict[str, str] = {
812
+ }
813
+
814
+ _path_params: Dict[str, str] = {}
815
+ _query_params: List[Tuple[str, str]] = []
816
+ _header_params: Dict[str, Optional[str]] = _headers or {}
817
+ _form_params: List[Tuple[str, str]] = []
818
+ _files: Dict[
819
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
820
+ ] = {}
821
+ _body_params: Optional[bytes] = None
822
+
823
+ # process the path parameters
824
+ if avatar_id is not None:
825
+ _path_params['avatarId'] = avatar_id
826
+ # process the query parameters
827
+ # process the header parameters
828
+ # process the form parameters
829
+ # process the body parameter
830
+
831
+
832
+ # set the HTTP header `Accept`
833
+ if 'Accept' not in _header_params:
834
+ _header_params['Accept'] = self.api_client.select_header_accept(
835
+ [
836
+ 'application/json'
837
+ ]
838
+ )
839
+
840
+
841
+ # authentication setting
842
+ _auth_settings: List[str] = [
843
+ 'authCookie'
844
+ ]
845
+
846
+ return self.api_client.param_serialize(
847
+ method='DELETE',
848
+ resource_path='/avatars/{avatarId}/impostor',
849
+ path_params=_path_params,
850
+ query_params=_query_params,
851
+ header_params=_header_params,
852
+ body=_body_params,
853
+ post_params=_form_params,
854
+ files=_files,
855
+ auth_settings=_auth_settings,
856
+ collection_formats=_collection_formats,
857
+ _host=_host,
858
+ _request_auth=_request_auth
859
+ )
860
+
861
+
862
+
863
+
864
+ @validate_call
865
+ async def enqueue_impostor(
866
+ self,
867
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
868
+ _request_timeout: Union[
869
+ None,
870
+ Annotated[StrictFloat, Field(gt=0)],
871
+ Tuple[
872
+ Annotated[StrictFloat, Field(gt=0)],
873
+ Annotated[StrictFloat, Field(gt=0)]
874
+ ]
875
+ ] = None,
876
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
877
+ _content_type: Optional[StrictStr] = None,
878
+ _headers: Optional[Dict[StrictStr, Any]] = None,
879
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
880
+ ) -> ServiceStatus:
881
+ """Enqueue Impostor generation
882
+
883
+ Enqueue Impostor generation for that avatar.
884
+
885
+ :param avatar_id: Must be a valid avatar ID. (required)
886
+ :type avatar_id: str
887
+ :param _request_timeout: timeout setting for this request. If one
888
+ number provided, it will be total request
889
+ timeout. It can also be a pair (tuple) of
890
+ (connection, read) timeouts.
891
+ :type _request_timeout: int, tuple(int, int), optional
892
+ :param _request_auth: set to override the auth_settings for an a single
893
+ request; this effectively ignores the
894
+ authentication in the spec for a single request.
895
+ :type _request_auth: dict, optional
896
+ :param _content_type: force content-type for the request.
897
+ :type _content_type: str, Optional
898
+ :param _headers: set to override the headers for a single
899
+ request; this effectively ignores the headers
900
+ in the spec for a single request.
901
+ :type _headers: dict, optional
902
+ :param _host_index: set to override the host_index for a single
903
+ request; this effectively ignores the host_index
904
+ in the spec for a single request.
905
+ :type _host_index: int, optional
906
+ :return: Returns the result object.
907
+ """ # noqa: E501
908
+
909
+ _param = self._enqueue_impostor_serialize(
910
+ avatar_id=avatar_id,
911
+ _request_auth=_request_auth,
912
+ _content_type=_content_type,
913
+ _headers=_headers,
914
+ _host_index=_host_index
915
+ )
916
+
917
+ _response_types_map: Dict[str, Optional[str]] = {
918
+ '200': "ServiceStatus",
919
+ '401': "Error",
920
+ '404': "Error",
921
+ }
922
+ response_data = await self.api_client.call_api(
923
+ *_param,
924
+ _request_timeout=_request_timeout
925
+ )
926
+ await response_data.read()
927
+ return self.api_client.response_deserialize(
928
+ response_data=response_data,
929
+ response_types_map=_response_types_map,
930
+ ).data
931
+
932
+
933
+ @validate_call
934
+ async def enqueue_impostor_with_http_info(
935
+ self,
936
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
937
+ _request_timeout: Union[
938
+ None,
939
+ Annotated[StrictFloat, Field(gt=0)],
940
+ Tuple[
941
+ Annotated[StrictFloat, Field(gt=0)],
942
+ Annotated[StrictFloat, Field(gt=0)]
943
+ ]
944
+ ] = None,
945
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
946
+ _content_type: Optional[StrictStr] = None,
947
+ _headers: Optional[Dict[StrictStr, Any]] = None,
948
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
949
+ ) -> ApiResponse[ServiceStatus]:
950
+ """Enqueue Impostor generation
951
+
952
+ Enqueue Impostor generation for that avatar.
953
+
954
+ :param avatar_id: Must be a valid avatar ID. (required)
955
+ :type avatar_id: str
956
+ :param _request_timeout: timeout setting for this request. If one
957
+ number provided, it will be total request
958
+ timeout. It can also be a pair (tuple) of
959
+ (connection, read) timeouts.
960
+ :type _request_timeout: int, tuple(int, int), optional
961
+ :param _request_auth: set to override the auth_settings for an a single
962
+ request; this effectively ignores the
963
+ authentication in the spec for a single request.
964
+ :type _request_auth: dict, optional
965
+ :param _content_type: force content-type for the request.
966
+ :type _content_type: str, Optional
967
+ :param _headers: set to override the headers for a single
968
+ request; this effectively ignores the headers
969
+ in the spec for a single request.
970
+ :type _headers: dict, optional
971
+ :param _host_index: set to override the host_index for a single
972
+ request; this effectively ignores the host_index
973
+ in the spec for a single request.
974
+ :type _host_index: int, optional
975
+ :return: Returns the result object.
976
+ """ # noqa: E501
977
+
978
+ _param = self._enqueue_impostor_serialize(
979
+ avatar_id=avatar_id,
980
+ _request_auth=_request_auth,
981
+ _content_type=_content_type,
982
+ _headers=_headers,
983
+ _host_index=_host_index
984
+ )
985
+
986
+ _response_types_map: Dict[str, Optional[str]] = {
987
+ '200': "ServiceStatus",
988
+ '401': "Error",
989
+ '404': "Error",
990
+ }
991
+ response_data = await self.api_client.call_api(
992
+ *_param,
993
+ _request_timeout=_request_timeout
994
+ )
995
+ await response_data.read()
996
+ return self.api_client.response_deserialize(
997
+ response_data=response_data,
998
+ response_types_map=_response_types_map,
999
+ )
1000
+
1001
+
1002
+ @validate_call
1003
+ async def enqueue_impostor_without_preload_content(
1004
+ self,
1005
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
1006
+ _request_timeout: Union[
1007
+ None,
1008
+ Annotated[StrictFloat, Field(gt=0)],
1009
+ Tuple[
1010
+ Annotated[StrictFloat, Field(gt=0)],
1011
+ Annotated[StrictFloat, Field(gt=0)]
1012
+ ]
1013
+ ] = None,
1014
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1015
+ _content_type: Optional[StrictStr] = None,
1016
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1017
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1018
+ ) -> RESTResponseType:
1019
+ """Enqueue Impostor generation
1020
+
1021
+ Enqueue Impostor generation for that avatar.
1022
+
1023
+ :param avatar_id: Must be a valid avatar ID. (required)
1024
+ :type avatar_id: str
1025
+ :param _request_timeout: timeout setting for this request. If one
1026
+ number provided, it will be total request
1027
+ timeout. It can also be a pair (tuple) of
1028
+ (connection, read) timeouts.
1029
+ :type _request_timeout: int, tuple(int, int), optional
1030
+ :param _request_auth: set to override the auth_settings for an a single
1031
+ request; this effectively ignores the
1032
+ authentication in the spec for a single request.
1033
+ :type _request_auth: dict, optional
1034
+ :param _content_type: force content-type for the request.
1035
+ :type _content_type: str, Optional
1036
+ :param _headers: set to override the headers for a single
1037
+ request; this effectively ignores the headers
1038
+ in the spec for a single request.
1039
+ :type _headers: dict, optional
1040
+ :param _host_index: set to override the host_index for a single
1041
+ request; this effectively ignores the host_index
1042
+ in the spec for a single request.
1043
+ :type _host_index: int, optional
1044
+ :return: Returns the result object.
1045
+ """ # noqa: E501
1046
+
1047
+ _param = self._enqueue_impostor_serialize(
1048
+ avatar_id=avatar_id,
1049
+ _request_auth=_request_auth,
1050
+ _content_type=_content_type,
1051
+ _headers=_headers,
1052
+ _host_index=_host_index
1053
+ )
1054
+
1055
+ _response_types_map: Dict[str, Optional[str]] = {
1056
+ '200': "ServiceStatus",
1057
+ '401': "Error",
1058
+ '404': "Error",
1059
+ }
1060
+ response_data = await self.api_client.call_api(
1061
+ *_param,
1062
+ _request_timeout=_request_timeout
1063
+ )
1064
+ return response_data.response
1065
+
1066
+
1067
+ def _enqueue_impostor_serialize(
1068
+ self,
1069
+ avatar_id,
1070
+ _request_auth,
1071
+ _content_type,
1072
+ _headers,
1073
+ _host_index,
1074
+ ) -> RequestSerialized:
1075
+
1076
+ _host = None
1077
+
1078
+ _collection_formats: Dict[str, str] = {
1079
+ }
1080
+
1081
+ _path_params: Dict[str, str] = {}
1082
+ _query_params: List[Tuple[str, str]] = []
1083
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1084
+ _form_params: List[Tuple[str, str]] = []
1085
+ _files: Dict[
1086
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1087
+ ] = {}
1088
+ _body_params: Optional[bytes] = None
1089
+
1090
+ # process the path parameters
1091
+ if avatar_id is not None:
1092
+ _path_params['avatarId'] = avatar_id
1093
+ # process the query parameters
1094
+ # process the header parameters
1095
+ # process the form parameters
1096
+ # process the body parameter
1097
+
1098
+
1099
+ # set the HTTP header `Accept`
1100
+ if 'Accept' not in _header_params:
1101
+ _header_params['Accept'] = self.api_client.select_header_accept(
1102
+ [
1103
+ 'application/json'
1104
+ ]
1105
+ )
1106
+
1107
+
1108
+ # authentication setting
1109
+ _auth_settings: List[str] = [
1110
+ 'authCookie'
1111
+ ]
1112
+
1113
+ return self.api_client.param_serialize(
1114
+ method='POST',
1115
+ resource_path='/avatars/{avatarId}/impostor/enqueue',
1116
+ path_params=_path_params,
1117
+ query_params=_query_params,
1118
+ header_params=_header_params,
1119
+ body=_body_params,
1120
+ post_params=_form_params,
1121
+ files=_files,
1122
+ auth_settings=_auth_settings,
1123
+ collection_formats=_collection_formats,
1124
+ _host=_host,
1125
+ _request_auth=_request_auth
1126
+ )
1127
+
1128
+
1129
+
1130
+
1131
+ @validate_call
1132
+ async def get_avatar(
1133
+ self,
1134
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
1135
+ _request_timeout: Union[
1136
+ None,
1137
+ Annotated[StrictFloat, Field(gt=0)],
1138
+ Tuple[
1139
+ Annotated[StrictFloat, Field(gt=0)],
1140
+ Annotated[StrictFloat, Field(gt=0)]
1141
+ ]
1142
+ ] = None,
1143
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1144
+ _content_type: Optional[StrictStr] = None,
1145
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1146
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1147
+ ) -> Avatar:
1148
+ """Get Avatar
1149
+
1150
+ Get information about a specific Avatar.
1151
+
1152
+ :param avatar_id: Must be a valid avatar ID. (required)
1153
+ :type avatar_id: str
1154
+ :param _request_timeout: timeout setting for this request. If one
1155
+ number provided, it will be total request
1156
+ timeout. It can also be a pair (tuple) of
1157
+ (connection, read) timeouts.
1158
+ :type _request_timeout: int, tuple(int, int), optional
1159
+ :param _request_auth: set to override the auth_settings for an a single
1160
+ request; this effectively ignores the
1161
+ authentication in the spec for a single request.
1162
+ :type _request_auth: dict, optional
1163
+ :param _content_type: force content-type for the request.
1164
+ :type _content_type: str, Optional
1165
+ :param _headers: set to override the headers for a single
1166
+ request; this effectively ignores the headers
1167
+ in the spec for a single request.
1168
+ :type _headers: dict, optional
1169
+ :param _host_index: set to override the host_index for a single
1170
+ request; this effectively ignores the host_index
1171
+ in the spec for a single request.
1172
+ :type _host_index: int, optional
1173
+ :return: Returns the result object.
1174
+ """ # noqa: E501
1175
+
1176
+ _param = self._get_avatar_serialize(
1177
+ avatar_id=avatar_id,
1178
+ _request_auth=_request_auth,
1179
+ _content_type=_content_type,
1180
+ _headers=_headers,
1181
+ _host_index=_host_index
1182
+ )
1183
+
1184
+ _response_types_map: Dict[str, Optional[str]] = {
1185
+ '200': "Avatar",
1186
+ '401': "Error",
1187
+ '404': "Error",
1188
+ }
1189
+ response_data = await self.api_client.call_api(
1190
+ *_param,
1191
+ _request_timeout=_request_timeout
1192
+ )
1193
+ await response_data.read()
1194
+ return self.api_client.response_deserialize(
1195
+ response_data=response_data,
1196
+ response_types_map=_response_types_map,
1197
+ ).data
1198
+
1199
+
1200
+ @validate_call
1201
+ async def get_avatar_with_http_info(
1202
+ self,
1203
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
1204
+ _request_timeout: Union[
1205
+ None,
1206
+ Annotated[StrictFloat, Field(gt=0)],
1207
+ Tuple[
1208
+ Annotated[StrictFloat, Field(gt=0)],
1209
+ Annotated[StrictFloat, Field(gt=0)]
1210
+ ]
1211
+ ] = None,
1212
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1213
+ _content_type: Optional[StrictStr] = None,
1214
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1215
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1216
+ ) -> ApiResponse[Avatar]:
1217
+ """Get Avatar
1218
+
1219
+ Get information about a specific Avatar.
1220
+
1221
+ :param avatar_id: Must be a valid avatar ID. (required)
1222
+ :type avatar_id: str
1223
+ :param _request_timeout: timeout setting for this request. If one
1224
+ number provided, it will be total request
1225
+ timeout. It can also be a pair (tuple) of
1226
+ (connection, read) timeouts.
1227
+ :type _request_timeout: int, tuple(int, int), optional
1228
+ :param _request_auth: set to override the auth_settings for an a single
1229
+ request; this effectively ignores the
1230
+ authentication in the spec for a single request.
1231
+ :type _request_auth: dict, optional
1232
+ :param _content_type: force content-type for the request.
1233
+ :type _content_type: str, Optional
1234
+ :param _headers: set to override the headers for a single
1235
+ request; this effectively ignores the headers
1236
+ in the spec for a single request.
1237
+ :type _headers: dict, optional
1238
+ :param _host_index: set to override the host_index for a single
1239
+ request; this effectively ignores the host_index
1240
+ in the spec for a single request.
1241
+ :type _host_index: int, optional
1242
+ :return: Returns the result object.
1243
+ """ # noqa: E501
1244
+
1245
+ _param = self._get_avatar_serialize(
1246
+ avatar_id=avatar_id,
1247
+ _request_auth=_request_auth,
1248
+ _content_type=_content_type,
1249
+ _headers=_headers,
1250
+ _host_index=_host_index
1251
+ )
1252
+
1253
+ _response_types_map: Dict[str, Optional[str]] = {
1254
+ '200': "Avatar",
1255
+ '401': "Error",
1256
+ '404': "Error",
1257
+ }
1258
+ response_data = await self.api_client.call_api(
1259
+ *_param,
1260
+ _request_timeout=_request_timeout
1261
+ )
1262
+ await response_data.read()
1263
+ return self.api_client.response_deserialize(
1264
+ response_data=response_data,
1265
+ response_types_map=_response_types_map,
1266
+ )
1267
+
1268
+
1269
+ @validate_call
1270
+ async def get_avatar_without_preload_content(
1271
+ self,
1272
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
1273
+ _request_timeout: Union[
1274
+ None,
1275
+ Annotated[StrictFloat, Field(gt=0)],
1276
+ Tuple[
1277
+ Annotated[StrictFloat, Field(gt=0)],
1278
+ Annotated[StrictFloat, Field(gt=0)]
1279
+ ]
1280
+ ] = None,
1281
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1282
+ _content_type: Optional[StrictStr] = None,
1283
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1284
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1285
+ ) -> RESTResponseType:
1286
+ """Get Avatar
1287
+
1288
+ Get information about a specific Avatar.
1289
+
1290
+ :param avatar_id: Must be a valid avatar ID. (required)
1291
+ :type avatar_id: str
1292
+ :param _request_timeout: timeout setting for this request. If one
1293
+ number provided, it will be total request
1294
+ timeout. It can also be a pair (tuple) of
1295
+ (connection, read) timeouts.
1296
+ :type _request_timeout: int, tuple(int, int), optional
1297
+ :param _request_auth: set to override the auth_settings for an a single
1298
+ request; this effectively ignores the
1299
+ authentication in the spec for a single request.
1300
+ :type _request_auth: dict, optional
1301
+ :param _content_type: force content-type for the request.
1302
+ :type _content_type: str, Optional
1303
+ :param _headers: set to override the headers for a single
1304
+ request; this effectively ignores the headers
1305
+ in the spec for a single request.
1306
+ :type _headers: dict, optional
1307
+ :param _host_index: set to override the host_index for a single
1308
+ request; this effectively ignores the host_index
1309
+ in the spec for a single request.
1310
+ :type _host_index: int, optional
1311
+ :return: Returns the result object.
1312
+ """ # noqa: E501
1313
+
1314
+ _param = self._get_avatar_serialize(
1315
+ avatar_id=avatar_id,
1316
+ _request_auth=_request_auth,
1317
+ _content_type=_content_type,
1318
+ _headers=_headers,
1319
+ _host_index=_host_index
1320
+ )
1321
+
1322
+ _response_types_map: Dict[str, Optional[str]] = {
1323
+ '200': "Avatar",
1324
+ '401': "Error",
1325
+ '404': "Error",
1326
+ }
1327
+ response_data = await self.api_client.call_api(
1328
+ *_param,
1329
+ _request_timeout=_request_timeout
1330
+ )
1331
+ return response_data.response
1332
+
1333
+
1334
+ def _get_avatar_serialize(
1335
+ self,
1336
+ avatar_id,
1337
+ _request_auth,
1338
+ _content_type,
1339
+ _headers,
1340
+ _host_index,
1341
+ ) -> RequestSerialized:
1342
+
1343
+ _host = None
1344
+
1345
+ _collection_formats: Dict[str, str] = {
1346
+ }
1347
+
1348
+ _path_params: Dict[str, str] = {}
1349
+ _query_params: List[Tuple[str, str]] = []
1350
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1351
+ _form_params: List[Tuple[str, str]] = []
1352
+ _files: Dict[
1353
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1354
+ ] = {}
1355
+ _body_params: Optional[bytes] = None
1356
+
1357
+ # process the path parameters
1358
+ if avatar_id is not None:
1359
+ _path_params['avatarId'] = avatar_id
1360
+ # process the query parameters
1361
+ # process the header parameters
1362
+ # process the form parameters
1363
+ # process the body parameter
1364
+
1365
+
1366
+ # set the HTTP header `Accept`
1367
+ if 'Accept' not in _header_params:
1368
+ _header_params['Accept'] = self.api_client.select_header_accept(
1369
+ [
1370
+ 'application/json'
1371
+ ]
1372
+ )
1373
+
1374
+
1375
+ # authentication setting
1376
+ _auth_settings: List[str] = [
1377
+ 'authCookie'
1378
+ ]
1379
+
1380
+ return self.api_client.param_serialize(
1381
+ method='GET',
1382
+ resource_path='/avatars/{avatarId}',
1383
+ path_params=_path_params,
1384
+ query_params=_query_params,
1385
+ header_params=_header_params,
1386
+ body=_body_params,
1387
+ post_params=_form_params,
1388
+ files=_files,
1389
+ auth_settings=_auth_settings,
1390
+ collection_formats=_collection_formats,
1391
+ _host=_host,
1392
+ _request_auth=_request_auth
1393
+ )
1394
+
1395
+
1396
+
1397
+
1398
+ @validate_call
1399
+ async def get_avatar_styles(
1400
+ self,
1401
+ _request_timeout: Union[
1402
+ None,
1403
+ Annotated[StrictFloat, Field(gt=0)],
1404
+ Tuple[
1405
+ Annotated[StrictFloat, Field(gt=0)],
1406
+ Annotated[StrictFloat, Field(gt=0)]
1407
+ ]
1408
+ ] = None,
1409
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1410
+ _content_type: Optional[StrictStr] = None,
1411
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1412
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1413
+ ) -> List[AvatarStyle]:
1414
+ """Get Avatar Styles
1415
+
1416
+ List avatar styles.
1417
+
1418
+ :param _request_timeout: timeout setting for this request. If one
1419
+ number provided, it will be total request
1420
+ timeout. It can also be a pair (tuple) of
1421
+ (connection, read) timeouts.
1422
+ :type _request_timeout: int, tuple(int, int), optional
1423
+ :param _request_auth: set to override the auth_settings for an a single
1424
+ request; this effectively ignores the
1425
+ authentication in the spec for a single request.
1426
+ :type _request_auth: dict, optional
1427
+ :param _content_type: force content-type for the request.
1428
+ :type _content_type: str, Optional
1429
+ :param _headers: set to override the headers for a single
1430
+ request; this effectively ignores the headers
1431
+ in the spec for a single request.
1432
+ :type _headers: dict, optional
1433
+ :param _host_index: set to override the host_index for a single
1434
+ request; this effectively ignores the host_index
1435
+ in the spec for a single request.
1436
+ :type _host_index: int, optional
1437
+ :return: Returns the result object.
1438
+ """ # noqa: E501
1439
+
1440
+ _param = self._get_avatar_styles_serialize(
1441
+ _request_auth=_request_auth,
1442
+ _content_type=_content_type,
1443
+ _headers=_headers,
1444
+ _host_index=_host_index
1445
+ )
1446
+
1447
+ _response_types_map: Dict[str, Optional[str]] = {
1448
+ '200': "List[AvatarStyle]",
1449
+ }
1450
+ response_data = await self.api_client.call_api(
1451
+ *_param,
1452
+ _request_timeout=_request_timeout
1453
+ )
1454
+ await response_data.read()
1455
+ return self.api_client.response_deserialize(
1456
+ response_data=response_data,
1457
+ response_types_map=_response_types_map,
1458
+ ).data
1459
+
1460
+
1461
+ @validate_call
1462
+ async def get_avatar_styles_with_http_info(
1463
+ self,
1464
+ _request_timeout: Union[
1465
+ None,
1466
+ Annotated[StrictFloat, Field(gt=0)],
1467
+ Tuple[
1468
+ Annotated[StrictFloat, Field(gt=0)],
1469
+ Annotated[StrictFloat, Field(gt=0)]
1470
+ ]
1471
+ ] = None,
1472
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1473
+ _content_type: Optional[StrictStr] = None,
1474
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1475
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1476
+ ) -> ApiResponse[List[AvatarStyle]]:
1477
+ """Get Avatar Styles
1478
+
1479
+ List avatar styles.
1480
+
1481
+ :param _request_timeout: timeout setting for this request. If one
1482
+ number provided, it will be total request
1483
+ timeout. It can also be a pair (tuple) of
1484
+ (connection, read) timeouts.
1485
+ :type _request_timeout: int, tuple(int, int), optional
1486
+ :param _request_auth: set to override the auth_settings for an a single
1487
+ request; this effectively ignores the
1488
+ authentication in the spec for a single request.
1489
+ :type _request_auth: dict, optional
1490
+ :param _content_type: force content-type for the request.
1491
+ :type _content_type: str, Optional
1492
+ :param _headers: set to override the headers for a single
1493
+ request; this effectively ignores the headers
1494
+ in the spec for a single request.
1495
+ :type _headers: dict, optional
1496
+ :param _host_index: set to override the host_index for a single
1497
+ request; this effectively ignores the host_index
1498
+ in the spec for a single request.
1499
+ :type _host_index: int, optional
1500
+ :return: Returns the result object.
1501
+ """ # noqa: E501
1502
+
1503
+ _param = self._get_avatar_styles_serialize(
1504
+ _request_auth=_request_auth,
1505
+ _content_type=_content_type,
1506
+ _headers=_headers,
1507
+ _host_index=_host_index
1508
+ )
1509
+
1510
+ _response_types_map: Dict[str, Optional[str]] = {
1511
+ '200': "List[AvatarStyle]",
1512
+ }
1513
+ response_data = await self.api_client.call_api(
1514
+ *_param,
1515
+ _request_timeout=_request_timeout
1516
+ )
1517
+ await response_data.read()
1518
+ return self.api_client.response_deserialize(
1519
+ response_data=response_data,
1520
+ response_types_map=_response_types_map,
1521
+ )
1522
+
1523
+
1524
+ @validate_call
1525
+ async def get_avatar_styles_without_preload_content(
1526
+ self,
1527
+ _request_timeout: Union[
1528
+ None,
1529
+ Annotated[StrictFloat, Field(gt=0)],
1530
+ Tuple[
1531
+ Annotated[StrictFloat, Field(gt=0)],
1532
+ Annotated[StrictFloat, Field(gt=0)]
1533
+ ]
1534
+ ] = None,
1535
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1536
+ _content_type: Optional[StrictStr] = None,
1537
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1538
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1539
+ ) -> RESTResponseType:
1540
+ """Get Avatar Styles
1541
+
1542
+ List avatar styles.
1543
+
1544
+ :param _request_timeout: timeout setting for this request. If one
1545
+ number provided, it will be total request
1546
+ timeout. It can also be a pair (tuple) of
1547
+ (connection, read) timeouts.
1548
+ :type _request_timeout: int, tuple(int, int), optional
1549
+ :param _request_auth: set to override the auth_settings for an a single
1550
+ request; this effectively ignores the
1551
+ authentication in the spec for a single request.
1552
+ :type _request_auth: dict, optional
1553
+ :param _content_type: force content-type for the request.
1554
+ :type _content_type: str, Optional
1555
+ :param _headers: set to override the headers for a single
1556
+ request; this effectively ignores the headers
1557
+ in the spec for a single request.
1558
+ :type _headers: dict, optional
1559
+ :param _host_index: set to override the host_index for a single
1560
+ request; this effectively ignores the host_index
1561
+ in the spec for a single request.
1562
+ :type _host_index: int, optional
1563
+ :return: Returns the result object.
1564
+ """ # noqa: E501
1565
+
1566
+ _param = self._get_avatar_styles_serialize(
1567
+ _request_auth=_request_auth,
1568
+ _content_type=_content_type,
1569
+ _headers=_headers,
1570
+ _host_index=_host_index
1571
+ )
1572
+
1573
+ _response_types_map: Dict[str, Optional[str]] = {
1574
+ '200': "List[AvatarStyle]",
1575
+ }
1576
+ response_data = await self.api_client.call_api(
1577
+ *_param,
1578
+ _request_timeout=_request_timeout
1579
+ )
1580
+ return response_data.response
1581
+
1582
+
1583
+ def _get_avatar_styles_serialize(
1584
+ self,
1585
+ _request_auth,
1586
+ _content_type,
1587
+ _headers,
1588
+ _host_index,
1589
+ ) -> RequestSerialized:
1590
+
1591
+ _host = None
1592
+
1593
+ _collection_formats: Dict[str, str] = {
1594
+ }
1595
+
1596
+ _path_params: Dict[str, str] = {}
1597
+ _query_params: List[Tuple[str, str]] = []
1598
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1599
+ _form_params: List[Tuple[str, str]] = []
1600
+ _files: Dict[
1601
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1602
+ ] = {}
1603
+ _body_params: Optional[bytes] = None
1604
+
1605
+ # process the path parameters
1606
+ # process the query parameters
1607
+ # process the header parameters
1608
+ # process the form parameters
1609
+ # process the body parameter
1610
+
1611
+
1612
+ # set the HTTP header `Accept`
1613
+ if 'Accept' not in _header_params:
1614
+ _header_params['Accept'] = self.api_client.select_header_accept(
1615
+ [
1616
+ 'application/json'
1617
+ ]
1618
+ )
1619
+
1620
+
1621
+ # authentication setting
1622
+ _auth_settings: List[str] = [
1623
+ ]
1624
+
1625
+ return self.api_client.param_serialize(
1626
+ method='GET',
1627
+ resource_path='/avatarStyles',
1628
+ path_params=_path_params,
1629
+ query_params=_query_params,
1630
+ header_params=_header_params,
1631
+ body=_body_params,
1632
+ post_params=_form_params,
1633
+ files=_files,
1634
+ auth_settings=_auth_settings,
1635
+ collection_formats=_collection_formats,
1636
+ _host=_host,
1637
+ _request_auth=_request_auth
1638
+ )
1639
+
1640
+
1641
+
1642
+
1643
+ @validate_call
1644
+ async def get_favorited_avatars(
1645
+ self,
1646
+ featured: Annotated[Optional[StrictBool], Field(description="Filters on featured results.")] = None,
1647
+ sort: Annotated[Optional[SortOption], Field(description="The sort order of the results.")] = None,
1648
+ n: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="The number of objects to return.")] = None,
1649
+ order: Annotated[Optional[OrderOption], Field(description="Result ordering")] = None,
1650
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="A zero-based offset from the default object sorting from where search results start.")] = None,
1651
+ search: Annotated[Optional[StrictStr], Field(description="Filters by world name.")] = None,
1652
+ tag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to include (comma-separated). Any of the tags needs to be present.")] = None,
1653
+ notag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to exclude (comma-separated).")] = None,
1654
+ release_status: Annotated[Optional[ReleaseStatus], Field(description="Filter by ReleaseStatus.")] = None,
1655
+ max_unity_version: Annotated[Optional[StrictStr], Field(description="The maximum Unity version supported by the asset.")] = None,
1656
+ min_unity_version: Annotated[Optional[StrictStr], Field(description="The minimum Unity version supported by the asset.")] = None,
1657
+ platform: Annotated[Optional[StrictStr], Field(description="The platform the asset supports.")] = None,
1658
+ user_id: Annotated[Optional[StrictStr], Field(description="Target user to see information on, admin-only.")] = None,
1659
+ _request_timeout: Union[
1660
+ None,
1661
+ Annotated[StrictFloat, Field(gt=0)],
1662
+ Tuple[
1663
+ Annotated[StrictFloat, Field(gt=0)],
1664
+ Annotated[StrictFloat, Field(gt=0)]
1665
+ ]
1666
+ ] = None,
1667
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1668
+ _content_type: Optional[StrictStr] = None,
1669
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1670
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1671
+ ) -> List[Avatar]:
1672
+ """List Favorited Avatars
1673
+
1674
+ Search and list favorited avatars by query filters.
1675
+
1676
+ :param featured: Filters on featured results.
1677
+ :type featured: bool
1678
+ :param sort: The sort order of the results.
1679
+ :type sort: SortOption
1680
+ :param n: The number of objects to return.
1681
+ :type n: int
1682
+ :param order: Result ordering
1683
+ :type order: OrderOption
1684
+ :param offset: A zero-based offset from the default object sorting from where search results start.
1685
+ :type offset: int
1686
+ :param search: Filters by world name.
1687
+ :type search: str
1688
+ :param tag: Tags to include (comma-separated). Any of the tags needs to be present.
1689
+ :type tag: str
1690
+ :param notag: Tags to exclude (comma-separated).
1691
+ :type notag: str
1692
+ :param release_status: Filter by ReleaseStatus.
1693
+ :type release_status: ReleaseStatus
1694
+ :param max_unity_version: The maximum Unity version supported by the asset.
1695
+ :type max_unity_version: str
1696
+ :param min_unity_version: The minimum Unity version supported by the asset.
1697
+ :type min_unity_version: str
1698
+ :param platform: The platform the asset supports.
1699
+ :type platform: str
1700
+ :param user_id: Target user to see information on, admin-only.
1701
+ :type user_id: str
1702
+ :param _request_timeout: timeout setting for this request. If one
1703
+ number provided, it will be total request
1704
+ timeout. It can also be a pair (tuple) of
1705
+ (connection, read) timeouts.
1706
+ :type _request_timeout: int, tuple(int, int), optional
1707
+ :param _request_auth: set to override the auth_settings for an a single
1708
+ request; this effectively ignores the
1709
+ authentication in the spec for a single request.
1710
+ :type _request_auth: dict, optional
1711
+ :param _content_type: force content-type for the request.
1712
+ :type _content_type: str, Optional
1713
+ :param _headers: set to override the headers for a single
1714
+ request; this effectively ignores the headers
1715
+ in the spec for a single request.
1716
+ :type _headers: dict, optional
1717
+ :param _host_index: set to override the host_index for a single
1718
+ request; this effectively ignores the host_index
1719
+ in the spec for a single request.
1720
+ :type _host_index: int, optional
1721
+ :return: Returns the result object.
1722
+ """ # noqa: E501
1723
+
1724
+ _param = self._get_favorited_avatars_serialize(
1725
+ featured=featured,
1726
+ sort=sort,
1727
+ n=n,
1728
+ order=order,
1729
+ offset=offset,
1730
+ search=search,
1731
+ tag=tag,
1732
+ notag=notag,
1733
+ release_status=release_status,
1734
+ max_unity_version=max_unity_version,
1735
+ min_unity_version=min_unity_version,
1736
+ platform=platform,
1737
+ user_id=user_id,
1738
+ _request_auth=_request_auth,
1739
+ _content_type=_content_type,
1740
+ _headers=_headers,
1741
+ _host_index=_host_index
1742
+ )
1743
+
1744
+ _response_types_map: Dict[str, Optional[str]] = {
1745
+ '200': "List[Avatar]",
1746
+ '401': "Error",
1747
+ '403': "Error",
1748
+ }
1749
+ response_data = await self.api_client.call_api(
1750
+ *_param,
1751
+ _request_timeout=_request_timeout
1752
+ )
1753
+ await response_data.read()
1754
+ return self.api_client.response_deserialize(
1755
+ response_data=response_data,
1756
+ response_types_map=_response_types_map,
1757
+ ).data
1758
+
1759
+
1760
+ @validate_call
1761
+ async def get_favorited_avatars_with_http_info(
1762
+ self,
1763
+ featured: Annotated[Optional[StrictBool], Field(description="Filters on featured results.")] = None,
1764
+ sort: Annotated[Optional[SortOption], Field(description="The sort order of the results.")] = None,
1765
+ n: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="The number of objects to return.")] = None,
1766
+ order: Annotated[Optional[OrderOption], Field(description="Result ordering")] = None,
1767
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="A zero-based offset from the default object sorting from where search results start.")] = None,
1768
+ search: Annotated[Optional[StrictStr], Field(description="Filters by world name.")] = None,
1769
+ tag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to include (comma-separated). Any of the tags needs to be present.")] = None,
1770
+ notag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to exclude (comma-separated).")] = None,
1771
+ release_status: Annotated[Optional[ReleaseStatus], Field(description="Filter by ReleaseStatus.")] = None,
1772
+ max_unity_version: Annotated[Optional[StrictStr], Field(description="The maximum Unity version supported by the asset.")] = None,
1773
+ min_unity_version: Annotated[Optional[StrictStr], Field(description="The minimum Unity version supported by the asset.")] = None,
1774
+ platform: Annotated[Optional[StrictStr], Field(description="The platform the asset supports.")] = None,
1775
+ user_id: Annotated[Optional[StrictStr], Field(description="Target user to see information on, admin-only.")] = None,
1776
+ _request_timeout: Union[
1777
+ None,
1778
+ Annotated[StrictFloat, Field(gt=0)],
1779
+ Tuple[
1780
+ Annotated[StrictFloat, Field(gt=0)],
1781
+ Annotated[StrictFloat, Field(gt=0)]
1782
+ ]
1783
+ ] = None,
1784
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1785
+ _content_type: Optional[StrictStr] = None,
1786
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1787
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1788
+ ) -> ApiResponse[List[Avatar]]:
1789
+ """List Favorited Avatars
1790
+
1791
+ Search and list favorited avatars by query filters.
1792
+
1793
+ :param featured: Filters on featured results.
1794
+ :type featured: bool
1795
+ :param sort: The sort order of the results.
1796
+ :type sort: SortOption
1797
+ :param n: The number of objects to return.
1798
+ :type n: int
1799
+ :param order: Result ordering
1800
+ :type order: OrderOption
1801
+ :param offset: A zero-based offset from the default object sorting from where search results start.
1802
+ :type offset: int
1803
+ :param search: Filters by world name.
1804
+ :type search: str
1805
+ :param tag: Tags to include (comma-separated). Any of the tags needs to be present.
1806
+ :type tag: str
1807
+ :param notag: Tags to exclude (comma-separated).
1808
+ :type notag: str
1809
+ :param release_status: Filter by ReleaseStatus.
1810
+ :type release_status: ReleaseStatus
1811
+ :param max_unity_version: The maximum Unity version supported by the asset.
1812
+ :type max_unity_version: str
1813
+ :param min_unity_version: The minimum Unity version supported by the asset.
1814
+ :type min_unity_version: str
1815
+ :param platform: The platform the asset supports.
1816
+ :type platform: str
1817
+ :param user_id: Target user to see information on, admin-only.
1818
+ :type user_id: str
1819
+ :param _request_timeout: timeout setting for this request. If one
1820
+ number provided, it will be total request
1821
+ timeout. It can also be a pair (tuple) of
1822
+ (connection, read) timeouts.
1823
+ :type _request_timeout: int, tuple(int, int), optional
1824
+ :param _request_auth: set to override the auth_settings for an a single
1825
+ request; this effectively ignores the
1826
+ authentication in the spec for a single request.
1827
+ :type _request_auth: dict, optional
1828
+ :param _content_type: force content-type for the request.
1829
+ :type _content_type: str, Optional
1830
+ :param _headers: set to override the headers for a single
1831
+ request; this effectively ignores the headers
1832
+ in the spec for a single request.
1833
+ :type _headers: dict, optional
1834
+ :param _host_index: set to override the host_index for a single
1835
+ request; this effectively ignores the host_index
1836
+ in the spec for a single request.
1837
+ :type _host_index: int, optional
1838
+ :return: Returns the result object.
1839
+ """ # noqa: E501
1840
+
1841
+ _param = self._get_favorited_avatars_serialize(
1842
+ featured=featured,
1843
+ sort=sort,
1844
+ n=n,
1845
+ order=order,
1846
+ offset=offset,
1847
+ search=search,
1848
+ tag=tag,
1849
+ notag=notag,
1850
+ release_status=release_status,
1851
+ max_unity_version=max_unity_version,
1852
+ min_unity_version=min_unity_version,
1853
+ platform=platform,
1854
+ user_id=user_id,
1855
+ _request_auth=_request_auth,
1856
+ _content_type=_content_type,
1857
+ _headers=_headers,
1858
+ _host_index=_host_index
1859
+ )
1860
+
1861
+ _response_types_map: Dict[str, Optional[str]] = {
1862
+ '200': "List[Avatar]",
1863
+ '401': "Error",
1864
+ '403': "Error",
1865
+ }
1866
+ response_data = await self.api_client.call_api(
1867
+ *_param,
1868
+ _request_timeout=_request_timeout
1869
+ )
1870
+ await response_data.read()
1871
+ return self.api_client.response_deserialize(
1872
+ response_data=response_data,
1873
+ response_types_map=_response_types_map,
1874
+ )
1875
+
1876
+
1877
+ @validate_call
1878
+ async def get_favorited_avatars_without_preload_content(
1879
+ self,
1880
+ featured: Annotated[Optional[StrictBool], Field(description="Filters on featured results.")] = None,
1881
+ sort: Annotated[Optional[SortOption], Field(description="The sort order of the results.")] = None,
1882
+ n: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="The number of objects to return.")] = None,
1883
+ order: Annotated[Optional[OrderOption], Field(description="Result ordering")] = None,
1884
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="A zero-based offset from the default object sorting from where search results start.")] = None,
1885
+ search: Annotated[Optional[StrictStr], Field(description="Filters by world name.")] = None,
1886
+ tag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to include (comma-separated). Any of the tags needs to be present.")] = None,
1887
+ notag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to exclude (comma-separated).")] = None,
1888
+ release_status: Annotated[Optional[ReleaseStatus], Field(description="Filter by ReleaseStatus.")] = None,
1889
+ max_unity_version: Annotated[Optional[StrictStr], Field(description="The maximum Unity version supported by the asset.")] = None,
1890
+ min_unity_version: Annotated[Optional[StrictStr], Field(description="The minimum Unity version supported by the asset.")] = None,
1891
+ platform: Annotated[Optional[StrictStr], Field(description="The platform the asset supports.")] = None,
1892
+ user_id: Annotated[Optional[StrictStr], Field(description="Target user to see information on, admin-only.")] = None,
1893
+ _request_timeout: Union[
1894
+ None,
1895
+ Annotated[StrictFloat, Field(gt=0)],
1896
+ Tuple[
1897
+ Annotated[StrictFloat, Field(gt=0)],
1898
+ Annotated[StrictFloat, Field(gt=0)]
1899
+ ]
1900
+ ] = None,
1901
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1902
+ _content_type: Optional[StrictStr] = None,
1903
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1904
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1905
+ ) -> RESTResponseType:
1906
+ """List Favorited Avatars
1907
+
1908
+ Search and list favorited avatars by query filters.
1909
+
1910
+ :param featured: Filters on featured results.
1911
+ :type featured: bool
1912
+ :param sort: The sort order of the results.
1913
+ :type sort: SortOption
1914
+ :param n: The number of objects to return.
1915
+ :type n: int
1916
+ :param order: Result ordering
1917
+ :type order: OrderOption
1918
+ :param offset: A zero-based offset from the default object sorting from where search results start.
1919
+ :type offset: int
1920
+ :param search: Filters by world name.
1921
+ :type search: str
1922
+ :param tag: Tags to include (comma-separated). Any of the tags needs to be present.
1923
+ :type tag: str
1924
+ :param notag: Tags to exclude (comma-separated).
1925
+ :type notag: str
1926
+ :param release_status: Filter by ReleaseStatus.
1927
+ :type release_status: ReleaseStatus
1928
+ :param max_unity_version: The maximum Unity version supported by the asset.
1929
+ :type max_unity_version: str
1930
+ :param min_unity_version: The minimum Unity version supported by the asset.
1931
+ :type min_unity_version: str
1932
+ :param platform: The platform the asset supports.
1933
+ :type platform: str
1934
+ :param user_id: Target user to see information on, admin-only.
1935
+ :type user_id: str
1936
+ :param _request_timeout: timeout setting for this request. If one
1937
+ number provided, it will be total request
1938
+ timeout. It can also be a pair (tuple) of
1939
+ (connection, read) timeouts.
1940
+ :type _request_timeout: int, tuple(int, int), optional
1941
+ :param _request_auth: set to override the auth_settings for an a single
1942
+ request; this effectively ignores the
1943
+ authentication in the spec for a single request.
1944
+ :type _request_auth: dict, optional
1945
+ :param _content_type: force content-type for the request.
1946
+ :type _content_type: str, Optional
1947
+ :param _headers: set to override the headers for a single
1948
+ request; this effectively ignores the headers
1949
+ in the spec for a single request.
1950
+ :type _headers: dict, optional
1951
+ :param _host_index: set to override the host_index for a single
1952
+ request; this effectively ignores the host_index
1953
+ in the spec for a single request.
1954
+ :type _host_index: int, optional
1955
+ :return: Returns the result object.
1956
+ """ # noqa: E501
1957
+
1958
+ _param = self._get_favorited_avatars_serialize(
1959
+ featured=featured,
1960
+ sort=sort,
1961
+ n=n,
1962
+ order=order,
1963
+ offset=offset,
1964
+ search=search,
1965
+ tag=tag,
1966
+ notag=notag,
1967
+ release_status=release_status,
1968
+ max_unity_version=max_unity_version,
1969
+ min_unity_version=min_unity_version,
1970
+ platform=platform,
1971
+ user_id=user_id,
1972
+ _request_auth=_request_auth,
1973
+ _content_type=_content_type,
1974
+ _headers=_headers,
1975
+ _host_index=_host_index
1976
+ )
1977
+
1978
+ _response_types_map: Dict[str, Optional[str]] = {
1979
+ '200': "List[Avatar]",
1980
+ '401': "Error",
1981
+ '403': "Error",
1982
+ }
1983
+ response_data = await self.api_client.call_api(
1984
+ *_param,
1985
+ _request_timeout=_request_timeout
1986
+ )
1987
+ return response_data.response
1988
+
1989
+
1990
+ def _get_favorited_avatars_serialize(
1991
+ self,
1992
+ featured,
1993
+ sort,
1994
+ n,
1995
+ order,
1996
+ offset,
1997
+ search,
1998
+ tag,
1999
+ notag,
2000
+ release_status,
2001
+ max_unity_version,
2002
+ min_unity_version,
2003
+ platform,
2004
+ user_id,
2005
+ _request_auth,
2006
+ _content_type,
2007
+ _headers,
2008
+ _host_index,
2009
+ ) -> RequestSerialized:
2010
+
2011
+ _host = None
2012
+
2013
+ _collection_formats: Dict[str, str] = {
2014
+ }
2015
+
2016
+ _path_params: Dict[str, str] = {}
2017
+ _query_params: List[Tuple[str, str]] = []
2018
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2019
+ _form_params: List[Tuple[str, str]] = []
2020
+ _files: Dict[
2021
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2022
+ ] = {}
2023
+ _body_params: Optional[bytes] = None
2024
+
2025
+ # process the path parameters
2026
+ # process the query parameters
2027
+ if featured is not None:
2028
+
2029
+ _query_params.append(('featured', featured))
2030
+
2031
+ if sort is not None:
2032
+
2033
+ _query_params.append(('sort', sort.value))
2034
+
2035
+ if n is not None:
2036
+
2037
+ _query_params.append(('n', n))
2038
+
2039
+ if order is not None:
2040
+
2041
+ _query_params.append(('order', order.value))
2042
+
2043
+ if offset is not None:
2044
+
2045
+ _query_params.append(('offset', offset))
2046
+
2047
+ if search is not None:
2048
+
2049
+ _query_params.append(('search', search))
2050
+
2051
+ if tag is not None:
2052
+
2053
+ _query_params.append(('tag', tag))
2054
+
2055
+ if notag is not None:
2056
+
2057
+ _query_params.append(('notag', notag))
2058
+
2059
+ if release_status is not None:
2060
+
2061
+ _query_params.append(('releaseStatus', release_status.value))
2062
+
2063
+ if max_unity_version is not None:
2064
+
2065
+ _query_params.append(('maxUnityVersion', max_unity_version))
2066
+
2067
+ if min_unity_version is not None:
2068
+
2069
+ _query_params.append(('minUnityVersion', min_unity_version))
2070
+
2071
+ if platform is not None:
2072
+
2073
+ _query_params.append(('platform', platform))
2074
+
2075
+ if user_id is not None:
2076
+
2077
+ _query_params.append(('userId', user_id))
2078
+
2079
+ # process the header parameters
2080
+ # process the form parameters
2081
+ # process the body parameter
2082
+
2083
+
2084
+ # set the HTTP header `Accept`
2085
+ if 'Accept' not in _header_params:
2086
+ _header_params['Accept'] = self.api_client.select_header_accept(
2087
+ [
2088
+ 'application/json'
2089
+ ]
2090
+ )
2091
+
2092
+
2093
+ # authentication setting
2094
+ _auth_settings: List[str] = [
2095
+ 'authCookie'
2096
+ ]
2097
+
2098
+ return self.api_client.param_serialize(
2099
+ method='GET',
2100
+ resource_path='/avatars/favorites',
2101
+ path_params=_path_params,
2102
+ query_params=_query_params,
2103
+ header_params=_header_params,
2104
+ body=_body_params,
2105
+ post_params=_form_params,
2106
+ files=_files,
2107
+ auth_settings=_auth_settings,
2108
+ collection_formats=_collection_formats,
2109
+ _host=_host,
2110
+ _request_auth=_request_auth
2111
+ )
2112
+
2113
+
2114
+
2115
+
2116
+ @validate_call
2117
+ async def get_impostor_queue_stats(
2118
+ self,
2119
+ _request_timeout: Union[
2120
+ None,
2121
+ Annotated[StrictFloat, Field(gt=0)],
2122
+ Tuple[
2123
+ Annotated[StrictFloat, Field(gt=0)],
2124
+ Annotated[StrictFloat, Field(gt=0)]
2125
+ ]
2126
+ ] = None,
2127
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2128
+ _content_type: Optional[StrictStr] = None,
2129
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2130
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2131
+ ) -> ServiceQueueStats:
2132
+ """Get Impostor Queue Stats
2133
+
2134
+ Gets service stats for queued impostor.
2135
+
2136
+ :param _request_timeout: timeout setting for this request. If one
2137
+ number provided, it will be total request
2138
+ timeout. It can also be a pair (tuple) of
2139
+ (connection, read) timeouts.
2140
+ :type _request_timeout: int, tuple(int, int), optional
2141
+ :param _request_auth: set to override the auth_settings for an a single
2142
+ request; this effectively ignores the
2143
+ authentication in the spec for a single request.
2144
+ :type _request_auth: dict, optional
2145
+ :param _content_type: force content-type for the request.
2146
+ :type _content_type: str, Optional
2147
+ :param _headers: set to override the headers for a single
2148
+ request; this effectively ignores the headers
2149
+ in the spec for a single request.
2150
+ :type _headers: dict, optional
2151
+ :param _host_index: set to override the host_index for a single
2152
+ request; this effectively ignores the host_index
2153
+ in the spec for a single request.
2154
+ :type _host_index: int, optional
2155
+ :return: Returns the result object.
2156
+ """ # noqa: E501
2157
+
2158
+ _param = self._get_impostor_queue_stats_serialize(
2159
+ _request_auth=_request_auth,
2160
+ _content_type=_content_type,
2161
+ _headers=_headers,
2162
+ _host_index=_host_index
2163
+ )
2164
+
2165
+ _response_types_map: Dict[str, Optional[str]] = {
2166
+ '200': "ServiceQueueStats",
2167
+ '401': "Error",
2168
+ }
2169
+ response_data = await self.api_client.call_api(
2170
+ *_param,
2171
+ _request_timeout=_request_timeout
2172
+ )
2173
+ await response_data.read()
2174
+ return self.api_client.response_deserialize(
2175
+ response_data=response_data,
2176
+ response_types_map=_response_types_map,
2177
+ ).data
2178
+
2179
+
2180
+ @validate_call
2181
+ async def get_impostor_queue_stats_with_http_info(
2182
+ self,
2183
+ _request_timeout: Union[
2184
+ None,
2185
+ Annotated[StrictFloat, Field(gt=0)],
2186
+ Tuple[
2187
+ Annotated[StrictFloat, Field(gt=0)],
2188
+ Annotated[StrictFloat, Field(gt=0)]
2189
+ ]
2190
+ ] = None,
2191
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2192
+ _content_type: Optional[StrictStr] = None,
2193
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2194
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2195
+ ) -> ApiResponse[ServiceQueueStats]:
2196
+ """Get Impostor Queue Stats
2197
+
2198
+ Gets service stats for queued impostor.
2199
+
2200
+ :param _request_timeout: timeout setting for this request. If one
2201
+ number provided, it will be total request
2202
+ timeout. It can also be a pair (tuple) of
2203
+ (connection, read) timeouts.
2204
+ :type _request_timeout: int, tuple(int, int), optional
2205
+ :param _request_auth: set to override the auth_settings for an a single
2206
+ request; this effectively ignores the
2207
+ authentication in the spec for a single request.
2208
+ :type _request_auth: dict, optional
2209
+ :param _content_type: force content-type for the request.
2210
+ :type _content_type: str, Optional
2211
+ :param _headers: set to override the headers for a single
2212
+ request; this effectively ignores the headers
2213
+ in the spec for a single request.
2214
+ :type _headers: dict, optional
2215
+ :param _host_index: set to override the host_index for a single
2216
+ request; this effectively ignores the host_index
2217
+ in the spec for a single request.
2218
+ :type _host_index: int, optional
2219
+ :return: Returns the result object.
2220
+ """ # noqa: E501
2221
+
2222
+ _param = self._get_impostor_queue_stats_serialize(
2223
+ _request_auth=_request_auth,
2224
+ _content_type=_content_type,
2225
+ _headers=_headers,
2226
+ _host_index=_host_index
2227
+ )
2228
+
2229
+ _response_types_map: Dict[str, Optional[str]] = {
2230
+ '200': "ServiceQueueStats",
2231
+ '401': "Error",
2232
+ }
2233
+ response_data = await self.api_client.call_api(
2234
+ *_param,
2235
+ _request_timeout=_request_timeout
2236
+ )
2237
+ await response_data.read()
2238
+ return self.api_client.response_deserialize(
2239
+ response_data=response_data,
2240
+ response_types_map=_response_types_map,
2241
+ )
2242
+
2243
+
2244
+ @validate_call
2245
+ async def get_impostor_queue_stats_without_preload_content(
2246
+ self,
2247
+ _request_timeout: Union[
2248
+ None,
2249
+ Annotated[StrictFloat, Field(gt=0)],
2250
+ Tuple[
2251
+ Annotated[StrictFloat, Field(gt=0)],
2252
+ Annotated[StrictFloat, Field(gt=0)]
2253
+ ]
2254
+ ] = None,
2255
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2256
+ _content_type: Optional[StrictStr] = None,
2257
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2258
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2259
+ ) -> RESTResponseType:
2260
+ """Get Impostor Queue Stats
2261
+
2262
+ Gets service stats for queued impostor.
2263
+
2264
+ :param _request_timeout: timeout setting for this request. If one
2265
+ number provided, it will be total request
2266
+ timeout. It can also be a pair (tuple) of
2267
+ (connection, read) timeouts.
2268
+ :type _request_timeout: int, tuple(int, int), optional
2269
+ :param _request_auth: set to override the auth_settings for an a single
2270
+ request; this effectively ignores the
2271
+ authentication in the spec for a single request.
2272
+ :type _request_auth: dict, optional
2273
+ :param _content_type: force content-type for the request.
2274
+ :type _content_type: str, Optional
2275
+ :param _headers: set to override the headers for a single
2276
+ request; this effectively ignores the headers
2277
+ in the spec for a single request.
2278
+ :type _headers: dict, optional
2279
+ :param _host_index: set to override the host_index for a single
2280
+ request; this effectively ignores the host_index
2281
+ in the spec for a single request.
2282
+ :type _host_index: int, optional
2283
+ :return: Returns the result object.
2284
+ """ # noqa: E501
2285
+
2286
+ _param = self._get_impostor_queue_stats_serialize(
2287
+ _request_auth=_request_auth,
2288
+ _content_type=_content_type,
2289
+ _headers=_headers,
2290
+ _host_index=_host_index
2291
+ )
2292
+
2293
+ _response_types_map: Dict[str, Optional[str]] = {
2294
+ '200': "ServiceQueueStats",
2295
+ '401': "Error",
2296
+ }
2297
+ response_data = await self.api_client.call_api(
2298
+ *_param,
2299
+ _request_timeout=_request_timeout
2300
+ )
2301
+ return response_data.response
2302
+
2303
+
2304
+ def _get_impostor_queue_stats_serialize(
2305
+ self,
2306
+ _request_auth,
2307
+ _content_type,
2308
+ _headers,
2309
+ _host_index,
2310
+ ) -> RequestSerialized:
2311
+
2312
+ _host = None
2313
+
2314
+ _collection_formats: Dict[str, str] = {
2315
+ }
2316
+
2317
+ _path_params: Dict[str, str] = {}
2318
+ _query_params: List[Tuple[str, str]] = []
2319
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2320
+ _form_params: List[Tuple[str, str]] = []
2321
+ _files: Dict[
2322
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2323
+ ] = {}
2324
+ _body_params: Optional[bytes] = None
2325
+
2326
+ # process the path parameters
2327
+ # process the query parameters
2328
+ # process the header parameters
2329
+ # process the form parameters
2330
+ # process the body parameter
2331
+
2332
+
2333
+ # set the HTTP header `Accept`
2334
+ if 'Accept' not in _header_params:
2335
+ _header_params['Accept'] = self.api_client.select_header_accept(
2336
+ [
2337
+ 'application/json'
2338
+ ]
2339
+ )
2340
+
2341
+
2342
+ # authentication setting
2343
+ _auth_settings: List[str] = [
2344
+ 'authCookie'
2345
+ ]
2346
+
2347
+ return self.api_client.param_serialize(
2348
+ method='GET',
2349
+ resource_path='/avatars/impostor/queue/stats',
2350
+ path_params=_path_params,
2351
+ query_params=_query_params,
2352
+ header_params=_header_params,
2353
+ body=_body_params,
2354
+ post_params=_form_params,
2355
+ files=_files,
2356
+ auth_settings=_auth_settings,
2357
+ collection_formats=_collection_formats,
2358
+ _host=_host,
2359
+ _request_auth=_request_auth
2360
+ )
2361
+
2362
+
2363
+
2364
+
2365
+ @validate_call
2366
+ async def get_licensed_avatars(
2367
+ self,
2368
+ n: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="The number of objects to return.")] = None,
2369
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="A zero-based offset from the default object sorting from where search results start.")] = None,
2370
+ _request_timeout: Union[
2371
+ None,
2372
+ Annotated[StrictFloat, Field(gt=0)],
2373
+ Tuple[
2374
+ Annotated[StrictFloat, Field(gt=0)],
2375
+ Annotated[StrictFloat, Field(gt=0)]
2376
+ ]
2377
+ ] = None,
2378
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2379
+ _content_type: Optional[StrictStr] = None,
2380
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2381
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2382
+ ) -> List[Avatar]:
2383
+ """List Licensed Avatars
2384
+
2385
+ List licensed avatars.
2386
+
2387
+ :param n: The number of objects to return.
2388
+ :type n: int
2389
+ :param offset: A zero-based offset from the default object sorting from where search results start.
2390
+ :type offset: int
2391
+ :param _request_timeout: timeout setting for this request. If one
2392
+ number provided, it will be total request
2393
+ timeout. It can also be a pair (tuple) of
2394
+ (connection, read) timeouts.
2395
+ :type _request_timeout: int, tuple(int, int), optional
2396
+ :param _request_auth: set to override the auth_settings for an a single
2397
+ request; this effectively ignores the
2398
+ authentication in the spec for a single request.
2399
+ :type _request_auth: dict, optional
2400
+ :param _content_type: force content-type for the request.
2401
+ :type _content_type: str, Optional
2402
+ :param _headers: set to override the headers for a single
2403
+ request; this effectively ignores the headers
2404
+ in the spec for a single request.
2405
+ :type _headers: dict, optional
2406
+ :param _host_index: set to override the host_index for a single
2407
+ request; this effectively ignores the host_index
2408
+ in the spec for a single request.
2409
+ :type _host_index: int, optional
2410
+ :return: Returns the result object.
2411
+ """ # noqa: E501
2412
+
2413
+ _param = self._get_licensed_avatars_serialize(
2414
+ n=n,
2415
+ offset=offset,
2416
+ _request_auth=_request_auth,
2417
+ _content_type=_content_type,
2418
+ _headers=_headers,
2419
+ _host_index=_host_index
2420
+ )
2421
+
2422
+ _response_types_map: Dict[str, Optional[str]] = {
2423
+ '200': "List[Avatar]",
2424
+ '401': "Error",
2425
+ }
2426
+ response_data = await self.api_client.call_api(
2427
+ *_param,
2428
+ _request_timeout=_request_timeout
2429
+ )
2430
+ await response_data.read()
2431
+ return self.api_client.response_deserialize(
2432
+ response_data=response_data,
2433
+ response_types_map=_response_types_map,
2434
+ ).data
2435
+
2436
+
2437
+ @validate_call
2438
+ async def get_licensed_avatars_with_http_info(
2439
+ self,
2440
+ n: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="The number of objects to return.")] = None,
2441
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="A zero-based offset from the default object sorting from where search results start.")] = None,
2442
+ _request_timeout: Union[
2443
+ None,
2444
+ Annotated[StrictFloat, Field(gt=0)],
2445
+ Tuple[
2446
+ Annotated[StrictFloat, Field(gt=0)],
2447
+ Annotated[StrictFloat, Field(gt=0)]
2448
+ ]
2449
+ ] = None,
2450
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2451
+ _content_type: Optional[StrictStr] = None,
2452
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2453
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2454
+ ) -> ApiResponse[List[Avatar]]:
2455
+ """List Licensed Avatars
2456
+
2457
+ List licensed avatars.
2458
+
2459
+ :param n: The number of objects to return.
2460
+ :type n: int
2461
+ :param offset: A zero-based offset from the default object sorting from where search results start.
2462
+ :type offset: int
2463
+ :param _request_timeout: timeout setting for this request. If one
2464
+ number provided, it will be total request
2465
+ timeout. It can also be a pair (tuple) of
2466
+ (connection, read) timeouts.
2467
+ :type _request_timeout: int, tuple(int, int), optional
2468
+ :param _request_auth: set to override the auth_settings for an a single
2469
+ request; this effectively ignores the
2470
+ authentication in the spec for a single request.
2471
+ :type _request_auth: dict, optional
2472
+ :param _content_type: force content-type for the request.
2473
+ :type _content_type: str, Optional
2474
+ :param _headers: set to override the headers for a single
2475
+ request; this effectively ignores the headers
2476
+ in the spec for a single request.
2477
+ :type _headers: dict, optional
2478
+ :param _host_index: set to override the host_index for a single
2479
+ request; this effectively ignores the host_index
2480
+ in the spec for a single request.
2481
+ :type _host_index: int, optional
2482
+ :return: Returns the result object.
2483
+ """ # noqa: E501
2484
+
2485
+ _param = self._get_licensed_avatars_serialize(
2486
+ n=n,
2487
+ offset=offset,
2488
+ _request_auth=_request_auth,
2489
+ _content_type=_content_type,
2490
+ _headers=_headers,
2491
+ _host_index=_host_index
2492
+ )
2493
+
2494
+ _response_types_map: Dict[str, Optional[str]] = {
2495
+ '200': "List[Avatar]",
2496
+ '401': "Error",
2497
+ }
2498
+ response_data = await self.api_client.call_api(
2499
+ *_param,
2500
+ _request_timeout=_request_timeout
2501
+ )
2502
+ await response_data.read()
2503
+ return self.api_client.response_deserialize(
2504
+ response_data=response_data,
2505
+ response_types_map=_response_types_map,
2506
+ )
2507
+
2508
+
2509
+ @validate_call
2510
+ async def get_licensed_avatars_without_preload_content(
2511
+ self,
2512
+ n: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="The number of objects to return.")] = None,
2513
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="A zero-based offset from the default object sorting from where search results start.")] = None,
2514
+ _request_timeout: Union[
2515
+ None,
2516
+ Annotated[StrictFloat, Field(gt=0)],
2517
+ Tuple[
2518
+ Annotated[StrictFloat, Field(gt=0)],
2519
+ Annotated[StrictFloat, Field(gt=0)]
2520
+ ]
2521
+ ] = None,
2522
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2523
+ _content_type: Optional[StrictStr] = None,
2524
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2525
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2526
+ ) -> RESTResponseType:
2527
+ """List Licensed Avatars
2528
+
2529
+ List licensed avatars.
2530
+
2531
+ :param n: The number of objects to return.
2532
+ :type n: int
2533
+ :param offset: A zero-based offset from the default object sorting from where search results start.
2534
+ :type offset: int
2535
+ :param _request_timeout: timeout setting for this request. If one
2536
+ number provided, it will be total request
2537
+ timeout. It can also be a pair (tuple) of
2538
+ (connection, read) timeouts.
2539
+ :type _request_timeout: int, tuple(int, int), optional
2540
+ :param _request_auth: set to override the auth_settings for an a single
2541
+ request; this effectively ignores the
2542
+ authentication in the spec for a single request.
2543
+ :type _request_auth: dict, optional
2544
+ :param _content_type: force content-type for the request.
2545
+ :type _content_type: str, Optional
2546
+ :param _headers: set to override the headers for a single
2547
+ request; this effectively ignores the headers
2548
+ in the spec for a single request.
2549
+ :type _headers: dict, optional
2550
+ :param _host_index: set to override the host_index for a single
2551
+ request; this effectively ignores the host_index
2552
+ in the spec for a single request.
2553
+ :type _host_index: int, optional
2554
+ :return: Returns the result object.
2555
+ """ # noqa: E501
2556
+
2557
+ _param = self._get_licensed_avatars_serialize(
2558
+ n=n,
2559
+ offset=offset,
2560
+ _request_auth=_request_auth,
2561
+ _content_type=_content_type,
2562
+ _headers=_headers,
2563
+ _host_index=_host_index
2564
+ )
2565
+
2566
+ _response_types_map: Dict[str, Optional[str]] = {
2567
+ '200': "List[Avatar]",
2568
+ '401': "Error",
2569
+ }
2570
+ response_data = await self.api_client.call_api(
2571
+ *_param,
2572
+ _request_timeout=_request_timeout
2573
+ )
2574
+ return response_data.response
2575
+
2576
+
2577
+ def _get_licensed_avatars_serialize(
2578
+ self,
2579
+ n,
2580
+ offset,
2581
+ _request_auth,
2582
+ _content_type,
2583
+ _headers,
2584
+ _host_index,
2585
+ ) -> RequestSerialized:
2586
+
2587
+ _host = None
2588
+
2589
+ _collection_formats: Dict[str, str] = {
2590
+ }
2591
+
2592
+ _path_params: Dict[str, str] = {}
2593
+ _query_params: List[Tuple[str, str]] = []
2594
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2595
+ _form_params: List[Tuple[str, str]] = []
2596
+ _files: Dict[
2597
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2598
+ ] = {}
2599
+ _body_params: Optional[bytes] = None
2600
+
2601
+ # process the path parameters
2602
+ # process the query parameters
2603
+ if n is not None:
2604
+
2605
+ _query_params.append(('n', n))
2606
+
2607
+ if offset is not None:
2608
+
2609
+ _query_params.append(('offset', offset))
2610
+
2611
+ # process the header parameters
2612
+ # process the form parameters
2613
+ # process the body parameter
2614
+
2615
+
2616
+ # set the HTTP header `Accept`
2617
+ if 'Accept' not in _header_params:
2618
+ _header_params['Accept'] = self.api_client.select_header_accept(
2619
+ [
2620
+ 'application/json'
2621
+ ]
2622
+ )
2623
+
2624
+
2625
+ # authentication setting
2626
+ _auth_settings: List[str] = [
2627
+ 'authCookie'
2628
+ ]
2629
+
2630
+ return self.api_client.param_serialize(
2631
+ method='GET',
2632
+ resource_path='/avatars/licensed',
2633
+ path_params=_path_params,
2634
+ query_params=_query_params,
2635
+ header_params=_header_params,
2636
+ body=_body_params,
2637
+ post_params=_form_params,
2638
+ files=_files,
2639
+ auth_settings=_auth_settings,
2640
+ collection_formats=_collection_formats,
2641
+ _host=_host,
2642
+ _request_auth=_request_auth
2643
+ )
2644
+
2645
+
2646
+
2647
+
2648
+ @validate_call
2649
+ async def get_own_avatar(
2650
+ self,
2651
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
2652
+ _request_timeout: Union[
2653
+ None,
2654
+ Annotated[StrictFloat, Field(gt=0)],
2655
+ Tuple[
2656
+ Annotated[StrictFloat, Field(gt=0)],
2657
+ Annotated[StrictFloat, Field(gt=0)]
2658
+ ]
2659
+ ] = None,
2660
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2661
+ _content_type: Optional[StrictStr] = None,
2662
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2663
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2664
+ ) -> Avatar:
2665
+ """Get Own Avatar
2666
+
2667
+ Get the current avatar for the user. This will return an error for any other user than the one logged in.
2668
+
2669
+ :param user_id: Must be a valid user ID. (required)
2670
+ :type user_id: str
2671
+ :param _request_timeout: timeout setting for this request. If one
2672
+ number provided, it will be total request
2673
+ timeout. It can also be a pair (tuple) of
2674
+ (connection, read) timeouts.
2675
+ :type _request_timeout: int, tuple(int, int), optional
2676
+ :param _request_auth: set to override the auth_settings for an a single
2677
+ request; this effectively ignores the
2678
+ authentication in the spec for a single request.
2679
+ :type _request_auth: dict, optional
2680
+ :param _content_type: force content-type for the request.
2681
+ :type _content_type: str, Optional
2682
+ :param _headers: set to override the headers for a single
2683
+ request; this effectively ignores the headers
2684
+ in the spec for a single request.
2685
+ :type _headers: dict, optional
2686
+ :param _host_index: set to override the host_index for a single
2687
+ request; this effectively ignores the host_index
2688
+ in the spec for a single request.
2689
+ :type _host_index: int, optional
2690
+ :return: Returns the result object.
2691
+ """ # noqa: E501
2692
+
2693
+ _param = self._get_own_avatar_serialize(
2694
+ user_id=user_id,
2695
+ _request_auth=_request_auth,
2696
+ _content_type=_content_type,
2697
+ _headers=_headers,
2698
+ _host_index=_host_index
2699
+ )
2700
+
2701
+ _response_types_map: Dict[str, Optional[str]] = {
2702
+ '200': "Avatar",
2703
+ '401': "Error",
2704
+ '403': "Error",
2705
+ }
2706
+ response_data = await self.api_client.call_api(
2707
+ *_param,
2708
+ _request_timeout=_request_timeout
2709
+ )
2710
+ await response_data.read()
2711
+ return self.api_client.response_deserialize(
2712
+ response_data=response_data,
2713
+ response_types_map=_response_types_map,
2714
+ ).data
2715
+
2716
+
2717
+ @validate_call
2718
+ async def get_own_avatar_with_http_info(
2719
+ self,
2720
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
2721
+ _request_timeout: Union[
2722
+ None,
2723
+ Annotated[StrictFloat, Field(gt=0)],
2724
+ Tuple[
2725
+ Annotated[StrictFloat, Field(gt=0)],
2726
+ Annotated[StrictFloat, Field(gt=0)]
2727
+ ]
2728
+ ] = None,
2729
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2730
+ _content_type: Optional[StrictStr] = None,
2731
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2732
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2733
+ ) -> ApiResponse[Avatar]:
2734
+ """Get Own Avatar
2735
+
2736
+ Get the current avatar for the user. This will return an error for any other user than the one logged in.
2737
+
2738
+ :param user_id: Must be a valid user ID. (required)
2739
+ :type user_id: str
2740
+ :param _request_timeout: timeout setting for this request. If one
2741
+ number provided, it will be total request
2742
+ timeout. It can also be a pair (tuple) of
2743
+ (connection, read) timeouts.
2744
+ :type _request_timeout: int, tuple(int, int), optional
2745
+ :param _request_auth: set to override the auth_settings for an a single
2746
+ request; this effectively ignores the
2747
+ authentication in the spec for a single request.
2748
+ :type _request_auth: dict, optional
2749
+ :param _content_type: force content-type for the request.
2750
+ :type _content_type: str, Optional
2751
+ :param _headers: set to override the headers for a single
2752
+ request; this effectively ignores the headers
2753
+ in the spec for a single request.
2754
+ :type _headers: dict, optional
2755
+ :param _host_index: set to override the host_index for a single
2756
+ request; this effectively ignores the host_index
2757
+ in the spec for a single request.
2758
+ :type _host_index: int, optional
2759
+ :return: Returns the result object.
2760
+ """ # noqa: E501
2761
+
2762
+ _param = self._get_own_avatar_serialize(
2763
+ user_id=user_id,
2764
+ _request_auth=_request_auth,
2765
+ _content_type=_content_type,
2766
+ _headers=_headers,
2767
+ _host_index=_host_index
2768
+ )
2769
+
2770
+ _response_types_map: Dict[str, Optional[str]] = {
2771
+ '200': "Avatar",
2772
+ '401': "Error",
2773
+ '403': "Error",
2774
+ }
2775
+ response_data = await self.api_client.call_api(
2776
+ *_param,
2777
+ _request_timeout=_request_timeout
2778
+ )
2779
+ await response_data.read()
2780
+ return self.api_client.response_deserialize(
2781
+ response_data=response_data,
2782
+ response_types_map=_response_types_map,
2783
+ )
2784
+
2785
+
2786
+ @validate_call
2787
+ async def get_own_avatar_without_preload_content(
2788
+ self,
2789
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
2790
+ _request_timeout: Union[
2791
+ None,
2792
+ Annotated[StrictFloat, Field(gt=0)],
2793
+ Tuple[
2794
+ Annotated[StrictFloat, Field(gt=0)],
2795
+ Annotated[StrictFloat, Field(gt=0)]
2796
+ ]
2797
+ ] = None,
2798
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2799
+ _content_type: Optional[StrictStr] = None,
2800
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2801
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2802
+ ) -> RESTResponseType:
2803
+ """Get Own Avatar
2804
+
2805
+ Get the current avatar for the user. This will return an error for any other user than the one logged in.
2806
+
2807
+ :param user_id: Must be a valid user ID. (required)
2808
+ :type user_id: str
2809
+ :param _request_timeout: timeout setting for this request. If one
2810
+ number provided, it will be total request
2811
+ timeout. It can also be a pair (tuple) of
2812
+ (connection, read) timeouts.
2813
+ :type _request_timeout: int, tuple(int, int), optional
2814
+ :param _request_auth: set to override the auth_settings for an a single
2815
+ request; this effectively ignores the
2816
+ authentication in the spec for a single request.
2817
+ :type _request_auth: dict, optional
2818
+ :param _content_type: force content-type for the request.
2819
+ :type _content_type: str, Optional
2820
+ :param _headers: set to override the headers for a single
2821
+ request; this effectively ignores the headers
2822
+ in the spec for a single request.
2823
+ :type _headers: dict, optional
2824
+ :param _host_index: set to override the host_index for a single
2825
+ request; this effectively ignores the host_index
2826
+ in the spec for a single request.
2827
+ :type _host_index: int, optional
2828
+ :return: Returns the result object.
2829
+ """ # noqa: E501
2830
+
2831
+ _param = self._get_own_avatar_serialize(
2832
+ user_id=user_id,
2833
+ _request_auth=_request_auth,
2834
+ _content_type=_content_type,
2835
+ _headers=_headers,
2836
+ _host_index=_host_index
2837
+ )
2838
+
2839
+ _response_types_map: Dict[str, Optional[str]] = {
2840
+ '200': "Avatar",
2841
+ '401': "Error",
2842
+ '403': "Error",
2843
+ }
2844
+ response_data = await self.api_client.call_api(
2845
+ *_param,
2846
+ _request_timeout=_request_timeout
2847
+ )
2848
+ return response_data.response
2849
+
2850
+
2851
+ def _get_own_avatar_serialize(
2852
+ self,
2853
+ user_id,
2854
+ _request_auth,
2855
+ _content_type,
2856
+ _headers,
2857
+ _host_index,
2858
+ ) -> RequestSerialized:
2859
+
2860
+ _host = None
2861
+
2862
+ _collection_formats: Dict[str, str] = {
2863
+ }
2864
+
2865
+ _path_params: Dict[str, str] = {}
2866
+ _query_params: List[Tuple[str, str]] = []
2867
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2868
+ _form_params: List[Tuple[str, str]] = []
2869
+ _files: Dict[
2870
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2871
+ ] = {}
2872
+ _body_params: Optional[bytes] = None
2873
+
2874
+ # process the path parameters
2875
+ if user_id is not None:
2876
+ _path_params['userId'] = user_id
2877
+ # process the query parameters
2878
+ # process the header parameters
2879
+ # process the form parameters
2880
+ # process the body parameter
2881
+
2882
+
2883
+ # set the HTTP header `Accept`
2884
+ if 'Accept' not in _header_params:
2885
+ _header_params['Accept'] = self.api_client.select_header_accept(
2886
+ [
2887
+ 'application/json'
2888
+ ]
2889
+ )
2890
+
2891
+
2892
+ # authentication setting
2893
+ _auth_settings: List[str] = [
2894
+ 'authCookie'
2895
+ ]
2896
+
2897
+ return self.api_client.param_serialize(
2898
+ method='GET',
2899
+ resource_path='/users/{userId}/avatar',
2900
+ path_params=_path_params,
2901
+ query_params=_query_params,
2902
+ header_params=_header_params,
2903
+ body=_body_params,
2904
+ post_params=_form_params,
2905
+ files=_files,
2906
+ auth_settings=_auth_settings,
2907
+ collection_formats=_collection_formats,
2908
+ _host=_host,
2909
+ _request_auth=_request_auth
2910
+ )
2911
+
2912
+
2913
+
2914
+
2915
+ @validate_call
2916
+ async def search_avatars(
2917
+ self,
2918
+ featured: Annotated[Optional[StrictBool], Field(description="Filters on featured results.")] = None,
2919
+ sort: Annotated[Optional[SortOption], Field(description="The sort order of the results.")] = None,
2920
+ user: Annotated[Optional[StrictStr], Field(description="Set to `me` for searching own avatars.")] = None,
2921
+ user_id: Annotated[Optional[StrictStr], Field(description="Filter by UserID.")] = None,
2922
+ n: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="The number of objects to return.")] = None,
2923
+ order: Annotated[Optional[OrderOption], Field(description="Result ordering")] = None,
2924
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="A zero-based offset from the default object sorting from where search results start.")] = None,
2925
+ tag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to include (comma-separated). Any of the tags needs to be present.")] = None,
2926
+ notag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to exclude (comma-separated).")] = None,
2927
+ release_status: Annotated[Optional[ReleaseStatus], Field(description="Filter by ReleaseStatus.")] = None,
2928
+ max_unity_version: Annotated[Optional[StrictStr], Field(description="The maximum Unity version supported by the asset.")] = None,
2929
+ min_unity_version: Annotated[Optional[StrictStr], Field(description="The minimum Unity version supported by the asset.")] = None,
2930
+ platform: Annotated[Optional[StrictStr], Field(description="The platform the asset supports.")] = None,
2931
+ is_internal_variant: Annotated[Optional[StrictBool], Field(description="Not quite sure what this actually does (exists on the website but doesn't seem to be used)")] = None,
2932
+ _request_timeout: Union[
2933
+ None,
2934
+ Annotated[StrictFloat, Field(gt=0)],
2935
+ Tuple[
2936
+ Annotated[StrictFloat, Field(gt=0)],
2937
+ Annotated[StrictFloat, Field(gt=0)]
2938
+ ]
2939
+ ] = None,
2940
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2941
+ _content_type: Optional[StrictStr] = None,
2942
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2943
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2944
+ ) -> List[Avatar]:
2945
+ """Search Avatars
2946
+
2947
+ Search and list avatars by query filters. You can only search your own or featured avatars. It is not possible as a normal user to search other peoples avatars.
2948
+
2949
+ :param featured: Filters on featured results.
2950
+ :type featured: bool
2951
+ :param sort: The sort order of the results.
2952
+ :type sort: SortOption
2953
+ :param user: Set to `me` for searching own avatars.
2954
+ :type user: str
2955
+ :param user_id: Filter by UserID.
2956
+ :type user_id: str
2957
+ :param n: The number of objects to return.
2958
+ :type n: int
2959
+ :param order: Result ordering
2960
+ :type order: OrderOption
2961
+ :param offset: A zero-based offset from the default object sorting from where search results start.
2962
+ :type offset: int
2963
+ :param tag: Tags to include (comma-separated). Any of the tags needs to be present.
2964
+ :type tag: str
2965
+ :param notag: Tags to exclude (comma-separated).
2966
+ :type notag: str
2967
+ :param release_status: Filter by ReleaseStatus.
2968
+ :type release_status: ReleaseStatus
2969
+ :param max_unity_version: The maximum Unity version supported by the asset.
2970
+ :type max_unity_version: str
2971
+ :param min_unity_version: The minimum Unity version supported by the asset.
2972
+ :type min_unity_version: str
2973
+ :param platform: The platform the asset supports.
2974
+ :type platform: str
2975
+ :param is_internal_variant: Not quite sure what this actually does (exists on the website but doesn't seem to be used)
2976
+ :type is_internal_variant: bool
2977
+ :param _request_timeout: timeout setting for this request. If one
2978
+ number provided, it will be total request
2979
+ timeout. It can also be a pair (tuple) of
2980
+ (connection, read) timeouts.
2981
+ :type _request_timeout: int, tuple(int, int), optional
2982
+ :param _request_auth: set to override the auth_settings for an a single
2983
+ request; this effectively ignores the
2984
+ authentication in the spec for a single request.
2985
+ :type _request_auth: dict, optional
2986
+ :param _content_type: force content-type for the request.
2987
+ :type _content_type: str, Optional
2988
+ :param _headers: set to override the headers for a single
2989
+ request; this effectively ignores the headers
2990
+ in the spec for a single request.
2991
+ :type _headers: dict, optional
2992
+ :param _host_index: set to override the host_index for a single
2993
+ request; this effectively ignores the host_index
2994
+ in the spec for a single request.
2995
+ :type _host_index: int, optional
2996
+ :return: Returns the result object.
2997
+ """ # noqa: E501
2998
+
2999
+ _param = self._search_avatars_serialize(
3000
+ featured=featured,
3001
+ sort=sort,
3002
+ user=user,
3003
+ user_id=user_id,
3004
+ n=n,
3005
+ order=order,
3006
+ offset=offset,
3007
+ tag=tag,
3008
+ notag=notag,
3009
+ release_status=release_status,
3010
+ max_unity_version=max_unity_version,
3011
+ min_unity_version=min_unity_version,
3012
+ platform=platform,
3013
+ is_internal_variant=is_internal_variant,
3014
+ _request_auth=_request_auth,
3015
+ _content_type=_content_type,
3016
+ _headers=_headers,
3017
+ _host_index=_host_index
3018
+ )
3019
+
3020
+ _response_types_map: Dict[str, Optional[str]] = {
3021
+ '200': "List[Avatar]",
3022
+ '401': "Error",
3023
+ }
3024
+ response_data = await self.api_client.call_api(
3025
+ *_param,
3026
+ _request_timeout=_request_timeout
3027
+ )
3028
+ await response_data.read()
3029
+ return self.api_client.response_deserialize(
3030
+ response_data=response_data,
3031
+ response_types_map=_response_types_map,
3032
+ ).data
3033
+
3034
+
3035
+ @validate_call
3036
+ async def search_avatars_with_http_info(
3037
+ self,
3038
+ featured: Annotated[Optional[StrictBool], Field(description="Filters on featured results.")] = None,
3039
+ sort: Annotated[Optional[SortOption], Field(description="The sort order of the results.")] = None,
3040
+ user: Annotated[Optional[StrictStr], Field(description="Set to `me` for searching own avatars.")] = None,
3041
+ user_id: Annotated[Optional[StrictStr], Field(description="Filter by UserID.")] = None,
3042
+ n: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="The number of objects to return.")] = None,
3043
+ order: Annotated[Optional[OrderOption], Field(description="Result ordering")] = None,
3044
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="A zero-based offset from the default object sorting from where search results start.")] = None,
3045
+ tag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to include (comma-separated). Any of the tags needs to be present.")] = None,
3046
+ notag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to exclude (comma-separated).")] = None,
3047
+ release_status: Annotated[Optional[ReleaseStatus], Field(description="Filter by ReleaseStatus.")] = None,
3048
+ max_unity_version: Annotated[Optional[StrictStr], Field(description="The maximum Unity version supported by the asset.")] = None,
3049
+ min_unity_version: Annotated[Optional[StrictStr], Field(description="The minimum Unity version supported by the asset.")] = None,
3050
+ platform: Annotated[Optional[StrictStr], Field(description="The platform the asset supports.")] = None,
3051
+ is_internal_variant: Annotated[Optional[StrictBool], Field(description="Not quite sure what this actually does (exists on the website but doesn't seem to be used)")] = None,
3052
+ _request_timeout: Union[
3053
+ None,
3054
+ Annotated[StrictFloat, Field(gt=0)],
3055
+ Tuple[
3056
+ Annotated[StrictFloat, Field(gt=0)],
3057
+ Annotated[StrictFloat, Field(gt=0)]
3058
+ ]
3059
+ ] = None,
3060
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3061
+ _content_type: Optional[StrictStr] = None,
3062
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3063
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3064
+ ) -> ApiResponse[List[Avatar]]:
3065
+ """Search Avatars
3066
+
3067
+ Search and list avatars by query filters. You can only search your own or featured avatars. It is not possible as a normal user to search other peoples avatars.
3068
+
3069
+ :param featured: Filters on featured results.
3070
+ :type featured: bool
3071
+ :param sort: The sort order of the results.
3072
+ :type sort: SortOption
3073
+ :param user: Set to `me` for searching own avatars.
3074
+ :type user: str
3075
+ :param user_id: Filter by UserID.
3076
+ :type user_id: str
3077
+ :param n: The number of objects to return.
3078
+ :type n: int
3079
+ :param order: Result ordering
3080
+ :type order: OrderOption
3081
+ :param offset: A zero-based offset from the default object sorting from where search results start.
3082
+ :type offset: int
3083
+ :param tag: Tags to include (comma-separated). Any of the tags needs to be present.
3084
+ :type tag: str
3085
+ :param notag: Tags to exclude (comma-separated).
3086
+ :type notag: str
3087
+ :param release_status: Filter by ReleaseStatus.
3088
+ :type release_status: ReleaseStatus
3089
+ :param max_unity_version: The maximum Unity version supported by the asset.
3090
+ :type max_unity_version: str
3091
+ :param min_unity_version: The minimum Unity version supported by the asset.
3092
+ :type min_unity_version: str
3093
+ :param platform: The platform the asset supports.
3094
+ :type platform: str
3095
+ :param is_internal_variant: Not quite sure what this actually does (exists on the website but doesn't seem to be used)
3096
+ :type is_internal_variant: bool
3097
+ :param _request_timeout: timeout setting for this request. If one
3098
+ number provided, it will be total request
3099
+ timeout. It can also be a pair (tuple) of
3100
+ (connection, read) timeouts.
3101
+ :type _request_timeout: int, tuple(int, int), optional
3102
+ :param _request_auth: set to override the auth_settings for an a single
3103
+ request; this effectively ignores the
3104
+ authentication in the spec for a single request.
3105
+ :type _request_auth: dict, optional
3106
+ :param _content_type: force content-type for the request.
3107
+ :type _content_type: str, Optional
3108
+ :param _headers: set to override the headers for a single
3109
+ request; this effectively ignores the headers
3110
+ in the spec for a single request.
3111
+ :type _headers: dict, optional
3112
+ :param _host_index: set to override the host_index for a single
3113
+ request; this effectively ignores the host_index
3114
+ in the spec for a single request.
3115
+ :type _host_index: int, optional
3116
+ :return: Returns the result object.
3117
+ """ # noqa: E501
3118
+
3119
+ _param = self._search_avatars_serialize(
3120
+ featured=featured,
3121
+ sort=sort,
3122
+ user=user,
3123
+ user_id=user_id,
3124
+ n=n,
3125
+ order=order,
3126
+ offset=offset,
3127
+ tag=tag,
3128
+ notag=notag,
3129
+ release_status=release_status,
3130
+ max_unity_version=max_unity_version,
3131
+ min_unity_version=min_unity_version,
3132
+ platform=platform,
3133
+ is_internal_variant=is_internal_variant,
3134
+ _request_auth=_request_auth,
3135
+ _content_type=_content_type,
3136
+ _headers=_headers,
3137
+ _host_index=_host_index
3138
+ )
3139
+
3140
+ _response_types_map: Dict[str, Optional[str]] = {
3141
+ '200': "List[Avatar]",
3142
+ '401': "Error",
3143
+ }
3144
+ response_data = await self.api_client.call_api(
3145
+ *_param,
3146
+ _request_timeout=_request_timeout
3147
+ )
3148
+ await response_data.read()
3149
+ return self.api_client.response_deserialize(
3150
+ response_data=response_data,
3151
+ response_types_map=_response_types_map,
3152
+ )
3153
+
3154
+
3155
+ @validate_call
3156
+ async def search_avatars_without_preload_content(
3157
+ self,
3158
+ featured: Annotated[Optional[StrictBool], Field(description="Filters on featured results.")] = None,
3159
+ sort: Annotated[Optional[SortOption], Field(description="The sort order of the results.")] = None,
3160
+ user: Annotated[Optional[StrictStr], Field(description="Set to `me` for searching own avatars.")] = None,
3161
+ user_id: Annotated[Optional[StrictStr], Field(description="Filter by UserID.")] = None,
3162
+ n: Annotated[Optional[Annotated[int, Field(le=100, strict=True, ge=1)]], Field(description="The number of objects to return.")] = None,
3163
+ order: Annotated[Optional[OrderOption], Field(description="Result ordering")] = None,
3164
+ offset: Annotated[Optional[Annotated[int, Field(strict=True, ge=0)]], Field(description="A zero-based offset from the default object sorting from where search results start.")] = None,
3165
+ tag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to include (comma-separated). Any of the tags needs to be present.")] = None,
3166
+ notag: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True)]], Field(description="Tags to exclude (comma-separated).")] = None,
3167
+ release_status: Annotated[Optional[ReleaseStatus], Field(description="Filter by ReleaseStatus.")] = None,
3168
+ max_unity_version: Annotated[Optional[StrictStr], Field(description="The maximum Unity version supported by the asset.")] = None,
3169
+ min_unity_version: Annotated[Optional[StrictStr], Field(description="The minimum Unity version supported by the asset.")] = None,
3170
+ platform: Annotated[Optional[StrictStr], Field(description="The platform the asset supports.")] = None,
3171
+ is_internal_variant: Annotated[Optional[StrictBool], Field(description="Not quite sure what this actually does (exists on the website but doesn't seem to be used)")] = None,
3172
+ _request_timeout: Union[
3173
+ None,
3174
+ Annotated[StrictFloat, Field(gt=0)],
3175
+ Tuple[
3176
+ Annotated[StrictFloat, Field(gt=0)],
3177
+ Annotated[StrictFloat, Field(gt=0)]
3178
+ ]
3179
+ ] = None,
3180
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3181
+ _content_type: Optional[StrictStr] = None,
3182
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3183
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3184
+ ) -> RESTResponseType:
3185
+ """Search Avatars
3186
+
3187
+ Search and list avatars by query filters. You can only search your own or featured avatars. It is not possible as a normal user to search other peoples avatars.
3188
+
3189
+ :param featured: Filters on featured results.
3190
+ :type featured: bool
3191
+ :param sort: The sort order of the results.
3192
+ :type sort: SortOption
3193
+ :param user: Set to `me` for searching own avatars.
3194
+ :type user: str
3195
+ :param user_id: Filter by UserID.
3196
+ :type user_id: str
3197
+ :param n: The number of objects to return.
3198
+ :type n: int
3199
+ :param order: Result ordering
3200
+ :type order: OrderOption
3201
+ :param offset: A zero-based offset from the default object sorting from where search results start.
3202
+ :type offset: int
3203
+ :param tag: Tags to include (comma-separated). Any of the tags needs to be present.
3204
+ :type tag: str
3205
+ :param notag: Tags to exclude (comma-separated).
3206
+ :type notag: str
3207
+ :param release_status: Filter by ReleaseStatus.
3208
+ :type release_status: ReleaseStatus
3209
+ :param max_unity_version: The maximum Unity version supported by the asset.
3210
+ :type max_unity_version: str
3211
+ :param min_unity_version: The minimum Unity version supported by the asset.
3212
+ :type min_unity_version: str
3213
+ :param platform: The platform the asset supports.
3214
+ :type platform: str
3215
+ :param is_internal_variant: Not quite sure what this actually does (exists on the website but doesn't seem to be used)
3216
+ :type is_internal_variant: bool
3217
+ :param _request_timeout: timeout setting for this request. If one
3218
+ number provided, it will be total request
3219
+ timeout. It can also be a pair (tuple) of
3220
+ (connection, read) timeouts.
3221
+ :type _request_timeout: int, tuple(int, int), optional
3222
+ :param _request_auth: set to override the auth_settings for an a single
3223
+ request; this effectively ignores the
3224
+ authentication in the spec for a single request.
3225
+ :type _request_auth: dict, optional
3226
+ :param _content_type: force content-type for the request.
3227
+ :type _content_type: str, Optional
3228
+ :param _headers: set to override the headers for a single
3229
+ request; this effectively ignores the headers
3230
+ in the spec for a single request.
3231
+ :type _headers: dict, optional
3232
+ :param _host_index: set to override the host_index for a single
3233
+ request; this effectively ignores the host_index
3234
+ in the spec for a single request.
3235
+ :type _host_index: int, optional
3236
+ :return: Returns the result object.
3237
+ """ # noqa: E501
3238
+
3239
+ _param = self._search_avatars_serialize(
3240
+ featured=featured,
3241
+ sort=sort,
3242
+ user=user,
3243
+ user_id=user_id,
3244
+ n=n,
3245
+ order=order,
3246
+ offset=offset,
3247
+ tag=tag,
3248
+ notag=notag,
3249
+ release_status=release_status,
3250
+ max_unity_version=max_unity_version,
3251
+ min_unity_version=min_unity_version,
3252
+ platform=platform,
3253
+ is_internal_variant=is_internal_variant,
3254
+ _request_auth=_request_auth,
3255
+ _content_type=_content_type,
3256
+ _headers=_headers,
3257
+ _host_index=_host_index
3258
+ )
3259
+
3260
+ _response_types_map: Dict[str, Optional[str]] = {
3261
+ '200': "List[Avatar]",
3262
+ '401': "Error",
3263
+ }
3264
+ response_data = await self.api_client.call_api(
3265
+ *_param,
3266
+ _request_timeout=_request_timeout
3267
+ )
3268
+ return response_data.response
3269
+
3270
+
3271
+ def _search_avatars_serialize(
3272
+ self,
3273
+ featured,
3274
+ sort,
3275
+ user,
3276
+ user_id,
3277
+ n,
3278
+ order,
3279
+ offset,
3280
+ tag,
3281
+ notag,
3282
+ release_status,
3283
+ max_unity_version,
3284
+ min_unity_version,
3285
+ platform,
3286
+ is_internal_variant,
3287
+ _request_auth,
3288
+ _content_type,
3289
+ _headers,
3290
+ _host_index,
3291
+ ) -> RequestSerialized:
3292
+
3293
+ _host = None
3294
+
3295
+ _collection_formats: Dict[str, str] = {
3296
+ }
3297
+
3298
+ _path_params: Dict[str, str] = {}
3299
+ _query_params: List[Tuple[str, str]] = []
3300
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3301
+ _form_params: List[Tuple[str, str]] = []
3302
+ _files: Dict[
3303
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3304
+ ] = {}
3305
+ _body_params: Optional[bytes] = None
3306
+
3307
+ # process the path parameters
3308
+ # process the query parameters
3309
+ if featured is not None:
3310
+
3311
+ _query_params.append(('featured', featured))
3312
+
3313
+ if sort is not None:
3314
+
3315
+ _query_params.append(('sort', sort.value))
3316
+
3317
+ if user is not None:
3318
+
3319
+ _query_params.append(('user', user))
3320
+
3321
+ if user_id is not None:
3322
+
3323
+ _query_params.append(('userId', user_id))
3324
+
3325
+ if n is not None:
3326
+
3327
+ _query_params.append(('n', n))
3328
+
3329
+ if order is not None:
3330
+
3331
+ _query_params.append(('order', order.value))
3332
+
3333
+ if offset is not None:
3334
+
3335
+ _query_params.append(('offset', offset))
3336
+
3337
+ if tag is not None:
3338
+
3339
+ _query_params.append(('tag', tag))
3340
+
3341
+ if notag is not None:
3342
+
3343
+ _query_params.append(('notag', notag))
3344
+
3345
+ if release_status is not None:
3346
+
3347
+ _query_params.append(('releaseStatus', release_status.value))
3348
+
3349
+ if max_unity_version is not None:
3350
+
3351
+ _query_params.append(('maxUnityVersion', max_unity_version))
3352
+
3353
+ if min_unity_version is not None:
3354
+
3355
+ _query_params.append(('minUnityVersion', min_unity_version))
3356
+
3357
+ if platform is not None:
3358
+
3359
+ _query_params.append(('platform', platform))
3360
+
3361
+ if is_internal_variant is not None:
3362
+
3363
+ _query_params.append(('isInternalVariant', is_internal_variant))
3364
+
3365
+ # process the header parameters
3366
+ # process the form parameters
3367
+ # process the body parameter
3368
+
3369
+
3370
+ # set the HTTP header `Accept`
3371
+ if 'Accept' not in _header_params:
3372
+ _header_params['Accept'] = self.api_client.select_header_accept(
3373
+ [
3374
+ 'application/json'
3375
+ ]
3376
+ )
3377
+
3378
+
3379
+ # authentication setting
3380
+ _auth_settings: List[str] = [
3381
+ 'authCookie'
3382
+ ]
3383
+
3384
+ return self.api_client.param_serialize(
3385
+ method='GET',
3386
+ resource_path='/avatars',
3387
+ path_params=_path_params,
3388
+ query_params=_query_params,
3389
+ header_params=_header_params,
3390
+ body=_body_params,
3391
+ post_params=_form_params,
3392
+ files=_files,
3393
+ auth_settings=_auth_settings,
3394
+ collection_formats=_collection_formats,
3395
+ _host=_host,
3396
+ _request_auth=_request_auth
3397
+ )
3398
+
3399
+
3400
+
3401
+
3402
+ @validate_call
3403
+ async def select_avatar(
3404
+ self,
3405
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
3406
+ _request_timeout: Union[
3407
+ None,
3408
+ Annotated[StrictFloat, Field(gt=0)],
3409
+ Tuple[
3410
+ Annotated[StrictFloat, Field(gt=0)],
3411
+ Annotated[StrictFloat, Field(gt=0)]
3412
+ ]
3413
+ ] = None,
3414
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3415
+ _content_type: Optional[StrictStr] = None,
3416
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3417
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3418
+ ) -> CurrentUser:
3419
+ """Select Avatar
3420
+
3421
+ Switches into that avatar.
3422
+
3423
+ :param avatar_id: Must be a valid avatar ID. (required)
3424
+ :type avatar_id: str
3425
+ :param _request_timeout: timeout setting for this request. If one
3426
+ number provided, it will be total request
3427
+ timeout. It can also be a pair (tuple) of
3428
+ (connection, read) timeouts.
3429
+ :type _request_timeout: int, tuple(int, int), optional
3430
+ :param _request_auth: set to override the auth_settings for an a single
3431
+ request; this effectively ignores the
3432
+ authentication in the spec for a single request.
3433
+ :type _request_auth: dict, optional
3434
+ :param _content_type: force content-type for the request.
3435
+ :type _content_type: str, Optional
3436
+ :param _headers: set to override the headers for a single
3437
+ request; this effectively ignores the headers
3438
+ in the spec for a single request.
3439
+ :type _headers: dict, optional
3440
+ :param _host_index: set to override the host_index for a single
3441
+ request; this effectively ignores the host_index
3442
+ in the spec for a single request.
3443
+ :type _host_index: int, optional
3444
+ :return: Returns the result object.
3445
+ """ # noqa: E501
3446
+
3447
+ _param = self._select_avatar_serialize(
3448
+ avatar_id=avatar_id,
3449
+ _request_auth=_request_auth,
3450
+ _content_type=_content_type,
3451
+ _headers=_headers,
3452
+ _host_index=_host_index
3453
+ )
3454
+
3455
+ _response_types_map: Dict[str, Optional[str]] = {
3456
+ '200': "CurrentUser",
3457
+ '401': "Error",
3458
+ '404': "Error",
3459
+ }
3460
+ response_data = await self.api_client.call_api(
3461
+ *_param,
3462
+ _request_timeout=_request_timeout
3463
+ )
3464
+ await response_data.read()
3465
+ return self.api_client.response_deserialize(
3466
+ response_data=response_data,
3467
+ response_types_map=_response_types_map,
3468
+ ).data
3469
+
3470
+
3471
+ @validate_call
3472
+ async def select_avatar_with_http_info(
3473
+ self,
3474
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
3475
+ _request_timeout: Union[
3476
+ None,
3477
+ Annotated[StrictFloat, Field(gt=0)],
3478
+ Tuple[
3479
+ Annotated[StrictFloat, Field(gt=0)],
3480
+ Annotated[StrictFloat, Field(gt=0)]
3481
+ ]
3482
+ ] = None,
3483
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3484
+ _content_type: Optional[StrictStr] = None,
3485
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3486
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3487
+ ) -> ApiResponse[CurrentUser]:
3488
+ """Select Avatar
3489
+
3490
+ Switches into that avatar.
3491
+
3492
+ :param avatar_id: Must be a valid avatar ID. (required)
3493
+ :type avatar_id: str
3494
+ :param _request_timeout: timeout setting for this request. If one
3495
+ number provided, it will be total request
3496
+ timeout. It can also be a pair (tuple) of
3497
+ (connection, read) timeouts.
3498
+ :type _request_timeout: int, tuple(int, int), optional
3499
+ :param _request_auth: set to override the auth_settings for an a single
3500
+ request; this effectively ignores the
3501
+ authentication in the spec for a single request.
3502
+ :type _request_auth: dict, optional
3503
+ :param _content_type: force content-type for the request.
3504
+ :type _content_type: str, Optional
3505
+ :param _headers: set to override the headers for a single
3506
+ request; this effectively ignores the headers
3507
+ in the spec for a single request.
3508
+ :type _headers: dict, optional
3509
+ :param _host_index: set to override the host_index for a single
3510
+ request; this effectively ignores the host_index
3511
+ in the spec for a single request.
3512
+ :type _host_index: int, optional
3513
+ :return: Returns the result object.
3514
+ """ # noqa: E501
3515
+
3516
+ _param = self._select_avatar_serialize(
3517
+ avatar_id=avatar_id,
3518
+ _request_auth=_request_auth,
3519
+ _content_type=_content_type,
3520
+ _headers=_headers,
3521
+ _host_index=_host_index
3522
+ )
3523
+
3524
+ _response_types_map: Dict[str, Optional[str]] = {
3525
+ '200': "CurrentUser",
3526
+ '401': "Error",
3527
+ '404': "Error",
3528
+ }
3529
+ response_data = await self.api_client.call_api(
3530
+ *_param,
3531
+ _request_timeout=_request_timeout
3532
+ )
3533
+ await response_data.read()
3534
+ return self.api_client.response_deserialize(
3535
+ response_data=response_data,
3536
+ response_types_map=_response_types_map,
3537
+ )
3538
+
3539
+
3540
+ @validate_call
3541
+ async def select_avatar_without_preload_content(
3542
+ self,
3543
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
3544
+ _request_timeout: Union[
3545
+ None,
3546
+ Annotated[StrictFloat, Field(gt=0)],
3547
+ Tuple[
3548
+ Annotated[StrictFloat, Field(gt=0)],
3549
+ Annotated[StrictFloat, Field(gt=0)]
3550
+ ]
3551
+ ] = None,
3552
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3553
+ _content_type: Optional[StrictStr] = None,
3554
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3555
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3556
+ ) -> RESTResponseType:
3557
+ """Select Avatar
3558
+
3559
+ Switches into that avatar.
3560
+
3561
+ :param avatar_id: Must be a valid avatar ID. (required)
3562
+ :type avatar_id: str
3563
+ :param _request_timeout: timeout setting for this request. If one
3564
+ number provided, it will be total request
3565
+ timeout. It can also be a pair (tuple) of
3566
+ (connection, read) timeouts.
3567
+ :type _request_timeout: int, tuple(int, int), optional
3568
+ :param _request_auth: set to override the auth_settings for an a single
3569
+ request; this effectively ignores the
3570
+ authentication in the spec for a single request.
3571
+ :type _request_auth: dict, optional
3572
+ :param _content_type: force content-type for the request.
3573
+ :type _content_type: str, Optional
3574
+ :param _headers: set to override the headers for a single
3575
+ request; this effectively ignores the headers
3576
+ in the spec for a single request.
3577
+ :type _headers: dict, optional
3578
+ :param _host_index: set to override the host_index for a single
3579
+ request; this effectively ignores the host_index
3580
+ in the spec for a single request.
3581
+ :type _host_index: int, optional
3582
+ :return: Returns the result object.
3583
+ """ # noqa: E501
3584
+
3585
+ _param = self._select_avatar_serialize(
3586
+ avatar_id=avatar_id,
3587
+ _request_auth=_request_auth,
3588
+ _content_type=_content_type,
3589
+ _headers=_headers,
3590
+ _host_index=_host_index
3591
+ )
3592
+
3593
+ _response_types_map: Dict[str, Optional[str]] = {
3594
+ '200': "CurrentUser",
3595
+ '401': "Error",
3596
+ '404': "Error",
3597
+ }
3598
+ response_data = await self.api_client.call_api(
3599
+ *_param,
3600
+ _request_timeout=_request_timeout
3601
+ )
3602
+ return response_data.response
3603
+
3604
+
3605
+ def _select_avatar_serialize(
3606
+ self,
3607
+ avatar_id,
3608
+ _request_auth,
3609
+ _content_type,
3610
+ _headers,
3611
+ _host_index,
3612
+ ) -> RequestSerialized:
3613
+
3614
+ _host = None
3615
+
3616
+ _collection_formats: Dict[str, str] = {
3617
+ }
3618
+
3619
+ _path_params: Dict[str, str] = {}
3620
+ _query_params: List[Tuple[str, str]] = []
3621
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3622
+ _form_params: List[Tuple[str, str]] = []
3623
+ _files: Dict[
3624
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3625
+ ] = {}
3626
+ _body_params: Optional[bytes] = None
3627
+
3628
+ # process the path parameters
3629
+ if avatar_id is not None:
3630
+ _path_params['avatarId'] = avatar_id
3631
+ # process the query parameters
3632
+ # process the header parameters
3633
+ # process the form parameters
3634
+ # process the body parameter
3635
+
3636
+
3637
+ # set the HTTP header `Accept`
3638
+ if 'Accept' not in _header_params:
3639
+ _header_params['Accept'] = self.api_client.select_header_accept(
3640
+ [
3641
+ 'application/json'
3642
+ ]
3643
+ )
3644
+
3645
+
3646
+ # authentication setting
3647
+ _auth_settings: List[str] = [
3648
+ 'authCookie'
3649
+ ]
3650
+
3651
+ return self.api_client.param_serialize(
3652
+ method='PUT',
3653
+ resource_path='/avatars/{avatarId}/select',
3654
+ path_params=_path_params,
3655
+ query_params=_query_params,
3656
+ header_params=_header_params,
3657
+ body=_body_params,
3658
+ post_params=_form_params,
3659
+ files=_files,
3660
+ auth_settings=_auth_settings,
3661
+ collection_formats=_collection_formats,
3662
+ _host=_host,
3663
+ _request_auth=_request_auth
3664
+ )
3665
+
3666
+
3667
+
3668
+
3669
+ @validate_call
3670
+ async def select_fallback_avatar(
3671
+ self,
3672
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
3673
+ _request_timeout: Union[
3674
+ None,
3675
+ Annotated[StrictFloat, Field(gt=0)],
3676
+ Tuple[
3677
+ Annotated[StrictFloat, Field(gt=0)],
3678
+ Annotated[StrictFloat, Field(gt=0)]
3679
+ ]
3680
+ ] = None,
3681
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3682
+ _content_type: Optional[StrictStr] = None,
3683
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3684
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3685
+ ) -> CurrentUser:
3686
+ """(Deprecated) Select Fallback Avatar
3687
+
3688
+ Switches into that avatar as your fallback avatar.
3689
+
3690
+ :param avatar_id: Must be a valid avatar ID. (required)
3691
+ :type avatar_id: str
3692
+ :param _request_timeout: timeout setting for this request. If one
3693
+ number provided, it will be total request
3694
+ timeout. It can also be a pair (tuple) of
3695
+ (connection, read) timeouts.
3696
+ :type _request_timeout: int, tuple(int, int), optional
3697
+ :param _request_auth: set to override the auth_settings for an a single
3698
+ request; this effectively ignores the
3699
+ authentication in the spec for a single request.
3700
+ :type _request_auth: dict, optional
3701
+ :param _content_type: force content-type for the request.
3702
+ :type _content_type: str, Optional
3703
+ :param _headers: set to override the headers for a single
3704
+ request; this effectively ignores the headers
3705
+ in the spec for a single request.
3706
+ :type _headers: dict, optional
3707
+ :param _host_index: set to override the host_index for a single
3708
+ request; this effectively ignores the host_index
3709
+ in the spec for a single request.
3710
+ :type _host_index: int, optional
3711
+ :return: Returns the result object.
3712
+ """ # noqa: E501
3713
+ warnings.warn("PUT /avatars/{avatarId}/selectFallback is deprecated.", DeprecationWarning)
3714
+
3715
+ _param = self._select_fallback_avatar_serialize(
3716
+ avatar_id=avatar_id,
3717
+ _request_auth=_request_auth,
3718
+ _content_type=_content_type,
3719
+ _headers=_headers,
3720
+ _host_index=_host_index
3721
+ )
3722
+
3723
+ _response_types_map: Dict[str, Optional[str]] = {
3724
+ '200': "CurrentUser",
3725
+ '401': "Error",
3726
+ '403': "Error",
3727
+ '404': "Error",
3728
+ }
3729
+ response_data = await self.api_client.call_api(
3730
+ *_param,
3731
+ _request_timeout=_request_timeout
3732
+ )
3733
+ await response_data.read()
3734
+ return self.api_client.response_deserialize(
3735
+ response_data=response_data,
3736
+ response_types_map=_response_types_map,
3737
+ ).data
3738
+
3739
+
3740
+ @validate_call
3741
+ async def select_fallback_avatar_with_http_info(
3742
+ self,
3743
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
3744
+ _request_timeout: Union[
3745
+ None,
3746
+ Annotated[StrictFloat, Field(gt=0)],
3747
+ Tuple[
3748
+ Annotated[StrictFloat, Field(gt=0)],
3749
+ Annotated[StrictFloat, Field(gt=0)]
3750
+ ]
3751
+ ] = None,
3752
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3753
+ _content_type: Optional[StrictStr] = None,
3754
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3755
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3756
+ ) -> ApiResponse[CurrentUser]:
3757
+ """(Deprecated) Select Fallback Avatar
3758
+
3759
+ Switches into that avatar as your fallback avatar.
3760
+
3761
+ :param avatar_id: Must be a valid avatar ID. (required)
3762
+ :type avatar_id: str
3763
+ :param _request_timeout: timeout setting for this request. If one
3764
+ number provided, it will be total request
3765
+ timeout. It can also be a pair (tuple) of
3766
+ (connection, read) timeouts.
3767
+ :type _request_timeout: int, tuple(int, int), optional
3768
+ :param _request_auth: set to override the auth_settings for an a single
3769
+ request; this effectively ignores the
3770
+ authentication in the spec for a single request.
3771
+ :type _request_auth: dict, optional
3772
+ :param _content_type: force content-type for the request.
3773
+ :type _content_type: str, Optional
3774
+ :param _headers: set to override the headers for a single
3775
+ request; this effectively ignores the headers
3776
+ in the spec for a single request.
3777
+ :type _headers: dict, optional
3778
+ :param _host_index: set to override the host_index for a single
3779
+ request; this effectively ignores the host_index
3780
+ in the spec for a single request.
3781
+ :type _host_index: int, optional
3782
+ :return: Returns the result object.
3783
+ """ # noqa: E501
3784
+ warnings.warn("PUT /avatars/{avatarId}/selectFallback is deprecated.", DeprecationWarning)
3785
+
3786
+ _param = self._select_fallback_avatar_serialize(
3787
+ avatar_id=avatar_id,
3788
+ _request_auth=_request_auth,
3789
+ _content_type=_content_type,
3790
+ _headers=_headers,
3791
+ _host_index=_host_index
3792
+ )
3793
+
3794
+ _response_types_map: Dict[str, Optional[str]] = {
3795
+ '200': "CurrentUser",
3796
+ '401': "Error",
3797
+ '403': "Error",
3798
+ '404': "Error",
3799
+ }
3800
+ response_data = await self.api_client.call_api(
3801
+ *_param,
3802
+ _request_timeout=_request_timeout
3803
+ )
3804
+ await response_data.read()
3805
+ return self.api_client.response_deserialize(
3806
+ response_data=response_data,
3807
+ response_types_map=_response_types_map,
3808
+ )
3809
+
3810
+
3811
+ @validate_call
3812
+ async def select_fallback_avatar_without_preload_content(
3813
+ self,
3814
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
3815
+ _request_timeout: Union[
3816
+ None,
3817
+ Annotated[StrictFloat, Field(gt=0)],
3818
+ Tuple[
3819
+ Annotated[StrictFloat, Field(gt=0)],
3820
+ Annotated[StrictFloat, Field(gt=0)]
3821
+ ]
3822
+ ] = None,
3823
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3824
+ _content_type: Optional[StrictStr] = None,
3825
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3826
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3827
+ ) -> RESTResponseType:
3828
+ """(Deprecated) Select Fallback Avatar
3829
+
3830
+ Switches into that avatar as your fallback avatar.
3831
+
3832
+ :param avatar_id: Must be a valid avatar ID. (required)
3833
+ :type avatar_id: str
3834
+ :param _request_timeout: timeout setting for this request. If one
3835
+ number provided, it will be total request
3836
+ timeout. It can also be a pair (tuple) of
3837
+ (connection, read) timeouts.
3838
+ :type _request_timeout: int, tuple(int, int), optional
3839
+ :param _request_auth: set to override the auth_settings for an a single
3840
+ request; this effectively ignores the
3841
+ authentication in the spec for a single request.
3842
+ :type _request_auth: dict, optional
3843
+ :param _content_type: force content-type for the request.
3844
+ :type _content_type: str, Optional
3845
+ :param _headers: set to override the headers for a single
3846
+ request; this effectively ignores the headers
3847
+ in the spec for a single request.
3848
+ :type _headers: dict, optional
3849
+ :param _host_index: set to override the host_index for a single
3850
+ request; this effectively ignores the host_index
3851
+ in the spec for a single request.
3852
+ :type _host_index: int, optional
3853
+ :return: Returns the result object.
3854
+ """ # noqa: E501
3855
+ warnings.warn("PUT /avatars/{avatarId}/selectFallback is deprecated.", DeprecationWarning)
3856
+
3857
+ _param = self._select_fallback_avatar_serialize(
3858
+ avatar_id=avatar_id,
3859
+ _request_auth=_request_auth,
3860
+ _content_type=_content_type,
3861
+ _headers=_headers,
3862
+ _host_index=_host_index
3863
+ )
3864
+
3865
+ _response_types_map: Dict[str, Optional[str]] = {
3866
+ '200': "CurrentUser",
3867
+ '401': "Error",
3868
+ '403': "Error",
3869
+ '404': "Error",
3870
+ }
3871
+ response_data = await self.api_client.call_api(
3872
+ *_param,
3873
+ _request_timeout=_request_timeout
3874
+ )
3875
+ return response_data.response
3876
+
3877
+
3878
+ def _select_fallback_avatar_serialize(
3879
+ self,
3880
+ avatar_id,
3881
+ _request_auth,
3882
+ _content_type,
3883
+ _headers,
3884
+ _host_index,
3885
+ ) -> RequestSerialized:
3886
+
3887
+ _host = None
3888
+
3889
+ _collection_formats: Dict[str, str] = {
3890
+ }
3891
+
3892
+ _path_params: Dict[str, str] = {}
3893
+ _query_params: List[Tuple[str, str]] = []
3894
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3895
+ _form_params: List[Tuple[str, str]] = []
3896
+ _files: Dict[
3897
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3898
+ ] = {}
3899
+ _body_params: Optional[bytes] = None
3900
+
3901
+ # process the path parameters
3902
+ if avatar_id is not None:
3903
+ _path_params['avatarId'] = avatar_id
3904
+ # process the query parameters
3905
+ # process the header parameters
3906
+ # process the form parameters
3907
+ # process the body parameter
3908
+
3909
+
3910
+ # set the HTTP header `Accept`
3911
+ if 'Accept' not in _header_params:
3912
+ _header_params['Accept'] = self.api_client.select_header_accept(
3913
+ [
3914
+ 'application/json'
3915
+ ]
3916
+ )
3917
+
3918
+
3919
+ # authentication setting
3920
+ _auth_settings: List[str] = [
3921
+ 'authCookie'
3922
+ ]
3923
+
3924
+ return self.api_client.param_serialize(
3925
+ method='PUT',
3926
+ resource_path='/avatars/{avatarId}/selectFallback',
3927
+ path_params=_path_params,
3928
+ query_params=_query_params,
3929
+ header_params=_header_params,
3930
+ body=_body_params,
3931
+ post_params=_form_params,
3932
+ files=_files,
3933
+ auth_settings=_auth_settings,
3934
+ collection_formats=_collection_formats,
3935
+ _host=_host,
3936
+ _request_auth=_request_auth
3937
+ )
3938
+
3939
+
3940
+
3941
+
3942
+ @validate_call
3943
+ async def update_avatar(
3944
+ self,
3945
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
3946
+ update_avatar_request: Optional[UpdateAvatarRequest] = None,
3947
+ _request_timeout: Union[
3948
+ None,
3949
+ Annotated[StrictFloat, Field(gt=0)],
3950
+ Tuple[
3951
+ Annotated[StrictFloat, Field(gt=0)],
3952
+ Annotated[StrictFloat, Field(gt=0)]
3953
+ ]
3954
+ ] = None,
3955
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3956
+ _content_type: Optional[StrictStr] = None,
3957
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3958
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3959
+ ) -> Avatar:
3960
+ """Update Avatar
3961
+
3962
+ Update information about a specific avatar.
3963
+
3964
+ :param avatar_id: Must be a valid avatar ID. (required)
3965
+ :type avatar_id: str
3966
+ :param update_avatar_request:
3967
+ :type update_avatar_request: UpdateAvatarRequest
3968
+ :param _request_timeout: timeout setting for this request. If one
3969
+ number provided, it will be total request
3970
+ timeout. It can also be a pair (tuple) of
3971
+ (connection, read) timeouts.
3972
+ :type _request_timeout: int, tuple(int, int), optional
3973
+ :param _request_auth: set to override the auth_settings for an a single
3974
+ request; this effectively ignores the
3975
+ authentication in the spec for a single request.
3976
+ :type _request_auth: dict, optional
3977
+ :param _content_type: force content-type for the request.
3978
+ :type _content_type: str, Optional
3979
+ :param _headers: set to override the headers for a single
3980
+ request; this effectively ignores the headers
3981
+ in the spec for a single request.
3982
+ :type _headers: dict, optional
3983
+ :param _host_index: set to override the host_index for a single
3984
+ request; this effectively ignores the host_index
3985
+ in the spec for a single request.
3986
+ :type _host_index: int, optional
3987
+ :return: Returns the result object.
3988
+ """ # noqa: E501
3989
+
3990
+ _param = self._update_avatar_serialize(
3991
+ avatar_id=avatar_id,
3992
+ update_avatar_request=update_avatar_request,
3993
+ _request_auth=_request_auth,
3994
+ _content_type=_content_type,
3995
+ _headers=_headers,
3996
+ _host_index=_host_index
3997
+ )
3998
+
3999
+ _response_types_map: Dict[str, Optional[str]] = {
4000
+ '200': "Avatar",
4001
+ '401': "Error",
4002
+ '404': "Error",
4003
+ }
4004
+ response_data = await self.api_client.call_api(
4005
+ *_param,
4006
+ _request_timeout=_request_timeout
4007
+ )
4008
+ await response_data.read()
4009
+ return self.api_client.response_deserialize(
4010
+ response_data=response_data,
4011
+ response_types_map=_response_types_map,
4012
+ ).data
4013
+
4014
+
4015
+ @validate_call
4016
+ async def update_avatar_with_http_info(
4017
+ self,
4018
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
4019
+ update_avatar_request: Optional[UpdateAvatarRequest] = None,
4020
+ _request_timeout: Union[
4021
+ None,
4022
+ Annotated[StrictFloat, Field(gt=0)],
4023
+ Tuple[
4024
+ Annotated[StrictFloat, Field(gt=0)],
4025
+ Annotated[StrictFloat, Field(gt=0)]
4026
+ ]
4027
+ ] = None,
4028
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4029
+ _content_type: Optional[StrictStr] = None,
4030
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4031
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4032
+ ) -> ApiResponse[Avatar]:
4033
+ """Update Avatar
4034
+
4035
+ Update information about a specific avatar.
4036
+
4037
+ :param avatar_id: Must be a valid avatar ID. (required)
4038
+ :type avatar_id: str
4039
+ :param update_avatar_request:
4040
+ :type update_avatar_request: UpdateAvatarRequest
4041
+ :param _request_timeout: timeout setting for this request. If one
4042
+ number provided, it will be total request
4043
+ timeout. It can also be a pair (tuple) of
4044
+ (connection, read) timeouts.
4045
+ :type _request_timeout: int, tuple(int, int), optional
4046
+ :param _request_auth: set to override the auth_settings for an a single
4047
+ request; this effectively ignores the
4048
+ authentication in the spec for a single request.
4049
+ :type _request_auth: dict, optional
4050
+ :param _content_type: force content-type for the request.
4051
+ :type _content_type: str, Optional
4052
+ :param _headers: set to override the headers for a single
4053
+ request; this effectively ignores the headers
4054
+ in the spec for a single request.
4055
+ :type _headers: dict, optional
4056
+ :param _host_index: set to override the host_index for a single
4057
+ request; this effectively ignores the host_index
4058
+ in the spec for a single request.
4059
+ :type _host_index: int, optional
4060
+ :return: Returns the result object.
4061
+ """ # noqa: E501
4062
+
4063
+ _param = self._update_avatar_serialize(
4064
+ avatar_id=avatar_id,
4065
+ update_avatar_request=update_avatar_request,
4066
+ _request_auth=_request_auth,
4067
+ _content_type=_content_type,
4068
+ _headers=_headers,
4069
+ _host_index=_host_index
4070
+ )
4071
+
4072
+ _response_types_map: Dict[str, Optional[str]] = {
4073
+ '200': "Avatar",
4074
+ '401': "Error",
4075
+ '404': "Error",
4076
+ }
4077
+ response_data = await self.api_client.call_api(
4078
+ *_param,
4079
+ _request_timeout=_request_timeout
4080
+ )
4081
+ await response_data.read()
4082
+ return self.api_client.response_deserialize(
4083
+ response_data=response_data,
4084
+ response_types_map=_response_types_map,
4085
+ )
4086
+
4087
+
4088
+ @validate_call
4089
+ async def update_avatar_without_preload_content(
4090
+ self,
4091
+ avatar_id: Annotated[StrictStr, Field(description="Must be a valid avatar ID.")],
4092
+ update_avatar_request: Optional[UpdateAvatarRequest] = None,
4093
+ _request_timeout: Union[
4094
+ None,
4095
+ Annotated[StrictFloat, Field(gt=0)],
4096
+ Tuple[
4097
+ Annotated[StrictFloat, Field(gt=0)],
4098
+ Annotated[StrictFloat, Field(gt=0)]
4099
+ ]
4100
+ ] = None,
4101
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4102
+ _content_type: Optional[StrictStr] = None,
4103
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4104
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4105
+ ) -> RESTResponseType:
4106
+ """Update Avatar
4107
+
4108
+ Update information about a specific avatar.
4109
+
4110
+ :param avatar_id: Must be a valid avatar ID. (required)
4111
+ :type avatar_id: str
4112
+ :param update_avatar_request:
4113
+ :type update_avatar_request: UpdateAvatarRequest
4114
+ :param _request_timeout: timeout setting for this request. If one
4115
+ number provided, it will be total request
4116
+ timeout. It can also be a pair (tuple) of
4117
+ (connection, read) timeouts.
4118
+ :type _request_timeout: int, tuple(int, int), optional
4119
+ :param _request_auth: set to override the auth_settings for an a single
4120
+ request; this effectively ignores the
4121
+ authentication in the spec for a single request.
4122
+ :type _request_auth: dict, optional
4123
+ :param _content_type: force content-type for the request.
4124
+ :type _content_type: str, Optional
4125
+ :param _headers: set to override the headers for a single
4126
+ request; this effectively ignores the headers
4127
+ in the spec for a single request.
4128
+ :type _headers: dict, optional
4129
+ :param _host_index: set to override the host_index for a single
4130
+ request; this effectively ignores the host_index
4131
+ in the spec for a single request.
4132
+ :type _host_index: int, optional
4133
+ :return: Returns the result object.
4134
+ """ # noqa: E501
4135
+
4136
+ _param = self._update_avatar_serialize(
4137
+ avatar_id=avatar_id,
4138
+ update_avatar_request=update_avatar_request,
4139
+ _request_auth=_request_auth,
4140
+ _content_type=_content_type,
4141
+ _headers=_headers,
4142
+ _host_index=_host_index
4143
+ )
4144
+
4145
+ _response_types_map: Dict[str, Optional[str]] = {
4146
+ '200': "Avatar",
4147
+ '401': "Error",
4148
+ '404': "Error",
4149
+ }
4150
+ response_data = await self.api_client.call_api(
4151
+ *_param,
4152
+ _request_timeout=_request_timeout
4153
+ )
4154
+ return response_data.response
4155
+
4156
+
4157
+ def _update_avatar_serialize(
4158
+ self,
4159
+ avatar_id,
4160
+ update_avatar_request,
4161
+ _request_auth,
4162
+ _content_type,
4163
+ _headers,
4164
+ _host_index,
4165
+ ) -> RequestSerialized:
4166
+
4167
+ _host = None
4168
+
4169
+ _collection_formats: Dict[str, str] = {
4170
+ }
4171
+
4172
+ _path_params: Dict[str, str] = {}
4173
+ _query_params: List[Tuple[str, str]] = []
4174
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4175
+ _form_params: List[Tuple[str, str]] = []
4176
+ _files: Dict[
4177
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
4178
+ ] = {}
4179
+ _body_params: Optional[bytes] = None
4180
+
4181
+ # process the path parameters
4182
+ if avatar_id is not None:
4183
+ _path_params['avatarId'] = avatar_id
4184
+ # process the query parameters
4185
+ # process the header parameters
4186
+ # process the form parameters
4187
+ # process the body parameter
4188
+ if update_avatar_request is not None:
4189
+ _body_params = update_avatar_request
4190
+
4191
+
4192
+ # set the HTTP header `Accept`
4193
+ if 'Accept' not in _header_params:
4194
+ _header_params['Accept'] = self.api_client.select_header_accept(
4195
+ [
4196
+ 'application/json'
4197
+ ]
4198
+ )
4199
+
4200
+ # set the HTTP header `Content-Type`
4201
+ if _content_type:
4202
+ _header_params['Content-Type'] = _content_type
4203
+ else:
4204
+ _default_content_type = (
4205
+ self.api_client.select_header_content_type(
4206
+ [
4207
+ 'application/json'
4208
+ ]
4209
+ )
4210
+ )
4211
+ if _default_content_type is not None:
4212
+ _header_params['Content-Type'] = _default_content_type
4213
+
4214
+ # authentication setting
4215
+ _auth_settings: List[str] = [
4216
+ 'authCookie'
4217
+ ]
4218
+
4219
+ return self.api_client.param_serialize(
4220
+ method='PUT',
4221
+ resource_path='/avatars/{avatarId}',
4222
+ path_params=_path_params,
4223
+ query_params=_query_params,
4224
+ header_params=_header_params,
4225
+ body=_body_params,
4226
+ post_params=_form_params,
4227
+ files=_files,
4228
+ auth_settings=_auth_settings,
4229
+ collection_formats=_collection_formats,
4230
+ _host=_host,
4231
+ _request_auth=_request_auth
4232
+ )
4233
+
4234
+