immich 1.2.1__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 (387) hide show
  1. immich/.openapi-generator/FILES +372 -0
  2. immich/.openapi-generator/VERSION +1 -0
  3. immich/.openapi-generator-ignore +48 -0
  4. immich/__init__.py +3 -0
  5. immich/client/__init__.py +1162 -0
  6. immich/client/api/__init__.py +39 -0
  7. immich/client/api/activities_api.py +1092 -0
  8. immich/client/api/albums_api.py +3228 -0
  9. immich/client/api/api_keys_api.py +1484 -0
  10. immich/client/api/assets_api.py +5834 -0
  11. immich/client/api/authentication_admin_api.py +254 -0
  12. immich/client/api/authentication_api.py +3881 -0
  13. immich/client/api/deprecated_api.py +2199 -0
  14. immich/client/api/download_api.py +603 -0
  15. immich/client/api/duplicates_api.py +743 -0
  16. immich/client/api/faces_api.py +1053 -0
  17. immich/client/api/jobs_api.py +783 -0
  18. immich/client/api/libraries_api.py +2004 -0
  19. immich/client/api/maintenance_admin_api.py +533 -0
  20. immich/client/api/map_api.py +640 -0
  21. immich/client/api/memories_api.py +2250 -0
  22. immich/client/api/notifications_admin_api.py +808 -0
  23. immich/client/api/notifications_api.py +1564 -0
  24. immich/client/api/partners_api.py +1278 -0
  25. immich/client/api/people_api.py +2905 -0
  26. immich/client/api/plugins_api.py +730 -0
  27. immich/client/api/queues_api.py +1292 -0
  28. immich/client/api/search_api.py +3198 -0
  29. immich/client/api/server_api.py +3466 -0
  30. immich/client/api/sessions_api.py +1472 -0
  31. immich/client/api/shared_links_api.py +2177 -0
  32. immich/client/api/stacks_api.py +1769 -0
  33. immich/client/api/sync_api.py +1512 -0
  34. immich/client/api/system_config_api.py +967 -0
  35. immich/client/api/system_metadata_api.py +964 -0
  36. immich/client/api/tags_api.py +2296 -0
  37. immich/client/api/timeline_api.py +1193 -0
  38. immich/client/api/trash_api.py +739 -0
  39. immich/client/api/users_admin_api.py +2607 -0
  40. immich/client/api/users_api.py +3577 -0
  41. immich/client/api/views_api.py +503 -0
  42. immich/client/api/workflows_api.py +1257 -0
  43. immich/client/api_client.py +756 -0
  44. immich/client/api_response.py +20 -0
  45. immich/client/configuration.py +638 -0
  46. immich/client/exceptions.py +222 -0
  47. immich/client/models/__init__.py +424 -0
  48. immich/client/models/activity_create_dto.py +94 -0
  49. immich/client/models/activity_response_dto.py +121 -0
  50. immich/client/models/activity_statistics_response_dto.py +85 -0
  51. immich/client/models/add_users_dto.py +101 -0
  52. immich/client/models/admin_onboarding_update_dto.py +82 -0
  53. immich/client/models/album_response_dto.py +199 -0
  54. immich/client/models/album_statistics_response_dto.py +90 -0
  55. immich/client/models/album_user_add_dto.py +87 -0
  56. immich/client/models/album_user_create_dto.py +87 -0
  57. immich/client/models/album_user_response_dto.py +95 -0
  58. immich/client/models/album_user_role.py +34 -0
  59. immich/client/models/albums_add_assets_dto.py +86 -0
  60. immich/client/models/albums_add_assets_response_dto.py +86 -0
  61. immich/client/models/albums_response.py +83 -0
  62. immich/client/models/albums_update.py +85 -0
  63. immich/client/models/api_key_create_dto.py +87 -0
  64. immich/client/models/api_key_create_response_dto.py +94 -0
  65. immich/client/models/api_key_response_dto.py +102 -0
  66. immich/client/models/api_key_update_dto.py +87 -0
  67. immich/client/models/asset_bulk_delete_dto.py +84 -0
  68. immich/client/models/asset_bulk_update_dto.py +143 -0
  69. immich/client/models/asset_bulk_upload_check_dto.py +98 -0
  70. immich/client/models/asset_bulk_upload_check_item.py +85 -0
  71. immich/client/models/asset_bulk_upload_check_response_dto.py +101 -0
  72. immich/client/models/asset_bulk_upload_check_result.py +126 -0
  73. immich/client/models/asset_copy_dto.py +113 -0
  74. immich/client/models/asset_delta_sync_dto.py +87 -0
  75. immich/client/models/asset_delta_sync_response_dto.py +102 -0
  76. immich/client/models/asset_face_create_dto.py +110 -0
  77. immich/client/models/asset_face_delete_dto.py +82 -0
  78. immich/client/models/asset_face_response_dto.py +125 -0
  79. immich/client/models/asset_face_update_dto.py +96 -0
  80. immich/client/models/asset_face_update_item.py +86 -0
  81. immich/client/models/asset_face_without_person_response_dto.py +111 -0
  82. immich/client/models/asset_full_sync_dto.py +95 -0
  83. immich/client/models/asset_ids_dto.py +83 -0
  84. immich/client/models/asset_ids_response_dto.py +109 -0
  85. immich/client/models/asset_job_name.py +36 -0
  86. immich/client/models/asset_jobs_dto.py +87 -0
  87. immich/client/models/asset_media_response_dto.py +84 -0
  88. immich/client/models/asset_media_size.py +35 -0
  89. immich/client/models/asset_media_status.py +35 -0
  90. immich/client/models/asset_metadata_key.py +33 -0
  91. immich/client/models/asset_metadata_response_dto.py +92 -0
  92. immich/client/models/asset_metadata_upsert_dto.py +101 -0
  93. immich/client/models/asset_metadata_upsert_item_dto.py +84 -0
  94. immich/client/models/asset_ocr_response_dto.py +145 -0
  95. immich/client/models/asset_order.py +34 -0
  96. immich/client/models/asset_response_dto.py +291 -0
  97. immich/client/models/asset_stack_response_dto.py +90 -0
  98. immich/client/models/asset_stats_response_dto.py +90 -0
  99. immich/client/models/asset_type_enum.py +36 -0
  100. immich/client/models/asset_visibility.py +36 -0
  101. immich/client/models/audio_codec.py +36 -0
  102. immich/client/models/auth_status_response_dto.py +100 -0
  103. immich/client/models/avatar_update.py +83 -0
  104. immich/client/models/bulk_id_error_reason.py +36 -0
  105. immich/client/models/bulk_id_response_dto.py +102 -0
  106. immich/client/models/bulk_ids_dto.py +83 -0
  107. immich/client/models/cast_response.py +88 -0
  108. immich/client/models/cast_update.py +82 -0
  109. immich/client/models/change_password_dto.py +101 -0
  110. immich/client/models/check_existing_assets_dto.py +91 -0
  111. immich/client/models/check_existing_assets_response_dto.py +82 -0
  112. immich/client/models/clip_config.py +85 -0
  113. immich/client/models/colorspace.py +34 -0
  114. immich/client/models/contributor_count_response_dto.py +85 -0
  115. immich/client/models/cq_mode.py +35 -0
  116. immich/client/models/create_album_dto.py +112 -0
  117. immich/client/models/create_library_dto.py +103 -0
  118. immich/client/models/create_profile_image_response_dto.py +95 -0
  119. immich/client/models/database_backup_config.py +94 -0
  120. immich/client/models/download_archive_info.py +85 -0
  121. immich/client/models/download_info_dto.py +96 -0
  122. immich/client/models/download_response.py +90 -0
  123. immich/client/models/download_response_dto.py +100 -0
  124. immich/client/models/download_update.py +93 -0
  125. immich/client/models/duplicate_detection_config.py +89 -0
  126. immich/client/models/duplicate_response_dto.py +98 -0
  127. immich/client/models/email_notifications_response.py +90 -0
  128. immich/client/models/email_notifications_update.py +90 -0
  129. immich/client/models/exif_response_dto.py +284 -0
  130. immich/client/models/face_dto.py +83 -0
  131. immich/client/models/facial_recognition_config.py +107 -0
  132. immich/client/models/folders_response.py +92 -0
  133. immich/client/models/folders_update.py +85 -0
  134. immich/client/models/image_format.py +34 -0
  135. immich/client/models/job_create_dto.py +83 -0
  136. immich/client/models/job_name.py +87 -0
  137. immich/client/models/job_settings_dto.py +83 -0
  138. immich/client/models/library_response_dto.py +118 -0
  139. immich/client/models/library_stats_response_dto.py +92 -0
  140. immich/client/models/license_key_dto.py +98 -0
  141. immich/client/models/license_response_dto.py +101 -0
  142. immich/client/models/log_level.py +38 -0
  143. immich/client/models/login_credential_dto.py +85 -0
  144. immich/client/models/login_response_dto.py +109 -0
  145. immich/client/models/logout_response_dto.py +85 -0
  146. immich/client/models/machine_learning_availability_checks_dto.py +90 -0
  147. immich/client/models/maintenance_action.py +34 -0
  148. immich/client/models/maintenance_auth_dto.py +82 -0
  149. immich/client/models/maintenance_login_dto.py +82 -0
  150. immich/client/models/manual_job_name.py +38 -0
  151. immich/client/models/map_marker_response_dto.py +111 -0
  152. immich/client/models/map_reverse_geocode_response_dto.py +105 -0
  153. immich/client/models/memories_response.py +92 -0
  154. immich/client/models/memories_update.py +86 -0
  155. immich/client/models/memory_create_dto.py +112 -0
  156. immich/client/models/memory_response_dto.py +142 -0
  157. immich/client/models/memory_search_order.py +35 -0
  158. immich/client/models/memory_statistics_response_dto.py +82 -0
  159. immich/client/models/memory_type.py +33 -0
  160. immich/client/models/memory_update_dto.py +91 -0
  161. immich/client/models/merge_person_dto.py +83 -0
  162. immich/client/models/metadata_search_dto.py +277 -0
  163. immich/client/models/notification_create_dto.py +120 -0
  164. immich/client/models/notification_delete_all_dto.py +83 -0
  165. immich/client/models/notification_dto.py +112 -0
  166. immich/client/models/notification_level.py +36 -0
  167. immich/client/models/notification_type.py +38 -0
  168. immich/client/models/notification_update_all_dto.py +90 -0
  169. immich/client/models/notification_update_dto.py +88 -0
  170. immich/client/models/o_auth_authorize_response_dto.py +82 -0
  171. immich/client/models/o_auth_callback_dto.py +90 -0
  172. immich/client/models/o_auth_config_dto.py +90 -0
  173. immich/client/models/o_auth_token_endpoint_auth_method.py +34 -0
  174. immich/client/models/ocr_config.py +109 -0
  175. immich/client/models/on_this_day_dto.py +86 -0
  176. immich/client/models/onboarding_dto.py +82 -0
  177. immich/client/models/onboarding_response_dto.py +82 -0
  178. immich/client/models/partner_create_dto.py +83 -0
  179. immich/client/models/partner_direction.py +34 -0
  180. immich/client/models/partner_response_dto.py +108 -0
  181. immich/client/models/partner_update_dto.py +82 -0
  182. immich/client/models/people_response.py +92 -0
  183. immich/client/models/people_response_dto.py +104 -0
  184. immich/client/models/people_update.py +85 -0
  185. immich/client/models/people_update_dto.py +96 -0
  186. immich/client/models/people_update_item.py +128 -0
  187. immich/client/models/permission.py +177 -0
  188. immich/client/models/person_create_dto.py +117 -0
  189. immich/client/models/person_response_dto.py +115 -0
  190. immich/client/models/person_statistics_response_dto.py +82 -0
  191. immich/client/models/person_update_dto.py +125 -0
  192. immich/client/models/person_with_faces_response_dto.py +133 -0
  193. immich/client/models/pin_code_change_dto.py +90 -0
  194. immich/client/models/pin_code_reset_dto.py +85 -0
  195. immich/client/models/pin_code_setup_dto.py +82 -0
  196. immich/client/models/places_response_dto.py +100 -0
  197. immich/client/models/plugin_action_response_dto.py +112 -0
  198. immich/client/models/plugin_context_type.py +35 -0
  199. immich/client/models/plugin_filter_response_dto.py +112 -0
  200. immich/client/models/plugin_response_dto.py +139 -0
  201. immich/client/models/plugin_trigger_response_dto.py +87 -0
  202. immich/client/models/plugin_trigger_type.py +34 -0
  203. immich/client/models/purchase_response.py +88 -0
  204. immich/client/models/purchase_update.py +92 -0
  205. immich/client/models/queue_command.py +37 -0
  206. immich/client/models/queue_command_dto.py +86 -0
  207. immich/client/models/queue_delete_dto.py +85 -0
  208. immich/client/models/queue_job_response_dto.py +93 -0
  209. immich/client/models/queue_job_status.py +38 -0
  210. immich/client/models/queue_name.py +49 -0
  211. immich/client/models/queue_response_dto.py +97 -0
  212. immich/client/models/queue_response_legacy_dto.py +100 -0
  213. immich/client/models/queue_statistics_dto.py +103 -0
  214. immich/client/models/queue_status_legacy_dto.py +85 -0
  215. immich/client/models/queue_update_dto.py +82 -0
  216. immich/client/models/queues_response_legacy_dto.py +242 -0
  217. immich/client/models/random_search_dto.py +234 -0
  218. immich/client/models/ratings_response.py +84 -0
  219. immich/client/models/ratings_update.py +82 -0
  220. immich/client/models/reaction_level.py +34 -0
  221. immich/client/models/reaction_type.py +34 -0
  222. immich/client/models/reverse_geocoding_state_response_dto.py +101 -0
  223. immich/client/models/search_album_response_dto.py +114 -0
  224. immich/client/models/search_asset_response_dto.py +127 -0
  225. immich/client/models/search_explore_item.py +94 -0
  226. immich/client/models/search_explore_response_dto.py +98 -0
  227. immich/client/models/search_facet_count_response_dto.py +85 -0
  228. immich/client/models/search_facet_response_dto.py +103 -0
  229. immich/client/models/search_response_dto.py +100 -0
  230. immich/client/models/search_statistics_response_dto.py +82 -0
  231. immich/client/models/search_suggestion_type.py +38 -0
  232. immich/client/models/server_about_response_dto.py +156 -0
  233. immich/client/models/server_apk_links_dto.py +97 -0
  234. immich/client/models/server_config_dto.py +118 -0
  235. immich/client/models/server_features_dto.py +130 -0
  236. immich/client/models/server_media_types_response_dto.py +90 -0
  237. immich/client/models/server_ping_response.py +87 -0
  238. immich/client/models/server_stats_response_dto.py +119 -0
  239. immich/client/models/server_storage_response_dto.py +108 -0
  240. immich/client/models/server_theme_dto.py +82 -0
  241. immich/client/models/server_version_history_response_dto.py +91 -0
  242. immich/client/models/server_version_response_dto.py +90 -0
  243. immich/client/models/session_create_dto.py +96 -0
  244. immich/client/models/session_create_response_dto.py +120 -0
  245. immich/client/models/session_response_dto.py +117 -0
  246. immich/client/models/session_unlock_dto.py +85 -0
  247. immich/client/models/session_update_dto.py +84 -0
  248. immich/client/models/set_maintenance_mode_dto.py +83 -0
  249. immich/client/models/shared_link_create_dto.py +142 -0
  250. immich/client/models/shared_link_edit_dto.py +134 -0
  251. immich/client/models/shared_link_response_dto.py +173 -0
  252. immich/client/models/shared_link_type.py +34 -0
  253. immich/client/models/shared_links_response.py +92 -0
  254. immich/client/models/shared_links_update.py +85 -0
  255. immich/client/models/sign_up_dto.py +90 -0
  256. immich/client/models/smart_search_dto.py +245 -0
  257. immich/client/models/source_type.py +35 -0
  258. immich/client/models/stack_create_dto.py +86 -0
  259. immich/client/models/stack_response_dto.py +100 -0
  260. immich/client/models/stack_update_dto.py +83 -0
  261. immich/client/models/statistics_search_dto.py +217 -0
  262. immich/client/models/sync_ack_delete_dto.py +83 -0
  263. immich/client/models/sync_ack_dto.py +84 -0
  264. immich/client/models/sync_ack_set_dto.py +83 -0
  265. immich/client/models/sync_album_delete_v1.py +82 -0
  266. immich/client/models/sync_album_to_asset_delete_v1.py +85 -0
  267. immich/client/models/sync_album_to_asset_v1.py +85 -0
  268. immich/client/models/sync_album_user_delete_v1.py +85 -0
  269. immich/client/models/sync_album_user_v1.py +91 -0
  270. immich/client/models/sync_album_v1.py +122 -0
  271. immich/client/models/sync_asset_delete_v1.py +82 -0
  272. immich/client/models/sync_asset_exif_v1.py +296 -0
  273. immich/client/models/sync_asset_face_delete_v1.py +82 -0
  274. immich/client/models/sync_asset_face_v1.py +120 -0
  275. immich/client/models/sync_asset_metadata_delete_v1.py +86 -0
  276. immich/client/models/sync_asset_metadata_v1.py +91 -0
  277. immich/client/models/sync_asset_v1.py +187 -0
  278. immich/client/models/sync_auth_user_v1.py +154 -0
  279. immich/client/models/sync_entity_type.py +79 -0
  280. immich/client/models/sync_memory_asset_delete_v1.py +85 -0
  281. immich/client/models/sync_memory_asset_v1.py +85 -0
  282. immich/client/models/sync_memory_delete_v1.py +82 -0
  283. immich/client/models/sync_memory_v1.py +143 -0
  284. immich/client/models/sync_partner_delete_v1.py +88 -0
  285. immich/client/models/sync_partner_v1.py +90 -0
  286. immich/client/models/sync_person_delete_v1.py +82 -0
  287. immich/client/models/sync_person_v1.py +131 -0
  288. immich/client/models/sync_request_type.py +52 -0
  289. immich/client/models/sync_stack_delete_v1.py +82 -0
  290. immich/client/models/sync_stack_v1.py +101 -0
  291. immich/client/models/sync_stream_dto.py +86 -0
  292. immich/client/models/sync_user_delete_v1.py +82 -0
  293. immich/client/models/sync_user_metadata_delete_v1.py +84 -0
  294. immich/client/models/sync_user_metadata_v1.py +91 -0
  295. immich/client/models/sync_user_v1.py +118 -0
  296. immich/client/models/system_config_backups_dto.py +92 -0
  297. immich/client/models/system_config_dto.py +302 -0
  298. immich/client/models/system_config_f_fmpeg_dto.py +156 -0
  299. immich/client/models/system_config_faces_dto.py +82 -0
  300. immich/client/models/system_config_generated_fullsize_image_dto.py +92 -0
  301. immich/client/models/system_config_generated_image_dto.py +92 -0
  302. immich/client/models/system_config_image_dto.py +124 -0
  303. immich/client/models/system_config_job_dto.py +194 -0
  304. immich/client/models/system_config_library_dto.py +104 -0
  305. immich/client/models/system_config_library_scan_dto.py +85 -0
  306. immich/client/models/system_config_library_watch_dto.py +82 -0
  307. immich/client/models/system_config_logging_dto.py +86 -0
  308. immich/client/models/system_config_machine_learning_dto.py +147 -0
  309. immich/client/models/system_config_map_dto.py +90 -0
  310. immich/client/models/system_config_metadata_dto.py +92 -0
  311. immich/client/models/system_config_new_version_check_dto.py +82 -0
  312. immich/client/models/system_config_nightly_tasks_dto.py +103 -0
  313. immich/client/models/system_config_notifications_dto.py +92 -0
  314. immich/client/models/system_config_o_auth_dto.py +155 -0
  315. immich/client/models/system_config_password_login_dto.py +82 -0
  316. immich/client/models/system_config_reverse_geocoding_dto.py +82 -0
  317. immich/client/models/system_config_server_dto.py +94 -0
  318. immich/client/models/system_config_smtp_dto.py +100 -0
  319. immich/client/models/system_config_smtp_transport_dto.py +107 -0
  320. immich/client/models/system_config_storage_template_dto.py +94 -0
  321. immich/client/models/system_config_template_emails_dto.py +94 -0
  322. immich/client/models/system_config_template_storage_option_dto.py +109 -0
  323. immich/client/models/system_config_templates_dto.py +94 -0
  324. immich/client/models/system_config_theme_dto.py +82 -0
  325. immich/client/models/system_config_trash_dto.py +86 -0
  326. immich/client/models/system_config_user_dto.py +83 -0
  327. immich/client/models/tag_bulk_assets_dto.py +86 -0
  328. immich/client/models/tag_bulk_assets_response_dto.py +82 -0
  329. immich/client/models/tag_create_dto.py +111 -0
  330. immich/client/models/tag_response_dto.py +107 -0
  331. immich/client/models/tag_update_dto.py +87 -0
  332. immich/client/models/tag_upsert_dto.py +82 -0
  333. immich/client/models/tags_response.py +92 -0
  334. immich/client/models/tags_update.py +85 -0
  335. immich/client/models/template_dto.py +82 -0
  336. immich/client/models/template_response_dto.py +83 -0
  337. immich/client/models/test_email_response_dto.py +82 -0
  338. immich/client/models/time_bucket_asset_response_dto.py +195 -0
  339. immich/client/models/time_buckets_response_dto.py +88 -0
  340. immich/client/models/tone_mapping.py +36 -0
  341. immich/client/models/transcode_hw_accel.py +37 -0
  342. immich/client/models/transcode_policy.py +37 -0
  343. immich/client/models/trash_response_dto.py +82 -0
  344. immich/client/models/update_album_dto.py +106 -0
  345. immich/client/models/update_album_user_dto.py +83 -0
  346. immich/client/models/update_asset_dto.py +135 -0
  347. immich/client/models/update_library_dto.py +95 -0
  348. immich/client/models/usage_by_user_dto.py +117 -0
  349. immich/client/models/user_admin_create_dto.py +136 -0
  350. immich/client/models/user_admin_delete_dto.py +82 -0
  351. immich/client/models/user_admin_response_dto.py +176 -0
  352. immich/client/models/user_admin_update_dto.py +141 -0
  353. immich/client/models/user_avatar_color.py +42 -0
  354. immich/client/models/user_license.py +91 -0
  355. immich/client/models/user_metadata_key.py +35 -0
  356. immich/client/models/user_preferences_response_dto.py +186 -0
  357. immich/client/models/user_preferences_update_dto.py +197 -0
  358. immich/client/models/user_response_dto.py +105 -0
  359. immich/client/models/user_status.py +35 -0
  360. immich/client/models/user_update_me_dto.py +98 -0
  361. immich/client/models/validate_access_token_response_dto.py +82 -0
  362. immich/client/models/validate_library_dto.py +93 -0
  363. immich/client/models/validate_library_import_path_response_dto.py +92 -0
  364. immich/client/models/validate_library_response_dto.py +103 -0
  365. immich/client/models/version_check_state_response_dto.py +98 -0
  366. immich/client/models/video_codec.py +36 -0
  367. immich/client/models/video_container.py +36 -0
  368. immich/client/models/workflow_action_item_dto.py +89 -0
  369. immich/client/models/workflow_action_response_dto.py +105 -0
  370. immich/client/models/workflow_create_dto.py +128 -0
  371. immich/client/models/workflow_filter_item_dto.py +89 -0
  372. immich/client/models/workflow_filter_response_dto.py +105 -0
  373. immich/client/models/workflow_response_dto.py +144 -0
  374. immich/client/models/workflow_update_dto.py +128 -0
  375. immich/client/py.typed +0 -0
  376. immich/client/rest.py +199 -0
  377. immich/client_wrapper/__init__.py +15 -0
  378. immich/client_wrapper/assets_api_wrapped.py +87 -0
  379. immich/client_wrapper/download_api_wrapped.py +111 -0
  380. immich/client_wrapper/users_api_wrapped.py +41 -0
  381. immich/py.typed +0 -0
  382. immich/sdk.py +365 -0
  383. immich/utils.py +100 -0
  384. immich-1.2.1.dist-info/METADATA +166 -0
  385. immich-1.2.1.dist-info/RECORD +387 -0
  386. immich-1.2.1.dist-info/WHEEL +4 -0
  387. immich-1.2.1.dist-info/licenses/LICENSE +9 -0
