immichpy 1.6.5__py3-none-any.whl → 1.7.6__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 (438) hide show
  1. immichpy/cli/__main__.py +1 -1
  2. immichpy/cli/commands/activities.py +23 -11
  3. immichpy/cli/commands/albums.py +34 -20
  4. immichpy/cli/commands/api_keys.py +6 -4
  5. immichpy/cli/commands/assets.py +274 -65
  6. immichpy/cli/commands/authentication.py +115 -25
  7. immichpy/cli/commands/database_backups_admin.py +111 -0
  8. immichpy/cli/commands/download.py +13 -5
  9. immichpy/cli/commands/duplicates.py +1 -1
  10. immichpy/cli/commands/faces.py +17 -11
  11. immichpy/cli/commands/jobs.py +6 -4
  12. immichpy/cli/commands/libraries.py +15 -9
  13. immichpy/cli/commands/maintenance_admin.py +39 -2
  14. immichpy/cli/commands/map.py +8 -8
  15. immichpy/cli/commands/memories.py +35 -21
  16. immichpy/cli/commands/notifications.py +16 -8
  17. immichpy/cli/commands/notifications_admin.py +43 -17
  18. immichpy/cli/commands/partners.py +9 -3
  19. immichpy/cli/commands/people.py +30 -24
  20. immichpy/cli/commands/plugins.py +14 -0
  21. immichpy/cli/commands/queues.py +8 -6
  22. immichpy/cli/commands/search.py +395 -189
  23. immichpy/cli/commands/server.py +6 -2
  24. immichpy/cli/commands/sessions.py +6 -4
  25. immichpy/cli/commands/shared_links.py +42 -25
  26. immichpy/cli/commands/stacks.py +4 -4
  27. immichpy/cli/commands/sync.py +26 -10
  28. immichpy/cli/commands/system_config.py +216 -115
  29. immichpy/cli/commands/system_metadata.py +3 -1
  30. immichpy/cli/commands/tags.py +9 -9
  31. immichpy/cli/commands/trash.py +1 -1
  32. immichpy/cli/commands/users.py +57 -29
  33. immichpy/cli/commands/users_admin.py +79 -45
  34. immichpy/cli/commands/workflows.py +40 -11
  35. immichpy/cli/main.py +10 -2
  36. immichpy/cli/utils.py +2 -2
  37. immichpy/cli/wrapper/setup.py +1 -1
  38. immichpy/client/.openapi-generator/FILES +26 -2
  39. immichpy/client/generated/__init__.py +101 -7
  40. immichpy/client/generated/api/__init__.py +3 -0
  41. immichpy/client/generated/api/activities_api.py +73 -43
  42. immichpy/client/generated/api/albums_api.py +40 -19
  43. immichpy/client/generated/api/api_keys_api.py +1 -1
  44. immichpy/client/generated/api/assets_api.py +1768 -366
  45. immichpy/client/generated/api/authentication_admin_api.py +1 -1
  46. immichpy/client/generated/api/authentication_api.py +1 -1
  47. immichpy/client/generated/api/database_backups_admin_api.py +1224 -0
  48. immichpy/client/generated/api/deprecated_api.py +103 -73
  49. immichpy/client/generated/api/download_api.py +1 -1
  50. immichpy/client/generated/api/duplicates_api.py +1 -1
  51. immichpy/client/generated/api/faces_api.py +7 -7
  52. immichpy/client/generated/api/jobs_api.py +7 -7
  53. immichpy/client/generated/api/libraries_api.py +1 -1
  54. immichpy/client/generated/api/maintenance_admin_api.py +459 -1
  55. immichpy/client/generated/api/map_api.py +103 -49
  56. immichpy/client/generated/api/memories_api.py +109 -61
  57. immichpy/client/generated/api/notifications_admin_api.py +1 -1
  58. immichpy/client/generated/api/notifications_api.py +52 -25
  59. immichpy/client/generated/api/partners_api.py +7 -7
  60. immichpy/client/generated/api/people_api.py +37 -19
  61. immichpy/client/generated/api/plugins_api.py +230 -1
  62. immichpy/client/generated/api/queues_api.py +37 -31
  63. immichpy/client/generated/api/search_api.py +529 -283
  64. immichpy/client/generated/api/server_api.py +1 -1
  65. immichpy/client/generated/api/sessions_api.py +1 -1
  66. immichpy/client/generated/api/shared_links_api.py +53 -19
  67. immichpy/client/generated/api/stacks_api.py +13 -7
  68. immichpy/client/generated/api/sync_api.py +1 -1
  69. immichpy/client/generated/api/system_config_api.py +1 -1
  70. immichpy/client/generated/api/system_metadata_api.py +1 -1
  71. immichpy/client/generated/api/tags_api.py +1 -1
  72. immichpy/client/generated/api/timeline_api.py +1 -1
  73. immichpy/client/generated/api/trash_api.py +1 -1
  74. immichpy/client/generated/api/users_admin_api.py +55 -31
  75. immichpy/client/generated/api/users_api.py +16 -7
  76. immichpy/client/generated/api/views_api.py +1 -1
  77. immichpy/client/generated/api/workflows_api.py +1 -1
  78. immichpy/client/generated/api_client.py +1 -1
  79. immichpy/client/generated/configuration.py +2 -2
  80. immichpy/client/generated/exceptions.py +1 -1
  81. immichpy/client/generated/models/__init__.py +56 -3
  82. immichpy/client/generated/models/activity_create_dto.py +11 -5
  83. immichpy/client/generated/models/activity_response_dto.py +10 -6
  84. immichpy/client/generated/models/activity_statistics_response_dto.py +4 -4
  85. immichpy/client/generated/models/add_users_dto.py +2 -2
  86. immichpy/client/generated/models/admin_onboarding_update_dto.py +4 -2
  87. immichpy/client/generated/models/album_response_dto.py +28 -16
  88. immichpy/client/generated/models/album_statistics_response_dto.py +6 -4
  89. immichpy/client/generated/models/album_user_add_dto.py +3 -3
  90. immichpy/client/generated/models/album_user_create_dto.py +3 -3
  91. immichpy/client/generated/models/album_user_response_dto.py +3 -3
  92. immichpy/client/generated/models/album_user_role.py +2 -2
  93. immichpy/client/generated/models/albums_add_assets_dto.py +3 -3
  94. immichpy/client/generated/models/albums_add_assets_response_dto.py +4 -4
  95. immichpy/client/generated/models/albums_response.py +4 -2
  96. immichpy/client/generated/models/albums_update.py +5 -3
  97. immichpy/client/generated/models/api_key_create_dto.py +5 -3
  98. immichpy/client/generated/models/api_key_create_response_dto.py +2 -2
  99. immichpy/client/generated/models/api_key_response_dto.py +6 -6
  100. immichpy/client/generated/models/api_key_update_dto.py +5 -3
  101. immichpy/client/generated/models/asset_bulk_delete_dto.py +6 -4
  102. immichpy/client/generated/models/asset_bulk_update_dto.py +28 -12
  103. immichpy/client/generated/models/asset_bulk_upload_check_dto.py +3 -3
  104. immichpy/client/generated/models/asset_bulk_upload_check_item.py +3 -3
  105. immichpy/client/generated/models/asset_bulk_upload_check_response_dto.py +5 -3
  106. immichpy/client/generated/models/asset_bulk_upload_check_result.py +12 -6
  107. immichpy/client/generated/models/asset_copy_dto.py +16 -8
  108. immichpy/client/generated/models/asset_delta_sync_dto.py +5 -3
  109. immichpy/client/generated/models/asset_delta_sync_response_dto.py +6 -4
  110. immichpy/client/generated/models/asset_edit_action.py +35 -0
  111. immichpy/client/generated/models/asset_edit_action_crop.py +95 -0
  112. immichpy/client/generated/models/asset_edit_action_list_dto.py +104 -0
  113. immichpy/client/generated/models/asset_edit_action_list_dto_edits_inner.py +188 -0
  114. immichpy/client/generated/models/asset_edit_action_mirror.py +95 -0
  115. immichpy/client/generated/models/asset_edit_action_rotate.py +95 -0
  116. immichpy/client/generated/models/asset_edits_dto.py +107 -0
  117. immichpy/client/generated/models/asset_face_create_dto.py +13 -9
  118. immichpy/client/generated/models/asset_face_delete_dto.py +3 -3
  119. immichpy/client/generated/models/asset_face_response_dto.py +26 -10
  120. immichpy/client/generated/models/asset_face_update_dto.py +3 -3
  121. immichpy/client/generated/models/asset_face_update_item.py +3 -3
  122. immichpy/client/generated/models/asset_face_without_person_response_dto.py +23 -9
  123. immichpy/client/generated/models/asset_full_sync_dto.py +13 -5
  124. immichpy/client/generated/models/asset_ids_dto.py +2 -2
  125. immichpy/client/generated/models/asset_ids_response_dto.py +6 -4
  126. immichpy/client/generated/models/asset_job_name.py +2 -2
  127. immichpy/client/generated/models/asset_jobs_dto.py +3 -3
  128. immichpy/client/generated/models/asset_media_response_dto.py +4 -4
  129. immichpy/client/generated/models/asset_media_size.py +2 -1
  130. immichpy/client/generated/models/asset_media_status.py +2 -2
  131. immichpy/client/generated/models/asset_metadata_bulk_delete_dto.py +103 -0
  132. immichpy/client/generated/models/asset_metadata_bulk_delete_item_dto.py +86 -0
  133. immichpy/client/generated/models/asset_metadata_bulk_response_dto.py +93 -0
  134. immichpy/client/generated/models/asset_metadata_bulk_upsert_dto.py +103 -0
  135. immichpy/client/generated/models/asset_metadata_bulk_upsert_item_dto.py +91 -0
  136. immichpy/client/generated/models/asset_metadata_response_dto.py +5 -6
  137. immichpy/client/generated/models/asset_metadata_upsert_dto.py +5 -3
  138. immichpy/client/generated/models/asset_metadata_upsert_item_dto.py +4 -5
  139. immichpy/client/generated/models/asset_ocr_response_dto.py +1 -1
  140. immichpy/client/generated/models/asset_order.py +2 -2
  141. immichpy/client/generated/models/asset_response_dto.py +66 -24
  142. immichpy/client/generated/models/asset_stack_response_dto.py +8 -4
  143. immichpy/client/generated/models/asset_stats_response_dto.py +5 -5
  144. immichpy/client/generated/models/asset_type_enum.py +2 -2
  145. immichpy/client/generated/models/asset_visibility.py +2 -2
  146. immichpy/client/generated/models/audio_codec.py +2 -2
  147. immichpy/client/generated/models/auth_status_response_dto.py +12 -6
  148. immichpy/client/generated/models/avatar_update.py +3 -3
  149. immichpy/client/generated/models/bulk_id_error_reason.py +2 -2
  150. immichpy/client/generated/models/bulk_id_response_dto.py +14 -5
  151. immichpy/client/generated/models/bulk_ids_dto.py +3 -3
  152. immichpy/client/generated/models/cast_response.py +4 -2
  153. immichpy/client/generated/models/cast_update.py +4 -2
  154. immichpy/client/generated/models/change_password_dto.py +6 -4
  155. immichpy/client/generated/models/check_existing_assets_dto.py +3 -3
  156. immichpy/client/generated/models/check_existing_assets_response_dto.py +4 -2
  157. immichpy/client/generated/models/clip_config.py +5 -3
  158. immichpy/client/generated/models/colorspace.py +1 -1
  159. immichpy/client/generated/models/contributor_count_response_dto.py +5 -3
  160. immichpy/client/generated/models/cq_mode.py +2 -2
  161. immichpy/client/generated/models/create_album_dto.py +9 -5
  162. immichpy/client/generated/models/create_library_dto.py +9 -5
  163. immichpy/client/generated/models/create_profile_image_response_dto.py +8 -4
  164. immichpy/client/generated/models/crop_parameters.py +105 -0
  165. immichpy/client/generated/models/database_backup_config.py +6 -4
  166. immichpy/client/generated/models/database_backup_delete_dto.py +82 -0
  167. immichpy/client/generated/models/database_backup_dto.py +85 -0
  168. immichpy/client/generated/models/database_backup_list_response_dto.py +98 -0
  169. immichpy/client/generated/models/download_archive_info.py +5 -3
  170. immichpy/client/generated/models/download_info_dto.py +11 -5
  171. immichpy/client/generated/models/download_response.py +8 -3
  172. immichpy/client/generated/models/download_response_dto.py +3 -3
  173. immichpy/client/generated/models/download_update.py +5 -3
  174. immichpy/client/generated/models/duplicate_detection_config.py +6 -3
  175. immichpy/client/generated/models/duplicate_response_dto.py +5 -3
  176. immichpy/client/generated/models/email_notifications_response.py +10 -4
  177. immichpy/client/generated/models/email_notifications_update.py +14 -4
  178. immichpy/client/generated/models/exif_response_dto.py +47 -23
  179. immichpy/client/generated/models/face_dto.py +3 -3
  180. immichpy/client/generated/models/facial_recognition_config.py +15 -6
  181. immichpy/client/generated/models/folders_response.py +5 -3
  182. immichpy/client/generated/models/folders_update.py +9 -3
  183. immichpy/client/generated/models/image_format.py +2 -2
  184. immichpy/client/generated/models/job_create_dto.py +3 -3
  185. immichpy/client/generated/models/job_name.py +3 -2
  186. immichpy/client/generated/models/job_settings_dto.py +4 -2
  187. immichpy/client/generated/models/library_response_dto.py +16 -10
  188. immichpy/client/generated/models/library_stats_response_dto.py +6 -6
  189. immichpy/client/generated/models/license_key_dto.py +7 -3
  190. immichpy/client/generated/models/license_response_dto.py +8 -4
  191. immichpy/client/generated/models/log_level.py +1 -1
  192. immichpy/client/generated/models/login_credential_dto.py +4 -4
  193. immichpy/client/generated/models/login_response_dto.py +13 -9
  194. immichpy/client/generated/models/logout_response_dto.py +3 -3
  195. immichpy/client/generated/models/machine_learning_availability_checks_dto.py +3 -3
  196. immichpy/client/generated/models/maintenance_action.py +4 -2
  197. immichpy/client/generated/models/maintenance_auth_dto.py +3 -3
  198. immichpy/client/generated/models/maintenance_detect_install_response_dto.py +101 -0
  199. immichpy/client/generated/models/maintenance_detect_install_storage_folder_dto.py +95 -0
  200. immichpy/client/generated/models/maintenance_login_dto.py +3 -3
  201. immichpy/client/generated/models/maintenance_status_response_dto.py +109 -0
  202. immichpy/client/generated/models/manual_job_name.py +2 -2
  203. immichpy/client/generated/models/map_marker_response_dto.py +8 -8
  204. immichpy/client/generated/models/map_reverse_geocode_response_dto.py +5 -5
  205. immichpy/client/generated/models/memories_response.py +4 -4
  206. immichpy/client/generated/models/memories_update.py +7 -3
  207. immichpy/client/generated/models/memory_create_dto.py +12 -6
  208. immichpy/client/generated/models/memory_response_dto.py +20 -12
  209. immichpy/client/generated/models/memory_search_order.py +1 -1
  210. immichpy/client/generated/models/memory_statistics_response_dto.py +3 -3
  211. immichpy/client/generated/models/memory_type.py +1 -1
  212. immichpy/client/generated/models/memory_update_dto.py +10 -4
  213. immichpy/client/generated/models/merge_person_dto.py +3 -3
  214. immichpy/client/generated/models/metadata_search_dto.py +124 -46
  215. immichpy/client/generated/models/{asset_metadata_key.py → mirror_axis.py} +6 -5
  216. immichpy/client/generated/models/mirror_parameters.py +83 -0
  217. immichpy/client/generated/models/notification_create_dto.py +18 -8
  218. immichpy/client/generated/models/notification_delete_all_dto.py +3 -3
  219. immichpy/client/generated/models/notification_dto.py +15 -9
  220. immichpy/client/generated/models/notification_level.py +1 -1
  221. immichpy/client/generated/models/notification_type.py +1 -1
  222. immichpy/client/generated/models/notification_update_all_dto.py +5 -3
  223. immichpy/client/generated/models/notification_update_dto.py +4 -2
  224. immichpy/client/generated/models/o_auth_authorize_response_dto.py +3 -3
  225. immichpy/client/generated/models/o_auth_callback_dto.py +8 -4
  226. immichpy/client/generated/models/o_auth_config_dto.py +10 -4
  227. immichpy/client/generated/models/o_auth_token_endpoint_auth_method.py +2 -2
  228. immichpy/client/generated/models/ocr_config.py +14 -6
  229. immichpy/client/generated/models/on_this_day_dto.py +2 -2
  230. immichpy/client/generated/models/onboarding_dto.py +4 -2
  231. immichpy/client/generated/models/onboarding_response_dto.py +4 -2
  232. immichpy/client/generated/models/partner_create_dto.py +4 -2
  233. immichpy/client/generated/models/partner_direction.py +1 -1
  234. immichpy/client/generated/models/partner_response_dto.py +16 -8
  235. immichpy/client/generated/models/partner_update_dto.py +4 -2
  236. immichpy/client/generated/models/people_response.py +5 -3
  237. immichpy/client/generated/models/people_response_dto.py +7 -5
  238. immichpy/client/generated/models/people_update.py +9 -3
  239. immichpy/client/generated/models/people_update_dto.py +3 -3
  240. immichpy/client/generated/models/people_update_item.py +10 -10
  241. immichpy/client/generated/models/permission.py +13 -2
  242. immichpy/client/generated/models/person_create_dto.py +8 -8
  243. immichpy/client/generated/models/person_response_dto.py +17 -9
  244. immichpy/client/generated/models/person_statistics_response_dto.py +3 -3
  245. immichpy/client/generated/models/person_update_dto.py +9 -9
  246. immichpy/client/generated/models/person_with_faces_response_dto.py +20 -10
  247. immichpy/client/generated/models/pin_code_change_dto.py +10 -4
  248. immichpy/client/generated/models/pin_code_reset_dto.py +7 -3
  249. immichpy/client/generated/models/pin_code_setup_dto.py +2 -2
  250. immichpy/client/generated/models/places_response_dto.py +11 -7
  251. immichpy/client/generated/models/plugin_action_response_dto.py +13 -9
  252. immichpy/client/generated/models/{plugin_context.py → plugin_context_type.py} +4 -4
  253. immichpy/client/generated/models/plugin_filter_response_dto.py +13 -9
  254. immichpy/client/generated/models/plugin_response_dto.py +11 -11
  255. immichpy/client/generated/models/plugin_trigger_response_dto.py +89 -0
  256. immichpy/client/generated/models/plugin_trigger_type.py +2 -2
  257. immichpy/client/generated/models/purchase_response.py +7 -3
  258. immichpy/client/generated/models/purchase_update.py +7 -3
  259. immichpy/client/generated/models/queue_command.py +2 -2
  260. immichpy/client/generated/models/queue_command_dto.py +6 -4
  261. immichpy/client/generated/models/queue_delete_dto.py +1 -1
  262. immichpy/client/generated/models/queue_job_response_dto.py +6 -6
  263. immichpy/client/generated/models/queue_job_status.py +1 -1
  264. immichpy/client/generated/models/queue_name.py +2 -1
  265. immichpy/client/generated/models/queue_response_dto.py +5 -3
  266. immichpy/client/generated/models/queue_response_legacy_dto.py +1 -1
  267. immichpy/client/generated/models/queue_statistics_dto.py +8 -8
  268. immichpy/client/generated/models/queue_status_legacy_dto.py +8 -3
  269. immichpy/client/generated/models/queue_update_dto.py +4 -2
  270. immichpy/client/generated/models/queues_response_legacy_dto.py +9 -1
  271. immichpy/client/generated/models/random_search_dto.py +96 -34
  272. immichpy/client/generated/models/ratings_response.py +3 -3
  273. immichpy/client/generated/models/ratings_update.py +5 -3
  274. immichpy/client/generated/models/reaction_level.py +1 -1
  275. immichpy/client/generated/models/reaction_type.py +1 -1
  276. immichpy/client/generated/models/reverse_geocoding_state_response_dto.py +7 -3
  277. immichpy/client/generated/models/rotate_parameters.py +84 -0
  278. immichpy/client/generated/models/search_album_response_dto.py +4 -4
  279. immichpy/client/generated/models/search_asset_response_dto.py +6 -4
  280. immichpy/client/generated/models/search_explore_item.py +3 -3
  281. immichpy/client/generated/models/search_explore_response_dto.py +2 -2
  282. immichpy/client/generated/models/search_facet_count_response_dto.py +4 -4
  283. immichpy/client/generated/models/search_facet_response_dto.py +3 -3
  284. immichpy/client/generated/models/search_response_dto.py +1 -1
  285. immichpy/client/generated/models/search_statistics_response_dto.py +3 -3
  286. immichpy/client/generated/models/search_suggestion_type.py +1 -1
  287. immichpy/client/generated/models/server_about_response_dto.py +46 -22
  288. immichpy/client/generated/models/server_apk_links_dto.py +12 -6
  289. immichpy/client/generated/models/server_config_dto.py +36 -12
  290. immichpy/client/generated/models/server_features_dto.py +32 -16
  291. immichpy/client/generated/models/server_media_types_response_dto.py +5 -5
  292. immichpy/client/generated/models/server_ping_response.py +1 -1
  293. immichpy/client/generated/models/server_stats_response_dto.py +10 -6
  294. immichpy/client/generated/models/server_storage_response_dto.py +21 -8
  295. immichpy/client/generated/models/server_theme_dto.py +4 -2
  296. immichpy/client/generated/models/server_version_history_response_dto.py +6 -4
  297. immichpy/client/generated/models/server_version_response_dto.py +5 -5
  298. immichpy/client/generated/models/session_create_dto.py +8 -4
  299. immichpy/client/generated/models/session_create_response_dto.py +17 -11
  300. immichpy/client/generated/models/session_response_dto.py +16 -10
  301. immichpy/client/generated/models/session_unlock_dto.py +7 -3
  302. immichpy/client/generated/models/session_update_dto.py +2 -2
  303. immichpy/client/generated/models/set_maintenance_mode_dto.py +17 -7
  304. immichpy/client/generated/models/shared_link_create_dto.py +25 -11
  305. immichpy/client/generated/models/shared_link_edit_dto.py +19 -9
  306. immichpy/client/generated/models/shared_link_response_dto.py +18 -14
  307. immichpy/client/generated/models/shared_link_type.py +2 -2
  308. immichpy/client/generated/models/shared_links_response.py +5 -3
  309. immichpy/client/generated/models/shared_links_update.py +9 -3
  310. immichpy/client/generated/models/sign_up_dto.py +5 -5
  311. immichpy/client/generated/models/smart_search_dto.py +102 -36
  312. immichpy/client/generated/models/source_type.py +2 -2
  313. immichpy/client/generated/models/stack_create_dto.py +2 -2
  314. immichpy/client/generated/models/stack_response_dto.py +6 -4
  315. immichpy/client/generated/models/stack_update_dto.py +4 -2
  316. immichpy/client/generated/models/statistics_search_dto.py +86 -30
  317. immichpy/client/generated/models/storage_folder.py +38 -0
  318. immichpy/client/generated/models/sync_ack_delete_dto.py +5 -3
  319. immichpy/client/generated/models/sync_ack_dto.py +4 -4
  320. immichpy/client/generated/models/sync_ack_set_dto.py +4 -2
  321. immichpy/client/generated/models/sync_album_delete_v1.py +2 -2
  322. immichpy/client/generated/models/sync_album_to_asset_delete_v1.py +3 -3
  323. immichpy/client/generated/models/sync_album_to_asset_v1.py +3 -3
  324. immichpy/client/generated/models/sync_album_user_delete_v1.py +3 -3
  325. immichpy/client/generated/models/sync_album_user_v1.py +4 -4
  326. immichpy/client/generated/models/sync_album_v1.py +13 -9
  327. immichpy/client/generated/models/sync_asset_delete_v1.py +2 -2
  328. immichpy/client/generated/models/sync_asset_exif_v1.py +46 -26
  329. immichpy/client/generated/models/sync_asset_face_delete_v1.py +2 -2
  330. immichpy/client/generated/models/sync_asset_face_v1.py +5 -5
  331. immichpy/client/generated/models/sync_asset_metadata_delete_v1.py +3 -4
  332. immichpy/client/generated/models/sync_asset_metadata_v1.py +4 -5
  333. immichpy/client/generated/models/sync_asset_v1.py +47 -18
  334. immichpy/client/generated/models/sync_auth_user_v1.py +22 -12
  335. immichpy/client/generated/models/sync_entity_type.py +2 -2
  336. immichpy/client/generated/models/sync_memory_asset_delete_v1.py +3 -3
  337. immichpy/client/generated/models/sync_memory_asset_v1.py +3 -3
  338. immichpy/client/generated/models/sync_memory_delete_v1.py +2 -2
  339. immichpy/client/generated/models/sync_memory_v1.py +13 -13
  340. immichpy/client/generated/models/sync_partner_delete_v1.py +5 -3
  341. immichpy/client/generated/models/sync_partner_v1.py +6 -4
  342. immichpy/client/generated/models/sync_person_delete_v1.py +2 -2
  343. immichpy/client/generated/models/sync_person_v1.py +13 -11
  344. immichpy/client/generated/models/sync_request_type.py +2 -2
  345. immichpy/client/generated/models/sync_stack_delete_v1.py +2 -2
  346. immichpy/client/generated/models/sync_stack_v1.py +8 -6
  347. immichpy/client/generated/models/sync_stream_dto.py +4 -4
  348. immichpy/client/generated/models/sync_user_delete_v1.py +2 -2
  349. immichpy/client/generated/models/sync_user_metadata_delete_v1.py +3 -3
  350. immichpy/client/generated/models/sync_user_metadata_v1.py +4 -4
  351. immichpy/client/generated/models/sync_user_v1.py +16 -8
  352. immichpy/client/generated/models/system_config_backups_dto.py +1 -1
  353. immichpy/client/generated/models/system_config_dto.py +1 -1
  354. immichpy/client/generated/models/system_config_f_fmpeg_dto.py +44 -22
  355. immichpy/client/generated/models/system_config_faces_dto.py +2 -2
  356. immichpy/client/generated/models/system_config_generated_fullsize_image_dto.py +13 -7
  357. immichpy/client/generated/models/system_config_generated_image_dto.py +14 -8
  358. immichpy/client/generated/models/system_config_image_dto.py +5 -3
  359. immichpy/client/generated/models/system_config_job_dto.py +9 -1
  360. immichpy/client/generated/models/system_config_library_dto.py +1 -1
  361. immichpy/client/generated/models/system_config_library_scan_dto.py +2 -2
  362. immichpy/client/generated/models/system_config_library_watch_dto.py +3 -3
  363. immichpy/client/generated/models/system_config_logging_dto.py +3 -3
  364. immichpy/client/generated/models/system_config_machine_learning_dto.py +2 -2
  365. immichpy/client/generated/models/system_config_map_dto.py +2 -2
  366. immichpy/client/generated/models/system_config_metadata_dto.py +1 -1
  367. immichpy/client/generated/models/system_config_new_version_check_dto.py +3 -3
  368. immichpy/client/generated/models/system_config_nightly_tasks_dto.py +16 -6
  369. immichpy/client/generated/models/system_config_notifications_dto.py +1 -1
  370. immichpy/client/generated/models/system_config_o_auth_dto.py +28 -18
  371. immichpy/client/generated/models/system_config_password_login_dto.py +3 -3
  372. immichpy/client/generated/models/system_config_reverse_geocoding_dto.py +3 -3
  373. immichpy/client/generated/models/system_config_server_dto.py +8 -4
  374. immichpy/client/generated/models/system_config_smtp_dto.py +8 -4
  375. immichpy/client/generated/models/system_config_smtp_transport_dto.py +9 -7
  376. immichpy/client/generated/models/system_config_storage_template_dto.py +6 -4
  377. immichpy/client/generated/models/system_config_template_emails_dto.py +1 -1
  378. immichpy/client/generated/models/system_config_template_storage_option_dto.py +32 -9
  379. immichpy/client/generated/models/system_config_templates_dto.py +1 -1
  380. immichpy/client/generated/models/system_config_theme_dto.py +4 -2
  381. immichpy/client/generated/models/system_config_trash_dto.py +3 -3
  382. immichpy/client/generated/models/system_config_user_dto.py +4 -2
  383. immichpy/client/generated/models/tag_bulk_assets_dto.py +3 -3
  384. immichpy/client/generated/models/tag_bulk_assets_response_dto.py +3 -3
  385. immichpy/client/generated/models/tag_create_dto.py +8 -4
  386. immichpy/client/generated/models/tag_response_dto.py +10 -8
  387. immichpy/client/generated/models/tag_update_dto.py +3 -3
  388. immichpy/client/generated/models/tag_upsert_dto.py +3 -3
  389. immichpy/client/generated/models/tags_response.py +5 -3
  390. immichpy/client/generated/models/tags_update.py +9 -3
  391. immichpy/client/generated/models/template_dto.py +3 -3
  392. immichpy/client/generated/models/template_response_dto.py +4 -4
  393. immichpy/client/generated/models/test_email_response_dto.py +2 -2
  394. immichpy/client/generated/models/time_bucket_asset_response_dto.py +2 -3
  395. immichpy/client/generated/models/time_buckets_response_dto.py +1 -1
  396. immichpy/client/generated/models/tone_mapping.py +2 -2
  397. immichpy/client/generated/models/transcode_hw_accel.py +2 -2
  398. immichpy/client/generated/models/transcode_policy.py +2 -2
  399. immichpy/client/generated/models/trash_response_dto.py +3 -3
  400. immichpy/client/generated/models/update_album_dto.py +12 -6
  401. immichpy/client/generated/models/update_album_user_dto.py +3 -3
  402. immichpy/client/generated/models/update_asset_dto.py +21 -9
  403. immichpy/client/generated/models/update_library_dto.py +8 -4
  404. immichpy/client/generated/models/usage_by_user_dto.py +16 -9
  405. immichpy/client/generated/models/user_admin_create_dto.py +20 -10
  406. immichpy/client/generated/models/user_admin_delete_dto.py +5 -3
  407. immichpy/client/generated/models/user_admin_response_dto.py +35 -18
  408. immichpy/client/generated/models/user_admin_update_dto.py +20 -10
  409. immichpy/client/generated/models/user_avatar_color.py +2 -2
  410. immichpy/client/generated/models/user_license.py +6 -4
  411. immichpy/client/generated/models/user_metadata_key.py +2 -2
  412. immichpy/client/generated/models/user_preferences_response_dto.py +1 -1
  413. immichpy/client/generated/models/user_preferences_update_dto.py +1 -1
  414. immichpy/client/generated/models/user_response_dto.py +13 -7
  415. immichpy/client/generated/models/user_status.py +2 -2
  416. immichpy/client/generated/models/user_update_me_dto.py +10 -5
  417. immichpy/client/generated/models/validate_access_token_response_dto.py +4 -2
  418. immichpy/client/generated/models/validate_library_dto.py +9 -3
  419. immichpy/client/generated/models/validate_library_import_path_response_dto.py +4 -4
  420. immichpy/client/generated/models/validate_library_response_dto.py +4 -2
  421. immichpy/client/generated/models/version_check_state_response_dto.py +7 -3
  422. immichpy/client/generated/models/video_codec.py +2 -2
  423. immichpy/client/generated/models/video_container.py +2 -2
  424. immichpy/client/generated/models/workflow_action_item_dto.py +7 -3
  425. immichpy/client/generated/models/workflow_action_response_dto.py +10 -6
  426. immichpy/client/generated/models/workflow_create_dto.py +11 -7
  427. immichpy/client/generated/models/workflow_filter_item_dto.py +7 -3
  428. immichpy/client/generated/models/workflow_filter_response_dto.py +10 -6
  429. immichpy/client/generated/models/workflow_response_dto.py +14 -27
  430. immichpy/client/generated/models/workflow_update_dto.py +19 -7
  431. immichpy/client/generated/rest.py +1 -1
  432. immichpy/client/main.py +4 -1
  433. {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/METADATA +1 -3
  434. immichpy-1.7.6.dist-info/RECORD +464 -0
  435. immichpy-1.6.5.dist-info/RECORD +0 -439
  436. {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/WHEEL +0 -0
  437. {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/entry_points.txt +0 -0
  438. {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/licenses/LICENSE +0 -0
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -17,8 +17,17 @@ import re # noqa: F401
17
17
  import json
18
18
 
19
19
  from datetime import datetime
20
- from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
21
- from typing import Any, ClassVar, Dict, List, Optional
20
+ from pydantic import (
21
+ BaseModel,
22
+ ConfigDict,
23
+ Field,
24
+ StrictBool,
25
+ StrictFloat,
26
+ StrictInt,
27
+ StrictStr,
28
+ )
29
+ from typing import Any, ClassVar, Dict, List, Optional, Union
30
+ from uuid import UUID
22
31
  from immichpy.client.generated.models.asset_face_without_person_response_dto import (
23
32
  AssetFaceWithoutPersonResponseDto,
24
33
  )
@@ -42,15 +51,19 @@ class AssetResponseDto(BaseModel):
42
51
  AssetResponseDto
43
52
  """ # noqa: E501
44
53
 
45
- checksum: StrictStr = Field(description="base64 encoded sha1 hash")
54
+ checksum: StrictStr = Field(description="Base64 encoded SHA1 hash")
46
55
  created_at: datetime = Field(
47
56
  description="The UTC timestamp when the asset was originally uploaded to Immich.",
48
57
  alias="createdAt",
49
58
  )
50
- device_asset_id: StrictStr = Field(alias="deviceAssetId")
51
- device_id: StrictStr = Field(alias="deviceId")
52
- duplicate_id: Optional[StrictStr] = Field(default=None, alias="duplicateId")
53
- duration: StrictStr
59
+ device_asset_id: StrictStr = Field(
60
+ description="Device asset ID", alias="deviceAssetId"
61
+ )
62
+ device_id: StrictStr = Field(description="Device ID", alias="deviceId")
63
+ duplicate_id: Optional[StrictStr] = Field(
64
+ default=None, description="Duplicate group ID", alias="duplicateId"
65
+ )
66
+ duration: StrictStr = Field(description="Video duration (for videos)")
54
67
  exif_info: Optional[ExifResponseDto] = Field(default=None, alias="exifInfo")
55
68
  file_created_at: datetime = Field(
56
69
  description="The actual UTC timestamp when the file was created/captured, preserving timezone information. This is the authoritative timestamp for chronological sorting within timeline groups. Combined with timezone data, this can be used to determine the exact moment the photo was taken.",
@@ -60,33 +73,45 @@ class AssetResponseDto(BaseModel):
60
73
  description="The UTC timestamp when the file was last modified on the filesystem. This reflects the last time the physical file was changed, which may be different from when the photo was originally taken.",
61
74
  alias="fileModifiedAt",
62
75
  )
63
- has_metadata: StrictBool = Field(alias="hasMetadata")
64
- id: StrictStr
65
- is_archived: StrictBool = Field(alias="isArchived")
66
- is_favorite: StrictBool = Field(alias="isFavorite")
67
- is_offline: StrictBool = Field(alias="isOffline")
68
- is_trashed: StrictBool = Field(alias="isTrashed")
69
- library_id: Optional[StrictStr] = Field(default=None, alias="libraryId")
76
+ has_metadata: StrictBool = Field(
77
+ description="Whether asset has metadata", alias="hasMetadata"
78
+ )
79
+ height: Optional[Union[StrictFloat, StrictInt]] = Field(description="Asset height")
80
+ id: StrictStr = Field(description="Asset ID")
81
+ is_archived: StrictBool = Field(description="Is archived", alias="isArchived")
82
+ is_edited: StrictBool = Field(description="Is edited", alias="isEdited")
83
+ is_favorite: StrictBool = Field(description="Is favorite", alias="isFavorite")
84
+ is_offline: StrictBool = Field(description="Is offline", alias="isOffline")
85
+ is_trashed: StrictBool = Field(description="Is trashed", alias="isTrashed")
86
+ library_id: Optional[UUID] = Field(
87
+ default=None, description="Library ID", alias="libraryId"
88
+ )
70
89
  live_photo_video_id: Optional[StrictStr] = Field(
71
- default=None, alias="livePhotoVideoId"
90
+ default=None, description="Live photo video ID", alias="livePhotoVideoId"
72
91
  )
73
92
  local_date_time: datetime = Field(
74
93
  description='The local date and time when the photo/video was taken, derived from EXIF metadata. This represents the photographer\'s local time regardless of timezone, stored as a timezone-agnostic timestamp. Used for timeline grouping by "local" days and months.',
75
94
  alias="localDateTime",
76
95
  )
77
- original_file_name: StrictStr = Field(alias="originalFileName")
96
+ original_file_name: StrictStr = Field(
97
+ description="Original file name", alias="originalFileName"
98
+ )
78
99
  original_mime_type: Optional[StrictStr] = Field(
79
- default=None, alias="originalMimeType"
100
+ default=None, description="Original MIME type", alias="originalMimeType"
101
+ )
102
+ original_path: StrictStr = Field(
103
+ description="Original file path", alias="originalPath"
80
104
  )
81
- original_path: StrictStr = Field(alias="originalPath")
82
105
  owner: Optional[UserResponseDto] = None
83
- owner_id: StrictStr = Field(alias="ownerId")
106
+ owner_id: StrictStr = Field(description="Owner user ID", alias="ownerId")
84
107
  people: Optional[List[PersonWithFacesResponseDto]] = None
85
- resized: Optional[StrictBool] = None
108
+ resized: Optional[StrictBool] = Field(default=None, description="Is resized")
86
109
  stack: Optional[AssetStackResponseDto] = None
87
110
  tags: Optional[List[TagResponseDto]] = None
88
- thumbhash: Optional[StrictStr]
89
- type: AssetTypeEnum
111
+ thumbhash: Optional[StrictStr] = Field(
112
+ description="Thumbhash for thumbnail generation"
113
+ )
114
+ type: AssetTypeEnum = Field(description="Asset type")
90
115
  unassigned_faces: Optional[List[AssetFaceWithoutPersonResponseDto]] = Field(
91
116
  default=None, alias="unassignedFaces"
92
117
  )
@@ -94,7 +119,8 @@ class AssetResponseDto(BaseModel):
94
119
  description="The UTC timestamp when the asset record was last updated in the database. This is automatically maintained by the database and reflects when any field in the asset was last modified.",
95
120
  alias="updatedAt",
96
121
  )
97
- visibility: AssetVisibility
122
+ visibility: AssetVisibility = Field(description="Asset visibility")
123
+ width: Optional[Union[StrictFloat, StrictInt]] = Field(description="Asset width")
98
124
  __properties: ClassVar[List[str]] = [
99
125
  "checksum",
100
126
  "createdAt",
@@ -106,8 +132,10 @@ class AssetResponseDto(BaseModel):
106
132
  "fileCreatedAt",
107
133
  "fileModifiedAt",
108
134
  "hasMetadata",
135
+ "height",
109
136
  "id",
110
137
  "isArchived",
138
+ "isEdited",
111
139
  "isFavorite",
112
140
  "isOffline",
113
141
  "isTrashed",
@@ -128,6 +156,7 @@ class AssetResponseDto(BaseModel):
128
156
  "unassignedFaces",
129
157
  "updatedAt",
130
158
  "visibility",
159
+ "width",
131
160
  ]
132
161
 
133
162
  model_config = ConfigDict(
@@ -202,6 +231,11 @@ class AssetResponseDto(BaseModel):
202
231
  if self.duplicate_id is None and "duplicate_id" in self.model_fields_set:
203
232
  _dict["duplicateId"] = None
204
233
 
234
+ # set to None if height (nullable) is None
235
+ # and model_fields_set contains the field
236
+ if self.height is None and "height" in self.model_fields_set:
237
+ _dict["height"] = None
238
+
205
239
  # set to None if library_id (nullable) is None
206
240
  # and model_fields_set contains the field
207
241
  if self.library_id is None and "library_id" in self.model_fields_set:
@@ -225,6 +259,11 @@ class AssetResponseDto(BaseModel):
225
259
  if self.thumbhash is None and "thumbhash" in self.model_fields_set:
226
260
  _dict["thumbhash"] = None
227
261
 
262
+ # set to None if width (nullable) is None
263
+ # and model_fields_set contains the field
264
+ if self.width is None and "width" in self.model_fields_set:
265
+ _dict["width"] = None
266
+
228
267
  return _dict
229
268
 
230
269
  @classmethod
@@ -250,8 +289,10 @@ class AssetResponseDto(BaseModel):
250
289
  "fileCreatedAt": obj.get("fileCreatedAt"),
251
290
  "fileModifiedAt": obj.get("fileModifiedAt"),
252
291
  "hasMetadata": obj.get("hasMetadata"),
292
+ "height": obj.get("height"),
253
293
  "id": obj.get("id"),
254
294
  "isArchived": obj.get("isArchived"),
295
+ "isEdited": obj.get("isEdited"),
255
296
  "isFavorite": obj.get("isFavorite"),
256
297
  "isOffline": obj.get("isOffline"),
257
298
  "isTrashed": obj.get("isTrashed"),
@@ -288,6 +329,7 @@ class AssetResponseDto(BaseModel):
288
329
  else None,
289
330
  "updatedAt": obj.get("updatedAt"),
290
331
  "visibility": obj.get("visibility"),
332
+ "width": obj.get("width"),
291
333
  }
292
334
  )
293
335
  return _obj
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -27,9 +27,13 @@ class AssetStackResponseDto(BaseModel):
27
27
  AssetStackResponseDto
28
28
  """ # noqa: E501
29
29
 
30
- asset_count: StrictInt = Field(alias="assetCount")
31
- id: StrictStr
32
- primary_asset_id: StrictStr = Field(alias="primaryAssetId")
30
+ asset_count: StrictInt = Field(
31
+ description="Number of assets in stack", alias="assetCount"
32
+ )
33
+ id: StrictStr = Field(description="Stack ID")
34
+ primary_asset_id: StrictStr = Field(
35
+ description="Primary asset ID", alias="primaryAssetId"
36
+ )
33
37
  __properties: ClassVar[List[str]] = ["assetCount", "id", "primaryAssetId"]
34
38
 
35
39
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -16,7 +16,7 @@ import pprint
16
16
  import re # noqa: F401
17
17
  import json
18
18
 
19
- from pydantic import BaseModel, ConfigDict, StrictInt
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictInt
20
20
  from typing import Any, ClassVar, Dict, List
21
21
  from typing import Optional, Set
22
22
  from typing_extensions import Self
@@ -27,9 +27,9 @@ class AssetStatsResponseDto(BaseModel):
27
27
  AssetStatsResponseDto
28
28
  """ # noqa: E501
29
29
 
30
- images: StrictInt
31
- total: StrictInt
32
- videos: StrictInt
30
+ images: StrictInt = Field(description="Number of images")
31
+ total: StrictInt = Field(description="Total number of assets")
32
+ videos: StrictInt = Field(description="Number of videos")
33
33
  __properties: ClassVar[List[str]] = ["images", "total", "videos"]
34
34
 
35
35
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -19,7 +19,7 @@ from typing_extensions import Self
19
19
 
20
20
  class AssetTypeEnum(str, Enum):
21
21
  """
22
- AssetTypeEnum
22
+ Asset type
23
23
  """
24
24
 
25
25
  """
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -19,7 +19,7 @@ from typing_extensions import Self
19
19
 
20
20
  class AssetVisibility(str, Enum):
21
21
  """
22
- AssetVisibility
22
+ Asset visibility
23
23
  """
24
24
 
25
25
  """
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -19,7 +19,7 @@ from typing_extensions import Self
19
19
 
20
20
  class AudioCodec(str, Enum):
21
21
  """
22
- AudioCodec
22
+ Target audio codec
23
23
  """
24
24
 
25
25
  """
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -27,11 +27,17 @@ class AuthStatusResponseDto(BaseModel):
27
27
  AuthStatusResponseDto
28
28
  """ # noqa: E501
29
29
 
30
- expires_at: Optional[StrictStr] = Field(default=None, alias="expiresAt")
31
- is_elevated: StrictBool = Field(alias="isElevated")
32
- password: StrictBool
33
- pin_code: StrictBool = Field(alias="pinCode")
34
- pin_expires_at: Optional[StrictStr] = Field(default=None, alias="pinExpiresAt")
30
+ expires_at: Optional[StrictStr] = Field(
31
+ default=None, description="Session expiration date", alias="expiresAt"
32
+ )
33
+ is_elevated: StrictBool = Field(
34
+ description="Is elevated session", alias="isElevated"
35
+ )
36
+ password: StrictBool = Field(description="Has password set")
37
+ pin_code: StrictBool = Field(description="Has PIN code set", alias="pinCode")
38
+ pin_expires_at: Optional[StrictStr] = Field(
39
+ default=None, description="PIN expiration date", alias="pinExpiresAt"
40
+ )
35
41
  __properties: ClassVar[List[str]] = [
36
42
  "expiresAt",
37
43
  "isElevated",
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -16,7 +16,7 @@ import pprint
16
16
  import re # noqa: F401
17
17
  import json
18
18
 
19
- from pydantic import BaseModel, ConfigDict
19
+ from pydantic import BaseModel, ConfigDict, Field
20
20
  from typing import Any, ClassVar, Dict, List, Optional
21
21
  from immichpy.client.generated.models.user_avatar_color import UserAvatarColor
22
22
  from typing import Set
@@ -28,7 +28,7 @@ class AvatarUpdate(BaseModel):
28
28
  AvatarUpdate
29
29
  """ # noqa: E501
30
30
 
31
- color: Optional[UserAvatarColor] = None
31
+ color: Optional[UserAvatarColor] = Field(default=None, description="Avatar color")
32
32
  __properties: ClassVar[List[str]] = ["color"]
33
33
 
34
34
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -19,7 +19,7 @@ from typing_extensions import Self
19
19
 
20
20
  class BulkIdErrorReason(str, Enum):
21
21
  """
22
- BulkIdErrorReason
22
+ Error reason
23
23
  """
24
24
 
25
25
  """
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -16,7 +16,14 @@ import pprint
16
16
  import re # noqa: F401
17
17
  import json
18
18
 
19
- from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr, field_validator
19
+ from pydantic import (
20
+ BaseModel,
21
+ ConfigDict,
22
+ Field,
23
+ StrictBool,
24
+ StrictStr,
25
+ field_validator,
26
+ )
20
27
  from typing import Any, ClassVar, Dict, List, Optional
21
28
  from typing import Set
22
29
  from typing_extensions import Self
@@ -27,9 +34,11 @@ class BulkIdResponseDto(BaseModel):
27
34
  BulkIdResponseDto
28
35
  """ # noqa: E501
29
36
 
30
- error: Optional[StrictStr] = None
31
- id: StrictStr
32
- success: StrictBool
37
+ error: Optional[StrictStr] = Field(
38
+ default=None, description="Error reason if failed"
39
+ )
40
+ id: StrictStr = Field(description="ID")
41
+ success: StrictBool = Field(description="Whether operation succeeded")
33
42
  __properties: ClassVar[List[str]] = ["error", "id", "success"]
34
43
 
35
44
  @field_validator("error")
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -16,7 +16,7 @@ import pprint
16
16
  import re # noqa: F401
17
17
  import json
18
18
 
19
- from pydantic import BaseModel, ConfigDict
19
+ from pydantic import BaseModel, ConfigDict, Field
20
20
  from typing import Any, ClassVar, Dict, List
21
21
  from uuid import UUID
22
22
  from typing import Optional, Set
@@ -28,7 +28,7 @@ class BulkIdsDto(BaseModel):
28
28
  BulkIdsDto
29
29
  """ # noqa: E501
30
30
 
31
- ids: List[UUID]
31
+ ids: List[UUID] = Field(description="IDs to process")
32
32
  __properties: ClassVar[List[str]] = ["ids"]
33
33
 
34
34
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -27,7 +27,9 @@ class CastResponse(BaseModel):
27
27
  CastResponse
28
28
  """ # noqa: E501
29
29
 
30
- g_cast_enabled: StrictBool = Field(alias="gCastEnabled")
30
+ g_cast_enabled: StrictBool = Field(
31
+ description="Whether Google Cast is enabled", alias="gCastEnabled"
32
+ )
31
33
  __properties: ClassVar[List[str]] = ["gCastEnabled"]
32
34
 
33
35
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -27,7 +27,9 @@ class CastUpdate(BaseModel):
27
27
  CastUpdate
28
28
  """ # noqa: E501
29
29
 
30
- g_cast_enabled: Optional[StrictBool] = Field(default=None, alias="gCastEnabled")
30
+ g_cast_enabled: Optional[StrictBool] = Field(
31
+ default=None, description="Whether Google Cast is enabled", alias="gCastEnabled"
32
+ )
31
33
  __properties: ClassVar[List[str]] = ["gCastEnabled"]
32
34
 
33
35
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -29,12 +29,14 @@ class ChangePasswordDto(BaseModel):
29
29
  """ # noqa: E501
30
30
 
31
31
  invalidate_sessions: Optional[StrictBool] = Field(
32
- default=False, alias="invalidateSessions"
32
+ default=False,
33
+ description="Invalidate all other sessions",
34
+ alias="invalidateSessions",
33
35
  )
34
36
  new_password: Annotated[str, Field(min_length=8, strict=True)] = Field(
35
- alias="newPassword"
37
+ description="New password (min 8 characters)", alias="newPassword"
36
38
  )
37
- password: StrictStr
39
+ password: StrictStr = Field(description="Current password")
38
40
  __properties: ClassVar[List[str]] = [
39
41
  "invalidateSessions",
40
42
  "newPassword",
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -29,9 +29,9 @@ class CheckExistingAssetsDto(BaseModel):
29
29
  """ # noqa: E501
30
30
 
31
31
  device_asset_ids: Annotated[List[StrictStr], Field(min_length=1)] = Field(
32
- alias="deviceAssetIds"
32
+ description="Device asset IDs to check", alias="deviceAssetIds"
33
33
  )
34
- device_id: StrictStr = Field(alias="deviceId")
34
+ device_id: StrictStr = Field(description="Device ID", alias="deviceId")
35
35
  __properties: ClassVar[List[str]] = ["deviceAssetIds", "deviceId"]
36
36
 
37
37
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -27,7 +27,9 @@ class CheckExistingAssetsResponseDto(BaseModel):
27
27
  CheckExistingAssetsResponseDto
28
28
  """ # noqa: E501
29
29
 
30
- existing_ids: List[StrictStr] = Field(alias="existingIds")
30
+ existing_ids: List[StrictStr] = Field(
31
+ description="Existing asset IDs", alias="existingIds"
32
+ )
31
33
  __properties: ClassVar[List[str]] = ["existingIds"]
32
34
 
33
35
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -27,8 +27,10 @@ class CLIPConfig(BaseModel):
27
27
  CLIPConfig
28
28
  """ # noqa: E501
29
29
 
30
- enabled: StrictBool
31
- model_name: StrictStr = Field(alias="modelName")
30
+ enabled: StrictBool = Field(description="Whether the task is enabled")
31
+ model_name: StrictStr = Field(
32
+ description="Name of the model to use", alias="modelName"
33
+ )
32
34
  __properties: ClassVar[List[str]] = ["enabled", "modelName"]
33
35
 
34
36
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -27,8 +27,10 @@ class ContributorCountResponseDto(BaseModel):
27
27
  ContributorCountResponseDto
28
28
  """ # noqa: E501
29
29
 
30
- asset_count: StrictInt = Field(alias="assetCount")
31
- user_id: StrictStr = Field(alias="userId")
30
+ asset_count: StrictInt = Field(
31
+ description="Number of assets contributed", alias="assetCount"
32
+ )
33
+ user_id: StrictStr = Field(description="User ID", alias="userId")
32
34
  __properties: ClassVar[List[str]] = ["assetCount", "userId"]
33
35
 
34
36
  model_config = ConfigDict(
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -19,7 +19,7 @@ from typing_extensions import Self
19
19
 
20
20
  class CQMode(str, Enum):
21
21
  """
22
- CQMode
22
+ CQ mode
23
23
  """
24
24
 
25
25
  """
@@ -5,7 +5,7 @@ Immich
5
5
 
6
6
  Immich API
7
7
 
8
- The version of the OpenAPI document: 2.4.1
8
+ The version of the OpenAPI document: 2.5.2
9
9
  Generated by OpenAPI Generator (https://openapi-generator.tech)
10
10
 
11
11
  Do not edit the class manually.
@@ -29,12 +29,16 @@ class CreateAlbumDto(BaseModel):
29
29
  CreateAlbumDto
30
30
  """ # noqa: E501
31
31
 
32
- album_name: StrictStr = Field(alias="albumName")
32
+ album_name: StrictStr = Field(description="Album name", alias="albumName")
33
33
  album_users: Optional[List[AlbumUserCreateDto]] = Field(
34
- default=None, alias="albumUsers"
34
+ default=None, description="Album users", alias="albumUsers"
35
+ )
36
+ asset_ids: Optional[List[UUID]] = Field(
37
+ default=None, description="Initial asset IDs", alias="assetIds"
38
+ )
39
+ description: Optional[StrictStr] = Field(
40
+ default=None, description="Album description"
35
41
  )
36
- asset_ids: Optional[List[UUID]] = Field(default=None, alias="assetIds")
37
- description: Optional[StrictStr] = None
38
42
  __properties: ClassVar[List[str]] = [
39
43
  "albumName",
40
44
  "albumUsers",