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,3337 @@
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, StrictBytes, StrictStr
19
+ from typing import List, Optional, Tuple, Union
20
+ from typing_extensions import Annotated
21
+ from vrchatapi.models.invite_message import InviteMessage
22
+ from vrchatapi.models.invite_message_type import InviteMessageType
23
+ from vrchatapi.models.invite_request import InviteRequest
24
+ from vrchatapi.models.invite_response import InviteResponse
25
+ from vrchatapi.models.notification import Notification
26
+ from vrchatapi.models.request_invite_request import RequestInviteRequest
27
+ from vrchatapi.models.sent_notification import SentNotification
28
+ from vrchatapi.models.update_invite_message_request import UpdateInviteMessageRequest
29
+
30
+ from vrchatapi.api_client import ApiClient, RequestSerialized
31
+ from vrchatapi.api_response import ApiResponse
32
+ from vrchatapi.rest import RESTResponseType
33
+
34
+
35
+ class InviteApi:
36
+ """NOTE: This class is auto generated by OpenAPI Generator
37
+ Ref: https://openapi-generator.tech
38
+
39
+ Do not edit the class manually.
40
+ """
41
+
42
+ def __init__(self, api_client=None) -> None:
43
+ if api_client is None:
44
+ api_client = ApiClient.get_default()
45
+ self.api_client = api_client
46
+
47
+
48
+ @validate_call
49
+ async def get_invite_message(
50
+ self,
51
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
52
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
53
+ slot: Annotated[int, Field(le=11, strict=True, ge=0, description="The message slot to fetch of a given message type.")],
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
+ ) -> InviteMessage:
67
+ """Get Invite Message
68
+
69
+ Returns a single Invite Message. This returns the exact same information but less than `getInviteMessages`. Admin Credentials are required to view messages of other users! Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite
70
+
71
+ :param user_id: Must be a valid user ID. (required)
72
+ :type user_id: str
73
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
74
+ :type message_type: InviteMessageType
75
+ :param slot: The message slot to fetch of a given message type. (required)
76
+ :type slot: int
77
+ :param _request_timeout: timeout setting for this request. If one
78
+ number provided, it will be total request
79
+ timeout. It can also be a pair (tuple) of
80
+ (connection, read) timeouts.
81
+ :type _request_timeout: int, tuple(int, int), optional
82
+ :param _request_auth: set to override the auth_settings for an a single
83
+ request; this effectively ignores the
84
+ authentication in the spec for a single request.
85
+ :type _request_auth: dict, optional
86
+ :param _content_type: force content-type for the request.
87
+ :type _content_type: str, Optional
88
+ :param _headers: set to override the headers for a single
89
+ request; this effectively ignores the headers
90
+ in the spec for a single request.
91
+ :type _headers: dict, optional
92
+ :param _host_index: set to override the host_index for a single
93
+ request; this effectively ignores the host_index
94
+ in the spec for a single request.
95
+ :type _host_index: int, optional
96
+ :return: Returns the result object.
97
+ """ # noqa: E501
98
+
99
+ _param = self._get_invite_message_serialize(
100
+ user_id=user_id,
101
+ message_type=message_type,
102
+ slot=slot,
103
+ _request_auth=_request_auth,
104
+ _content_type=_content_type,
105
+ _headers=_headers,
106
+ _host_index=_host_index
107
+ )
108
+
109
+ _response_types_map: Dict[str, Optional[str]] = {
110
+ '200': "InviteMessage",
111
+ '400': "Error",
112
+ '401': "Error",
113
+ '404': "Error",
114
+ }
115
+ response_data = await self.api_client.call_api(
116
+ *_param,
117
+ _request_timeout=_request_timeout
118
+ )
119
+ await response_data.read()
120
+ return self.api_client.response_deserialize(
121
+ response_data=response_data,
122
+ response_types_map=_response_types_map,
123
+ ).data
124
+
125
+
126
+ @validate_call
127
+ async def get_invite_message_with_http_info(
128
+ self,
129
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
130
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
131
+ slot: Annotated[int, Field(le=11, strict=True, ge=0, description="The message slot to fetch of a given message type.")],
132
+ _request_timeout: Union[
133
+ None,
134
+ Annotated[StrictFloat, Field(gt=0)],
135
+ Tuple[
136
+ Annotated[StrictFloat, Field(gt=0)],
137
+ Annotated[StrictFloat, Field(gt=0)]
138
+ ]
139
+ ] = None,
140
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
141
+ _content_type: Optional[StrictStr] = None,
142
+ _headers: Optional[Dict[StrictStr, Any]] = None,
143
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
144
+ ) -> ApiResponse[InviteMessage]:
145
+ """Get Invite Message
146
+
147
+ Returns a single Invite Message. This returns the exact same information but less than `getInviteMessages`. Admin Credentials are required to view messages of other users! Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite
148
+
149
+ :param user_id: Must be a valid user ID. (required)
150
+ :type user_id: str
151
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
152
+ :type message_type: InviteMessageType
153
+ :param slot: The message slot to fetch of a given message type. (required)
154
+ :type slot: int
155
+ :param _request_timeout: timeout setting for this request. If one
156
+ number provided, it will be total request
157
+ timeout. It can also be a pair (tuple) of
158
+ (connection, read) timeouts.
159
+ :type _request_timeout: int, tuple(int, int), optional
160
+ :param _request_auth: set to override the auth_settings for an a single
161
+ request; this effectively ignores the
162
+ authentication in the spec for a single request.
163
+ :type _request_auth: dict, optional
164
+ :param _content_type: force content-type for the request.
165
+ :type _content_type: str, Optional
166
+ :param _headers: set to override the headers for a single
167
+ request; this effectively ignores the headers
168
+ in the spec for a single request.
169
+ :type _headers: dict, optional
170
+ :param _host_index: set to override the host_index for a single
171
+ request; this effectively ignores the host_index
172
+ in the spec for a single request.
173
+ :type _host_index: int, optional
174
+ :return: Returns the result object.
175
+ """ # noqa: E501
176
+
177
+ _param = self._get_invite_message_serialize(
178
+ user_id=user_id,
179
+ message_type=message_type,
180
+ slot=slot,
181
+ _request_auth=_request_auth,
182
+ _content_type=_content_type,
183
+ _headers=_headers,
184
+ _host_index=_host_index
185
+ )
186
+
187
+ _response_types_map: Dict[str, Optional[str]] = {
188
+ '200': "InviteMessage",
189
+ '400': "Error",
190
+ '401': "Error",
191
+ '404': "Error",
192
+ }
193
+ response_data = await self.api_client.call_api(
194
+ *_param,
195
+ _request_timeout=_request_timeout
196
+ )
197
+ await response_data.read()
198
+ return self.api_client.response_deserialize(
199
+ response_data=response_data,
200
+ response_types_map=_response_types_map,
201
+ )
202
+
203
+
204
+ @validate_call
205
+ async def get_invite_message_without_preload_content(
206
+ self,
207
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
208
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
209
+ slot: Annotated[int, Field(le=11, strict=True, ge=0, description="The message slot to fetch of a given message type.")],
210
+ _request_timeout: Union[
211
+ None,
212
+ Annotated[StrictFloat, Field(gt=0)],
213
+ Tuple[
214
+ Annotated[StrictFloat, Field(gt=0)],
215
+ Annotated[StrictFloat, Field(gt=0)]
216
+ ]
217
+ ] = None,
218
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
219
+ _content_type: Optional[StrictStr] = None,
220
+ _headers: Optional[Dict[StrictStr, Any]] = None,
221
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
222
+ ) -> RESTResponseType:
223
+ """Get Invite Message
224
+
225
+ Returns a single Invite Message. This returns the exact same information but less than `getInviteMessages`. Admin Credentials are required to view messages of other users! Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite
226
+
227
+ :param user_id: Must be a valid user ID. (required)
228
+ :type user_id: str
229
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
230
+ :type message_type: InviteMessageType
231
+ :param slot: The message slot to fetch of a given message type. (required)
232
+ :type slot: int
233
+ :param _request_timeout: timeout setting for this request. If one
234
+ number provided, it will be total request
235
+ timeout. It can also be a pair (tuple) of
236
+ (connection, read) timeouts.
237
+ :type _request_timeout: int, tuple(int, int), optional
238
+ :param _request_auth: set to override the auth_settings for an a single
239
+ request; this effectively ignores the
240
+ authentication in the spec for a single request.
241
+ :type _request_auth: dict, optional
242
+ :param _content_type: force content-type for the request.
243
+ :type _content_type: str, Optional
244
+ :param _headers: set to override the headers for a single
245
+ request; this effectively ignores the headers
246
+ in the spec for a single request.
247
+ :type _headers: dict, optional
248
+ :param _host_index: set to override the host_index for a single
249
+ request; this effectively ignores the host_index
250
+ in the spec for a single request.
251
+ :type _host_index: int, optional
252
+ :return: Returns the result object.
253
+ """ # noqa: E501
254
+
255
+ _param = self._get_invite_message_serialize(
256
+ user_id=user_id,
257
+ message_type=message_type,
258
+ slot=slot,
259
+ _request_auth=_request_auth,
260
+ _content_type=_content_type,
261
+ _headers=_headers,
262
+ _host_index=_host_index
263
+ )
264
+
265
+ _response_types_map: Dict[str, Optional[str]] = {
266
+ '200': "InviteMessage",
267
+ '400': "Error",
268
+ '401': "Error",
269
+ '404': "Error",
270
+ }
271
+ response_data = await self.api_client.call_api(
272
+ *_param,
273
+ _request_timeout=_request_timeout
274
+ )
275
+ return response_data.response
276
+
277
+
278
+ def _get_invite_message_serialize(
279
+ self,
280
+ user_id,
281
+ message_type,
282
+ slot,
283
+ _request_auth,
284
+ _content_type,
285
+ _headers,
286
+ _host_index,
287
+ ) -> RequestSerialized:
288
+
289
+ _host = None
290
+
291
+ _collection_formats: Dict[str, str] = {
292
+ }
293
+
294
+ _path_params: Dict[str, str] = {}
295
+ _query_params: List[Tuple[str, str]] = []
296
+ _header_params: Dict[str, Optional[str]] = _headers or {}
297
+ _form_params: List[Tuple[str, str]] = []
298
+ _files: Dict[
299
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
300
+ ] = {}
301
+ _body_params: Optional[bytes] = None
302
+
303
+ # process the path parameters
304
+ if user_id is not None:
305
+ _path_params['userId'] = user_id
306
+ if message_type is not None:
307
+ _path_params['messageType'] = message_type.value
308
+ if slot is not None:
309
+ _path_params['slot'] = slot
310
+ # process the query parameters
311
+ # process the header parameters
312
+ # process the form parameters
313
+ # process the body parameter
314
+
315
+
316
+ # set the HTTP header `Accept`
317
+ if 'Accept' not in _header_params:
318
+ _header_params['Accept'] = self.api_client.select_header_accept(
319
+ [
320
+ 'application/json'
321
+ ]
322
+ )
323
+
324
+
325
+ # authentication setting
326
+ _auth_settings: List[str] = [
327
+ 'authCookie'
328
+ ]
329
+
330
+ return self.api_client.param_serialize(
331
+ method='GET',
332
+ resource_path='/message/{userId}/{messageType}/{slot}',
333
+ path_params=_path_params,
334
+ query_params=_query_params,
335
+ header_params=_header_params,
336
+ body=_body_params,
337
+ post_params=_form_params,
338
+ files=_files,
339
+ auth_settings=_auth_settings,
340
+ collection_formats=_collection_formats,
341
+ _host=_host,
342
+ _request_auth=_request_auth
343
+ )
344
+
345
+
346
+
347
+
348
+ @validate_call
349
+ async def get_invite_messages(
350
+ self,
351
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
352
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
353
+ _request_timeout: Union[
354
+ None,
355
+ Annotated[StrictFloat, Field(gt=0)],
356
+ Tuple[
357
+ Annotated[StrictFloat, Field(gt=0)],
358
+ Annotated[StrictFloat, Field(gt=0)]
359
+ ]
360
+ ] = None,
361
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
362
+ _content_type: Optional[StrictStr] = None,
363
+ _headers: Optional[Dict[StrictStr, Any]] = None,
364
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
365
+ ) -> List[InviteMessage]:
366
+ """List Invite Messages
367
+
368
+ Returns a list of all the users Invite Messages. Admin Credentials are required to view messages of other users! Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite
369
+
370
+ :param user_id: Must be a valid user ID. (required)
371
+ :type user_id: str
372
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
373
+ :type message_type: InviteMessageType
374
+ :param _request_timeout: timeout setting for this request. If one
375
+ number provided, it will be total request
376
+ timeout. It can also be a pair (tuple) of
377
+ (connection, read) timeouts.
378
+ :type _request_timeout: int, tuple(int, int), optional
379
+ :param _request_auth: set to override the auth_settings for an a single
380
+ request; this effectively ignores the
381
+ authentication in the spec for a single request.
382
+ :type _request_auth: dict, optional
383
+ :param _content_type: force content-type for the request.
384
+ :type _content_type: str, Optional
385
+ :param _headers: set to override the headers for a single
386
+ request; this effectively ignores the headers
387
+ in the spec for a single request.
388
+ :type _headers: dict, optional
389
+ :param _host_index: set to override the host_index for a single
390
+ request; this effectively ignores the host_index
391
+ in the spec for a single request.
392
+ :type _host_index: int, optional
393
+ :return: Returns the result object.
394
+ """ # noqa: E501
395
+
396
+ _param = self._get_invite_messages_serialize(
397
+ user_id=user_id,
398
+ message_type=message_type,
399
+ _request_auth=_request_auth,
400
+ _content_type=_content_type,
401
+ _headers=_headers,
402
+ _host_index=_host_index
403
+ )
404
+
405
+ _response_types_map: Dict[str, Optional[str]] = {
406
+ '200': "List[InviteMessage]",
407
+ '400': "Error",
408
+ '401': "Error",
409
+ }
410
+ response_data = await self.api_client.call_api(
411
+ *_param,
412
+ _request_timeout=_request_timeout
413
+ )
414
+ await response_data.read()
415
+ return self.api_client.response_deserialize(
416
+ response_data=response_data,
417
+ response_types_map=_response_types_map,
418
+ ).data
419
+
420
+
421
+ @validate_call
422
+ async def get_invite_messages_with_http_info(
423
+ self,
424
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
425
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
426
+ _request_timeout: Union[
427
+ None,
428
+ Annotated[StrictFloat, Field(gt=0)],
429
+ Tuple[
430
+ Annotated[StrictFloat, Field(gt=0)],
431
+ Annotated[StrictFloat, Field(gt=0)]
432
+ ]
433
+ ] = None,
434
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
435
+ _content_type: Optional[StrictStr] = None,
436
+ _headers: Optional[Dict[StrictStr, Any]] = None,
437
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
438
+ ) -> ApiResponse[List[InviteMessage]]:
439
+ """List Invite Messages
440
+
441
+ Returns a list of all the users Invite Messages. Admin Credentials are required to view messages of other users! Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite
442
+
443
+ :param user_id: Must be a valid user ID. (required)
444
+ :type user_id: str
445
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
446
+ :type message_type: InviteMessageType
447
+ :param _request_timeout: timeout setting for this request. If one
448
+ number provided, it will be total request
449
+ timeout. It can also be a pair (tuple) of
450
+ (connection, read) timeouts.
451
+ :type _request_timeout: int, tuple(int, int), optional
452
+ :param _request_auth: set to override the auth_settings for an a single
453
+ request; this effectively ignores the
454
+ authentication in the spec for a single request.
455
+ :type _request_auth: dict, optional
456
+ :param _content_type: force content-type for the request.
457
+ :type _content_type: str, Optional
458
+ :param _headers: set to override the headers for a single
459
+ request; this effectively ignores the headers
460
+ in the spec for a single request.
461
+ :type _headers: dict, optional
462
+ :param _host_index: set to override the host_index for a single
463
+ request; this effectively ignores the host_index
464
+ in the spec for a single request.
465
+ :type _host_index: int, optional
466
+ :return: Returns the result object.
467
+ """ # noqa: E501
468
+
469
+ _param = self._get_invite_messages_serialize(
470
+ user_id=user_id,
471
+ message_type=message_type,
472
+ _request_auth=_request_auth,
473
+ _content_type=_content_type,
474
+ _headers=_headers,
475
+ _host_index=_host_index
476
+ )
477
+
478
+ _response_types_map: Dict[str, Optional[str]] = {
479
+ '200': "List[InviteMessage]",
480
+ '400': "Error",
481
+ '401': "Error",
482
+ }
483
+ response_data = await self.api_client.call_api(
484
+ *_param,
485
+ _request_timeout=_request_timeout
486
+ )
487
+ await response_data.read()
488
+ return self.api_client.response_deserialize(
489
+ response_data=response_data,
490
+ response_types_map=_response_types_map,
491
+ )
492
+
493
+
494
+ @validate_call
495
+ async def get_invite_messages_without_preload_content(
496
+ self,
497
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
498
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
499
+ _request_timeout: Union[
500
+ None,
501
+ Annotated[StrictFloat, Field(gt=0)],
502
+ Tuple[
503
+ Annotated[StrictFloat, Field(gt=0)],
504
+ Annotated[StrictFloat, Field(gt=0)]
505
+ ]
506
+ ] = None,
507
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
508
+ _content_type: Optional[StrictStr] = None,
509
+ _headers: Optional[Dict[StrictStr, Any]] = None,
510
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
511
+ ) -> RESTResponseType:
512
+ """List Invite Messages
513
+
514
+ Returns a list of all the users Invite Messages. Admin Credentials are required to view messages of other users! Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite
515
+
516
+ :param user_id: Must be a valid user ID. (required)
517
+ :type user_id: str
518
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
519
+ :type message_type: InviteMessageType
520
+ :param _request_timeout: timeout setting for this request. If one
521
+ number provided, it will be total request
522
+ timeout. It can also be a pair (tuple) of
523
+ (connection, read) timeouts.
524
+ :type _request_timeout: int, tuple(int, int), optional
525
+ :param _request_auth: set to override the auth_settings for an a single
526
+ request; this effectively ignores the
527
+ authentication in the spec for a single request.
528
+ :type _request_auth: dict, optional
529
+ :param _content_type: force content-type for the request.
530
+ :type _content_type: str, Optional
531
+ :param _headers: set to override the headers for a single
532
+ request; this effectively ignores the headers
533
+ in the spec for a single request.
534
+ :type _headers: dict, optional
535
+ :param _host_index: set to override the host_index for a single
536
+ request; this effectively ignores the host_index
537
+ in the spec for a single request.
538
+ :type _host_index: int, optional
539
+ :return: Returns the result object.
540
+ """ # noqa: E501
541
+
542
+ _param = self._get_invite_messages_serialize(
543
+ user_id=user_id,
544
+ message_type=message_type,
545
+ _request_auth=_request_auth,
546
+ _content_type=_content_type,
547
+ _headers=_headers,
548
+ _host_index=_host_index
549
+ )
550
+
551
+ _response_types_map: Dict[str, Optional[str]] = {
552
+ '200': "List[InviteMessage]",
553
+ '400': "Error",
554
+ '401': "Error",
555
+ }
556
+ response_data = await self.api_client.call_api(
557
+ *_param,
558
+ _request_timeout=_request_timeout
559
+ )
560
+ return response_data.response
561
+
562
+
563
+ def _get_invite_messages_serialize(
564
+ self,
565
+ user_id,
566
+ message_type,
567
+ _request_auth,
568
+ _content_type,
569
+ _headers,
570
+ _host_index,
571
+ ) -> RequestSerialized:
572
+
573
+ _host = None
574
+
575
+ _collection_formats: Dict[str, str] = {
576
+ }
577
+
578
+ _path_params: Dict[str, str] = {}
579
+ _query_params: List[Tuple[str, str]] = []
580
+ _header_params: Dict[str, Optional[str]] = _headers or {}
581
+ _form_params: List[Tuple[str, str]] = []
582
+ _files: Dict[
583
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
584
+ ] = {}
585
+ _body_params: Optional[bytes] = None
586
+
587
+ # process the path parameters
588
+ if user_id is not None:
589
+ _path_params['userId'] = user_id
590
+ if message_type is not None:
591
+ _path_params['messageType'] = message_type.value
592
+ # process the query parameters
593
+ # process the header parameters
594
+ # process the form parameters
595
+ # process the body parameter
596
+
597
+
598
+ # set the HTTP header `Accept`
599
+ if 'Accept' not in _header_params:
600
+ _header_params['Accept'] = self.api_client.select_header_accept(
601
+ [
602
+ 'application/json'
603
+ ]
604
+ )
605
+
606
+
607
+ # authentication setting
608
+ _auth_settings: List[str] = [
609
+ 'authCookie'
610
+ ]
611
+
612
+ return self.api_client.param_serialize(
613
+ method='GET',
614
+ resource_path='/message/{userId}/{messageType}',
615
+ path_params=_path_params,
616
+ query_params=_query_params,
617
+ header_params=_header_params,
618
+ body=_body_params,
619
+ post_params=_form_params,
620
+ files=_files,
621
+ auth_settings=_auth_settings,
622
+ collection_formats=_collection_formats,
623
+ _host=_host,
624
+ _request_auth=_request_auth
625
+ )
626
+
627
+
628
+
629
+
630
+ @validate_call
631
+ async def invite_myself_to(
632
+ self,
633
+ world_id: Annotated[StrictStr, Field(description="Must be a valid world ID.")],
634
+ instance_id: Annotated[StrictStr, Field(description="Must be a valid instance ID.")],
635
+ _request_timeout: Union[
636
+ None,
637
+ Annotated[StrictFloat, Field(gt=0)],
638
+ Tuple[
639
+ Annotated[StrictFloat, Field(gt=0)],
640
+ Annotated[StrictFloat, Field(gt=0)]
641
+ ]
642
+ ] = None,
643
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
644
+ _content_type: Optional[StrictStr] = None,
645
+ _headers: Optional[Dict[StrictStr, Any]] = None,
646
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
647
+ ) -> SentNotification:
648
+ """Invite Myself To Instance
649
+
650
+ Sends self an invite to an instance
651
+
652
+ :param world_id: Must be a valid world ID. (required)
653
+ :type world_id: str
654
+ :param instance_id: Must be a valid instance ID. (required)
655
+ :type instance_id: str
656
+ :param _request_timeout: timeout setting for this request. If one
657
+ number provided, it will be total request
658
+ timeout. It can also be a pair (tuple) of
659
+ (connection, read) timeouts.
660
+ :type _request_timeout: int, tuple(int, int), optional
661
+ :param _request_auth: set to override the auth_settings for an a single
662
+ request; this effectively ignores the
663
+ authentication in the spec for a single request.
664
+ :type _request_auth: dict, optional
665
+ :param _content_type: force content-type for the request.
666
+ :type _content_type: str, Optional
667
+ :param _headers: set to override the headers for a single
668
+ request; this effectively ignores the headers
669
+ in the spec for a single request.
670
+ :type _headers: dict, optional
671
+ :param _host_index: set to override the host_index for a single
672
+ request; this effectively ignores the host_index
673
+ in the spec for a single request.
674
+ :type _host_index: int, optional
675
+ :return: Returns the result object.
676
+ """ # noqa: E501
677
+
678
+ _param = self._invite_myself_to_serialize(
679
+ world_id=world_id,
680
+ instance_id=instance_id,
681
+ _request_auth=_request_auth,
682
+ _content_type=_content_type,
683
+ _headers=_headers,
684
+ _host_index=_host_index
685
+ )
686
+
687
+ _response_types_map: Dict[str, Optional[str]] = {
688
+ '200': "SentNotification",
689
+ '401': "Error",
690
+ '404': "Error",
691
+ }
692
+ response_data = await self.api_client.call_api(
693
+ *_param,
694
+ _request_timeout=_request_timeout
695
+ )
696
+ await response_data.read()
697
+ return self.api_client.response_deserialize(
698
+ response_data=response_data,
699
+ response_types_map=_response_types_map,
700
+ ).data
701
+
702
+
703
+ @validate_call
704
+ async def invite_myself_to_with_http_info(
705
+ self,
706
+ world_id: Annotated[StrictStr, Field(description="Must be a valid world ID.")],
707
+ instance_id: Annotated[StrictStr, Field(description="Must be a valid instance ID.")],
708
+ _request_timeout: Union[
709
+ None,
710
+ Annotated[StrictFloat, Field(gt=0)],
711
+ Tuple[
712
+ Annotated[StrictFloat, Field(gt=0)],
713
+ Annotated[StrictFloat, Field(gt=0)]
714
+ ]
715
+ ] = None,
716
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
717
+ _content_type: Optional[StrictStr] = None,
718
+ _headers: Optional[Dict[StrictStr, Any]] = None,
719
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
720
+ ) -> ApiResponse[SentNotification]:
721
+ """Invite Myself To Instance
722
+
723
+ Sends self an invite to an instance
724
+
725
+ :param world_id: Must be a valid world ID. (required)
726
+ :type world_id: str
727
+ :param instance_id: Must be a valid instance ID. (required)
728
+ :type instance_id: str
729
+ :param _request_timeout: timeout setting for this request. If one
730
+ number provided, it will be total request
731
+ timeout. It can also be a pair (tuple) of
732
+ (connection, read) timeouts.
733
+ :type _request_timeout: int, tuple(int, int), optional
734
+ :param _request_auth: set to override the auth_settings for an a single
735
+ request; this effectively ignores the
736
+ authentication in the spec for a single request.
737
+ :type _request_auth: dict, optional
738
+ :param _content_type: force content-type for the request.
739
+ :type _content_type: str, Optional
740
+ :param _headers: set to override the headers for a single
741
+ request; this effectively ignores the headers
742
+ in the spec for a single request.
743
+ :type _headers: dict, optional
744
+ :param _host_index: set to override the host_index for a single
745
+ request; this effectively ignores the host_index
746
+ in the spec for a single request.
747
+ :type _host_index: int, optional
748
+ :return: Returns the result object.
749
+ """ # noqa: E501
750
+
751
+ _param = self._invite_myself_to_serialize(
752
+ world_id=world_id,
753
+ instance_id=instance_id,
754
+ _request_auth=_request_auth,
755
+ _content_type=_content_type,
756
+ _headers=_headers,
757
+ _host_index=_host_index
758
+ )
759
+
760
+ _response_types_map: Dict[str, Optional[str]] = {
761
+ '200': "SentNotification",
762
+ '401': "Error",
763
+ '404': "Error",
764
+ }
765
+ response_data = await self.api_client.call_api(
766
+ *_param,
767
+ _request_timeout=_request_timeout
768
+ )
769
+ await response_data.read()
770
+ return self.api_client.response_deserialize(
771
+ response_data=response_data,
772
+ response_types_map=_response_types_map,
773
+ )
774
+
775
+
776
+ @validate_call
777
+ async def invite_myself_to_without_preload_content(
778
+ self,
779
+ world_id: Annotated[StrictStr, Field(description="Must be a valid world ID.")],
780
+ instance_id: Annotated[StrictStr, Field(description="Must be a valid instance ID.")],
781
+ _request_timeout: Union[
782
+ None,
783
+ Annotated[StrictFloat, Field(gt=0)],
784
+ Tuple[
785
+ Annotated[StrictFloat, Field(gt=0)],
786
+ Annotated[StrictFloat, Field(gt=0)]
787
+ ]
788
+ ] = None,
789
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
790
+ _content_type: Optional[StrictStr] = None,
791
+ _headers: Optional[Dict[StrictStr, Any]] = None,
792
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
793
+ ) -> RESTResponseType:
794
+ """Invite Myself To Instance
795
+
796
+ Sends self an invite to an instance
797
+
798
+ :param world_id: Must be a valid world ID. (required)
799
+ :type world_id: str
800
+ :param instance_id: Must be a valid instance ID. (required)
801
+ :type instance_id: str
802
+ :param _request_timeout: timeout setting for this request. If one
803
+ number provided, it will be total request
804
+ timeout. It can also be a pair (tuple) of
805
+ (connection, read) timeouts.
806
+ :type _request_timeout: int, tuple(int, int), optional
807
+ :param _request_auth: set to override the auth_settings for an a single
808
+ request; this effectively ignores the
809
+ authentication in the spec for a single request.
810
+ :type _request_auth: dict, optional
811
+ :param _content_type: force content-type for the request.
812
+ :type _content_type: str, Optional
813
+ :param _headers: set to override the headers for a single
814
+ request; this effectively ignores the headers
815
+ in the spec for a single request.
816
+ :type _headers: dict, optional
817
+ :param _host_index: set to override the host_index for a single
818
+ request; this effectively ignores the host_index
819
+ in the spec for a single request.
820
+ :type _host_index: int, optional
821
+ :return: Returns the result object.
822
+ """ # noqa: E501
823
+
824
+ _param = self._invite_myself_to_serialize(
825
+ world_id=world_id,
826
+ instance_id=instance_id,
827
+ _request_auth=_request_auth,
828
+ _content_type=_content_type,
829
+ _headers=_headers,
830
+ _host_index=_host_index
831
+ )
832
+
833
+ _response_types_map: Dict[str, Optional[str]] = {
834
+ '200': "SentNotification",
835
+ '401': "Error",
836
+ '404': "Error",
837
+ }
838
+ response_data = await self.api_client.call_api(
839
+ *_param,
840
+ _request_timeout=_request_timeout
841
+ )
842
+ return response_data.response
843
+
844
+
845
+ def _invite_myself_to_serialize(
846
+ self,
847
+ world_id,
848
+ instance_id,
849
+ _request_auth,
850
+ _content_type,
851
+ _headers,
852
+ _host_index,
853
+ ) -> RequestSerialized:
854
+
855
+ _host = None
856
+
857
+ _collection_formats: Dict[str, str] = {
858
+ }
859
+
860
+ _path_params: Dict[str, str] = {}
861
+ _query_params: List[Tuple[str, str]] = []
862
+ _header_params: Dict[str, Optional[str]] = _headers or {}
863
+ _form_params: List[Tuple[str, str]] = []
864
+ _files: Dict[
865
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
866
+ ] = {}
867
+ _body_params: Optional[bytes] = None
868
+
869
+ # process the path parameters
870
+ if world_id is not None:
871
+ _path_params['worldId'] = world_id
872
+ if instance_id is not None:
873
+ _path_params['instanceId'] = instance_id
874
+ # process the query parameters
875
+ # process the header parameters
876
+ # process the form parameters
877
+ # process the body parameter
878
+
879
+
880
+ # set the HTTP header `Accept`
881
+ if 'Accept' not in _header_params:
882
+ _header_params['Accept'] = self.api_client.select_header_accept(
883
+ [
884
+ 'application/json'
885
+ ]
886
+ )
887
+
888
+
889
+ # authentication setting
890
+ _auth_settings: List[str] = [
891
+ 'authCookie'
892
+ ]
893
+
894
+ return self.api_client.param_serialize(
895
+ method='POST',
896
+ resource_path='/invite/myself/to/{worldId}:{instanceId}',
897
+ path_params=_path_params,
898
+ query_params=_query_params,
899
+ header_params=_header_params,
900
+ body=_body_params,
901
+ post_params=_form_params,
902
+ files=_files,
903
+ auth_settings=_auth_settings,
904
+ collection_formats=_collection_formats,
905
+ _host=_host,
906
+ _request_auth=_request_auth
907
+ )
908
+
909
+
910
+
911
+
912
+ @validate_call
913
+ async def invite_user(
914
+ self,
915
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
916
+ invite_request: Annotated[InviteRequest, Field(description="Slot number of the Invite Message to use when inviting a user.")],
917
+ _request_timeout: Union[
918
+ None,
919
+ Annotated[StrictFloat, Field(gt=0)],
920
+ Tuple[
921
+ Annotated[StrictFloat, Field(gt=0)],
922
+ Annotated[StrictFloat, Field(gt=0)]
923
+ ]
924
+ ] = None,
925
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
926
+ _content_type: Optional[StrictStr] = None,
927
+ _headers: Optional[Dict[StrictStr, Any]] = None,
928
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
929
+ ) -> SentNotification:
930
+ """Invite User
931
+
932
+ Sends an invite to a user. Returns the Notification of type `invite` that was sent.
933
+
934
+ :param user_id: Must be a valid user ID. (required)
935
+ :type user_id: str
936
+ :param invite_request: Slot number of the Invite Message to use when inviting a user. (required)
937
+ :type invite_request: InviteRequest
938
+ :param _request_timeout: timeout setting for this request. If one
939
+ number provided, it will be total request
940
+ timeout. It can also be a pair (tuple) of
941
+ (connection, read) timeouts.
942
+ :type _request_timeout: int, tuple(int, int), optional
943
+ :param _request_auth: set to override the auth_settings for an a single
944
+ request; this effectively ignores the
945
+ authentication in the spec for a single request.
946
+ :type _request_auth: dict, optional
947
+ :param _content_type: force content-type for the request.
948
+ :type _content_type: str, Optional
949
+ :param _headers: set to override the headers for a single
950
+ request; this effectively ignores the headers
951
+ in the spec for a single request.
952
+ :type _headers: dict, optional
953
+ :param _host_index: set to override the host_index for a single
954
+ request; this effectively ignores the host_index
955
+ in the spec for a single request.
956
+ :type _host_index: int, optional
957
+ :return: Returns the result object.
958
+ """ # noqa: E501
959
+
960
+ _param = self._invite_user_serialize(
961
+ user_id=user_id,
962
+ invite_request=invite_request,
963
+ _request_auth=_request_auth,
964
+ _content_type=_content_type,
965
+ _headers=_headers,
966
+ _host_index=_host_index
967
+ )
968
+
969
+ _response_types_map: Dict[str, Optional[str]] = {
970
+ '200': "SentNotification",
971
+ '403': "Error",
972
+ }
973
+ response_data = await self.api_client.call_api(
974
+ *_param,
975
+ _request_timeout=_request_timeout
976
+ )
977
+ await response_data.read()
978
+ return self.api_client.response_deserialize(
979
+ response_data=response_data,
980
+ response_types_map=_response_types_map,
981
+ ).data
982
+
983
+
984
+ @validate_call
985
+ async def invite_user_with_http_info(
986
+ self,
987
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
988
+ invite_request: Annotated[InviteRequest, Field(description="Slot number of the Invite Message to use when inviting a user.")],
989
+ _request_timeout: Union[
990
+ None,
991
+ Annotated[StrictFloat, Field(gt=0)],
992
+ Tuple[
993
+ Annotated[StrictFloat, Field(gt=0)],
994
+ Annotated[StrictFloat, Field(gt=0)]
995
+ ]
996
+ ] = None,
997
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
998
+ _content_type: Optional[StrictStr] = None,
999
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1000
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1001
+ ) -> ApiResponse[SentNotification]:
1002
+ """Invite User
1003
+
1004
+ Sends an invite to a user. Returns the Notification of type `invite` that was sent.
1005
+
1006
+ :param user_id: Must be a valid user ID. (required)
1007
+ :type user_id: str
1008
+ :param invite_request: Slot number of the Invite Message to use when inviting a user. (required)
1009
+ :type invite_request: InviteRequest
1010
+ :param _request_timeout: timeout setting for this request. If one
1011
+ number provided, it will be total request
1012
+ timeout. It can also be a pair (tuple) of
1013
+ (connection, read) timeouts.
1014
+ :type _request_timeout: int, tuple(int, int), optional
1015
+ :param _request_auth: set to override the auth_settings for an a single
1016
+ request; this effectively ignores the
1017
+ authentication in the spec for a single request.
1018
+ :type _request_auth: dict, optional
1019
+ :param _content_type: force content-type for the request.
1020
+ :type _content_type: str, Optional
1021
+ :param _headers: set to override the headers for a single
1022
+ request; this effectively ignores the headers
1023
+ in the spec for a single request.
1024
+ :type _headers: dict, optional
1025
+ :param _host_index: set to override the host_index for a single
1026
+ request; this effectively ignores the host_index
1027
+ in the spec for a single request.
1028
+ :type _host_index: int, optional
1029
+ :return: Returns the result object.
1030
+ """ # noqa: E501
1031
+
1032
+ _param = self._invite_user_serialize(
1033
+ user_id=user_id,
1034
+ invite_request=invite_request,
1035
+ _request_auth=_request_auth,
1036
+ _content_type=_content_type,
1037
+ _headers=_headers,
1038
+ _host_index=_host_index
1039
+ )
1040
+
1041
+ _response_types_map: Dict[str, Optional[str]] = {
1042
+ '200': "SentNotification",
1043
+ '403': "Error",
1044
+ }
1045
+ response_data = await self.api_client.call_api(
1046
+ *_param,
1047
+ _request_timeout=_request_timeout
1048
+ )
1049
+ await response_data.read()
1050
+ return self.api_client.response_deserialize(
1051
+ response_data=response_data,
1052
+ response_types_map=_response_types_map,
1053
+ )
1054
+
1055
+
1056
+ @validate_call
1057
+ async def invite_user_without_preload_content(
1058
+ self,
1059
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1060
+ invite_request: Annotated[InviteRequest, Field(description="Slot number of the Invite Message to use when inviting a user.")],
1061
+ _request_timeout: Union[
1062
+ None,
1063
+ Annotated[StrictFloat, Field(gt=0)],
1064
+ Tuple[
1065
+ Annotated[StrictFloat, Field(gt=0)],
1066
+ Annotated[StrictFloat, Field(gt=0)]
1067
+ ]
1068
+ ] = None,
1069
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1070
+ _content_type: Optional[StrictStr] = None,
1071
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1072
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1073
+ ) -> RESTResponseType:
1074
+ """Invite User
1075
+
1076
+ Sends an invite to a user. Returns the Notification of type `invite` that was sent.
1077
+
1078
+ :param user_id: Must be a valid user ID. (required)
1079
+ :type user_id: str
1080
+ :param invite_request: Slot number of the Invite Message to use when inviting a user. (required)
1081
+ :type invite_request: InviteRequest
1082
+ :param _request_timeout: timeout setting for this request. If one
1083
+ number provided, it will be total request
1084
+ timeout. It can also be a pair (tuple) of
1085
+ (connection, read) timeouts.
1086
+ :type _request_timeout: int, tuple(int, int), optional
1087
+ :param _request_auth: set to override the auth_settings for an a single
1088
+ request; this effectively ignores the
1089
+ authentication in the spec for a single request.
1090
+ :type _request_auth: dict, optional
1091
+ :param _content_type: force content-type for the request.
1092
+ :type _content_type: str, Optional
1093
+ :param _headers: set to override the headers for a single
1094
+ request; this effectively ignores the headers
1095
+ in the spec for a single request.
1096
+ :type _headers: dict, optional
1097
+ :param _host_index: set to override the host_index for a single
1098
+ request; this effectively ignores the host_index
1099
+ in the spec for a single request.
1100
+ :type _host_index: int, optional
1101
+ :return: Returns the result object.
1102
+ """ # noqa: E501
1103
+
1104
+ _param = self._invite_user_serialize(
1105
+ user_id=user_id,
1106
+ invite_request=invite_request,
1107
+ _request_auth=_request_auth,
1108
+ _content_type=_content_type,
1109
+ _headers=_headers,
1110
+ _host_index=_host_index
1111
+ )
1112
+
1113
+ _response_types_map: Dict[str, Optional[str]] = {
1114
+ '200': "SentNotification",
1115
+ '403': "Error",
1116
+ }
1117
+ response_data = await self.api_client.call_api(
1118
+ *_param,
1119
+ _request_timeout=_request_timeout
1120
+ )
1121
+ return response_data.response
1122
+
1123
+
1124
+ def _invite_user_serialize(
1125
+ self,
1126
+ user_id,
1127
+ invite_request,
1128
+ _request_auth,
1129
+ _content_type,
1130
+ _headers,
1131
+ _host_index,
1132
+ ) -> RequestSerialized:
1133
+
1134
+ _host = None
1135
+
1136
+ _collection_formats: Dict[str, str] = {
1137
+ }
1138
+
1139
+ _path_params: Dict[str, str] = {}
1140
+ _query_params: List[Tuple[str, str]] = []
1141
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1142
+ _form_params: List[Tuple[str, str]] = []
1143
+ _files: Dict[
1144
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1145
+ ] = {}
1146
+ _body_params: Optional[bytes] = None
1147
+
1148
+ # process the path parameters
1149
+ if user_id is not None:
1150
+ _path_params['userId'] = user_id
1151
+ # process the query parameters
1152
+ # process the header parameters
1153
+ # process the form parameters
1154
+ # process the body parameter
1155
+ if invite_request is not None:
1156
+ _body_params = invite_request
1157
+
1158
+
1159
+ # set the HTTP header `Accept`
1160
+ if 'Accept' not in _header_params:
1161
+ _header_params['Accept'] = self.api_client.select_header_accept(
1162
+ [
1163
+ 'application/json'
1164
+ ]
1165
+ )
1166
+
1167
+ # set the HTTP header `Content-Type`
1168
+ if _content_type:
1169
+ _header_params['Content-Type'] = _content_type
1170
+ else:
1171
+ _default_content_type = (
1172
+ self.api_client.select_header_content_type(
1173
+ [
1174
+ 'application/json'
1175
+ ]
1176
+ )
1177
+ )
1178
+ if _default_content_type is not None:
1179
+ _header_params['Content-Type'] = _default_content_type
1180
+
1181
+ # authentication setting
1182
+ _auth_settings: List[str] = [
1183
+ 'authCookie'
1184
+ ]
1185
+
1186
+ return self.api_client.param_serialize(
1187
+ method='POST',
1188
+ resource_path='/invite/{userId}',
1189
+ path_params=_path_params,
1190
+ query_params=_query_params,
1191
+ header_params=_header_params,
1192
+ body=_body_params,
1193
+ post_params=_form_params,
1194
+ files=_files,
1195
+ auth_settings=_auth_settings,
1196
+ collection_formats=_collection_formats,
1197
+ _host=_host,
1198
+ _request_auth=_request_auth
1199
+ )
1200
+
1201
+
1202
+
1203
+
1204
+ @validate_call
1205
+ async def invite_user_with_photo(
1206
+ self,
1207
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1208
+ data: InviteRequest,
1209
+ image: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="The binary blob of the png file.")],
1210
+ _request_timeout: Union[
1211
+ None,
1212
+ Annotated[StrictFloat, Field(gt=0)],
1213
+ Tuple[
1214
+ Annotated[StrictFloat, Field(gt=0)],
1215
+ Annotated[StrictFloat, Field(gt=0)]
1216
+ ]
1217
+ ] = None,
1218
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1219
+ _content_type: Optional[StrictStr] = None,
1220
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1221
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1222
+ ) -> SentNotification:
1223
+ """Invite User with photo
1224
+
1225
+ Sends an photo invite to a user. Returns the Notification of type `invite` that was sent.
1226
+
1227
+ :param user_id: Must be a valid user ID. (required)
1228
+ :type user_id: str
1229
+ :param data: (required)
1230
+ :type data: InviteRequest
1231
+ :param image: The binary blob of the png file. (required)
1232
+ :type image: bytes
1233
+ :param _request_timeout: timeout setting for this request. If one
1234
+ number provided, it will be total request
1235
+ timeout. It can also be a pair (tuple) of
1236
+ (connection, read) timeouts.
1237
+ :type _request_timeout: int, tuple(int, int), optional
1238
+ :param _request_auth: set to override the auth_settings for an a single
1239
+ request; this effectively ignores the
1240
+ authentication in the spec for a single request.
1241
+ :type _request_auth: dict, optional
1242
+ :param _content_type: force content-type for the request.
1243
+ :type _content_type: str, Optional
1244
+ :param _headers: set to override the headers for a single
1245
+ request; this effectively ignores the headers
1246
+ in the spec for a single request.
1247
+ :type _headers: dict, optional
1248
+ :param _host_index: set to override the host_index for a single
1249
+ request; this effectively ignores the host_index
1250
+ in the spec for a single request.
1251
+ :type _host_index: int, optional
1252
+ :return: Returns the result object.
1253
+ """ # noqa: E501
1254
+
1255
+ _param = self._invite_user_with_photo_serialize(
1256
+ user_id=user_id,
1257
+ data=data,
1258
+ image=image,
1259
+ _request_auth=_request_auth,
1260
+ _content_type=_content_type,
1261
+ _headers=_headers,
1262
+ _host_index=_host_index
1263
+ )
1264
+
1265
+ _response_types_map: Dict[str, Optional[str]] = {
1266
+ '200': "SentNotification",
1267
+ '403': "Error",
1268
+ }
1269
+ response_data = await self.api_client.call_api(
1270
+ *_param,
1271
+ _request_timeout=_request_timeout
1272
+ )
1273
+ await response_data.read()
1274
+ return self.api_client.response_deserialize(
1275
+ response_data=response_data,
1276
+ response_types_map=_response_types_map,
1277
+ ).data
1278
+
1279
+
1280
+ @validate_call
1281
+ async def invite_user_with_photo_with_http_info(
1282
+ self,
1283
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1284
+ data: InviteRequest,
1285
+ image: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="The binary blob of the png file.")],
1286
+ _request_timeout: Union[
1287
+ None,
1288
+ Annotated[StrictFloat, Field(gt=0)],
1289
+ Tuple[
1290
+ Annotated[StrictFloat, Field(gt=0)],
1291
+ Annotated[StrictFloat, Field(gt=0)]
1292
+ ]
1293
+ ] = None,
1294
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1295
+ _content_type: Optional[StrictStr] = None,
1296
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1297
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1298
+ ) -> ApiResponse[SentNotification]:
1299
+ """Invite User with photo
1300
+
1301
+ Sends an photo invite to a user. Returns the Notification of type `invite` that was sent.
1302
+
1303
+ :param user_id: Must be a valid user ID. (required)
1304
+ :type user_id: str
1305
+ :param data: (required)
1306
+ :type data: InviteRequest
1307
+ :param image: The binary blob of the png file. (required)
1308
+ :type image: bytes
1309
+ :param _request_timeout: timeout setting for this request. If one
1310
+ number provided, it will be total request
1311
+ timeout. It can also be a pair (tuple) of
1312
+ (connection, read) timeouts.
1313
+ :type _request_timeout: int, tuple(int, int), optional
1314
+ :param _request_auth: set to override the auth_settings for an a single
1315
+ request; this effectively ignores the
1316
+ authentication in the spec for a single request.
1317
+ :type _request_auth: dict, optional
1318
+ :param _content_type: force content-type for the request.
1319
+ :type _content_type: str, Optional
1320
+ :param _headers: set to override the headers for a single
1321
+ request; this effectively ignores the headers
1322
+ in the spec for a single request.
1323
+ :type _headers: dict, optional
1324
+ :param _host_index: set to override the host_index for a single
1325
+ request; this effectively ignores the host_index
1326
+ in the spec for a single request.
1327
+ :type _host_index: int, optional
1328
+ :return: Returns the result object.
1329
+ """ # noqa: E501
1330
+
1331
+ _param = self._invite_user_with_photo_serialize(
1332
+ user_id=user_id,
1333
+ data=data,
1334
+ image=image,
1335
+ _request_auth=_request_auth,
1336
+ _content_type=_content_type,
1337
+ _headers=_headers,
1338
+ _host_index=_host_index
1339
+ )
1340
+
1341
+ _response_types_map: Dict[str, Optional[str]] = {
1342
+ '200': "SentNotification",
1343
+ '403': "Error",
1344
+ }
1345
+ response_data = await self.api_client.call_api(
1346
+ *_param,
1347
+ _request_timeout=_request_timeout
1348
+ )
1349
+ await response_data.read()
1350
+ return self.api_client.response_deserialize(
1351
+ response_data=response_data,
1352
+ response_types_map=_response_types_map,
1353
+ )
1354
+
1355
+
1356
+ @validate_call
1357
+ async def invite_user_with_photo_without_preload_content(
1358
+ self,
1359
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1360
+ data: InviteRequest,
1361
+ image: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="The binary blob of the png file.")],
1362
+ _request_timeout: Union[
1363
+ None,
1364
+ Annotated[StrictFloat, Field(gt=0)],
1365
+ Tuple[
1366
+ Annotated[StrictFloat, Field(gt=0)],
1367
+ Annotated[StrictFloat, Field(gt=0)]
1368
+ ]
1369
+ ] = None,
1370
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1371
+ _content_type: Optional[StrictStr] = None,
1372
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1373
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1374
+ ) -> RESTResponseType:
1375
+ """Invite User with photo
1376
+
1377
+ Sends an photo invite to a user. Returns the Notification of type `invite` that was sent.
1378
+
1379
+ :param user_id: Must be a valid user ID. (required)
1380
+ :type user_id: str
1381
+ :param data: (required)
1382
+ :type data: InviteRequest
1383
+ :param image: The binary blob of the png file. (required)
1384
+ :type image: bytes
1385
+ :param _request_timeout: timeout setting for this request. If one
1386
+ number provided, it will be total request
1387
+ timeout. It can also be a pair (tuple) of
1388
+ (connection, read) timeouts.
1389
+ :type _request_timeout: int, tuple(int, int), optional
1390
+ :param _request_auth: set to override the auth_settings for an a single
1391
+ request; this effectively ignores the
1392
+ authentication in the spec for a single request.
1393
+ :type _request_auth: dict, optional
1394
+ :param _content_type: force content-type for the request.
1395
+ :type _content_type: str, Optional
1396
+ :param _headers: set to override the headers for a single
1397
+ request; this effectively ignores the headers
1398
+ in the spec for a single request.
1399
+ :type _headers: dict, optional
1400
+ :param _host_index: set to override the host_index for a single
1401
+ request; this effectively ignores the host_index
1402
+ in the spec for a single request.
1403
+ :type _host_index: int, optional
1404
+ :return: Returns the result object.
1405
+ """ # noqa: E501
1406
+
1407
+ _param = self._invite_user_with_photo_serialize(
1408
+ user_id=user_id,
1409
+ data=data,
1410
+ image=image,
1411
+ _request_auth=_request_auth,
1412
+ _content_type=_content_type,
1413
+ _headers=_headers,
1414
+ _host_index=_host_index
1415
+ )
1416
+
1417
+ _response_types_map: Dict[str, Optional[str]] = {
1418
+ '200': "SentNotification",
1419
+ '403': "Error",
1420
+ }
1421
+ response_data = await self.api_client.call_api(
1422
+ *_param,
1423
+ _request_timeout=_request_timeout
1424
+ )
1425
+ return response_data.response
1426
+
1427
+
1428
+ def _invite_user_with_photo_serialize(
1429
+ self,
1430
+ user_id,
1431
+ data,
1432
+ image,
1433
+ _request_auth,
1434
+ _content_type,
1435
+ _headers,
1436
+ _host_index,
1437
+ ) -> RequestSerialized:
1438
+
1439
+ _host = None
1440
+
1441
+ _collection_formats: Dict[str, str] = {
1442
+ }
1443
+
1444
+ _path_params: Dict[str, str] = {}
1445
+ _query_params: List[Tuple[str, str]] = []
1446
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1447
+ _form_params: List[Tuple[str, str]] = []
1448
+ _files: Dict[
1449
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1450
+ ] = {}
1451
+ _body_params: Optional[bytes] = None
1452
+
1453
+ # process the path parameters
1454
+ if user_id is not None:
1455
+ _path_params['userId'] = user_id
1456
+ # process the query parameters
1457
+ # process the header parameters
1458
+ # process the form parameters
1459
+ if data is not None:
1460
+ _form_params.append(('data', data))
1461
+ if image is not None:
1462
+ _files['image'] = image
1463
+ # process the body parameter
1464
+
1465
+
1466
+ # set the HTTP header `Accept`
1467
+ if 'Accept' not in _header_params:
1468
+ _header_params['Accept'] = self.api_client.select_header_accept(
1469
+ [
1470
+ 'application/json'
1471
+ ]
1472
+ )
1473
+
1474
+ # set the HTTP header `Content-Type`
1475
+ if _content_type:
1476
+ _header_params['Content-Type'] = _content_type
1477
+ else:
1478
+ _default_content_type = (
1479
+ self.api_client.select_header_content_type(
1480
+ [
1481
+ 'multipart/form-data'
1482
+ ]
1483
+ )
1484
+ )
1485
+ if _default_content_type is not None:
1486
+ _header_params['Content-Type'] = _default_content_type
1487
+
1488
+ # authentication setting
1489
+ _auth_settings: List[str] = [
1490
+ 'authCookie'
1491
+ ]
1492
+
1493
+ return self.api_client.param_serialize(
1494
+ method='POST',
1495
+ resource_path='/invite/{userId}/photo',
1496
+ path_params=_path_params,
1497
+ query_params=_query_params,
1498
+ header_params=_header_params,
1499
+ body=_body_params,
1500
+ post_params=_form_params,
1501
+ files=_files,
1502
+ auth_settings=_auth_settings,
1503
+ collection_formats=_collection_formats,
1504
+ _host=_host,
1505
+ _request_auth=_request_auth
1506
+ )
1507
+
1508
+
1509
+
1510
+
1511
+ @validate_call
1512
+ async def request_invite(
1513
+ self,
1514
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1515
+ request_invite_request: Annotated[Optional[RequestInviteRequest], Field(description="Slot number of the Request Message to use when request an invite.")] = None,
1516
+ _request_timeout: Union[
1517
+ None,
1518
+ Annotated[StrictFloat, Field(gt=0)],
1519
+ Tuple[
1520
+ Annotated[StrictFloat, Field(gt=0)],
1521
+ Annotated[StrictFloat, Field(gt=0)]
1522
+ ]
1523
+ ] = None,
1524
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1525
+ _content_type: Optional[StrictStr] = None,
1526
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1527
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1528
+ ) -> Notification:
1529
+ """Request Invite
1530
+
1531
+ Requests an invite from a user. Returns the Notification of type `requestInvite` that was sent.
1532
+
1533
+ :param user_id: Must be a valid user ID. (required)
1534
+ :type user_id: str
1535
+ :param request_invite_request: Slot number of the Request Message to use when request an invite.
1536
+ :type request_invite_request: RequestInviteRequest
1537
+ :param _request_timeout: timeout setting for this request. If one
1538
+ number provided, it will be total request
1539
+ timeout. It can also be a pair (tuple) of
1540
+ (connection, read) timeouts.
1541
+ :type _request_timeout: int, tuple(int, int), optional
1542
+ :param _request_auth: set to override the auth_settings for an a single
1543
+ request; this effectively ignores the
1544
+ authentication in the spec for a single request.
1545
+ :type _request_auth: dict, optional
1546
+ :param _content_type: force content-type for the request.
1547
+ :type _content_type: str, Optional
1548
+ :param _headers: set to override the headers for a single
1549
+ request; this effectively ignores the headers
1550
+ in the spec for a single request.
1551
+ :type _headers: dict, optional
1552
+ :param _host_index: set to override the host_index for a single
1553
+ request; this effectively ignores the host_index
1554
+ in the spec for a single request.
1555
+ :type _host_index: int, optional
1556
+ :return: Returns the result object.
1557
+ """ # noqa: E501
1558
+
1559
+ _param = self._request_invite_serialize(
1560
+ user_id=user_id,
1561
+ request_invite_request=request_invite_request,
1562
+ _request_auth=_request_auth,
1563
+ _content_type=_content_type,
1564
+ _headers=_headers,
1565
+ _host_index=_host_index
1566
+ )
1567
+
1568
+ _response_types_map: Dict[str, Optional[str]] = {
1569
+ '200': "Notification",
1570
+ '403': "Error",
1571
+ }
1572
+ response_data = await self.api_client.call_api(
1573
+ *_param,
1574
+ _request_timeout=_request_timeout
1575
+ )
1576
+ await response_data.read()
1577
+ return self.api_client.response_deserialize(
1578
+ response_data=response_data,
1579
+ response_types_map=_response_types_map,
1580
+ ).data
1581
+
1582
+
1583
+ @validate_call
1584
+ async def request_invite_with_http_info(
1585
+ self,
1586
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1587
+ request_invite_request: Annotated[Optional[RequestInviteRequest], Field(description="Slot number of the Request Message to use when request an invite.")] = None,
1588
+ _request_timeout: Union[
1589
+ None,
1590
+ Annotated[StrictFloat, Field(gt=0)],
1591
+ Tuple[
1592
+ Annotated[StrictFloat, Field(gt=0)],
1593
+ Annotated[StrictFloat, Field(gt=0)]
1594
+ ]
1595
+ ] = None,
1596
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1597
+ _content_type: Optional[StrictStr] = None,
1598
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1599
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1600
+ ) -> ApiResponse[Notification]:
1601
+ """Request Invite
1602
+
1603
+ Requests an invite from a user. Returns the Notification of type `requestInvite` that was sent.
1604
+
1605
+ :param user_id: Must be a valid user ID. (required)
1606
+ :type user_id: str
1607
+ :param request_invite_request: Slot number of the Request Message to use when request an invite.
1608
+ :type request_invite_request: RequestInviteRequest
1609
+ :param _request_timeout: timeout setting for this request. If one
1610
+ number provided, it will be total request
1611
+ timeout. It can also be a pair (tuple) of
1612
+ (connection, read) timeouts.
1613
+ :type _request_timeout: int, tuple(int, int), optional
1614
+ :param _request_auth: set to override the auth_settings for an a single
1615
+ request; this effectively ignores the
1616
+ authentication in the spec for a single request.
1617
+ :type _request_auth: dict, optional
1618
+ :param _content_type: force content-type for the request.
1619
+ :type _content_type: str, Optional
1620
+ :param _headers: set to override the headers for a single
1621
+ request; this effectively ignores the headers
1622
+ in the spec for a single request.
1623
+ :type _headers: dict, optional
1624
+ :param _host_index: set to override the host_index for a single
1625
+ request; this effectively ignores the host_index
1626
+ in the spec for a single request.
1627
+ :type _host_index: int, optional
1628
+ :return: Returns the result object.
1629
+ """ # noqa: E501
1630
+
1631
+ _param = self._request_invite_serialize(
1632
+ user_id=user_id,
1633
+ request_invite_request=request_invite_request,
1634
+ _request_auth=_request_auth,
1635
+ _content_type=_content_type,
1636
+ _headers=_headers,
1637
+ _host_index=_host_index
1638
+ )
1639
+
1640
+ _response_types_map: Dict[str, Optional[str]] = {
1641
+ '200': "Notification",
1642
+ '403': "Error",
1643
+ }
1644
+ response_data = await self.api_client.call_api(
1645
+ *_param,
1646
+ _request_timeout=_request_timeout
1647
+ )
1648
+ await response_data.read()
1649
+ return self.api_client.response_deserialize(
1650
+ response_data=response_data,
1651
+ response_types_map=_response_types_map,
1652
+ )
1653
+
1654
+
1655
+ @validate_call
1656
+ async def request_invite_without_preload_content(
1657
+ self,
1658
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1659
+ request_invite_request: Annotated[Optional[RequestInviteRequest], Field(description="Slot number of the Request Message to use when request an invite.")] = None,
1660
+ _request_timeout: Union[
1661
+ None,
1662
+ Annotated[StrictFloat, Field(gt=0)],
1663
+ Tuple[
1664
+ Annotated[StrictFloat, Field(gt=0)],
1665
+ Annotated[StrictFloat, Field(gt=0)]
1666
+ ]
1667
+ ] = None,
1668
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1669
+ _content_type: Optional[StrictStr] = None,
1670
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1671
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1672
+ ) -> RESTResponseType:
1673
+ """Request Invite
1674
+
1675
+ Requests an invite from a user. Returns the Notification of type `requestInvite` that was sent.
1676
+
1677
+ :param user_id: Must be a valid user ID. (required)
1678
+ :type user_id: str
1679
+ :param request_invite_request: Slot number of the Request Message to use when request an invite.
1680
+ :type request_invite_request: RequestInviteRequest
1681
+ :param _request_timeout: timeout setting for this request. If one
1682
+ number provided, it will be total request
1683
+ timeout. It can also be a pair (tuple) of
1684
+ (connection, read) timeouts.
1685
+ :type _request_timeout: int, tuple(int, int), optional
1686
+ :param _request_auth: set to override the auth_settings for an a single
1687
+ request; this effectively ignores the
1688
+ authentication in the spec for a single request.
1689
+ :type _request_auth: dict, optional
1690
+ :param _content_type: force content-type for the request.
1691
+ :type _content_type: str, Optional
1692
+ :param _headers: set to override the headers for a single
1693
+ request; this effectively ignores the headers
1694
+ in the spec for a single request.
1695
+ :type _headers: dict, optional
1696
+ :param _host_index: set to override the host_index for a single
1697
+ request; this effectively ignores the host_index
1698
+ in the spec for a single request.
1699
+ :type _host_index: int, optional
1700
+ :return: Returns the result object.
1701
+ """ # noqa: E501
1702
+
1703
+ _param = self._request_invite_serialize(
1704
+ user_id=user_id,
1705
+ request_invite_request=request_invite_request,
1706
+ _request_auth=_request_auth,
1707
+ _content_type=_content_type,
1708
+ _headers=_headers,
1709
+ _host_index=_host_index
1710
+ )
1711
+
1712
+ _response_types_map: Dict[str, Optional[str]] = {
1713
+ '200': "Notification",
1714
+ '403': "Error",
1715
+ }
1716
+ response_data = await self.api_client.call_api(
1717
+ *_param,
1718
+ _request_timeout=_request_timeout
1719
+ )
1720
+ return response_data.response
1721
+
1722
+
1723
+ def _request_invite_serialize(
1724
+ self,
1725
+ user_id,
1726
+ request_invite_request,
1727
+ _request_auth,
1728
+ _content_type,
1729
+ _headers,
1730
+ _host_index,
1731
+ ) -> RequestSerialized:
1732
+
1733
+ _host = None
1734
+
1735
+ _collection_formats: Dict[str, str] = {
1736
+ }
1737
+
1738
+ _path_params: Dict[str, str] = {}
1739
+ _query_params: List[Tuple[str, str]] = []
1740
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1741
+ _form_params: List[Tuple[str, str]] = []
1742
+ _files: Dict[
1743
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1744
+ ] = {}
1745
+ _body_params: Optional[bytes] = None
1746
+
1747
+ # process the path parameters
1748
+ if user_id is not None:
1749
+ _path_params['userId'] = user_id
1750
+ # process the query parameters
1751
+ # process the header parameters
1752
+ # process the form parameters
1753
+ # process the body parameter
1754
+ if request_invite_request is not None:
1755
+ _body_params = request_invite_request
1756
+
1757
+
1758
+ # set the HTTP header `Accept`
1759
+ if 'Accept' not in _header_params:
1760
+ _header_params['Accept'] = self.api_client.select_header_accept(
1761
+ [
1762
+ 'application/json'
1763
+ ]
1764
+ )
1765
+
1766
+ # set the HTTP header `Content-Type`
1767
+ if _content_type:
1768
+ _header_params['Content-Type'] = _content_type
1769
+ else:
1770
+ _default_content_type = (
1771
+ self.api_client.select_header_content_type(
1772
+ [
1773
+ 'application/json'
1774
+ ]
1775
+ )
1776
+ )
1777
+ if _default_content_type is not None:
1778
+ _header_params['Content-Type'] = _default_content_type
1779
+
1780
+ # authentication setting
1781
+ _auth_settings: List[str] = [
1782
+ 'authCookie'
1783
+ ]
1784
+
1785
+ return self.api_client.param_serialize(
1786
+ method='POST',
1787
+ resource_path='/requestInvite/{userId}',
1788
+ path_params=_path_params,
1789
+ query_params=_query_params,
1790
+ header_params=_header_params,
1791
+ body=_body_params,
1792
+ post_params=_form_params,
1793
+ files=_files,
1794
+ auth_settings=_auth_settings,
1795
+ collection_formats=_collection_formats,
1796
+ _host=_host,
1797
+ _request_auth=_request_auth
1798
+ )
1799
+
1800
+
1801
+
1802
+
1803
+ @validate_call
1804
+ async def request_invite_with_photo(
1805
+ self,
1806
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1807
+ data: RequestInviteRequest,
1808
+ image: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="The binary blob of the png file.")],
1809
+ _request_timeout: Union[
1810
+ None,
1811
+ Annotated[StrictFloat, Field(gt=0)],
1812
+ Tuple[
1813
+ Annotated[StrictFloat, Field(gt=0)],
1814
+ Annotated[StrictFloat, Field(gt=0)]
1815
+ ]
1816
+ ] = None,
1817
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1818
+ _content_type: Optional[StrictStr] = None,
1819
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1820
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1821
+ ) -> Notification:
1822
+ """Request Invite with photo
1823
+
1824
+ Requests with photo an invite from a user. Returns the Notification of type `requestInvite` that was sent.
1825
+
1826
+ :param user_id: Must be a valid user ID. (required)
1827
+ :type user_id: str
1828
+ :param data: (required)
1829
+ :type data: RequestInviteRequest
1830
+ :param image: The binary blob of the png file. (required)
1831
+ :type image: bytes
1832
+ :param _request_timeout: timeout setting for this request. If one
1833
+ number provided, it will be total request
1834
+ timeout. It can also be a pair (tuple) of
1835
+ (connection, read) timeouts.
1836
+ :type _request_timeout: int, tuple(int, int), optional
1837
+ :param _request_auth: set to override the auth_settings for an a single
1838
+ request; this effectively ignores the
1839
+ authentication in the spec for a single request.
1840
+ :type _request_auth: dict, optional
1841
+ :param _content_type: force content-type for the request.
1842
+ :type _content_type: str, Optional
1843
+ :param _headers: set to override the headers for a single
1844
+ request; this effectively ignores the headers
1845
+ in the spec for a single request.
1846
+ :type _headers: dict, optional
1847
+ :param _host_index: set to override the host_index for a single
1848
+ request; this effectively ignores the host_index
1849
+ in the spec for a single request.
1850
+ :type _host_index: int, optional
1851
+ :return: Returns the result object.
1852
+ """ # noqa: E501
1853
+
1854
+ _param = self._request_invite_with_photo_serialize(
1855
+ user_id=user_id,
1856
+ data=data,
1857
+ image=image,
1858
+ _request_auth=_request_auth,
1859
+ _content_type=_content_type,
1860
+ _headers=_headers,
1861
+ _host_index=_host_index
1862
+ )
1863
+
1864
+ _response_types_map: Dict[str, Optional[str]] = {
1865
+ '200': "Notification",
1866
+ '403': "Error",
1867
+ }
1868
+ response_data = await self.api_client.call_api(
1869
+ *_param,
1870
+ _request_timeout=_request_timeout
1871
+ )
1872
+ await response_data.read()
1873
+ return self.api_client.response_deserialize(
1874
+ response_data=response_data,
1875
+ response_types_map=_response_types_map,
1876
+ ).data
1877
+
1878
+
1879
+ @validate_call
1880
+ async def request_invite_with_photo_with_http_info(
1881
+ self,
1882
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1883
+ data: RequestInviteRequest,
1884
+ image: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="The binary blob of the png file.")],
1885
+ _request_timeout: Union[
1886
+ None,
1887
+ Annotated[StrictFloat, Field(gt=0)],
1888
+ Tuple[
1889
+ Annotated[StrictFloat, Field(gt=0)],
1890
+ Annotated[StrictFloat, Field(gt=0)]
1891
+ ]
1892
+ ] = None,
1893
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1894
+ _content_type: Optional[StrictStr] = None,
1895
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1896
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1897
+ ) -> ApiResponse[Notification]:
1898
+ """Request Invite with photo
1899
+
1900
+ Requests with photo an invite from a user. Returns the Notification of type `requestInvite` that was sent.
1901
+
1902
+ :param user_id: Must be a valid user ID. (required)
1903
+ :type user_id: str
1904
+ :param data: (required)
1905
+ :type data: RequestInviteRequest
1906
+ :param image: The binary blob of the png file. (required)
1907
+ :type image: bytes
1908
+ :param _request_timeout: timeout setting for this request. If one
1909
+ number provided, it will be total request
1910
+ timeout. It can also be a pair (tuple) of
1911
+ (connection, read) timeouts.
1912
+ :type _request_timeout: int, tuple(int, int), optional
1913
+ :param _request_auth: set to override the auth_settings for an a single
1914
+ request; this effectively ignores the
1915
+ authentication in the spec for a single request.
1916
+ :type _request_auth: dict, optional
1917
+ :param _content_type: force content-type for the request.
1918
+ :type _content_type: str, Optional
1919
+ :param _headers: set to override the headers for a single
1920
+ request; this effectively ignores the headers
1921
+ in the spec for a single request.
1922
+ :type _headers: dict, optional
1923
+ :param _host_index: set to override the host_index for a single
1924
+ request; this effectively ignores the host_index
1925
+ in the spec for a single request.
1926
+ :type _host_index: int, optional
1927
+ :return: Returns the result object.
1928
+ """ # noqa: E501
1929
+
1930
+ _param = self._request_invite_with_photo_serialize(
1931
+ user_id=user_id,
1932
+ data=data,
1933
+ image=image,
1934
+ _request_auth=_request_auth,
1935
+ _content_type=_content_type,
1936
+ _headers=_headers,
1937
+ _host_index=_host_index
1938
+ )
1939
+
1940
+ _response_types_map: Dict[str, Optional[str]] = {
1941
+ '200': "Notification",
1942
+ '403': "Error",
1943
+ }
1944
+ response_data = await self.api_client.call_api(
1945
+ *_param,
1946
+ _request_timeout=_request_timeout
1947
+ )
1948
+ await response_data.read()
1949
+ return self.api_client.response_deserialize(
1950
+ response_data=response_data,
1951
+ response_types_map=_response_types_map,
1952
+ )
1953
+
1954
+
1955
+ @validate_call
1956
+ async def request_invite_with_photo_without_preload_content(
1957
+ self,
1958
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
1959
+ data: RequestInviteRequest,
1960
+ image: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="The binary blob of the png file.")],
1961
+ _request_timeout: Union[
1962
+ None,
1963
+ Annotated[StrictFloat, Field(gt=0)],
1964
+ Tuple[
1965
+ Annotated[StrictFloat, Field(gt=0)],
1966
+ Annotated[StrictFloat, Field(gt=0)]
1967
+ ]
1968
+ ] = None,
1969
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1970
+ _content_type: Optional[StrictStr] = None,
1971
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1972
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1973
+ ) -> RESTResponseType:
1974
+ """Request Invite with photo
1975
+
1976
+ Requests with photo an invite from a user. Returns the Notification of type `requestInvite` that was sent.
1977
+
1978
+ :param user_id: Must be a valid user ID. (required)
1979
+ :type user_id: str
1980
+ :param data: (required)
1981
+ :type data: RequestInviteRequest
1982
+ :param image: The binary blob of the png file. (required)
1983
+ :type image: bytes
1984
+ :param _request_timeout: timeout setting for this request. If one
1985
+ number provided, it will be total request
1986
+ timeout. It can also be a pair (tuple) of
1987
+ (connection, read) timeouts.
1988
+ :type _request_timeout: int, tuple(int, int), optional
1989
+ :param _request_auth: set to override the auth_settings for an a single
1990
+ request; this effectively ignores the
1991
+ authentication in the spec for a single request.
1992
+ :type _request_auth: dict, optional
1993
+ :param _content_type: force content-type for the request.
1994
+ :type _content_type: str, Optional
1995
+ :param _headers: set to override the headers for a single
1996
+ request; this effectively ignores the headers
1997
+ in the spec for a single request.
1998
+ :type _headers: dict, optional
1999
+ :param _host_index: set to override the host_index for a single
2000
+ request; this effectively ignores the host_index
2001
+ in the spec for a single request.
2002
+ :type _host_index: int, optional
2003
+ :return: Returns the result object.
2004
+ """ # noqa: E501
2005
+
2006
+ _param = self._request_invite_with_photo_serialize(
2007
+ user_id=user_id,
2008
+ data=data,
2009
+ image=image,
2010
+ _request_auth=_request_auth,
2011
+ _content_type=_content_type,
2012
+ _headers=_headers,
2013
+ _host_index=_host_index
2014
+ )
2015
+
2016
+ _response_types_map: Dict[str, Optional[str]] = {
2017
+ '200': "Notification",
2018
+ '403': "Error",
2019
+ }
2020
+ response_data = await self.api_client.call_api(
2021
+ *_param,
2022
+ _request_timeout=_request_timeout
2023
+ )
2024
+ return response_data.response
2025
+
2026
+
2027
+ def _request_invite_with_photo_serialize(
2028
+ self,
2029
+ user_id,
2030
+ data,
2031
+ image,
2032
+ _request_auth,
2033
+ _content_type,
2034
+ _headers,
2035
+ _host_index,
2036
+ ) -> RequestSerialized:
2037
+
2038
+ _host = None
2039
+
2040
+ _collection_formats: Dict[str, str] = {
2041
+ }
2042
+
2043
+ _path_params: Dict[str, str] = {}
2044
+ _query_params: List[Tuple[str, str]] = []
2045
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2046
+ _form_params: List[Tuple[str, str]] = []
2047
+ _files: Dict[
2048
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2049
+ ] = {}
2050
+ _body_params: Optional[bytes] = None
2051
+
2052
+ # process the path parameters
2053
+ if user_id is not None:
2054
+ _path_params['userId'] = user_id
2055
+ # process the query parameters
2056
+ # process the header parameters
2057
+ # process the form parameters
2058
+ if data is not None:
2059
+ _form_params.append(('data', data))
2060
+ if image is not None:
2061
+ _files['image'] = image
2062
+ # process the body parameter
2063
+
2064
+
2065
+ # set the HTTP header `Accept`
2066
+ if 'Accept' not in _header_params:
2067
+ _header_params['Accept'] = self.api_client.select_header_accept(
2068
+ [
2069
+ 'application/json'
2070
+ ]
2071
+ )
2072
+
2073
+ # set the HTTP header `Content-Type`
2074
+ if _content_type:
2075
+ _header_params['Content-Type'] = _content_type
2076
+ else:
2077
+ _default_content_type = (
2078
+ self.api_client.select_header_content_type(
2079
+ [
2080
+ 'multipart/form-data'
2081
+ ]
2082
+ )
2083
+ )
2084
+ if _default_content_type is not None:
2085
+ _header_params['Content-Type'] = _default_content_type
2086
+
2087
+ # authentication setting
2088
+ _auth_settings: List[str] = [
2089
+ 'authCookie'
2090
+ ]
2091
+
2092
+ return self.api_client.param_serialize(
2093
+ method='POST',
2094
+ resource_path='/requestInvite/{userId}/photo',
2095
+ path_params=_path_params,
2096
+ query_params=_query_params,
2097
+ header_params=_header_params,
2098
+ body=_body_params,
2099
+ post_params=_form_params,
2100
+ files=_files,
2101
+ auth_settings=_auth_settings,
2102
+ collection_formats=_collection_formats,
2103
+ _host=_host,
2104
+ _request_auth=_request_auth
2105
+ )
2106
+
2107
+
2108
+
2109
+
2110
+ @validate_call
2111
+ async def reset_invite_message(
2112
+ self,
2113
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
2114
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
2115
+ slot: Annotated[int, Field(le=11, strict=True, ge=0, description="The message slot to fetch of a given message type.")],
2116
+ _request_timeout: Union[
2117
+ None,
2118
+ Annotated[StrictFloat, Field(gt=0)],
2119
+ Tuple[
2120
+ Annotated[StrictFloat, Field(gt=0)],
2121
+ Annotated[StrictFloat, Field(gt=0)]
2122
+ ]
2123
+ ] = None,
2124
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2125
+ _content_type: Optional[StrictStr] = None,
2126
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2127
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2128
+ ) -> List[InviteMessage]:
2129
+ """Reset Invite Message
2130
+
2131
+ Resets a single Invite Message back to its original message, and then returns a list of all of them. Admin Credentials are required to update messages of other users! Resetting a message respects the rate-limit, so it is not possible to reset within the 60 minutes countdown. Resetting it does however not set the rate-limit to 60 like when editing it. It is possible to edit it right after resetting it. Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\". Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite The DELETE endpoint does not have/require any request body.
2132
+
2133
+ :param user_id: Must be a valid user ID. (required)
2134
+ :type user_id: str
2135
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
2136
+ :type message_type: InviteMessageType
2137
+ :param slot: The message slot to fetch of a given message type. (required)
2138
+ :type slot: int
2139
+ :param _request_timeout: timeout setting for this request. If one
2140
+ number provided, it will be total request
2141
+ timeout. It can also be a pair (tuple) of
2142
+ (connection, read) timeouts.
2143
+ :type _request_timeout: int, tuple(int, int), optional
2144
+ :param _request_auth: set to override the auth_settings for an a single
2145
+ request; this effectively ignores the
2146
+ authentication in the spec for a single request.
2147
+ :type _request_auth: dict, optional
2148
+ :param _content_type: force content-type for the request.
2149
+ :type _content_type: str, Optional
2150
+ :param _headers: set to override the headers for a single
2151
+ request; this effectively ignores the headers
2152
+ in the spec for a single request.
2153
+ :type _headers: dict, optional
2154
+ :param _host_index: set to override the host_index for a single
2155
+ request; this effectively ignores the host_index
2156
+ in the spec for a single request.
2157
+ :type _host_index: int, optional
2158
+ :return: Returns the result object.
2159
+ """ # noqa: E501
2160
+
2161
+ _param = self._reset_invite_message_serialize(
2162
+ user_id=user_id,
2163
+ message_type=message_type,
2164
+ slot=slot,
2165
+ _request_auth=_request_auth,
2166
+ _content_type=_content_type,
2167
+ _headers=_headers,
2168
+ _host_index=_host_index
2169
+ )
2170
+
2171
+ _response_types_map: Dict[str, Optional[str]] = {
2172
+ '200': "List[InviteMessage]",
2173
+ '400': "Error",
2174
+ '401': "Error",
2175
+ '404': "Error",
2176
+ '429': "Error",
2177
+ }
2178
+ response_data = await self.api_client.call_api(
2179
+ *_param,
2180
+ _request_timeout=_request_timeout
2181
+ )
2182
+ await response_data.read()
2183
+ return self.api_client.response_deserialize(
2184
+ response_data=response_data,
2185
+ response_types_map=_response_types_map,
2186
+ ).data
2187
+
2188
+
2189
+ @validate_call
2190
+ async def reset_invite_message_with_http_info(
2191
+ self,
2192
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
2193
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
2194
+ slot: Annotated[int, Field(le=11, strict=True, ge=0, description="The message slot to fetch of a given message type.")],
2195
+ _request_timeout: Union[
2196
+ None,
2197
+ Annotated[StrictFloat, Field(gt=0)],
2198
+ Tuple[
2199
+ Annotated[StrictFloat, Field(gt=0)],
2200
+ Annotated[StrictFloat, Field(gt=0)]
2201
+ ]
2202
+ ] = None,
2203
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2204
+ _content_type: Optional[StrictStr] = None,
2205
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2206
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2207
+ ) -> ApiResponse[List[InviteMessage]]:
2208
+ """Reset Invite Message
2209
+
2210
+ Resets a single Invite Message back to its original message, and then returns a list of all of them. Admin Credentials are required to update messages of other users! Resetting a message respects the rate-limit, so it is not possible to reset within the 60 minutes countdown. Resetting it does however not set the rate-limit to 60 like when editing it. It is possible to edit it right after resetting it. Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\". Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite The DELETE endpoint does not have/require any request body.
2211
+
2212
+ :param user_id: Must be a valid user ID. (required)
2213
+ :type user_id: str
2214
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
2215
+ :type message_type: InviteMessageType
2216
+ :param slot: The message slot to fetch of a given message type. (required)
2217
+ :type slot: int
2218
+ :param _request_timeout: timeout setting for this request. If one
2219
+ number provided, it will be total request
2220
+ timeout. It can also be a pair (tuple) of
2221
+ (connection, read) timeouts.
2222
+ :type _request_timeout: int, tuple(int, int), optional
2223
+ :param _request_auth: set to override the auth_settings for an a single
2224
+ request; this effectively ignores the
2225
+ authentication in the spec for a single request.
2226
+ :type _request_auth: dict, optional
2227
+ :param _content_type: force content-type for the request.
2228
+ :type _content_type: str, Optional
2229
+ :param _headers: set to override the headers for a single
2230
+ request; this effectively ignores the headers
2231
+ in the spec for a single request.
2232
+ :type _headers: dict, optional
2233
+ :param _host_index: set to override the host_index for a single
2234
+ request; this effectively ignores the host_index
2235
+ in the spec for a single request.
2236
+ :type _host_index: int, optional
2237
+ :return: Returns the result object.
2238
+ """ # noqa: E501
2239
+
2240
+ _param = self._reset_invite_message_serialize(
2241
+ user_id=user_id,
2242
+ message_type=message_type,
2243
+ slot=slot,
2244
+ _request_auth=_request_auth,
2245
+ _content_type=_content_type,
2246
+ _headers=_headers,
2247
+ _host_index=_host_index
2248
+ )
2249
+
2250
+ _response_types_map: Dict[str, Optional[str]] = {
2251
+ '200': "List[InviteMessage]",
2252
+ '400': "Error",
2253
+ '401': "Error",
2254
+ '404': "Error",
2255
+ '429': "Error",
2256
+ }
2257
+ response_data = await self.api_client.call_api(
2258
+ *_param,
2259
+ _request_timeout=_request_timeout
2260
+ )
2261
+ await response_data.read()
2262
+ return self.api_client.response_deserialize(
2263
+ response_data=response_data,
2264
+ response_types_map=_response_types_map,
2265
+ )
2266
+
2267
+
2268
+ @validate_call
2269
+ async def reset_invite_message_without_preload_content(
2270
+ self,
2271
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
2272
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
2273
+ slot: Annotated[int, Field(le=11, strict=True, ge=0, description="The message slot to fetch of a given message type.")],
2274
+ _request_timeout: Union[
2275
+ None,
2276
+ Annotated[StrictFloat, Field(gt=0)],
2277
+ Tuple[
2278
+ Annotated[StrictFloat, Field(gt=0)],
2279
+ Annotated[StrictFloat, Field(gt=0)]
2280
+ ]
2281
+ ] = None,
2282
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2283
+ _content_type: Optional[StrictStr] = None,
2284
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2285
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2286
+ ) -> RESTResponseType:
2287
+ """Reset Invite Message
2288
+
2289
+ Resets a single Invite Message back to its original message, and then returns a list of all of them. Admin Credentials are required to update messages of other users! Resetting a message respects the rate-limit, so it is not possible to reset within the 60 minutes countdown. Resetting it does however not set the rate-limit to 60 like when editing it. It is possible to edit it right after resetting it. Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\". Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite The DELETE endpoint does not have/require any request body.
2290
+
2291
+ :param user_id: Must be a valid user ID. (required)
2292
+ :type user_id: str
2293
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
2294
+ :type message_type: InviteMessageType
2295
+ :param slot: The message slot to fetch of a given message type. (required)
2296
+ :type slot: int
2297
+ :param _request_timeout: timeout setting for this request. If one
2298
+ number provided, it will be total request
2299
+ timeout. It can also be a pair (tuple) of
2300
+ (connection, read) timeouts.
2301
+ :type _request_timeout: int, tuple(int, int), optional
2302
+ :param _request_auth: set to override the auth_settings for an a single
2303
+ request; this effectively ignores the
2304
+ authentication in the spec for a single request.
2305
+ :type _request_auth: dict, optional
2306
+ :param _content_type: force content-type for the request.
2307
+ :type _content_type: str, Optional
2308
+ :param _headers: set to override the headers for a single
2309
+ request; this effectively ignores the headers
2310
+ in the spec for a single request.
2311
+ :type _headers: dict, optional
2312
+ :param _host_index: set to override the host_index for a single
2313
+ request; this effectively ignores the host_index
2314
+ in the spec for a single request.
2315
+ :type _host_index: int, optional
2316
+ :return: Returns the result object.
2317
+ """ # noqa: E501
2318
+
2319
+ _param = self._reset_invite_message_serialize(
2320
+ user_id=user_id,
2321
+ message_type=message_type,
2322
+ slot=slot,
2323
+ _request_auth=_request_auth,
2324
+ _content_type=_content_type,
2325
+ _headers=_headers,
2326
+ _host_index=_host_index
2327
+ )
2328
+
2329
+ _response_types_map: Dict[str, Optional[str]] = {
2330
+ '200': "List[InviteMessage]",
2331
+ '400': "Error",
2332
+ '401': "Error",
2333
+ '404': "Error",
2334
+ '429': "Error",
2335
+ }
2336
+ response_data = await self.api_client.call_api(
2337
+ *_param,
2338
+ _request_timeout=_request_timeout
2339
+ )
2340
+ return response_data.response
2341
+
2342
+
2343
+ def _reset_invite_message_serialize(
2344
+ self,
2345
+ user_id,
2346
+ message_type,
2347
+ slot,
2348
+ _request_auth,
2349
+ _content_type,
2350
+ _headers,
2351
+ _host_index,
2352
+ ) -> RequestSerialized:
2353
+
2354
+ _host = None
2355
+
2356
+ _collection_formats: Dict[str, str] = {
2357
+ }
2358
+
2359
+ _path_params: Dict[str, str] = {}
2360
+ _query_params: List[Tuple[str, str]] = []
2361
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2362
+ _form_params: List[Tuple[str, str]] = []
2363
+ _files: Dict[
2364
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2365
+ ] = {}
2366
+ _body_params: Optional[bytes] = None
2367
+
2368
+ # process the path parameters
2369
+ if user_id is not None:
2370
+ _path_params['userId'] = user_id
2371
+ if message_type is not None:
2372
+ _path_params['messageType'] = message_type.value
2373
+ if slot is not None:
2374
+ _path_params['slot'] = slot
2375
+ # process the query parameters
2376
+ # process the header parameters
2377
+ # process the form parameters
2378
+ # process the body parameter
2379
+
2380
+
2381
+ # set the HTTP header `Accept`
2382
+ if 'Accept' not in _header_params:
2383
+ _header_params['Accept'] = self.api_client.select_header_accept(
2384
+ [
2385
+ 'application/json'
2386
+ ]
2387
+ )
2388
+
2389
+
2390
+ # authentication setting
2391
+ _auth_settings: List[str] = [
2392
+ 'authCookie'
2393
+ ]
2394
+
2395
+ return self.api_client.param_serialize(
2396
+ method='DELETE',
2397
+ resource_path='/message/{userId}/{messageType}/{slot}',
2398
+ path_params=_path_params,
2399
+ query_params=_query_params,
2400
+ header_params=_header_params,
2401
+ body=_body_params,
2402
+ post_params=_form_params,
2403
+ files=_files,
2404
+ auth_settings=_auth_settings,
2405
+ collection_formats=_collection_formats,
2406
+ _host=_host,
2407
+ _request_auth=_request_auth
2408
+ )
2409
+
2410
+
2411
+
2412
+
2413
+ @validate_call
2414
+ async def respond_invite(
2415
+ self,
2416
+ notification_id: Annotated[StrictStr, Field(description="Must be a valid notification ID.")],
2417
+ invite_response: Annotated[InviteResponse, Field(description="Slot number of the Response Message to use when responding to a user.")],
2418
+ _request_timeout: Union[
2419
+ None,
2420
+ Annotated[StrictFloat, Field(gt=0)],
2421
+ Tuple[
2422
+ Annotated[StrictFloat, Field(gt=0)],
2423
+ Annotated[StrictFloat, Field(gt=0)]
2424
+ ]
2425
+ ] = None,
2426
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2427
+ _content_type: Optional[StrictStr] = None,
2428
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2429
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2430
+ ) -> Notification:
2431
+ """Respond Invite
2432
+
2433
+ Respond to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification. In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection. In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.
2434
+
2435
+ :param notification_id: Must be a valid notification ID. (required)
2436
+ :type notification_id: str
2437
+ :param invite_response: Slot number of the Response Message to use when responding to a user. (required)
2438
+ :type invite_response: InviteResponse
2439
+ :param _request_timeout: timeout setting for this request. If one
2440
+ number provided, it will be total request
2441
+ timeout. It can also be a pair (tuple) of
2442
+ (connection, read) timeouts.
2443
+ :type _request_timeout: int, tuple(int, int), optional
2444
+ :param _request_auth: set to override the auth_settings for an a single
2445
+ request; this effectively ignores the
2446
+ authentication in the spec for a single request.
2447
+ :type _request_auth: dict, optional
2448
+ :param _content_type: force content-type for the request.
2449
+ :type _content_type: str, Optional
2450
+ :param _headers: set to override the headers for a single
2451
+ request; this effectively ignores the headers
2452
+ in the spec for a single request.
2453
+ :type _headers: dict, optional
2454
+ :param _host_index: set to override the host_index for a single
2455
+ request; this effectively ignores the host_index
2456
+ in the spec for a single request.
2457
+ :type _host_index: int, optional
2458
+ :return: Returns the result object.
2459
+ """ # noqa: E501
2460
+
2461
+ _param = self._respond_invite_serialize(
2462
+ notification_id=notification_id,
2463
+ invite_response=invite_response,
2464
+ _request_auth=_request_auth,
2465
+ _content_type=_content_type,
2466
+ _headers=_headers,
2467
+ _host_index=_host_index
2468
+ )
2469
+
2470
+ _response_types_map: Dict[str, Optional[str]] = {
2471
+ '200': "Notification",
2472
+ '400': "Error",
2473
+ }
2474
+ response_data = await self.api_client.call_api(
2475
+ *_param,
2476
+ _request_timeout=_request_timeout
2477
+ )
2478
+ await response_data.read()
2479
+ return self.api_client.response_deserialize(
2480
+ response_data=response_data,
2481
+ response_types_map=_response_types_map,
2482
+ ).data
2483
+
2484
+
2485
+ @validate_call
2486
+ async def respond_invite_with_http_info(
2487
+ self,
2488
+ notification_id: Annotated[StrictStr, Field(description="Must be a valid notification ID.")],
2489
+ invite_response: Annotated[InviteResponse, Field(description="Slot number of the Response Message to use when responding to a user.")],
2490
+ _request_timeout: Union[
2491
+ None,
2492
+ Annotated[StrictFloat, Field(gt=0)],
2493
+ Tuple[
2494
+ Annotated[StrictFloat, Field(gt=0)],
2495
+ Annotated[StrictFloat, Field(gt=0)]
2496
+ ]
2497
+ ] = None,
2498
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2499
+ _content_type: Optional[StrictStr] = None,
2500
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2501
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2502
+ ) -> ApiResponse[Notification]:
2503
+ """Respond Invite
2504
+
2505
+ Respond to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification. In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection. In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.
2506
+
2507
+ :param notification_id: Must be a valid notification ID. (required)
2508
+ :type notification_id: str
2509
+ :param invite_response: Slot number of the Response Message to use when responding to a user. (required)
2510
+ :type invite_response: InviteResponse
2511
+ :param _request_timeout: timeout setting for this request. If one
2512
+ number provided, it will be total request
2513
+ timeout. It can also be a pair (tuple) of
2514
+ (connection, read) timeouts.
2515
+ :type _request_timeout: int, tuple(int, int), optional
2516
+ :param _request_auth: set to override the auth_settings for an a single
2517
+ request; this effectively ignores the
2518
+ authentication in the spec for a single request.
2519
+ :type _request_auth: dict, optional
2520
+ :param _content_type: force content-type for the request.
2521
+ :type _content_type: str, Optional
2522
+ :param _headers: set to override the headers for a single
2523
+ request; this effectively ignores the headers
2524
+ in the spec for a single request.
2525
+ :type _headers: dict, optional
2526
+ :param _host_index: set to override the host_index for a single
2527
+ request; this effectively ignores the host_index
2528
+ in the spec for a single request.
2529
+ :type _host_index: int, optional
2530
+ :return: Returns the result object.
2531
+ """ # noqa: E501
2532
+
2533
+ _param = self._respond_invite_serialize(
2534
+ notification_id=notification_id,
2535
+ invite_response=invite_response,
2536
+ _request_auth=_request_auth,
2537
+ _content_type=_content_type,
2538
+ _headers=_headers,
2539
+ _host_index=_host_index
2540
+ )
2541
+
2542
+ _response_types_map: Dict[str, Optional[str]] = {
2543
+ '200': "Notification",
2544
+ '400': "Error",
2545
+ }
2546
+ response_data = await self.api_client.call_api(
2547
+ *_param,
2548
+ _request_timeout=_request_timeout
2549
+ )
2550
+ await response_data.read()
2551
+ return self.api_client.response_deserialize(
2552
+ response_data=response_data,
2553
+ response_types_map=_response_types_map,
2554
+ )
2555
+
2556
+
2557
+ @validate_call
2558
+ async def respond_invite_without_preload_content(
2559
+ self,
2560
+ notification_id: Annotated[StrictStr, Field(description="Must be a valid notification ID.")],
2561
+ invite_response: Annotated[InviteResponse, Field(description="Slot number of the Response Message to use when responding to a user.")],
2562
+ _request_timeout: Union[
2563
+ None,
2564
+ Annotated[StrictFloat, Field(gt=0)],
2565
+ Tuple[
2566
+ Annotated[StrictFloat, Field(gt=0)],
2567
+ Annotated[StrictFloat, Field(gt=0)]
2568
+ ]
2569
+ ] = None,
2570
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2571
+ _content_type: Optional[StrictStr] = None,
2572
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2573
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2574
+ ) -> RESTResponseType:
2575
+ """Respond Invite
2576
+
2577
+ Respond to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification. In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection. In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.
2578
+
2579
+ :param notification_id: Must be a valid notification ID. (required)
2580
+ :type notification_id: str
2581
+ :param invite_response: Slot number of the Response Message to use when responding to a user. (required)
2582
+ :type invite_response: InviteResponse
2583
+ :param _request_timeout: timeout setting for this request. If one
2584
+ number provided, it will be total request
2585
+ timeout. It can also be a pair (tuple) of
2586
+ (connection, read) timeouts.
2587
+ :type _request_timeout: int, tuple(int, int), optional
2588
+ :param _request_auth: set to override the auth_settings for an a single
2589
+ request; this effectively ignores the
2590
+ authentication in the spec for a single request.
2591
+ :type _request_auth: dict, optional
2592
+ :param _content_type: force content-type for the request.
2593
+ :type _content_type: str, Optional
2594
+ :param _headers: set to override the headers for a single
2595
+ request; this effectively ignores the headers
2596
+ in the spec for a single request.
2597
+ :type _headers: dict, optional
2598
+ :param _host_index: set to override the host_index for a single
2599
+ request; this effectively ignores the host_index
2600
+ in the spec for a single request.
2601
+ :type _host_index: int, optional
2602
+ :return: Returns the result object.
2603
+ """ # noqa: E501
2604
+
2605
+ _param = self._respond_invite_serialize(
2606
+ notification_id=notification_id,
2607
+ invite_response=invite_response,
2608
+ _request_auth=_request_auth,
2609
+ _content_type=_content_type,
2610
+ _headers=_headers,
2611
+ _host_index=_host_index
2612
+ )
2613
+
2614
+ _response_types_map: Dict[str, Optional[str]] = {
2615
+ '200': "Notification",
2616
+ '400': "Error",
2617
+ }
2618
+ response_data = await self.api_client.call_api(
2619
+ *_param,
2620
+ _request_timeout=_request_timeout
2621
+ )
2622
+ return response_data.response
2623
+
2624
+
2625
+ def _respond_invite_serialize(
2626
+ self,
2627
+ notification_id,
2628
+ invite_response,
2629
+ _request_auth,
2630
+ _content_type,
2631
+ _headers,
2632
+ _host_index,
2633
+ ) -> RequestSerialized:
2634
+
2635
+ _host = None
2636
+
2637
+ _collection_formats: Dict[str, str] = {
2638
+ }
2639
+
2640
+ _path_params: Dict[str, str] = {}
2641
+ _query_params: List[Tuple[str, str]] = []
2642
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2643
+ _form_params: List[Tuple[str, str]] = []
2644
+ _files: Dict[
2645
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2646
+ ] = {}
2647
+ _body_params: Optional[bytes] = None
2648
+
2649
+ # process the path parameters
2650
+ if notification_id is not None:
2651
+ _path_params['notificationId'] = notification_id
2652
+ # process the query parameters
2653
+ # process the header parameters
2654
+ # process the form parameters
2655
+ # process the body parameter
2656
+ if invite_response is not None:
2657
+ _body_params = invite_response
2658
+
2659
+
2660
+ # set the HTTP header `Accept`
2661
+ if 'Accept' not in _header_params:
2662
+ _header_params['Accept'] = self.api_client.select_header_accept(
2663
+ [
2664
+ 'application/json'
2665
+ ]
2666
+ )
2667
+
2668
+ # set the HTTP header `Content-Type`
2669
+ if _content_type:
2670
+ _header_params['Content-Type'] = _content_type
2671
+ else:
2672
+ _default_content_type = (
2673
+ self.api_client.select_header_content_type(
2674
+ [
2675
+ 'application/json'
2676
+ ]
2677
+ )
2678
+ )
2679
+ if _default_content_type is not None:
2680
+ _header_params['Content-Type'] = _default_content_type
2681
+
2682
+ # authentication setting
2683
+ _auth_settings: List[str] = [
2684
+ 'authCookie'
2685
+ ]
2686
+
2687
+ return self.api_client.param_serialize(
2688
+ method='POST',
2689
+ resource_path='/invite/{notificationId}/response',
2690
+ path_params=_path_params,
2691
+ query_params=_query_params,
2692
+ header_params=_header_params,
2693
+ body=_body_params,
2694
+ post_params=_form_params,
2695
+ files=_files,
2696
+ auth_settings=_auth_settings,
2697
+ collection_formats=_collection_formats,
2698
+ _host=_host,
2699
+ _request_auth=_request_auth
2700
+ )
2701
+
2702
+
2703
+
2704
+
2705
+ @validate_call
2706
+ async def respond_invite_with_photo(
2707
+ self,
2708
+ notification_id: Annotated[StrictStr, Field(description="Must be a valid notification ID.")],
2709
+ data: InviteResponse,
2710
+ image: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="The binary blob of the png file.")],
2711
+ _request_timeout: Union[
2712
+ None,
2713
+ Annotated[StrictFloat, Field(gt=0)],
2714
+ Tuple[
2715
+ Annotated[StrictFloat, Field(gt=0)],
2716
+ Annotated[StrictFloat, Field(gt=0)]
2717
+ ]
2718
+ ] = None,
2719
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2720
+ _content_type: Optional[StrictStr] = None,
2721
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2722
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2723
+ ) -> Notification:
2724
+ """Respond Invite with photo
2725
+
2726
+ Respond with photo to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification. In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection. In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.'
2727
+
2728
+ :param notification_id: Must be a valid notification ID. (required)
2729
+ :type notification_id: str
2730
+ :param data: (required)
2731
+ :type data: InviteResponse
2732
+ :param image: The binary blob of the png file. (required)
2733
+ :type image: bytes
2734
+ :param _request_timeout: timeout setting for this request. If one
2735
+ number provided, it will be total request
2736
+ timeout. It can also be a pair (tuple) of
2737
+ (connection, read) timeouts.
2738
+ :type _request_timeout: int, tuple(int, int), optional
2739
+ :param _request_auth: set to override the auth_settings for an a single
2740
+ request; this effectively ignores the
2741
+ authentication in the spec for a single request.
2742
+ :type _request_auth: dict, optional
2743
+ :param _content_type: force content-type for the request.
2744
+ :type _content_type: str, Optional
2745
+ :param _headers: set to override the headers for a single
2746
+ request; this effectively ignores the headers
2747
+ in the spec for a single request.
2748
+ :type _headers: dict, optional
2749
+ :param _host_index: set to override the host_index for a single
2750
+ request; this effectively ignores the host_index
2751
+ in the spec for a single request.
2752
+ :type _host_index: int, optional
2753
+ :return: Returns the result object.
2754
+ """ # noqa: E501
2755
+
2756
+ _param = self._respond_invite_with_photo_serialize(
2757
+ notification_id=notification_id,
2758
+ data=data,
2759
+ image=image,
2760
+ _request_auth=_request_auth,
2761
+ _content_type=_content_type,
2762
+ _headers=_headers,
2763
+ _host_index=_host_index
2764
+ )
2765
+
2766
+ _response_types_map: Dict[str, Optional[str]] = {
2767
+ '200': "Notification",
2768
+ '400': "Error",
2769
+ }
2770
+ response_data = await self.api_client.call_api(
2771
+ *_param,
2772
+ _request_timeout=_request_timeout
2773
+ )
2774
+ await response_data.read()
2775
+ return self.api_client.response_deserialize(
2776
+ response_data=response_data,
2777
+ response_types_map=_response_types_map,
2778
+ ).data
2779
+
2780
+
2781
+ @validate_call
2782
+ async def respond_invite_with_photo_with_http_info(
2783
+ self,
2784
+ notification_id: Annotated[StrictStr, Field(description="Must be a valid notification ID.")],
2785
+ data: InviteResponse,
2786
+ image: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="The binary blob of the png file.")],
2787
+ _request_timeout: Union[
2788
+ None,
2789
+ Annotated[StrictFloat, Field(gt=0)],
2790
+ Tuple[
2791
+ Annotated[StrictFloat, Field(gt=0)],
2792
+ Annotated[StrictFloat, Field(gt=0)]
2793
+ ]
2794
+ ] = None,
2795
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2796
+ _content_type: Optional[StrictStr] = None,
2797
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2798
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2799
+ ) -> ApiResponse[Notification]:
2800
+ """Respond Invite with photo
2801
+
2802
+ Respond with photo to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification. In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection. In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.'
2803
+
2804
+ :param notification_id: Must be a valid notification ID. (required)
2805
+ :type notification_id: str
2806
+ :param data: (required)
2807
+ :type data: InviteResponse
2808
+ :param image: The binary blob of the png file. (required)
2809
+ :type image: bytes
2810
+ :param _request_timeout: timeout setting for this request. If one
2811
+ number provided, it will be total request
2812
+ timeout. It can also be a pair (tuple) of
2813
+ (connection, read) timeouts.
2814
+ :type _request_timeout: int, tuple(int, int), optional
2815
+ :param _request_auth: set to override the auth_settings for an a single
2816
+ request; this effectively ignores the
2817
+ authentication in the spec for a single request.
2818
+ :type _request_auth: dict, optional
2819
+ :param _content_type: force content-type for the request.
2820
+ :type _content_type: str, Optional
2821
+ :param _headers: set to override the headers for a single
2822
+ request; this effectively ignores the headers
2823
+ in the spec for a single request.
2824
+ :type _headers: dict, optional
2825
+ :param _host_index: set to override the host_index for a single
2826
+ request; this effectively ignores the host_index
2827
+ in the spec for a single request.
2828
+ :type _host_index: int, optional
2829
+ :return: Returns the result object.
2830
+ """ # noqa: E501
2831
+
2832
+ _param = self._respond_invite_with_photo_serialize(
2833
+ notification_id=notification_id,
2834
+ data=data,
2835
+ image=image,
2836
+ _request_auth=_request_auth,
2837
+ _content_type=_content_type,
2838
+ _headers=_headers,
2839
+ _host_index=_host_index
2840
+ )
2841
+
2842
+ _response_types_map: Dict[str, Optional[str]] = {
2843
+ '200': "Notification",
2844
+ '400': "Error",
2845
+ }
2846
+ response_data = await self.api_client.call_api(
2847
+ *_param,
2848
+ _request_timeout=_request_timeout
2849
+ )
2850
+ await response_data.read()
2851
+ return self.api_client.response_deserialize(
2852
+ response_data=response_data,
2853
+ response_types_map=_response_types_map,
2854
+ )
2855
+
2856
+
2857
+ @validate_call
2858
+ async def respond_invite_with_photo_without_preload_content(
2859
+ self,
2860
+ notification_id: Annotated[StrictStr, Field(description="Must be a valid notification ID.")],
2861
+ data: InviteResponse,
2862
+ image: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="The binary blob of the png file.")],
2863
+ _request_timeout: Union[
2864
+ None,
2865
+ Annotated[StrictFloat, Field(gt=0)],
2866
+ Tuple[
2867
+ Annotated[StrictFloat, Field(gt=0)],
2868
+ Annotated[StrictFloat, Field(gt=0)]
2869
+ ]
2870
+ ] = None,
2871
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2872
+ _content_type: Optional[StrictStr] = None,
2873
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2874
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2875
+ ) -> RESTResponseType:
2876
+ """Respond Invite with photo
2877
+
2878
+ Respond with photo to an invite or invite request without accepting it. `:notificationId` is the ID of the requesting notification. In case the notification being replied to is an invite, the `responseSlot` refers to a response message from the the `message` collection. In case the notification is an invite request, it will refer to one from the `requestResponse` collection instead.'
2879
+
2880
+ :param notification_id: Must be a valid notification ID. (required)
2881
+ :type notification_id: str
2882
+ :param data: (required)
2883
+ :type data: InviteResponse
2884
+ :param image: The binary blob of the png file. (required)
2885
+ :type image: bytes
2886
+ :param _request_timeout: timeout setting for this request. If one
2887
+ number provided, it will be total request
2888
+ timeout. It can also be a pair (tuple) of
2889
+ (connection, read) timeouts.
2890
+ :type _request_timeout: int, tuple(int, int), optional
2891
+ :param _request_auth: set to override the auth_settings for an a single
2892
+ request; this effectively ignores the
2893
+ authentication in the spec for a single request.
2894
+ :type _request_auth: dict, optional
2895
+ :param _content_type: force content-type for the request.
2896
+ :type _content_type: str, Optional
2897
+ :param _headers: set to override the headers for a single
2898
+ request; this effectively ignores the headers
2899
+ in the spec for a single request.
2900
+ :type _headers: dict, optional
2901
+ :param _host_index: set to override the host_index for a single
2902
+ request; this effectively ignores the host_index
2903
+ in the spec for a single request.
2904
+ :type _host_index: int, optional
2905
+ :return: Returns the result object.
2906
+ """ # noqa: E501
2907
+
2908
+ _param = self._respond_invite_with_photo_serialize(
2909
+ notification_id=notification_id,
2910
+ data=data,
2911
+ image=image,
2912
+ _request_auth=_request_auth,
2913
+ _content_type=_content_type,
2914
+ _headers=_headers,
2915
+ _host_index=_host_index
2916
+ )
2917
+
2918
+ _response_types_map: Dict[str, Optional[str]] = {
2919
+ '200': "Notification",
2920
+ '400': "Error",
2921
+ }
2922
+ response_data = await self.api_client.call_api(
2923
+ *_param,
2924
+ _request_timeout=_request_timeout
2925
+ )
2926
+ return response_data.response
2927
+
2928
+
2929
+ def _respond_invite_with_photo_serialize(
2930
+ self,
2931
+ notification_id,
2932
+ data,
2933
+ image,
2934
+ _request_auth,
2935
+ _content_type,
2936
+ _headers,
2937
+ _host_index,
2938
+ ) -> RequestSerialized:
2939
+
2940
+ _host = None
2941
+
2942
+ _collection_formats: Dict[str, str] = {
2943
+ }
2944
+
2945
+ _path_params: Dict[str, str] = {}
2946
+ _query_params: List[Tuple[str, str]] = []
2947
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2948
+ _form_params: List[Tuple[str, str]] = []
2949
+ _files: Dict[
2950
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
2951
+ ] = {}
2952
+ _body_params: Optional[bytes] = None
2953
+
2954
+ # process the path parameters
2955
+ if notification_id is not None:
2956
+ _path_params['notificationId'] = notification_id
2957
+ # process the query parameters
2958
+ # process the header parameters
2959
+ # process the form parameters
2960
+ if data is not None:
2961
+ _form_params.append(('data', data))
2962
+ if image is not None:
2963
+ _files['image'] = image
2964
+ # process the body parameter
2965
+
2966
+
2967
+ # set the HTTP header `Accept`
2968
+ if 'Accept' not in _header_params:
2969
+ _header_params['Accept'] = self.api_client.select_header_accept(
2970
+ [
2971
+ 'application/json'
2972
+ ]
2973
+ )
2974
+
2975
+ # set the HTTP header `Content-Type`
2976
+ if _content_type:
2977
+ _header_params['Content-Type'] = _content_type
2978
+ else:
2979
+ _default_content_type = (
2980
+ self.api_client.select_header_content_type(
2981
+ [
2982
+ 'multipart/form-data'
2983
+ ]
2984
+ )
2985
+ )
2986
+ if _default_content_type is not None:
2987
+ _header_params['Content-Type'] = _default_content_type
2988
+
2989
+ # authentication setting
2990
+ _auth_settings: List[str] = [
2991
+ 'authCookie'
2992
+ ]
2993
+
2994
+ return self.api_client.param_serialize(
2995
+ method='POST',
2996
+ resource_path='/invite/{notificationId}/response/photo',
2997
+ path_params=_path_params,
2998
+ query_params=_query_params,
2999
+ header_params=_header_params,
3000
+ body=_body_params,
3001
+ post_params=_form_params,
3002
+ files=_files,
3003
+ auth_settings=_auth_settings,
3004
+ collection_formats=_collection_formats,
3005
+ _host=_host,
3006
+ _request_auth=_request_auth
3007
+ )
3008
+
3009
+
3010
+
3011
+
3012
+ @validate_call
3013
+ async def update_invite_message(
3014
+ self,
3015
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
3016
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
3017
+ slot: Annotated[int, Field(le=11, strict=True, ge=0, description="The message slot to fetch of a given message type.")],
3018
+ update_invite_message_request: Annotated[Optional[UpdateInviteMessageRequest], Field(description="Message of what to set the invite message to.")] = None,
3019
+ _request_timeout: Union[
3020
+ None,
3021
+ Annotated[StrictFloat, Field(gt=0)],
3022
+ Tuple[
3023
+ Annotated[StrictFloat, Field(gt=0)],
3024
+ Annotated[StrictFloat, Field(gt=0)]
3025
+ ]
3026
+ ] = None,
3027
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3028
+ _content_type: Optional[StrictStr] = None,
3029
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3030
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3031
+ ) -> List[InviteMessage]:
3032
+ """Update Invite Message
3033
+
3034
+ Updates a single Invite Message and then returns a list of all of them. Admin Credentials are required to update messages of other users! Updating a message automatically sets the cooldown timer to 60 minutes. Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\". Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite
3035
+
3036
+ :param user_id: Must be a valid user ID. (required)
3037
+ :type user_id: str
3038
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
3039
+ :type message_type: InviteMessageType
3040
+ :param slot: The message slot to fetch of a given message type. (required)
3041
+ :type slot: int
3042
+ :param update_invite_message_request: Message of what to set the invite message to.
3043
+ :type update_invite_message_request: UpdateInviteMessageRequest
3044
+ :param _request_timeout: timeout setting for this request. If one
3045
+ number provided, it will be total request
3046
+ timeout. It can also be a pair (tuple) of
3047
+ (connection, read) timeouts.
3048
+ :type _request_timeout: int, tuple(int, int), optional
3049
+ :param _request_auth: set to override the auth_settings for an a single
3050
+ request; this effectively ignores the
3051
+ authentication in the spec for a single request.
3052
+ :type _request_auth: dict, optional
3053
+ :param _content_type: force content-type for the request.
3054
+ :type _content_type: str, Optional
3055
+ :param _headers: set to override the headers for a single
3056
+ request; this effectively ignores the headers
3057
+ in the spec for a single request.
3058
+ :type _headers: dict, optional
3059
+ :param _host_index: set to override the host_index for a single
3060
+ request; this effectively ignores the host_index
3061
+ in the spec for a single request.
3062
+ :type _host_index: int, optional
3063
+ :return: Returns the result object.
3064
+ """ # noqa: E501
3065
+
3066
+ _param = self._update_invite_message_serialize(
3067
+ user_id=user_id,
3068
+ message_type=message_type,
3069
+ slot=slot,
3070
+ update_invite_message_request=update_invite_message_request,
3071
+ _request_auth=_request_auth,
3072
+ _content_type=_content_type,
3073
+ _headers=_headers,
3074
+ _host_index=_host_index
3075
+ )
3076
+
3077
+ _response_types_map: Dict[str, Optional[str]] = {
3078
+ '200': "List[InviteMessage]",
3079
+ '400': "Error",
3080
+ '401': "Error",
3081
+ '429': "Error",
3082
+ }
3083
+ response_data = await self.api_client.call_api(
3084
+ *_param,
3085
+ _request_timeout=_request_timeout
3086
+ )
3087
+ await response_data.read()
3088
+ return self.api_client.response_deserialize(
3089
+ response_data=response_data,
3090
+ response_types_map=_response_types_map,
3091
+ ).data
3092
+
3093
+
3094
+ @validate_call
3095
+ async def update_invite_message_with_http_info(
3096
+ self,
3097
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
3098
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
3099
+ slot: Annotated[int, Field(le=11, strict=True, ge=0, description="The message slot to fetch of a given message type.")],
3100
+ update_invite_message_request: Annotated[Optional[UpdateInviteMessageRequest], Field(description="Message of what to set the invite message to.")] = None,
3101
+ _request_timeout: Union[
3102
+ None,
3103
+ Annotated[StrictFloat, Field(gt=0)],
3104
+ Tuple[
3105
+ Annotated[StrictFloat, Field(gt=0)],
3106
+ Annotated[StrictFloat, Field(gt=0)]
3107
+ ]
3108
+ ] = None,
3109
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3110
+ _content_type: Optional[StrictStr] = None,
3111
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3112
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3113
+ ) -> ApiResponse[List[InviteMessage]]:
3114
+ """Update Invite Message
3115
+
3116
+ Updates a single Invite Message and then returns a list of all of them. Admin Credentials are required to update messages of other users! Updating a message automatically sets the cooldown timer to 60 minutes. Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\". Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite
3117
+
3118
+ :param user_id: Must be a valid user ID. (required)
3119
+ :type user_id: str
3120
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
3121
+ :type message_type: InviteMessageType
3122
+ :param slot: The message slot to fetch of a given message type. (required)
3123
+ :type slot: int
3124
+ :param update_invite_message_request: Message of what to set the invite message to.
3125
+ :type update_invite_message_request: UpdateInviteMessageRequest
3126
+ :param _request_timeout: timeout setting for this request. If one
3127
+ number provided, it will be total request
3128
+ timeout. It can also be a pair (tuple) of
3129
+ (connection, read) timeouts.
3130
+ :type _request_timeout: int, tuple(int, int), optional
3131
+ :param _request_auth: set to override the auth_settings for an a single
3132
+ request; this effectively ignores the
3133
+ authentication in the spec for a single request.
3134
+ :type _request_auth: dict, optional
3135
+ :param _content_type: force content-type for the request.
3136
+ :type _content_type: str, Optional
3137
+ :param _headers: set to override the headers for a single
3138
+ request; this effectively ignores the headers
3139
+ in the spec for a single request.
3140
+ :type _headers: dict, optional
3141
+ :param _host_index: set to override the host_index for a single
3142
+ request; this effectively ignores the host_index
3143
+ in the spec for a single request.
3144
+ :type _host_index: int, optional
3145
+ :return: Returns the result object.
3146
+ """ # noqa: E501
3147
+
3148
+ _param = self._update_invite_message_serialize(
3149
+ user_id=user_id,
3150
+ message_type=message_type,
3151
+ slot=slot,
3152
+ update_invite_message_request=update_invite_message_request,
3153
+ _request_auth=_request_auth,
3154
+ _content_type=_content_type,
3155
+ _headers=_headers,
3156
+ _host_index=_host_index
3157
+ )
3158
+
3159
+ _response_types_map: Dict[str, Optional[str]] = {
3160
+ '200': "List[InviteMessage]",
3161
+ '400': "Error",
3162
+ '401': "Error",
3163
+ '429': "Error",
3164
+ }
3165
+ response_data = await self.api_client.call_api(
3166
+ *_param,
3167
+ _request_timeout=_request_timeout
3168
+ )
3169
+ await response_data.read()
3170
+ return self.api_client.response_deserialize(
3171
+ response_data=response_data,
3172
+ response_types_map=_response_types_map,
3173
+ )
3174
+
3175
+
3176
+ @validate_call
3177
+ async def update_invite_message_without_preload_content(
3178
+ self,
3179
+ user_id: Annotated[StrictStr, Field(description="Must be a valid user ID.")],
3180
+ message_type: Annotated[InviteMessageType, Field(description="The type of message to fetch, must be a valid InviteMessageType.")],
3181
+ slot: Annotated[int, Field(le=11, strict=True, ge=0, description="The message slot to fetch of a given message type.")],
3182
+ update_invite_message_request: Annotated[Optional[UpdateInviteMessageRequest], Field(description="Message of what to set the invite message to.")] = None,
3183
+ _request_timeout: Union[
3184
+ None,
3185
+ Annotated[StrictFloat, Field(gt=0)],
3186
+ Tuple[
3187
+ Annotated[StrictFloat, Field(gt=0)],
3188
+ Annotated[StrictFloat, Field(gt=0)]
3189
+ ]
3190
+ ] = None,
3191
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3192
+ _content_type: Optional[StrictStr] = None,
3193
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3194
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3195
+ ) -> RESTResponseType:
3196
+ """Update Invite Message
3197
+
3198
+ Updates a single Invite Message and then returns a list of all of them. Admin Credentials are required to update messages of other users! Updating a message automatically sets the cooldown timer to 60 minutes. Trying to edit a message before the cooldown timer expires results in a 429 \"Too Fast Error\". Message type refers to a different collection of messages, used during different types of responses. * `message` = Message during a normal invite * `response` = Message when replying to a message * `request` = Message when requesting an invite * `requestResponse` = Message when replying to a request for invite
3199
+
3200
+ :param user_id: Must be a valid user ID. (required)
3201
+ :type user_id: str
3202
+ :param message_type: The type of message to fetch, must be a valid InviteMessageType. (required)
3203
+ :type message_type: InviteMessageType
3204
+ :param slot: The message slot to fetch of a given message type. (required)
3205
+ :type slot: int
3206
+ :param update_invite_message_request: Message of what to set the invite message to.
3207
+ :type update_invite_message_request: UpdateInviteMessageRequest
3208
+ :param _request_timeout: timeout setting for this request. If one
3209
+ number provided, it will be total request
3210
+ timeout. It can also be a pair (tuple) of
3211
+ (connection, read) timeouts.
3212
+ :type _request_timeout: int, tuple(int, int), optional
3213
+ :param _request_auth: set to override the auth_settings for an a single
3214
+ request; this effectively ignores the
3215
+ authentication in the spec for a single request.
3216
+ :type _request_auth: dict, optional
3217
+ :param _content_type: force content-type for the request.
3218
+ :type _content_type: str, Optional
3219
+ :param _headers: set to override the headers for a single
3220
+ request; this effectively ignores the headers
3221
+ in the spec for a single request.
3222
+ :type _headers: dict, optional
3223
+ :param _host_index: set to override the host_index for a single
3224
+ request; this effectively ignores the host_index
3225
+ in the spec for a single request.
3226
+ :type _host_index: int, optional
3227
+ :return: Returns the result object.
3228
+ """ # noqa: E501
3229
+
3230
+ _param = self._update_invite_message_serialize(
3231
+ user_id=user_id,
3232
+ message_type=message_type,
3233
+ slot=slot,
3234
+ update_invite_message_request=update_invite_message_request,
3235
+ _request_auth=_request_auth,
3236
+ _content_type=_content_type,
3237
+ _headers=_headers,
3238
+ _host_index=_host_index
3239
+ )
3240
+
3241
+ _response_types_map: Dict[str, Optional[str]] = {
3242
+ '200': "List[InviteMessage]",
3243
+ '400': "Error",
3244
+ '401': "Error",
3245
+ '429': "Error",
3246
+ }
3247
+ response_data = await self.api_client.call_api(
3248
+ *_param,
3249
+ _request_timeout=_request_timeout
3250
+ )
3251
+ return response_data.response
3252
+
3253
+
3254
+ def _update_invite_message_serialize(
3255
+ self,
3256
+ user_id,
3257
+ message_type,
3258
+ slot,
3259
+ update_invite_message_request,
3260
+ _request_auth,
3261
+ _content_type,
3262
+ _headers,
3263
+ _host_index,
3264
+ ) -> RequestSerialized:
3265
+
3266
+ _host = None
3267
+
3268
+ _collection_formats: Dict[str, str] = {
3269
+ }
3270
+
3271
+ _path_params: Dict[str, str] = {}
3272
+ _query_params: List[Tuple[str, str]] = []
3273
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3274
+ _form_params: List[Tuple[str, str]] = []
3275
+ _files: Dict[
3276
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3277
+ ] = {}
3278
+ _body_params: Optional[bytes] = None
3279
+
3280
+ # process the path parameters
3281
+ if user_id is not None:
3282
+ _path_params['userId'] = user_id
3283
+ if message_type is not None:
3284
+ _path_params['messageType'] = message_type.value
3285
+ if slot is not None:
3286
+ _path_params['slot'] = slot
3287
+ # process the query parameters
3288
+ # process the header parameters
3289
+ # process the form parameters
3290
+ # process the body parameter
3291
+ if update_invite_message_request is not None:
3292
+ _body_params = update_invite_message_request
3293
+
3294
+
3295
+ # set the HTTP header `Accept`
3296
+ if 'Accept' not in _header_params:
3297
+ _header_params['Accept'] = self.api_client.select_header_accept(
3298
+ [
3299
+ 'application/json'
3300
+ ]
3301
+ )
3302
+
3303
+ # set the HTTP header `Content-Type`
3304
+ if _content_type:
3305
+ _header_params['Content-Type'] = _content_type
3306
+ else:
3307
+ _default_content_type = (
3308
+ self.api_client.select_header_content_type(
3309
+ [
3310
+ 'application/json'
3311
+ ]
3312
+ )
3313
+ )
3314
+ if _default_content_type is not None:
3315
+ _header_params['Content-Type'] = _default_content_type
3316
+
3317
+ # authentication setting
3318
+ _auth_settings: List[str] = [
3319
+ 'authCookie'
3320
+ ]
3321
+
3322
+ return self.api_client.param_serialize(
3323
+ method='PUT',
3324
+ resource_path='/message/{userId}/{messageType}/{slot}',
3325
+ path_params=_path_params,
3326
+ query_params=_query_params,
3327
+ header_params=_header_params,
3328
+ body=_body_params,
3329
+ post_params=_form_params,
3330
+ files=_files,
3331
+ auth_settings=_auth_settings,
3332
+ collection_formats=_collection_formats,
3333
+ _host=_host,
3334
+ _request_auth=_request_auth
3335
+ )
3336
+
3337
+