@@ -0,0 +1,1472 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.4.1
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
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 uuid import UUID
19
+ from immich.client.models.session_create_dto import SessionCreateDto
20
+ from immich.client.models.session_create_response_dto import SessionCreateResponseDto
21
+ from immich.client.models.session_response_dto import SessionResponseDto
22
+ from immich.client.models.session_update_dto import SessionUpdateDto
23
+
24
+ from immich.client.api_client import ApiClient, RequestSerialized
25
+ from immich.client.api_response import ApiResponse
26
+ from immich.client.rest import RESTResponseType
27
+
28
+
29
+ class SessionsApi:
30
+ """NOTE: This class is auto generated by OpenAPI Generator
31
+ Ref: https://openapi-generator.tech
32
+
33
+ Do not edit the class manually.
34
+ """
35
+
36
+ def __init__(self, api_client=None) -> None:
37
+ if api_client is None:
38
+ api_client = ApiClient.get_default()
39
+ self.api_client = api_client
40
+
41
+ @validate_call
42
+ async def create_session(
43
+ self,
44
+ session_create_dto: SessionCreateDto,
45
+ _request_timeout: Union[
46
+ None,
47
+ Annotated[StrictFloat, Field(gt=0)],
48
+ Tuple[
49
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
50
+ ],
51
+ ] = None,
52
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
53
+ _content_type: Optional[StrictStr] = None,
54
+ _headers: Optional[Dict[StrictStr, Any]] = None,
55
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
56
+ ) -> SessionCreateResponseDto:
57
+ """Create a session
58
+
59
+ Create a session as a child to the current session. This endpoint is used for casting.
60
+
61
+ :param session_create_dto: (required)
62
+ :type session_create_dto: SessionCreateDto
63
+ :param _request_timeout: timeout setting for this request. If one
64
+ number provided, it will be total request
65
+ timeout. It can also be a pair (tuple) of
66
+ (connection, read) timeouts.
67
+ :type _request_timeout: int, tuple(int, int), optional
68
+ :param _request_auth: set to override the auth_settings for an a single
69
+ request; this effectively ignores the
70
+ authentication in the spec for a single request.
71
+ :type _request_auth: dict, optional
72
+ :param _content_type: force content-type for the request.
73
+ :type _content_type: str, Optional
74
+ :param _headers: set to override the headers for a single
75
+ request; this effectively ignores the headers
76
+ in the spec for a single request.
77
+ :type _headers: dict, optional
78
+ :param _host_index: set to override the host_index for a single
79
+ request; this effectively ignores the host_index
80
+ in the spec for a single request.
81
+ :type _host_index: int, optional
82
+ :return: Returns the result object.
83
+ """ # noqa: E501
84
+
85
+ _param = self._create_session_serialize(
86
+ session_create_dto=session_create_dto,
87
+ _request_auth=_request_auth,
88
+ _content_type=_content_type,
89
+ _headers=_headers,
90
+ _host_index=_host_index,
91
+ )
92
+
93
+ _response_types_map: Dict[str, Optional[str]] = {
94
+ "201": "SessionCreateResponseDto",
95
+ }
96
+ response_data = await self.api_client.call_api(
97
+ *_param, _request_timeout=_request_timeout
98
+ )
99
+ await response_data.read()
100
+ return self.api_client.response_deserialize(
101
+ response_data=response_data,
102
+ response_types_map=_response_types_map,
103
+ ).data
104
+
105
+ @validate_call
106
+ async def create_session_with_http_info(
107
+ self,
108
+ session_create_dto: SessionCreateDto,
109
+ _request_timeout: Union[
110
+ None,
111
+ Annotated[StrictFloat, Field(gt=0)],
112
+ Tuple[
113
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
114
+ ],
115
+ ] = None,
116
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
117
+ _content_type: Optional[StrictStr] = None,
118
+ _headers: Optional[Dict[StrictStr, Any]] = None,
119
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
120
+ ) -> ApiResponse[SessionCreateResponseDto]:
121
+ """Create a session
122
+
123
+ Create a session as a child to the current session. This endpoint is used for casting.
124
+
125
+ :param session_create_dto: (required)
126
+ :type session_create_dto: SessionCreateDto
127
+ :param _request_timeout: timeout setting for this request. If one
128
+ number provided, it will be total request
129
+ timeout. It can also be a pair (tuple) of
130
+ (connection, read) timeouts.
131
+ :type _request_timeout: int, tuple(int, int), optional
132
+ :param _request_auth: set to override the auth_settings for an a single
133
+ request; this effectively ignores the
134
+ authentication in the spec for a single request.
135
+ :type _request_auth: dict, optional
136
+ :param _content_type: force content-type for the request.
137
+ :type _content_type: str, Optional
138
+ :param _headers: set to override the headers for a single
139
+ request; this effectively ignores the headers
140
+ in the spec for a single request.
141
+ :type _headers: dict, optional
142
+ :param _host_index: set to override the host_index for a single
143
+ request; this effectively ignores the host_index
144
+ in the spec for a single request.
145
+ :type _host_index: int, optional
146
+ :return: Returns the result object.
147
+ """ # noqa: E501
148
+
149
+ _param = self._create_session_serialize(
150
+ session_create_dto=session_create_dto,
151
+ _request_auth=_request_auth,
152
+ _content_type=_content_type,
153
+ _headers=_headers,
154
+ _host_index=_host_index,
155
+ )
156
+
157
+ _response_types_map: Dict[str, Optional[str]] = {
158
+ "201": "SessionCreateResponseDto",
159
+ }
160
+ response_data = await self.api_client.call_api(
161
+ *_param, _request_timeout=_request_timeout
162
+ )
163
+ await response_data.read()
164
+ return self.api_client.response_deserialize(
165
+ response_data=response_data,
166
+ response_types_map=_response_types_map,
167
+ )
168
+
169
+ @validate_call
170
+ async def create_session_without_preload_content(
171
+ self,
172
+ session_create_dto: SessionCreateDto,
173
+ _request_timeout: Union[
174
+ None,
175
+ Annotated[StrictFloat, Field(gt=0)],
176
+ Tuple[
177
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
178
+ ],
179
+ ] = None,
180
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
181
+ _content_type: Optional[StrictStr] = None,
182
+ _headers: Optional[Dict[StrictStr, Any]] = None,
183
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
184
+ ) -> RESTResponseType:
185
+ """Create a session
186
+
187
+ Create a session as a child to the current session. This endpoint is used for casting.
188
+
189
+ :param session_create_dto: (required)
190
+ :type session_create_dto: SessionCreateDto
191
+ :param _request_timeout: timeout setting for this request. If one
192
+ number provided, it will be total request
193
+ timeout. It can also be a pair (tuple) of
194
+ (connection, read) timeouts.
195
+ :type _request_timeout: int, tuple(int, int), optional
196
+ :param _request_auth: set to override the auth_settings for an a single
197
+ request; this effectively ignores the
198
+ authentication in the spec for a single request.
199
+ :type _request_auth: dict, optional
200
+ :param _content_type: force content-type for the request.
201
+ :type _content_type: str, Optional
202
+ :param _headers: set to override the headers for a single
203
+ request; this effectively ignores the headers
204
+ in the spec for a single request.
205
+ :type _headers: dict, optional
206
+ :param _host_index: set to override the host_index for a single
207
+ request; this effectively ignores the host_index
208
+ in the spec for a single request.
209
+ :type _host_index: int, optional
210
+ :return: Returns the result object.
211
+ """ # noqa: E501
212
+
213
+ _param = self._create_session_serialize(
214
+ session_create_dto=session_create_dto,
215
+ _request_auth=_request_auth,
216
+ _content_type=_content_type,
217
+ _headers=_headers,
218
+ _host_index=_host_index,
219
+ )
220
+
221
+ _response_types_map: Dict[str, Optional[str]] = {
222
+ "201": "SessionCreateResponseDto",
223
+ }
224
+ response_data = await self.api_client.call_api(
225
+ *_param, _request_timeout=_request_timeout
226
+ )
227
+ return response_data.response
228
+
229
+ def _create_session_serialize(
230
+ self,
231
+ session_create_dto,
232
+ _request_auth,
233
+ _content_type,
234
+ _headers,
235
+ _host_index,
236
+ ) -> RequestSerialized:
237
+ _host = None
238
+
239
+ _collection_formats: Dict[str, str] = {}
240
+
241
+ _path_params: Dict[str, str] = {}
242
+ _query_params: List[Tuple[str, str]] = []
243
+ _header_params: Dict[str, Optional[str]] = _headers or {}
244
+ _form_params: List[Tuple[str, str]] = []
245
+ _files: Dict[
246
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
247
+ ] = {}
248
+ _body_params: Optional[bytes] = None
249
+
250
+ # process the path parameters
251
+ # process the query parameters
252
+ # process the header parameters
253
+ # process the form parameters
254
+ # process the body parameter
255
+ if session_create_dto is not None:
256
+ _body_params = session_create_dto
257
+
258
+ # set the HTTP header `Accept`
259
+ if "Accept" not in _header_params:
260
+ _header_params["Accept"] = self.api_client.select_header_accept(
261
+ ["application/json"]
262
+ )
263
+
264
+ # set the HTTP header `Content-Type`
265
+ if _content_type:
266
+ _header_params["Content-Type"] = _content_type
267
+ else:
268
+ _default_content_type = self.api_client.select_header_content_type(
269
+ ["application/json"]
270
+ )
271
+ if _default_content_type is not None:
272
+ _header_params["Content-Type"] = _default_content_type
273
+
274
+ # authentication setting
275
+ _auth_settings: List[str] = ["cookie", "api_key", "bearer"]
276
+
277
+ return self.api_client.param_serialize(
278
+ method="POST",
279
+ resource_path="/sessions",
280
+ path_params=_path_params,
281
+ query_params=_query_params,
282
+ header_params=_header_params,
283
+ body=_body_params,
284
+ post_params=_form_params,
285
+ files=_files,
286
+ auth_settings=_auth_settings,
287
+ collection_formats=_collection_formats,
288
+ _host=_host,
289
+ _request_auth=_request_auth,
290
+ )
291
+
292
+ @validate_call
293
+ async def delete_all_sessions(
294
+ self,
295
+ _request_timeout: Union[
296
+ None,
297
+ Annotated[StrictFloat, Field(gt=0)],
298
+ Tuple[
299
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
300
+ ],
301
+ ] = None,
302
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
303
+ _content_type: Optional[StrictStr] = None,
304
+ _headers: Optional[Dict[StrictStr, Any]] = None,
305
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
306
+ ) -> None:
307
+ """Delete all sessions
308
+
309
+ Delete all sessions for the user. This will not delete the current session.
310
+
311
+ :param _request_timeout: timeout setting for this request. If one
312
+ number provided, it will be total request
313
+ timeout. It can also be a pair (tuple) of
314
+ (connection, read) timeouts.
315
+ :type _request_timeout: int, tuple(int, int), optional
316
+ :param _request_auth: set to override the auth_settings for an a single
317
+ request; this effectively ignores the
318
+ authentication in the spec for a single request.
319
+ :type _request_auth: dict, optional
320
+ :param _content_type: force content-type for the request.
321
+ :type _content_type: str, Optional
322
+ :param _headers: set to override the headers for a single
323
+ request; this effectively ignores the headers
324
+ in the spec for a single request.
325
+ :type _headers: dict, optional
326
+ :param _host_index: set to override the host_index for a single
327
+ request; this effectively ignores the host_index
328
+ in the spec for a single request.
329
+ :type _host_index: int, optional
330
+ :return: Returns the result object.
331
+ """ # noqa: E501
332
+
333
+ _param = self._delete_all_sessions_serialize(
334
+ _request_auth=_request_auth,
335
+ _content_type=_content_type,
336
+ _headers=_headers,
337
+ _host_index=_host_index,
338
+ )
339
+
340
+ _response_types_map: Dict[str, Optional[str]] = {
341
+ "204": None,
342
+ }
343
+ response_data = await self.api_client.call_api(
344
+ *_param, _request_timeout=_request_timeout
345
+ )
346
+ await response_data.read()
347
+ return self.api_client.response_deserialize(
348
+ response_data=response_data,
349
+ response_types_map=_response_types_map,
350
+ ).data
351
+
352
+ @validate_call
353
+ async def delete_all_sessions_with_http_info(
354
+ self,
355
+ _request_timeout: Union[
356
+ None,
357
+ Annotated[StrictFloat, Field(gt=0)],
358
+ Tuple[
359
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
360
+ ],
361
+ ] = None,
362
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
363
+ _content_type: Optional[StrictStr] = None,
364
+ _headers: Optional[Dict[StrictStr, Any]] = None,
365
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
366
+ ) -> ApiResponse[None]:
367
+ """Delete all sessions
368
+
369
+ Delete all sessions for the user. This will not delete the current session.
370
+
371
+ :param _request_timeout: timeout setting for this request. If one
372
+ number provided, it will be total request
373
+ timeout. It can also be a pair (tuple) of
374
+ (connection, read) timeouts.
375
+ :type _request_timeout: int, tuple(int, int), optional
376
+ :param _request_auth: set to override the auth_settings for an a single
377
+ request; this effectively ignores the
378
+ authentication in the spec for a single request.
379
+ :type _request_auth: dict, optional
380
+ :param _content_type: force content-type for the request.
381
+ :type _content_type: str, Optional
382
+ :param _headers: set to override the headers for a single
383
+ request; this effectively ignores the headers
384
+ in the spec for a single request.
385
+ :type _headers: dict, optional
386
+ :param _host_index: set to override the host_index for a single
387
+ request; this effectively ignores the host_index
388
+ in the spec for a single request.
389
+ :type _host_index: int, optional
390
+ :return: Returns the result object.
391
+ """ # noqa: E501
392
+
393
+ _param = self._delete_all_sessions_serialize(
394
+ _request_auth=_request_auth,
395
+ _content_type=_content_type,
396
+ _headers=_headers,
397
+ _host_index=_host_index,
398
+ )
399
+
400
+ _response_types_map: Dict[str, Optional[str]] = {
401
+ "204": None,
402
+ }
403
+ response_data = await self.api_client.call_api(
404
+ *_param, _request_timeout=_request_timeout
405
+ )
406
+ await response_data.read()
407
+ return self.api_client.response_deserialize(
408
+ response_data=response_data,
409
+ response_types_map=_response_types_map,
410
+ )
411
+
412
+ @validate_call
413
+ async def delete_all_sessions_without_preload_content(
414
+ self,
415
+ _request_timeout: Union[
416
+ None,
417
+ Annotated[StrictFloat, Field(gt=0)],
418
+ Tuple[
419
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
420
+ ],
421
+ ] = None,
422
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
423
+ _content_type: Optional[StrictStr] = None,
424
+ _headers: Optional[Dict[StrictStr, Any]] = None,
425
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
426
+ ) -> RESTResponseType:
427
+ """Delete all sessions
428
+
429
+ Delete all sessions for the user. This will not delete the current session.
430
+
431
+ :param _request_timeout: timeout setting for this request. If one
432
+ number provided, it will be total request
433
+ timeout. It can also be a pair (tuple) of
434
+ (connection, read) timeouts.
435
+ :type _request_timeout: int, tuple(int, int), optional
436
+ :param _request_auth: set to override the auth_settings for an a single
437
+ request; this effectively ignores the
438
+ authentication in the spec for a single request.
439
+ :type _request_auth: dict, optional
440
+ :param _content_type: force content-type for the request.
441
+ :type _content_type: str, Optional
442
+ :param _headers: set to override the headers for a single
443
+ request; this effectively ignores the headers
444
+ in the spec for a single request.
445
+ :type _headers: dict, optional
446
+ :param _host_index: set to override the host_index for a single
447
+ request; this effectively ignores the host_index
448
+ in the spec for a single request.
449
+ :type _host_index: int, optional
450
+ :return: Returns the result object.
451
+ """ # noqa: E501
452
+
453
+ _param = self._delete_all_sessions_serialize(
454
+ _request_auth=_request_auth,
455
+ _content_type=_content_type,
456
+ _headers=_headers,
457
+ _host_index=_host_index,
458
+ )
459
+
460
+ _response_types_map: Dict[str, Optional[str]] = {
461
+ "204": None,
462
+ }
463
+ response_data = await self.api_client.call_api(
464
+ *_param, _request_timeout=_request_timeout
465
+ )
466
+ return response_data.response
467
+
468
+ def _delete_all_sessions_serialize(
469
+ self,
470
+ _request_auth,
471
+ _content_type,
472
+ _headers,
473
+ _host_index,
474
+ ) -> RequestSerialized:
475
+ _host = None
476
+
477
+ _collection_formats: Dict[str, str] = {}
478
+
479
+ _path_params: Dict[str, str] = {}
480
+ _query_params: List[Tuple[str, str]] = []
481
+ _header_params: Dict[str, Optional[str]] = _headers or {}
482
+ _form_params: List[Tuple[str, str]] = []
483
+ _files: Dict[
484
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
485
+ ] = {}
486
+ _body_params: Optional[bytes] = None
487
+
488
+ # process the path parameters
489
+ # process the query parameters
490
+ # process the header parameters
491
+ # process the form parameters
492
+ # process the body parameter
493
+
494
+ # authentication setting
495
+ _auth_settings: List[str] = ["cookie", "api_key", "bearer"]
496
+
497
+ return self.api_client.param_serialize(
498
+ method="DELETE",
499
+ resource_path="/sessions",
500
+ path_params=_path_params,
501
+ query_params=_query_params,
502
+ header_params=_header_params,
503
+ body=_body_params,
504
+ post_params=_form_params,
505
+ files=_files,
506
+ auth_settings=_auth_settings,
507
+ collection_formats=_collection_formats,
508
+ _host=_host,
509
+ _request_auth=_request_auth,
510
+ )
511
+
512
+ @validate_call
513
+ async def delete_session(
514
+ self,
515
+ id: UUID,
516
+ _request_timeout: Union[
517
+ None,
518
+ Annotated[StrictFloat, Field(gt=0)],
519
+ Tuple[
520
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
521
+ ],
522
+ ] = None,
523
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
524
+ _content_type: Optional[StrictStr] = None,
525
+ _headers: Optional[Dict[StrictStr, Any]] = None,
526
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
527
+ ) -> None:
528
+ """Delete a session
529
+
530
+ Delete a specific session by id.
531
+
532
+ :param id: (required)
533
+ :type id: UUID
534
+ :param _request_timeout: timeout setting for this request. If one
535
+ number provided, it will be total request
536
+ timeout. It can also be a pair (tuple) of
537
+ (connection, read) timeouts.
538
+ :type _request_timeout: int, tuple(int, int), optional
539
+ :param _request_auth: set to override the auth_settings for an a single
540
+ request; this effectively ignores the
541
+ authentication in the spec for a single request.
542
+ :type _request_auth: dict, optional
543
+ :param _content_type: force content-type for the request.
544
+ :type _content_type: str, Optional
545
+ :param _headers: set to override the headers for a single
546
+ request; this effectively ignores the headers
547
+ in the spec for a single request.
548
+ :type _headers: dict, optional
549
+ :param _host_index: set to override the host_index for a single
550
+ request; this effectively ignores the host_index
551
+ in the spec for a single request.
552
+ :type _host_index: int, optional
553
+ :return: Returns the result object.
554
+ """ # noqa: E501
555
+
556
+ _param = self._delete_session_serialize(
557
+ id=id,
558
+ _request_auth=_request_auth,
559
+ _content_type=_content_type,
560
+ _headers=_headers,
561
+ _host_index=_host_index,
562
+ )
563
+
564
+ _response_types_map: Dict[str, Optional[str]] = {
565
+ "204": None,
566
+ }
567
+ response_data = await self.api_client.call_api(
568
+ *_param, _request_timeout=_request_timeout
569
+ )
570
+ await response_data.read()
571
+ return self.api_client.response_deserialize(
572
+ response_data=response_data,
573
+ response_types_map=_response_types_map,
574
+ ).data
575
+
576
+ @validate_call
577
+ async def delete_session_with_http_info(
578
+ self,
579
+ id: UUID,
580
+ _request_timeout: Union[
581
+ None,
582
+ Annotated[StrictFloat, Field(gt=0)],
583
+ Tuple[
584
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
585
+ ],
586
+ ] = None,
587
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
588
+ _content_type: Optional[StrictStr] = None,
589
+ _headers: Optional[Dict[StrictStr, Any]] = None,
590
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
591
+ ) -> ApiResponse[None]:
592
+ """Delete a session
593
+
594
+ Delete a specific session by id.
595
+
596
+ :param id: (required)
597
+ :type id: UUID
598
+ :param _request_timeout: timeout setting for this request. If one
599
+ number provided, it will be total request
600
+ timeout. It can also be a pair (tuple) of
601
+ (connection, read) timeouts.
602
+ :type _request_timeout: int, tuple(int, int), optional
603
+ :param _request_auth: set to override the auth_settings for an a single
604
+ request; this effectively ignores the
605
+ authentication in the spec for a single request.
606
+ :type _request_auth: dict, optional
607
+ :param _content_type: force content-type for the request.
608
+ :type _content_type: str, Optional
609
+ :param _headers: set to override the headers for a single
610
+ request; this effectively ignores the headers
611
+ in the spec for a single request.
612
+ :type _headers: dict, optional
613
+ :param _host_index: set to override the host_index for a single
614
+ request; this effectively ignores the host_index
615
+ in the spec for a single request.
616
+ :type _host_index: int, optional
617
+ :return: Returns the result object.
618
+ """ # noqa: E501
619
+
620
+ _param = self._delete_session_serialize(
621
+ id=id,
622
+ _request_auth=_request_auth,
623
+ _content_type=_content_type,
624
+ _headers=_headers,
625
+ _host_index=_host_index,
626
+ )
627
+
628
+ _response_types_map: Dict[str, Optional[str]] = {
629
+ "204": None,
630
+ }
631
+ response_data = await self.api_client.call_api(
632
+ *_param, _request_timeout=_request_timeout
633
+ )
634
+ await response_data.read()
635
+ return self.api_client.response_deserialize(
636
+ response_data=response_data,
637
+ response_types_map=_response_types_map,
638
+ )
639
+
640
+ @validate_call
641
+ async def delete_session_without_preload_content(
642
+ self,
643
+ id: UUID,
644
+ _request_timeout: Union[
645
+ None,
646
+ Annotated[StrictFloat, Field(gt=0)],
647
+ Tuple[
648
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
649
+ ],
650
+ ] = None,
651
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
652
+ _content_type: Optional[StrictStr] = None,
653
+ _headers: Optional[Dict[StrictStr, Any]] = None,
654
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
655
+ ) -> RESTResponseType:
656
+ """Delete a session
657
+
658
+ Delete a specific session by id.
659
+
660
+ :param id: (required)
661
+ :type id: UUID
662
+ :param _request_timeout: timeout setting for this request. If one
663
+ number provided, it will be total request
664
+ timeout. It can also be a pair (tuple) of
665
+ (connection, read) timeouts.
666
+ :type _request_timeout: int, tuple(int, int), optional
667
+ :param _request_auth: set to override the auth_settings for an a single
668
+ request; this effectively ignores the
669
+ authentication in the spec for a single request.
670
+ :type _request_auth: dict, optional
671
+ :param _content_type: force content-type for the request.
672
+ :type _content_type: str, Optional
673
+ :param _headers: set to override the headers for a single
674
+ request; this effectively ignores the headers
675
+ in the spec for a single request.
676
+ :type _headers: dict, optional
677
+ :param _host_index: set to override the host_index for a single
678
+ request; this effectively ignores the host_index
679
+ in the spec for a single request.
680
+ :type _host_index: int, optional
681
+ :return: Returns the result object.
682
+ """ # noqa: E501
683
+
684
+ _param = self._delete_session_serialize(
685
+ id=id,
686
+ _request_auth=_request_auth,
687
+ _content_type=_content_type,
688
+ _headers=_headers,
689
+ _host_index=_host_index,
690
+ )
691
+
692
+ _response_types_map: Dict[str, Optional[str]] = {
693
+ "204": None,
694
+ }
695
+ response_data = await self.api_client.call_api(
696
+ *_param, _request_timeout=_request_timeout
697
+ )
698
+ return response_data.response
699
+
700
+ def _delete_session_serialize(
701
+ self,
702
+ id,
703
+ _request_auth,
704
+ _content_type,
705
+ _headers,
706
+ _host_index,
707
+ ) -> RequestSerialized:
708
+ _host = None
709
+
710
+ _collection_formats: Dict[str, str] = {}
711
+
712
+ _path_params: Dict[str, str] = {}
713
+ _query_params: List[Tuple[str, str]] = []
714
+ _header_params: Dict[str, Optional[str]] = _headers or {}
715
+ _form_params: List[Tuple[str, str]] = []
716
+ _files: Dict[
717
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
718
+ ] = {}
719
+ _body_params: Optional[bytes] = None
720
+
721
+ # process the path parameters
722
+ if id is not None:
723
+ _path_params["id"] = id
724
+ # process the query parameters
725
+ # process the header parameters
726
+ # process the form parameters
727
+ # process the body parameter
728
+
729
+ # authentication setting
730
+ _auth_settings: List[str] = ["cookie", "api_key", "bearer"]
731
+
732
+ return self.api_client.param_serialize(
733
+ method="DELETE",
734
+ resource_path="/sessions/{id}",
735
+ path_params=_path_params,
736
+ query_params=_query_params,
737
+ header_params=_header_params,
738
+ body=_body_params,
739
+ post_params=_form_params,
740
+ files=_files,
741
+ auth_settings=_auth_settings,
742
+ collection_formats=_collection_formats,
743
+ _host=_host,
744
+ _request_auth=_request_auth,
745
+ )
746
+
747
+ @validate_call
748
+ async def get_sessions(
749
+ self,
750
+ _request_timeout: Union[
751
+ None,
752
+ Annotated[StrictFloat, Field(gt=0)],
753
+ Tuple[
754
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
755
+ ],
756
+ ] = None,
757
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
758
+ _content_type: Optional[StrictStr] = None,
759
+ _headers: Optional[Dict[StrictStr, Any]] = None,
760
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
761
+ ) -> List[SessionResponseDto]:
762
+ """Retrieve sessions
763
+
764
+ Retrieve a list of sessions for the user.
765
+
766
+ :param _request_timeout: timeout setting for this request. If one
767
+ number provided, it will be total request
768
+ timeout. It can also be a pair (tuple) of
769
+ (connection, read) timeouts.
770
+ :type _request_timeout: int, tuple(int, int), optional
771
+ :param _request_auth: set to override the auth_settings for an a single
772
+ request; this effectively ignores the
773
+ authentication in the spec for a single request.
774
+ :type _request_auth: dict, optional
775
+ :param _content_type: force content-type for the request.
776
+ :type _content_type: str, Optional
777
+ :param _headers: set to override the headers for a single
778
+ request; this effectively ignores the headers
779
+ in the spec for a single request.
780
+ :type _headers: dict, optional
781
+ :param _host_index: set to override the host_index for a single
782
+ request; this effectively ignores the host_index
783
+ in the spec for a single request.
784
+ :type _host_index: int, optional
785
+ :return: Returns the result object.
786
+ """ # noqa: E501
787
+
788
+ _param = self._get_sessions_serialize(
789
+ _request_auth=_request_auth,
790
+ _content_type=_content_type,
791
+ _headers=_headers,
792
+ _host_index=_host_index,
793
+ )
794
+
795
+ _response_types_map: Dict[str, Optional[str]] = {
796
+ "200": "List[SessionResponseDto]",
797
+ }
798
+ response_data = await self.api_client.call_api(
799
+ *_param, _request_timeout=_request_timeout
800
+ )
801
+ await response_data.read()
802
+ return self.api_client.response_deserialize(
803
+ response_data=response_data,
804
+ response_types_map=_response_types_map,
805
+ ).data
806
+
807
+ @validate_call
808
+ async def get_sessions_with_http_info(
809
+ self,
810
+ _request_timeout: Union[
811
+ None,
812
+ Annotated[StrictFloat, Field(gt=0)],
813
+ Tuple[
814
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
815
+ ],
816
+ ] = None,
817
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
818
+ _content_type: Optional[StrictStr] = None,
819
+ _headers: Optional[Dict[StrictStr, Any]] = None,
820
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
821
+ ) -> ApiResponse[List[SessionResponseDto]]:
822
+ """Retrieve sessions
823
+
824
+ Retrieve a list of sessions for the user.
825
+
826
+ :param _request_timeout: timeout setting for this request. If one
827
+ number provided, it will be total request
828
+ timeout. It can also be a pair (tuple) of
829
+ (connection, read) timeouts.
830
+ :type _request_timeout: int, tuple(int, int), optional
831
+ :param _request_auth: set to override the auth_settings for an a single
832
+ request; this effectively ignores the
833
+ authentication in the spec for a single request.
834
+ :type _request_auth: dict, optional
835
+ :param _content_type: force content-type for the request.
836
+ :type _content_type: str, Optional
837
+ :param _headers: set to override the headers for a single
838
+ request; this effectively ignores the headers
839
+ in the spec for a single request.
840
+ :type _headers: dict, optional
841
+ :param _host_index: set to override the host_index for a single
842
+ request; this effectively ignores the host_index
843
+ in the spec for a single request.
844
+ :type _host_index: int, optional
845
+ :return: Returns the result object.
846
+ """ # noqa: E501
847
+
848
+ _param = self._get_sessions_serialize(
849
+ _request_auth=_request_auth,
850
+ _content_type=_content_type,
851
+ _headers=_headers,
852
+ _host_index=_host_index,
853
+ )
854
+
855
+ _response_types_map: Dict[str, Optional[str]] = {
856
+ "200": "List[SessionResponseDto]",
857
+ }
858
+ response_data = await self.api_client.call_api(
859
+ *_param, _request_timeout=_request_timeout
860
+ )
861
+ await response_data.read()
862
+ return self.api_client.response_deserialize(
863
+ response_data=response_data,
864
+ response_types_map=_response_types_map,
865
+ )
866
+
867
+ @validate_call
868
+ async def get_sessions_without_preload_content(
869
+ self,
870
+ _request_timeout: Union[
871
+ None,
872
+ Annotated[StrictFloat, Field(gt=0)],
873
+ Tuple[
874
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
875
+ ],
876
+ ] = None,
877
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
878
+ _content_type: Optional[StrictStr] = None,
879
+ _headers: Optional[Dict[StrictStr, Any]] = None,
880
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
881
+ ) -> RESTResponseType:
882
+ """Retrieve sessions
883
+
884
+ Retrieve a list of sessions for the user.
885
+
886
+ :param _request_timeout: timeout setting for this request. If one
887
+ number provided, it will be total request
888
+ timeout. It can also be a pair (tuple) of
889
+ (connection, read) timeouts.
890
+ :type _request_timeout: int, tuple(int, int), optional
891
+ :param _request_auth: set to override the auth_settings for an a single
892
+ request; this effectively ignores the
893
+ authentication in the spec for a single request.
894
+ :type _request_auth: dict, optional
895
+ :param _content_type: force content-type for the request.
896
+ :type _content_type: str, Optional
897
+ :param _headers: set to override the headers for a single
898
+ request; this effectively ignores the headers
899
+ in the spec for a single request.
900
+ :type _headers: dict, optional
901
+ :param _host_index: set to override the host_index for a single
902
+ request; this effectively ignores the host_index
903
+ in the spec for a single request.
904
+ :type _host_index: int, optional
905
+ :return: Returns the result object.
906
+ """ # noqa: E501
907
+
908
+ _param = self._get_sessions_serialize(
909
+ _request_auth=_request_auth,
910
+ _content_type=_content_type,
911
+ _headers=_headers,
912
+ _host_index=_host_index,
913
+ )
914
+
915
+ _response_types_map: Dict[str, Optional[str]] = {
916
+ "200": "List[SessionResponseDto]",
917
+ }
918
+ response_data = await self.api_client.call_api(
919
+ *_param, _request_timeout=_request_timeout
920
+ )
921
+ return response_data.response
922
+
923
+ def _get_sessions_serialize(
924
+ self,
925
+ _request_auth,
926
+ _content_type,
927
+ _headers,
928
+ _host_index,
929
+ ) -> RequestSerialized:
930
+ _host = None
931
+
932
+ _collection_formats: Dict[str, str] = {}
933
+
934
+ _path_params: Dict[str, str] = {}
935
+ _query_params: List[Tuple[str, str]] = []
936
+ _header_params: Dict[str, Optional[str]] = _headers or {}
937
+ _form_params: List[Tuple[str, str]] = []
938
+ _files: Dict[
939
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
940
+ ] = {}
941
+ _body_params: Optional[bytes] = None
942
+
943
+ # process the path parameters
944
+ # process the query parameters
945
+ # process the header parameters
946
+ # process the form parameters
947
+ # process the body parameter
948
+
949
+ # set the HTTP header `Accept`
950
+ if "Accept" not in _header_params:
951
+ _header_params["Accept"] = self.api_client.select_header_accept(
952
+ ["application/json"]
953
+ )
954
+
955
+ # authentication setting
956
+ _auth_settings: List[str] = ["cookie", "api_key", "bearer"]
957
+
958
+ return self.api_client.param_serialize(
959
+ method="GET",
960
+ resource_path="/sessions",
961
+ path_params=_path_params,
962
+ query_params=_query_params,
963
+ header_params=_header_params,
964
+ body=_body_params,
965
+ post_params=_form_params,
966
+ files=_files,
967
+ auth_settings=_auth_settings,
968
+ collection_formats=_collection_formats,
969
+ _host=_host,
970
+ _request_auth=_request_auth,
971
+ )
972
+
973
+ @validate_call
974
+ async def lock_session(
975
+ self,
976
+ id: UUID,
977
+ _request_timeout: Union[
978
+ None,
979
+ Annotated[StrictFloat, Field(gt=0)],
980
+ Tuple[
981
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
982
+ ],
983
+ ] = None,
984
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
985
+ _content_type: Optional[StrictStr] = None,
986
+ _headers: Optional[Dict[StrictStr, Any]] = None,
987
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
988
+ ) -> None:
989
+ """Lock a session
990
+
991
+ Lock a specific session by id.
992
+
993
+ :param id: (required)
994
+ :type id: UUID
995
+ :param _request_timeout: timeout setting for this request. If one
996
+ number provided, it will be total request
997
+ timeout. It can also be a pair (tuple) of
998
+ (connection, read) timeouts.
999
+ :type _request_timeout: int, tuple(int, int), optional
1000
+ :param _request_auth: set to override the auth_settings for an a single
1001
+ request; this effectively ignores the
1002
+ authentication in the spec for a single request.
1003
+ :type _request_auth: dict, optional
1004
+ :param _content_type: force content-type for the request.
1005
+ :type _content_type: str, Optional
1006
+ :param _headers: set to override the headers for a single
1007
+ request; this effectively ignores the headers
1008
+ in the spec for a single request.
1009
+ :type _headers: dict, optional
1010
+ :param _host_index: set to override the host_index for a single
1011
+ request; this effectively ignores the host_index
1012
+ in the spec for a single request.
1013
+ :type _host_index: int, optional
1014
+ :return: Returns the result object.
1015
+ """ # noqa: E501
1016
+
1017
+ _param = self._lock_session_serialize(
1018
+ id=id,
1019
+ _request_auth=_request_auth,
1020
+ _content_type=_content_type,
1021
+ _headers=_headers,
1022
+ _host_index=_host_index,
1023
+ )
1024
+
1025
+ _response_types_map: Dict[str, Optional[str]] = {
1026
+ "204": None,
1027
+ }
1028
+ response_data = await self.api_client.call_api(
1029
+ *_param, _request_timeout=_request_timeout
1030
+ )
1031
+ await response_data.read()
1032
+ return self.api_client.response_deserialize(
1033
+ response_data=response_data,
1034
+ response_types_map=_response_types_map,
1035
+ ).data
1036
+
1037
+ @validate_call
1038
+ async def lock_session_with_http_info(
1039
+ self,
1040
+ id: UUID,
1041
+ _request_timeout: Union[
1042
+ None,
1043
+ Annotated[StrictFloat, Field(gt=0)],
1044
+ Tuple[
1045
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1046
+ ],
1047
+ ] = None,
1048
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1049
+ _content_type: Optional[StrictStr] = None,
1050
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1051
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1052
+ ) -> ApiResponse[None]:
1053
+ """Lock a session
1054
+
1055
+ Lock a specific session by id.
1056
+
1057
+ :param id: (required)
1058
+ :type id: UUID
1059
+ :param _request_timeout: timeout setting for this request. If one
1060
+ number provided, it will be total request
1061
+ timeout. It can also be a pair (tuple) of
1062
+ (connection, read) timeouts.
1063
+ :type _request_timeout: int, tuple(int, int), optional
1064
+ :param _request_auth: set to override the auth_settings for an a single
1065
+ request; this effectively ignores the
1066
+ authentication in the spec for a single request.
1067
+ :type _request_auth: dict, optional
1068
+ :param _content_type: force content-type for the request.
1069
+ :type _content_type: str, Optional
1070
+ :param _headers: set to override the headers for a single
1071
+ request; this effectively ignores the headers
1072
+ in the spec for a single request.
1073
+ :type _headers: dict, optional
1074
+ :param _host_index: set to override the host_index for a single
1075
+ request; this effectively ignores the host_index
1076
+ in the spec for a single request.
1077
+ :type _host_index: int, optional
1078
+ :return: Returns the result object.
1079
+ """ # noqa: E501
1080
+
1081
+ _param = self._lock_session_serialize(
1082
+ id=id,
1083
+ _request_auth=_request_auth,
1084
+ _content_type=_content_type,
1085
+ _headers=_headers,
1086
+ _host_index=_host_index,
1087
+ )
1088
+
1089
+ _response_types_map: Dict[str, Optional[str]] = {
1090
+ "204": None,
1091
+ }
1092
+ response_data = await self.api_client.call_api(
1093
+ *_param, _request_timeout=_request_timeout
1094
+ )
1095
+ await response_data.read()
1096
+ return self.api_client.response_deserialize(
1097
+ response_data=response_data,
1098
+ response_types_map=_response_types_map,
1099
+ )
1100
+
1101
+ @validate_call
1102
+ async def lock_session_without_preload_content(
1103
+ self,
1104
+ id: UUID,
1105
+ _request_timeout: Union[
1106
+ None,
1107
+ Annotated[StrictFloat, Field(gt=0)],
1108
+ Tuple[
1109
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1110
+ ],
1111
+ ] = None,
1112
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1113
+ _content_type: Optional[StrictStr] = None,
1114
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1115
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1116
+ ) -> RESTResponseType:
1117
+ """Lock a session
1118
+
1119
+ Lock a specific session by id.
1120
+
1121
+ :param id: (required)
1122
+ :type id: UUID
1123
+ :param _request_timeout: timeout setting for this request. If one
1124
+ number provided, it will be total request
1125
+ timeout. It can also be a pair (tuple) of
1126
+ (connection, read) timeouts.
1127
+ :type _request_timeout: int, tuple(int, int), optional
1128
+ :param _request_auth: set to override the auth_settings for an a single
1129
+ request; this effectively ignores the
1130
+ authentication in the spec for a single request.
1131
+ :type _request_auth: dict, optional
1132
+ :param _content_type: force content-type for the request.
1133
+ :type _content_type: str, Optional
1134
+ :param _headers: set to override the headers for a single
1135
+ request; this effectively ignores the headers
1136
+ in the spec for a single request.
1137
+ :type _headers: dict, optional
1138
+ :param _host_index: set to override the host_index for a single
1139
+ request; this effectively ignores the host_index
1140
+ in the spec for a single request.
1141
+ :type _host_index: int, optional
1142
+ :return: Returns the result object.
1143
+ """ # noqa: E501
1144
+
1145
+ _param = self._lock_session_serialize(
1146
+ id=id,
1147
+ _request_auth=_request_auth,
1148
+ _content_type=_content_type,
1149
+ _headers=_headers,
1150
+ _host_index=_host_index,
1151
+ )
1152
+
1153
+ _response_types_map: Dict[str, Optional[str]] = {
1154
+ "204": None,
1155
+ }
1156
+ response_data = await self.api_client.call_api(
1157
+ *_param, _request_timeout=_request_timeout
1158
+ )
1159
+ return response_data.response
1160
+
1161
+ def _lock_session_serialize(
1162
+ self,
1163
+ id,
1164
+ _request_auth,
1165
+ _content_type,
1166
+ _headers,
1167
+ _host_index,
1168
+ ) -> RequestSerialized:
1169
+ _host = None
1170
+
1171
+ _collection_formats: Dict[str, str] = {}
1172
+
1173
+ _path_params: Dict[str, str] = {}
1174
+ _query_params: List[Tuple[str, str]] = []
1175
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1176
+ _form_params: List[Tuple[str, str]] = []
1177
+ _files: Dict[
1178
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1179
+ ] = {}
1180
+ _body_params: Optional[bytes] = None
1181
+
1182
+ # process the path parameters
1183
+ if id is not None:
1184
+ _path_params["id"] = id
1185
+ # process the query parameters
1186
+ # process the header parameters
1187
+ # process the form parameters
1188
+ # process the body parameter
1189
+
1190
+ # authentication setting
1191
+ _auth_settings: List[str] = ["cookie", "api_key", "bearer"]
1192
+
1193
+ return self.api_client.param_serialize(
1194
+ method="POST",
1195
+ resource_path="/sessions/{id}/lock",
1196
+ path_params=_path_params,
1197
+ query_params=_query_params,
1198
+ header_params=_header_params,
1199
+ body=_body_params,
1200
+ post_params=_form_params,
1201
+ files=_files,
1202
+ auth_settings=_auth_settings,
1203
+ collection_formats=_collection_formats,
1204
+ _host=_host,
1205
+ _request_auth=_request_auth,
1206
+ )
1207
+
1208
+ @validate_call
1209
+ async def update_session(
1210
+ self,
1211
+ id: UUID,
1212
+ session_update_dto: SessionUpdateDto,
1213
+ _request_timeout: Union[
1214
+ None,
1215
+ Annotated[StrictFloat, Field(gt=0)],
1216
+ Tuple[
1217
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1218
+ ],
1219
+ ] = None,
1220
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1221
+ _content_type: Optional[StrictStr] = None,
1222
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1223
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1224
+ ) -> SessionResponseDto:
1225
+ """Update a session
1226
+
1227
+ Update a specific session identified by id.
1228
+
1229
+ :param id: (required)
1230
+ :type id: UUID
1231
+ :param session_update_dto: (required)
1232
+ :type session_update_dto: SessionUpdateDto
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._update_session_serialize(
1256
+ id=id,
1257
+ session_update_dto=session_update_dto,
1258
+ _request_auth=_request_auth,
1259
+ _content_type=_content_type,
1260
+ _headers=_headers,
1261
+ _host_index=_host_index,
1262
+ )
1263
+
1264
+ _response_types_map: Dict[str, Optional[str]] = {
1265
+ "200": "SessionResponseDto",
1266
+ }
1267
+ response_data = await self.api_client.call_api(
1268
+ *_param, _request_timeout=_request_timeout
1269
+ )
1270
+ await response_data.read()
1271
+ return self.api_client.response_deserialize(
1272
+ response_data=response_data,
1273
+ response_types_map=_response_types_map,
1274
+ ).data
1275
+
1276
+ @validate_call
1277
+ async def update_session_with_http_info(
1278
+ self,
1279
+ id: UUID,
1280
+ session_update_dto: SessionUpdateDto,
1281
+ _request_timeout: Union[
1282
+ None,
1283
+ Annotated[StrictFloat, Field(gt=0)],
1284
+ Tuple[
1285
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1286
+ ],
1287
+ ] = None,
1288
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1289
+ _content_type: Optional[StrictStr] = None,
1290
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1291
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1292
+ ) -> ApiResponse[SessionResponseDto]:
1293
+ """Update a session
1294
+
1295
+ Update a specific session identified by id.
1296
+
1297
+ :param id: (required)
1298
+ :type id: UUID
1299
+ :param session_update_dto: (required)
1300
+ :type session_update_dto: SessionUpdateDto
1301
+ :param _request_timeout: timeout setting for this request. If one
1302
+ number provided, it will be total request
1303
+ timeout. It can also be a pair (tuple) of
1304
+ (connection, read) timeouts.
1305
+ :type _request_timeout: int, tuple(int, int), optional
1306
+ :param _request_auth: set to override the auth_settings for an a single
1307
+ request; this effectively ignores the
1308
+ authentication in the spec for a single request.
1309
+ :type _request_auth: dict, optional
1310
+ :param _content_type: force content-type for the request.
1311
+ :type _content_type: str, Optional
1312
+ :param _headers: set to override the headers for a single
1313
+ request; this effectively ignores the headers
1314
+ in the spec for a single request.
1315
+ :type _headers: dict, optional
1316
+ :param _host_index: set to override the host_index for a single
1317
+ request; this effectively ignores the host_index
1318
+ in the spec for a single request.
1319
+ :type _host_index: int, optional
1320
+ :return: Returns the result object.
1321
+ """ # noqa: E501
1322
+
1323
+ _param = self._update_session_serialize(
1324
+ id=id,
1325
+ session_update_dto=session_update_dto,
1326
+ _request_auth=_request_auth,
1327
+ _content_type=_content_type,
1328
+ _headers=_headers,
1329
+ _host_index=_host_index,
1330
+ )
1331
+
1332
+ _response_types_map: Dict[str, Optional[str]] = {
1333
+ "200": "SessionResponseDto",
1334
+ }
1335
+ response_data = await self.api_client.call_api(
1336
+ *_param, _request_timeout=_request_timeout
1337
+ )
1338
+ await response_data.read()
1339
+ return self.api_client.response_deserialize(
1340
+ response_data=response_data,
1341
+ response_types_map=_response_types_map,
1342
+ )
1343
+
1344
+ @validate_call
1345
+ async def update_session_without_preload_content(
1346
+ self,
1347
+ id: UUID,
1348
+ session_update_dto: SessionUpdateDto,
1349
+ _request_timeout: Union[
1350
+ None,
1351
+ Annotated[StrictFloat, Field(gt=0)],
1352
+ Tuple[
1353
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
1354
+ ],
1355
+ ] = None,
1356
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1357
+ _content_type: Optional[StrictStr] = None,
1358
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1359
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1360
+ ) -> RESTResponseType:
1361
+ """Update a session
1362
+
1363
+ Update a specific session identified by id.
1364
+
1365
+ :param id: (required)
1366
+ :type id: UUID
1367
+ :param session_update_dto: (required)
1368
+ :type session_update_dto: SessionUpdateDto
1369
+ :param _request_timeout: timeout setting for this request. If one
1370
+ number provided, it will be total request
1371
+ timeout. It can also be a pair (tuple) of
1372
+ (connection, read) timeouts.
1373
+ :type _request_timeout: int, tuple(int, int), optional
1374
+ :param _request_auth: set to override the auth_settings for an a single
1375
+ request; this effectively ignores the
1376
+ authentication in the spec for a single request.
1377
+ :type _request_auth: dict, optional
1378
+ :param _content_type: force content-type for the request.
1379
+ :type _content_type: str, Optional
1380
+ :param _headers: set to override the headers for a single
1381
+ request; this effectively ignores the headers
1382
+ in the spec for a single request.
1383
+ :type _headers: dict, optional
1384
+ :param _host_index: set to override the host_index for a single
1385
+ request; this effectively ignores the host_index
1386
+ in the spec for a single request.
1387
+ :type _host_index: int, optional
1388
+ :return: Returns the result object.
1389
+ """ # noqa: E501
1390
+
1391
+ _param = self._update_session_serialize(
1392
+ id=id,
1393
+ session_update_dto=session_update_dto,
1394
+ _request_auth=_request_auth,
1395
+ _content_type=_content_type,
1396
+ _headers=_headers,
1397
+ _host_index=_host_index,
1398
+ )
1399
+
1400
+ _response_types_map: Dict[str, Optional[str]] = {
1401
+ "200": "SessionResponseDto",
1402
+ }
1403
+ response_data = await self.api_client.call_api(
1404
+ *_param, _request_timeout=_request_timeout
1405
+ )
1406
+ return response_data.response
1407
+
1408
+ def _update_session_serialize(
1409
+ self,
1410
+ id,
1411
+ session_update_dto,
1412
+ _request_auth,
1413
+ _content_type,
1414
+ _headers,
1415
+ _host_index,
1416
+ ) -> RequestSerialized:
1417
+ _host = None
1418
+
1419
+ _collection_formats: Dict[str, str] = {}
1420
+
1421
+ _path_params: Dict[str, str] = {}
1422
+ _query_params: List[Tuple[str, str]] = []
1423
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1424
+ _form_params: List[Tuple[str, str]] = []
1425
+ _files: Dict[
1426
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1427
+ ] = {}
1428
+ _body_params: Optional[bytes] = None
1429
+
1430
+ # process the path parameters
1431
+ if id is not None:
1432
+ _path_params["id"] = id
1433
+ # process the query parameters
1434
+ # process the header parameters
1435
+ # process the form parameters
1436
+ # process the body parameter
1437
+ if session_update_dto is not None:
1438
+ _body_params = session_update_dto
1439
+
1440
+ # set the HTTP header `Accept`
1441
+ if "Accept" not in _header_params:
1442
+ _header_params["Accept"] = self.api_client.select_header_accept(
1443
+ ["application/json"]
1444
+ )
1445
+
1446
+ # set the HTTP header `Content-Type`
1447
+ if _content_type:
1448
+ _header_params["Content-Type"] = _content_type
1449
+ else:
1450
+ _default_content_type = self.api_client.select_header_content_type(
1451
+ ["application/json"]
1452
+ )
1453
+ if _default_content_type is not None:
1454
+ _header_params["Content-Type"] = _default_content_type
1455
+
1456
+ # authentication setting
1457
+ _auth_settings: List[str] = ["cookie", "api_key", "bearer"]
1458
+
1459
+ return self.api_client.param_serialize(
1460
+ method="PUT",
1461
+ resource_path="/sessions/{id}",
1462
+ path_params=_path_params,
1463
+ query_params=_query_params,
1464
+ header_params=_header_params,
1465
+ body=_body_params,
1466
+ post_params=_form_params,
1467
+ files=_files,
1468
+ auth_settings=_auth_settings,
1469
+ collection_formats=_collection_formats,
1470
+ _host=_host,
1471
+ _request_auth=_request_auth,
1472
+ )