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,739 @@
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 immich.client.models.bulk_ids_dto import BulkIdsDto
19
+ from immich.client.models.trash_response_dto import TrashResponseDto
20
+
21
+ from immich.client.api_client import ApiClient, RequestSerialized
22
+ from immich.client.api_response import ApiResponse
23
+ from immich.client.rest import RESTResponseType
24
+
25
+
26
+ class TrashApi:
27
+ """NOTE: This class is auto generated by OpenAPI Generator
28
+ Ref: https://openapi-generator.tech
29
+
30
+ Do not edit the class manually.
31
+ """
32
+
33
+ def __init__(self, api_client=None) -> None:
34
+ if api_client is None:
35
+ api_client = ApiClient.get_default()
36
+ self.api_client = api_client
37
+
38
+ @validate_call
39
+ async def empty_trash(
40
+ self,
41
+ _request_timeout: Union[
42
+ None,
43
+ Annotated[StrictFloat, Field(gt=0)],
44
+ Tuple[
45
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
46
+ ],
47
+ ] = None,
48
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
49
+ _content_type: Optional[StrictStr] = None,
50
+ _headers: Optional[Dict[StrictStr, Any]] = None,
51
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
52
+ ) -> TrashResponseDto:
53
+ """Empty trash
54
+
55
+ Permanently delete all items in the trash.
56
+
57
+ :param _request_timeout: timeout setting for this request. If one
58
+ number provided, it will be total request
59
+ timeout. It can also be a pair (tuple) of
60
+ (connection, read) timeouts.
61
+ :type _request_timeout: int, tuple(int, int), optional
62
+ :param _request_auth: set to override the auth_settings for an a single
63
+ request; this effectively ignores the
64
+ authentication in the spec for a single request.
65
+ :type _request_auth: dict, optional
66
+ :param _content_type: force content-type for the request.
67
+ :type _content_type: str, Optional
68
+ :param _headers: set to override the headers for a single
69
+ request; this effectively ignores the headers
70
+ in the spec for a single request.
71
+ :type _headers: dict, optional
72
+ :param _host_index: set to override the host_index for a single
73
+ request; this effectively ignores the host_index
74
+ in the spec for a single request.
75
+ :type _host_index: int, optional
76
+ :return: Returns the result object.
77
+ """ # noqa: E501
78
+
79
+ _param = self._empty_trash_serialize(
80
+ _request_auth=_request_auth,
81
+ _content_type=_content_type,
82
+ _headers=_headers,
83
+ _host_index=_host_index,
84
+ )
85
+
86
+ _response_types_map: Dict[str, Optional[str]] = {
87
+ "200": "TrashResponseDto",
88
+ }
89
+ response_data = await self.api_client.call_api(
90
+ *_param, _request_timeout=_request_timeout
91
+ )
92
+ await response_data.read()
93
+ return self.api_client.response_deserialize(
94
+ response_data=response_data,
95
+ response_types_map=_response_types_map,
96
+ ).data
97
+
98
+ @validate_call
99
+ async def empty_trash_with_http_info(
100
+ self,
101
+ _request_timeout: Union[
102
+ None,
103
+ Annotated[StrictFloat, Field(gt=0)],
104
+ Tuple[
105
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
106
+ ],
107
+ ] = None,
108
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
109
+ _content_type: Optional[StrictStr] = None,
110
+ _headers: Optional[Dict[StrictStr, Any]] = None,
111
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
112
+ ) -> ApiResponse[TrashResponseDto]:
113
+ """Empty trash
114
+
115
+ Permanently delete all items in the trash.
116
+
117
+ :param _request_timeout: timeout setting for this request. If one
118
+ number provided, it will be total request
119
+ timeout. It can also be a pair (tuple) of
120
+ (connection, read) timeouts.
121
+ :type _request_timeout: int, tuple(int, int), optional
122
+ :param _request_auth: set to override the auth_settings for an a single
123
+ request; this effectively ignores the
124
+ authentication in the spec for a single request.
125
+ :type _request_auth: dict, optional
126
+ :param _content_type: force content-type for the request.
127
+ :type _content_type: str, Optional
128
+ :param _headers: set to override the headers for a single
129
+ request; this effectively ignores the headers
130
+ in the spec for a single request.
131
+ :type _headers: dict, optional
132
+ :param _host_index: set to override the host_index for a single
133
+ request; this effectively ignores the host_index
134
+ in the spec for a single request.
135
+ :type _host_index: int, optional
136
+ :return: Returns the result object.
137
+ """ # noqa: E501
138
+
139
+ _param = self._empty_trash_serialize(
140
+ _request_auth=_request_auth,
141
+ _content_type=_content_type,
142
+ _headers=_headers,
143
+ _host_index=_host_index,
144
+ )
145
+
146
+ _response_types_map: Dict[str, Optional[str]] = {
147
+ "200": "TrashResponseDto",
148
+ }
149
+ response_data = await self.api_client.call_api(
150
+ *_param, _request_timeout=_request_timeout
151
+ )
152
+ await response_data.read()
153
+ return self.api_client.response_deserialize(
154
+ response_data=response_data,
155
+ response_types_map=_response_types_map,
156
+ )
157
+
158
+ @validate_call
159
+ async def empty_trash_without_preload_content(
160
+ self,
161
+ _request_timeout: Union[
162
+ None,
163
+ Annotated[StrictFloat, Field(gt=0)],
164
+ Tuple[
165
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
166
+ ],
167
+ ] = None,
168
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
169
+ _content_type: Optional[StrictStr] = None,
170
+ _headers: Optional[Dict[StrictStr, Any]] = None,
171
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
172
+ ) -> RESTResponseType:
173
+ """Empty trash
174
+
175
+ Permanently delete all items in the trash.
176
+
177
+ :param _request_timeout: timeout setting for this request. If one
178
+ number provided, it will be total request
179
+ timeout. It can also be a pair (tuple) of
180
+ (connection, read) timeouts.
181
+ :type _request_timeout: int, tuple(int, int), optional
182
+ :param _request_auth: set to override the auth_settings for an a single
183
+ request; this effectively ignores the
184
+ authentication in the spec for a single request.
185
+ :type _request_auth: dict, optional
186
+ :param _content_type: force content-type for the request.
187
+ :type _content_type: str, Optional
188
+ :param _headers: set to override the headers for a single
189
+ request; this effectively ignores the headers
190
+ in the spec for a single request.
191
+ :type _headers: dict, optional
192
+ :param _host_index: set to override the host_index for a single
193
+ request; this effectively ignores the host_index
194
+ in the spec for a single request.
195
+ :type _host_index: int, optional
196
+ :return: Returns the result object.
197
+ """ # noqa: E501
198
+
199
+ _param = self._empty_trash_serialize(
200
+ _request_auth=_request_auth,
201
+ _content_type=_content_type,
202
+ _headers=_headers,
203
+ _host_index=_host_index,
204
+ )
205
+
206
+ _response_types_map: Dict[str, Optional[str]] = {
207
+ "200": "TrashResponseDto",
208
+ }
209
+ response_data = await self.api_client.call_api(
210
+ *_param, _request_timeout=_request_timeout
211
+ )
212
+ return response_data.response
213
+
214
+ def _empty_trash_serialize(
215
+ self,
216
+ _request_auth,
217
+ _content_type,
218
+ _headers,
219
+ _host_index,
220
+ ) -> RequestSerialized:
221
+ _host = None
222
+
223
+ _collection_formats: Dict[str, str] = {}
224
+
225
+ _path_params: Dict[str, str] = {}
226
+ _query_params: List[Tuple[str, str]] = []
227
+ _header_params: Dict[str, Optional[str]] = _headers or {}
228
+ _form_params: List[Tuple[str, str]] = []
229
+ _files: Dict[
230
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
231
+ ] = {}
232
+ _body_params: Optional[bytes] = None
233
+
234
+ # process the path parameters
235
+ # process the query parameters
236
+ # process the header parameters
237
+ # process the form parameters
238
+ # process the body parameter
239
+
240
+ # set the HTTP header `Accept`
241
+ if "Accept" not in _header_params:
242
+ _header_params["Accept"] = self.api_client.select_header_accept(
243
+ ["application/json"]
244
+ )
245
+
246
+ # authentication setting
247
+ _auth_settings: List[str] = ["cookie", "api_key", "bearer"]
248
+
249
+ return self.api_client.param_serialize(
250
+ method="POST",
251
+ resource_path="/trash/empty",
252
+ path_params=_path_params,
253
+ query_params=_query_params,
254
+ header_params=_header_params,
255
+ body=_body_params,
256
+ post_params=_form_params,
257
+ files=_files,
258
+ auth_settings=_auth_settings,
259
+ collection_formats=_collection_formats,
260
+ _host=_host,
261
+ _request_auth=_request_auth,
262
+ )
263
+
264
+ @validate_call
265
+ async def restore_assets(
266
+ self,
267
+ bulk_ids_dto: BulkIdsDto,
268
+ _request_timeout: Union[
269
+ None,
270
+ Annotated[StrictFloat, Field(gt=0)],
271
+ Tuple[
272
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
273
+ ],
274
+ ] = None,
275
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
276
+ _content_type: Optional[StrictStr] = None,
277
+ _headers: Optional[Dict[StrictStr, Any]] = None,
278
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
279
+ ) -> TrashResponseDto:
280
+ """Restore assets
281
+
282
+ Restore specific assets from the trash.
283
+
284
+ :param bulk_ids_dto: (required)
285
+ :type bulk_ids_dto: BulkIdsDto
286
+ :param _request_timeout: timeout setting for this request. If one
287
+ number provided, it will be total request
288
+ timeout. It can also be a pair (tuple) of
289
+ (connection, read) timeouts.
290
+ :type _request_timeout: int, tuple(int, int), optional
291
+ :param _request_auth: set to override the auth_settings for an a single
292
+ request; this effectively ignores the
293
+ authentication in the spec for a single request.
294
+ :type _request_auth: dict, optional
295
+ :param _content_type: force content-type for the request.
296
+ :type _content_type: str, Optional
297
+ :param _headers: set to override the headers for a single
298
+ request; this effectively ignores the headers
299
+ in the spec for a single request.
300
+ :type _headers: dict, optional
301
+ :param _host_index: set to override the host_index for a single
302
+ request; this effectively ignores the host_index
303
+ in the spec for a single request.
304
+ :type _host_index: int, optional
305
+ :return: Returns the result object.
306
+ """ # noqa: E501
307
+
308
+ _param = self._restore_assets_serialize(
309
+ bulk_ids_dto=bulk_ids_dto,
310
+ _request_auth=_request_auth,
311
+ _content_type=_content_type,
312
+ _headers=_headers,
313
+ _host_index=_host_index,
314
+ )
315
+
316
+ _response_types_map: Dict[str, Optional[str]] = {
317
+ "200": "TrashResponseDto",
318
+ }
319
+ response_data = await self.api_client.call_api(
320
+ *_param, _request_timeout=_request_timeout
321
+ )
322
+ await response_data.read()
323
+ return self.api_client.response_deserialize(
324
+ response_data=response_data,
325
+ response_types_map=_response_types_map,
326
+ ).data
327
+
328
+ @validate_call
329
+ async def restore_assets_with_http_info(
330
+ self,
331
+ bulk_ids_dto: BulkIdsDto,
332
+ _request_timeout: Union[
333
+ None,
334
+ Annotated[StrictFloat, Field(gt=0)],
335
+ Tuple[
336
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
337
+ ],
338
+ ] = None,
339
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
340
+ _content_type: Optional[StrictStr] = None,
341
+ _headers: Optional[Dict[StrictStr, Any]] = None,
342
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
343
+ ) -> ApiResponse[TrashResponseDto]:
344
+ """Restore assets
345
+
346
+ Restore specific assets from the trash.
347
+
348
+ :param bulk_ids_dto: (required)
349
+ :type bulk_ids_dto: BulkIdsDto
350
+ :param _request_timeout: timeout setting for this request. If one
351
+ number provided, it will be total request
352
+ timeout. It can also be a pair (tuple) of
353
+ (connection, read) timeouts.
354
+ :type _request_timeout: int, tuple(int, int), optional
355
+ :param _request_auth: set to override the auth_settings for an a single
356
+ request; this effectively ignores the
357
+ authentication in the spec for a single request.
358
+ :type _request_auth: dict, optional
359
+ :param _content_type: force content-type for the request.
360
+ :type _content_type: str, Optional
361
+ :param _headers: set to override the headers for a single
362
+ request; this effectively ignores the headers
363
+ in the spec for a single request.
364
+ :type _headers: dict, optional
365
+ :param _host_index: set to override the host_index for a single
366
+ request; this effectively ignores the host_index
367
+ in the spec for a single request.
368
+ :type _host_index: int, optional
369
+ :return: Returns the result object.
370
+ """ # noqa: E501
371
+
372
+ _param = self._restore_assets_serialize(
373
+ bulk_ids_dto=bulk_ids_dto,
374
+ _request_auth=_request_auth,
375
+ _content_type=_content_type,
376
+ _headers=_headers,
377
+ _host_index=_host_index,
378
+ )
379
+
380
+ _response_types_map: Dict[str, Optional[str]] = {
381
+ "200": "TrashResponseDto",
382
+ }
383
+ response_data = await self.api_client.call_api(
384
+ *_param, _request_timeout=_request_timeout
385
+ )
386
+ await response_data.read()
387
+ return self.api_client.response_deserialize(
388
+ response_data=response_data,
389
+ response_types_map=_response_types_map,
390
+ )
391
+
392
+ @validate_call
393
+ async def restore_assets_without_preload_content(
394
+ self,
395
+ bulk_ids_dto: BulkIdsDto,
396
+ _request_timeout: Union[
397
+ None,
398
+ Annotated[StrictFloat, Field(gt=0)],
399
+ Tuple[
400
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
401
+ ],
402
+ ] = None,
403
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
404
+ _content_type: Optional[StrictStr] = None,
405
+ _headers: Optional[Dict[StrictStr, Any]] = None,
406
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
407
+ ) -> RESTResponseType:
408
+ """Restore assets
409
+
410
+ Restore specific assets from the trash.
411
+
412
+ :param bulk_ids_dto: (required)
413
+ :type bulk_ids_dto: BulkIdsDto
414
+ :param _request_timeout: timeout setting for this request. If one
415
+ number provided, it will be total request
416
+ timeout. It can also be a pair (tuple) of
417
+ (connection, read) timeouts.
418
+ :type _request_timeout: int, tuple(int, int), optional
419
+ :param _request_auth: set to override the auth_settings for an a single
420
+ request; this effectively ignores the
421
+ authentication in the spec for a single request.
422
+ :type _request_auth: dict, optional
423
+ :param _content_type: force content-type for the request.
424
+ :type _content_type: str, Optional
425
+ :param _headers: set to override the headers for a single
426
+ request; this effectively ignores the headers
427
+ in the spec for a single request.
428
+ :type _headers: dict, optional
429
+ :param _host_index: set to override the host_index for a single
430
+ request; this effectively ignores the host_index
431
+ in the spec for a single request.
432
+ :type _host_index: int, optional
433
+ :return: Returns the result object.
434
+ """ # noqa: E501
435
+
436
+ _param = self._restore_assets_serialize(
437
+ bulk_ids_dto=bulk_ids_dto,
438
+ _request_auth=_request_auth,
439
+ _content_type=_content_type,
440
+ _headers=_headers,
441
+ _host_index=_host_index,
442
+ )
443
+
444
+ _response_types_map: Dict[str, Optional[str]] = {
445
+ "200": "TrashResponseDto",
446
+ }
447
+ response_data = await self.api_client.call_api(
448
+ *_param, _request_timeout=_request_timeout
449
+ )
450
+ return response_data.response
451
+
452
+ def _restore_assets_serialize(
453
+ self,
454
+ bulk_ids_dto,
455
+ _request_auth,
456
+ _content_type,
457
+ _headers,
458
+ _host_index,
459
+ ) -> RequestSerialized:
460
+ _host = None
461
+
462
+ _collection_formats: Dict[str, str] = {}
463
+
464
+ _path_params: Dict[str, str] = {}
465
+ _query_params: List[Tuple[str, str]] = []
466
+ _header_params: Dict[str, Optional[str]] = _headers or {}
467
+ _form_params: List[Tuple[str, str]] = []
468
+ _files: Dict[
469
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
470
+ ] = {}
471
+ _body_params: Optional[bytes] = None
472
+
473
+ # process the path parameters
474
+ # process the query parameters
475
+ # process the header parameters
476
+ # process the form parameters
477
+ # process the body parameter
478
+ if bulk_ids_dto is not None:
479
+ _body_params = bulk_ids_dto
480
+
481
+ # set the HTTP header `Accept`
482
+ if "Accept" not in _header_params:
483
+ _header_params["Accept"] = self.api_client.select_header_accept(
484
+ ["application/json"]
485
+ )
486
+
487
+ # set the HTTP header `Content-Type`
488
+ if _content_type:
489
+ _header_params["Content-Type"] = _content_type
490
+ else:
491
+ _default_content_type = self.api_client.select_header_content_type(
492
+ ["application/json"]
493
+ )
494
+ if _default_content_type is not None:
495
+ _header_params["Content-Type"] = _default_content_type
496
+
497
+ # authentication setting
498
+ _auth_settings: List[str] = ["cookie", "api_key", "bearer"]
499
+
500
+ return self.api_client.param_serialize(
501
+ method="POST",
502
+ resource_path="/trash/restore/assets",
503
+ path_params=_path_params,
504
+ query_params=_query_params,
505
+ header_params=_header_params,
506
+ body=_body_params,
507
+ post_params=_form_params,
508
+ files=_files,
509
+ auth_settings=_auth_settings,
510
+ collection_formats=_collection_formats,
511
+ _host=_host,
512
+ _request_auth=_request_auth,
513
+ )
514
+
515
+ @validate_call
516
+ async def restore_trash(
517
+ self,
518
+ _request_timeout: Union[
519
+ None,
520
+ Annotated[StrictFloat, Field(gt=0)],
521
+ Tuple[
522
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
523
+ ],
524
+ ] = None,
525
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
526
+ _content_type: Optional[StrictStr] = None,
527
+ _headers: Optional[Dict[StrictStr, Any]] = None,
528
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
529
+ ) -> TrashResponseDto:
530
+ """Restore trash
531
+
532
+ Restore all items in the trash.
533
+
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._restore_trash_serialize(
557
+ _request_auth=_request_auth,
558
+ _content_type=_content_type,
559
+ _headers=_headers,
560
+ _host_index=_host_index,
561
+ )
562
+
563
+ _response_types_map: Dict[str, Optional[str]] = {
564
+ "200": "TrashResponseDto",
565
+ }
566
+ response_data = await self.api_client.call_api(
567
+ *_param, _request_timeout=_request_timeout
568
+ )
569
+ await response_data.read()
570
+ return self.api_client.response_deserialize(
571
+ response_data=response_data,
572
+ response_types_map=_response_types_map,
573
+ ).data
574
+
575
+ @validate_call
576
+ async def restore_trash_with_http_info(
577
+ self,
578
+ _request_timeout: Union[
579
+ None,
580
+ Annotated[StrictFloat, Field(gt=0)],
581
+ Tuple[
582
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
583
+ ],
584
+ ] = None,
585
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
586
+ _content_type: Optional[StrictStr] = None,
587
+ _headers: Optional[Dict[StrictStr, Any]] = None,
588
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
589
+ ) -> ApiResponse[TrashResponseDto]:
590
+ """Restore trash
591
+
592
+ Restore all items in the trash.
593
+
594
+ :param _request_timeout: timeout setting for this request. If one
595
+ number provided, it will be total request
596
+ timeout. It can also be a pair (tuple) of
597
+ (connection, read) timeouts.
598
+ :type _request_timeout: int, tuple(int, int), optional
599
+ :param _request_auth: set to override the auth_settings for an a single
600
+ request; this effectively ignores the
601
+ authentication in the spec for a single request.
602
+ :type _request_auth: dict, optional
603
+ :param _content_type: force content-type for the request.
604
+ :type _content_type: str, Optional
605
+ :param _headers: set to override the headers for a single
606
+ request; this effectively ignores the headers
607
+ in the spec for a single request.
608
+ :type _headers: dict, optional
609
+ :param _host_index: set to override the host_index for a single
610
+ request; this effectively ignores the host_index
611
+ in the spec for a single request.
612
+ :type _host_index: int, optional
613
+ :return: Returns the result object.
614
+ """ # noqa: E501
615
+
616
+ _param = self._restore_trash_serialize(
617
+ _request_auth=_request_auth,
618
+ _content_type=_content_type,
619
+ _headers=_headers,
620
+ _host_index=_host_index,
621
+ )
622
+
623
+ _response_types_map: Dict[str, Optional[str]] = {
624
+ "200": "TrashResponseDto",
625
+ }
626
+ response_data = await self.api_client.call_api(
627
+ *_param, _request_timeout=_request_timeout
628
+ )
629
+ await response_data.read()
630
+ return self.api_client.response_deserialize(
631
+ response_data=response_data,
632
+ response_types_map=_response_types_map,
633
+ )
634
+
635
+ @validate_call
636
+ async def restore_trash_without_preload_content(
637
+ self,
638
+ _request_timeout: Union[
639
+ None,
640
+ Annotated[StrictFloat, Field(gt=0)],
641
+ Tuple[
642
+ Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
643
+ ],
644
+ ] = None,
645
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
646
+ _content_type: Optional[StrictStr] = None,
647
+ _headers: Optional[Dict[StrictStr, Any]] = None,
648
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
649
+ ) -> RESTResponseType:
650
+ """Restore trash
651
+
652
+ Restore all items in the trash.
653
+
654
+ :param _request_timeout: timeout setting for this request. If one
655
+ number provided, it will be total request
656
+ timeout. It can also be a pair (tuple) of
657
+ (connection, read) timeouts.
658
+ :type _request_timeout: int, tuple(int, int), optional
659
+ :param _request_auth: set to override the auth_settings for an a single
660
+ request; this effectively ignores the
661
+ authentication in the spec for a single request.
662
+ :type _request_auth: dict, optional
663
+ :param _content_type: force content-type for the request.
664
+ :type _content_type: str, Optional
665
+ :param _headers: set to override the headers for a single
666
+ request; this effectively ignores the headers
667
+ in the spec for a single request.
668
+ :type _headers: dict, optional
669
+ :param _host_index: set to override the host_index for a single
670
+ request; this effectively ignores the host_index
671
+ in the spec for a single request.
672
+ :type _host_index: int, optional
673
+ :return: Returns the result object.
674
+ """ # noqa: E501
675
+
676
+ _param = self._restore_trash_serialize(
677
+ _request_auth=_request_auth,
678
+ _content_type=_content_type,
679
+ _headers=_headers,
680
+ _host_index=_host_index,
681
+ )
682
+
683
+ _response_types_map: Dict[str, Optional[str]] = {
684
+ "200": "TrashResponseDto",
685
+ }
686
+ response_data = await self.api_client.call_api(
687
+ *_param, _request_timeout=_request_timeout
688
+ )
689
+ return response_data.response
690
+
691
+ def _restore_trash_serialize(
692
+ self,
693
+ _request_auth,
694
+ _content_type,
695
+ _headers,
696
+ _host_index,
697
+ ) -> RequestSerialized:
698
+ _host = None
699
+
700
+ _collection_formats: Dict[str, str] = {}
701
+
702
+ _path_params: Dict[str, str] = {}
703
+ _query_params: List[Tuple[str, str]] = []
704
+ _header_params: Dict[str, Optional[str]] = _headers or {}
705
+ _form_params: List[Tuple[str, str]] = []
706
+ _files: Dict[
707
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
708
+ ] = {}
709
+ _body_params: Optional[bytes] = None
710
+
711
+ # process the path parameters
712
+ # process the query parameters
713
+ # process the header parameters
714
+ # process the form parameters
715
+ # process the body parameter
716
+
717
+ # set the HTTP header `Accept`
718
+ if "Accept" not in _header_params:
719
+ _header_params["Accept"] = self.api_client.select_header_accept(
720
+ ["application/json"]
721
+ )
722
+
723
+ # authentication setting
724
+ _auth_settings: List[str] = ["cookie", "api_key", "bearer"]
725
+
726
+ return self.api_client.param_serialize(
727
+ method="POST",
728
+ resource_path="/trash/restore",
729
+ path_params=_path_params,
730
+ query_params=_query_params,
731
+ header_params=_header_params,
732
+ body=_body_params,
733
+ post_params=_form_params,
734
+ files=_files,
735
+ auth_settings=_auth_settings,
736
+ collection_formats=_collection_formats,
737
+ _host=_host,
738
+ _request_auth=_request_auth,
739
+ )