immichpy 1.6.5__py3-none-any.whl → 1.7.5__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 (435) hide show
  1. immichpy/cli/commands/activities.py +23 -11
  2. immichpy/cli/commands/albums.py +34 -20
  3. immichpy/cli/commands/api_keys.py +6 -4
  4. immichpy/cli/commands/assets.py +274 -65
  5. immichpy/cli/commands/authentication.py +115 -25
  6. immichpy/cli/commands/database_backups_admin.py +111 -0
  7. immichpy/cli/commands/download.py +13 -5
  8. immichpy/cli/commands/duplicates.py +1 -1
  9. immichpy/cli/commands/faces.py +17 -11
  10. immichpy/cli/commands/jobs.py +6 -4
  11. immichpy/cli/commands/libraries.py +15 -9
  12. immichpy/cli/commands/maintenance_admin.py +39 -2
  13. immichpy/cli/commands/map.py +8 -8
  14. immichpy/cli/commands/memories.py +35 -21
  15. immichpy/cli/commands/notifications.py +16 -8
  16. immichpy/cli/commands/notifications_admin.py +43 -17
  17. immichpy/cli/commands/partners.py +9 -3
  18. immichpy/cli/commands/people.py +30 -24
  19. immichpy/cli/commands/plugins.py +14 -0
  20. immichpy/cli/commands/queues.py +8 -6
  21. immichpy/cli/commands/search.py +395 -189
  22. immichpy/cli/commands/server.py +6 -2
  23. immichpy/cli/commands/sessions.py +6 -4
  24. immichpy/cli/commands/shared_links.py +42 -25
  25. immichpy/cli/commands/stacks.py +4 -4
  26. immichpy/cli/commands/sync.py +26 -10
  27. immichpy/cli/commands/system_config.py +216 -115
  28. immichpy/cli/commands/system_metadata.py +3 -1
  29. immichpy/cli/commands/tags.py +9 -9
  30. immichpy/cli/commands/trash.py +1 -1
  31. immichpy/cli/commands/users.py +57 -29
  32. immichpy/cli/commands/users_admin.py +79 -45
  33. immichpy/cli/commands/workflows.py +40 -11
  34. immichpy/cli/main.py +8 -0
  35. immichpy/client/.openapi-generator/FILES +26 -2
  36. immichpy/client/generated/__init__.py +101 -7
  37. immichpy/client/generated/api/__init__.py +3 -0
  38. immichpy/client/generated/api/activities_api.py +73 -43
  39. immichpy/client/generated/api/albums_api.py +40 -19
  40. immichpy/client/generated/api/api_keys_api.py +1 -1
  41. immichpy/client/generated/api/assets_api.py +1768 -366
  42. immichpy/client/generated/api/authentication_admin_api.py +1 -1
  43. immichpy/client/generated/api/authentication_api.py +1 -1
  44. immichpy/client/generated/api/database_backups_admin_api.py +1224 -0
  45. immichpy/client/generated/api/deprecated_api.py +103 -73
  46. immichpy/client/generated/api/download_api.py +1 -1
  47. immichpy/client/generated/api/duplicates_api.py +1 -1
  48. immichpy/client/generated/api/faces_api.py +7 -7
  49. immichpy/client/generated/api/jobs_api.py +7 -7
  50. immichpy/client/generated/api/libraries_api.py +1 -1
  51. immichpy/client/generated/api/maintenance_admin_api.py +459 -1
  52. immichpy/client/generated/api/map_api.py +103 -49
  53. immichpy/client/generated/api/memories_api.py +109 -61
  54. immichpy/client/generated/api/notifications_admin_api.py +1 -1
  55. immichpy/client/generated/api/notifications_api.py +52 -25
  56. immichpy/client/generated/api/partners_api.py +7 -7
  57. immichpy/client/generated/api/people_api.py +37 -19
  58. immichpy/client/generated/api/plugins_api.py +230 -1
  59. immichpy/client/generated/api/queues_api.py +37 -31
  60. immichpy/client/generated/api/search_api.py +529 -283
  61. immichpy/client/generated/api/server_api.py +1 -1
  62. immichpy/client/generated/api/sessions_api.py +1 -1
  63. immichpy/client/generated/api/shared_links_api.py +53 -19
  64. immichpy/client/generated/api/stacks_api.py +13 -7
  65. immichpy/client/generated/api/sync_api.py +1 -1
  66. immichpy/client/generated/api/system_config_api.py +1 -1
  67. immichpy/client/generated/api/system_metadata_api.py +1 -1
  68. immichpy/client/generated/api/tags_api.py +1 -1
  69. immichpy/client/generated/api/timeline_api.py +1 -1
  70. immichpy/client/generated/api/trash_api.py +1 -1
  71. immichpy/client/generated/api/users_admin_api.py +55 -31
  72. immichpy/client/generated/api/users_api.py +16 -7
  73. immichpy/client/generated/api/views_api.py +1 -1
  74. immichpy/client/generated/api/workflows_api.py +1 -1
  75. immichpy/client/generated/api_client.py +1 -1
  76. immichpy/client/generated/configuration.py +2 -2
  77. immichpy/client/generated/exceptions.py +1 -1
  78. immichpy/client/generated/models/__init__.py +56 -3
  79. immichpy/client/generated/models/activity_create_dto.py +11 -5
  80. immichpy/client/generated/models/activity_response_dto.py +10 -6
  81. immichpy/client/generated/models/activity_statistics_response_dto.py +4 -4
  82. immichpy/client/generated/models/add_users_dto.py +2 -2
  83. immichpy/client/generated/models/admin_onboarding_update_dto.py +4 -2
  84. immichpy/client/generated/models/album_response_dto.py +28 -16
  85. immichpy/client/generated/models/album_statistics_response_dto.py +6 -4
  86. immichpy/client/generated/models/album_user_add_dto.py +3 -3
  87. immichpy/client/generated/models/album_user_create_dto.py +3 -3
  88. immichpy/client/generated/models/album_user_response_dto.py +3 -3
  89. immichpy/client/generated/models/album_user_role.py +2 -2
  90. immichpy/client/generated/models/albums_add_assets_dto.py +3 -3
  91. immichpy/client/generated/models/albums_add_assets_response_dto.py +4 -4
  92. immichpy/client/generated/models/albums_response.py +4 -2
  93. immichpy/client/generated/models/albums_update.py +5 -3
  94. immichpy/client/generated/models/api_key_create_dto.py +5 -3
  95. immichpy/client/generated/models/api_key_create_response_dto.py +2 -2
  96. immichpy/client/generated/models/api_key_response_dto.py +6 -6
  97. immichpy/client/generated/models/api_key_update_dto.py +5 -3
  98. immichpy/client/generated/models/asset_bulk_delete_dto.py +6 -4
  99. immichpy/client/generated/models/asset_bulk_update_dto.py +28 -12
  100. immichpy/client/generated/models/asset_bulk_upload_check_dto.py +3 -3
  101. immichpy/client/generated/models/asset_bulk_upload_check_item.py +3 -3
  102. immichpy/client/generated/models/asset_bulk_upload_check_response_dto.py +5 -3
  103. immichpy/client/generated/models/asset_bulk_upload_check_result.py +12 -6
  104. immichpy/client/generated/models/asset_copy_dto.py +16 -8
  105. immichpy/client/generated/models/asset_delta_sync_dto.py +5 -3
  106. immichpy/client/generated/models/asset_delta_sync_response_dto.py +6 -4
  107. immichpy/client/generated/models/asset_edit_action.py +35 -0
  108. immichpy/client/generated/models/asset_edit_action_crop.py +95 -0
  109. immichpy/client/generated/models/asset_edit_action_list_dto.py +104 -0
  110. immichpy/client/generated/models/asset_edit_action_list_dto_edits_inner.py +188 -0
  111. immichpy/client/generated/models/asset_edit_action_mirror.py +95 -0
  112. immichpy/client/generated/models/asset_edit_action_rotate.py +95 -0
  113. immichpy/client/generated/models/asset_edits_dto.py +107 -0
  114. immichpy/client/generated/models/asset_face_create_dto.py +13 -9
  115. immichpy/client/generated/models/asset_face_delete_dto.py +3 -3
  116. immichpy/client/generated/models/asset_face_response_dto.py +26 -10
  117. immichpy/client/generated/models/asset_face_update_dto.py +3 -3
  118. immichpy/client/generated/models/asset_face_update_item.py +3 -3
  119. immichpy/client/generated/models/asset_face_without_person_response_dto.py +23 -9
  120. immichpy/client/generated/models/asset_full_sync_dto.py +13 -5
  121. immichpy/client/generated/models/asset_ids_dto.py +2 -2
  122. immichpy/client/generated/models/asset_ids_response_dto.py +6 -4
  123. immichpy/client/generated/models/asset_job_name.py +2 -2
  124. immichpy/client/generated/models/asset_jobs_dto.py +3 -3
  125. immichpy/client/generated/models/asset_media_response_dto.py +4 -4
  126. immichpy/client/generated/models/asset_media_size.py +2 -1
  127. immichpy/client/generated/models/asset_media_status.py +2 -2
  128. immichpy/client/generated/models/asset_metadata_bulk_delete_dto.py +103 -0
  129. immichpy/client/generated/models/asset_metadata_bulk_delete_item_dto.py +86 -0
  130. immichpy/client/generated/models/asset_metadata_bulk_response_dto.py +93 -0
  131. immichpy/client/generated/models/asset_metadata_bulk_upsert_dto.py +103 -0
  132. immichpy/client/generated/models/asset_metadata_bulk_upsert_item_dto.py +91 -0
  133. immichpy/client/generated/models/asset_metadata_response_dto.py +5 -6
  134. immichpy/client/generated/models/asset_metadata_upsert_dto.py +5 -3
  135. immichpy/client/generated/models/asset_metadata_upsert_item_dto.py +4 -5
  136. immichpy/client/generated/models/asset_ocr_response_dto.py +1 -1
  137. immichpy/client/generated/models/asset_order.py +2 -2
  138. immichpy/client/generated/models/asset_response_dto.py +66 -24
  139. immichpy/client/generated/models/asset_stack_response_dto.py +8 -4
  140. immichpy/client/generated/models/asset_stats_response_dto.py +5 -5
  141. immichpy/client/generated/models/asset_type_enum.py +2 -2
  142. immichpy/client/generated/models/asset_visibility.py +2 -2
  143. immichpy/client/generated/models/audio_codec.py +2 -2
  144. immichpy/client/generated/models/auth_status_response_dto.py +12 -6
  145. immichpy/client/generated/models/avatar_update.py +3 -3
  146. immichpy/client/generated/models/bulk_id_error_reason.py +2 -2
  147. immichpy/client/generated/models/bulk_id_response_dto.py +14 -5
  148. immichpy/client/generated/models/bulk_ids_dto.py +3 -3
  149. immichpy/client/generated/models/cast_response.py +4 -2
  150. immichpy/client/generated/models/cast_update.py +4 -2
  151. immichpy/client/generated/models/change_password_dto.py +6 -4
  152. immichpy/client/generated/models/check_existing_assets_dto.py +3 -3
  153. immichpy/client/generated/models/check_existing_assets_response_dto.py +4 -2
  154. immichpy/client/generated/models/clip_config.py +5 -3
  155. immichpy/client/generated/models/colorspace.py +1 -1
  156. immichpy/client/generated/models/contributor_count_response_dto.py +5 -3
  157. immichpy/client/generated/models/cq_mode.py +2 -2
  158. immichpy/client/generated/models/create_album_dto.py +9 -5
  159. immichpy/client/generated/models/create_library_dto.py +9 -5
  160. immichpy/client/generated/models/create_profile_image_response_dto.py +8 -4
  161. immichpy/client/generated/models/crop_parameters.py +105 -0
  162. immichpy/client/generated/models/database_backup_config.py +6 -4
  163. immichpy/client/generated/models/database_backup_delete_dto.py +82 -0
  164. immichpy/client/generated/models/database_backup_dto.py +85 -0
  165. immichpy/client/generated/models/database_backup_list_response_dto.py +98 -0
  166. immichpy/client/generated/models/download_archive_info.py +5 -3
  167. immichpy/client/generated/models/download_info_dto.py +11 -5
  168. immichpy/client/generated/models/download_response.py +8 -3
  169. immichpy/client/generated/models/download_response_dto.py +3 -3
  170. immichpy/client/generated/models/download_update.py +5 -3
  171. immichpy/client/generated/models/duplicate_detection_config.py +6 -3
  172. immichpy/client/generated/models/duplicate_response_dto.py +5 -3
  173. immichpy/client/generated/models/email_notifications_response.py +10 -4
  174. immichpy/client/generated/models/email_notifications_update.py +14 -4
  175. immichpy/client/generated/models/exif_response_dto.py +47 -23
  176. immichpy/client/generated/models/face_dto.py +3 -3
  177. immichpy/client/generated/models/facial_recognition_config.py +15 -6
  178. immichpy/client/generated/models/folders_response.py +5 -3
  179. immichpy/client/generated/models/folders_update.py +9 -3
  180. immichpy/client/generated/models/image_format.py +2 -2
  181. immichpy/client/generated/models/job_create_dto.py +3 -3
  182. immichpy/client/generated/models/job_name.py +3 -2
  183. immichpy/client/generated/models/job_settings_dto.py +4 -2
  184. immichpy/client/generated/models/library_response_dto.py +16 -10
  185. immichpy/client/generated/models/library_stats_response_dto.py +6 -6
  186. immichpy/client/generated/models/license_key_dto.py +7 -3
  187. immichpy/client/generated/models/license_response_dto.py +8 -4
  188. immichpy/client/generated/models/log_level.py +1 -1
  189. immichpy/client/generated/models/login_credential_dto.py +4 -4
  190. immichpy/client/generated/models/login_response_dto.py +13 -9
  191. immichpy/client/generated/models/logout_response_dto.py +3 -3
  192. immichpy/client/generated/models/machine_learning_availability_checks_dto.py +3 -3
  193. immichpy/client/generated/models/maintenance_action.py +4 -2
  194. immichpy/client/generated/models/maintenance_auth_dto.py +3 -3
  195. immichpy/client/generated/models/maintenance_detect_install_response_dto.py +101 -0
  196. immichpy/client/generated/models/maintenance_detect_install_storage_folder_dto.py +95 -0
  197. immichpy/client/generated/models/maintenance_login_dto.py +3 -3
  198. immichpy/client/generated/models/maintenance_status_response_dto.py +109 -0
  199. immichpy/client/generated/models/manual_job_name.py +2 -2
  200. immichpy/client/generated/models/map_marker_response_dto.py +8 -8
  201. immichpy/client/generated/models/map_reverse_geocode_response_dto.py +5 -5
  202. immichpy/client/generated/models/memories_response.py +4 -4
  203. immichpy/client/generated/models/memories_update.py +7 -3
  204. immichpy/client/generated/models/memory_create_dto.py +12 -6
  205. immichpy/client/generated/models/memory_response_dto.py +20 -12
  206. immichpy/client/generated/models/memory_search_order.py +1 -1
  207. immichpy/client/generated/models/memory_statistics_response_dto.py +3 -3
  208. immichpy/client/generated/models/memory_type.py +1 -1
  209. immichpy/client/generated/models/memory_update_dto.py +10 -4
  210. immichpy/client/generated/models/merge_person_dto.py +3 -3
  211. immichpy/client/generated/models/metadata_search_dto.py +124 -46
  212. immichpy/client/generated/models/{asset_metadata_key.py → mirror_axis.py} +6 -5
  213. immichpy/client/generated/models/mirror_parameters.py +83 -0
  214. immichpy/client/generated/models/notification_create_dto.py +18 -8
  215. immichpy/client/generated/models/notification_delete_all_dto.py +3 -3
  216. immichpy/client/generated/models/notification_dto.py +15 -9
  217. immichpy/client/generated/models/notification_level.py +1 -1
  218. immichpy/client/generated/models/notification_type.py +1 -1
  219. immichpy/client/generated/models/notification_update_all_dto.py +5 -3
  220. immichpy/client/generated/models/notification_update_dto.py +4 -2
  221. immichpy/client/generated/models/o_auth_authorize_response_dto.py +3 -3
  222. immichpy/client/generated/models/o_auth_callback_dto.py +8 -4
  223. immichpy/client/generated/models/o_auth_config_dto.py +10 -4
  224. immichpy/client/generated/models/o_auth_token_endpoint_auth_method.py +2 -2
  225. immichpy/client/generated/models/ocr_config.py +14 -6
  226. immichpy/client/generated/models/on_this_day_dto.py +2 -2
  227. immichpy/client/generated/models/onboarding_dto.py +4 -2
  228. immichpy/client/generated/models/onboarding_response_dto.py +4 -2
  229. immichpy/client/generated/models/partner_create_dto.py +4 -2
  230. immichpy/client/generated/models/partner_direction.py +1 -1
  231. immichpy/client/generated/models/partner_response_dto.py +16 -8
  232. immichpy/client/generated/models/partner_update_dto.py +4 -2
  233. immichpy/client/generated/models/people_response.py +5 -3
  234. immichpy/client/generated/models/people_response_dto.py +7 -5
  235. immichpy/client/generated/models/people_update.py +9 -3
  236. immichpy/client/generated/models/people_update_dto.py +3 -3
  237. immichpy/client/generated/models/people_update_item.py +10 -10
  238. immichpy/client/generated/models/permission.py +13 -2
  239. immichpy/client/generated/models/person_create_dto.py +8 -8
  240. immichpy/client/generated/models/person_response_dto.py +17 -9
  241. immichpy/client/generated/models/person_statistics_response_dto.py +3 -3
  242. immichpy/client/generated/models/person_update_dto.py +9 -9
  243. immichpy/client/generated/models/person_with_faces_response_dto.py +20 -10
  244. immichpy/client/generated/models/pin_code_change_dto.py +10 -4
  245. immichpy/client/generated/models/pin_code_reset_dto.py +7 -3
  246. immichpy/client/generated/models/pin_code_setup_dto.py +2 -2
  247. immichpy/client/generated/models/places_response_dto.py +11 -7
  248. immichpy/client/generated/models/plugin_action_response_dto.py +13 -9
  249. immichpy/client/generated/models/{plugin_context.py → plugin_context_type.py} +4 -4
  250. immichpy/client/generated/models/plugin_filter_response_dto.py +13 -9
  251. immichpy/client/generated/models/plugin_response_dto.py +11 -11
  252. immichpy/client/generated/models/plugin_trigger_response_dto.py +89 -0
  253. immichpy/client/generated/models/plugin_trigger_type.py +2 -2
  254. immichpy/client/generated/models/purchase_response.py +7 -3
  255. immichpy/client/generated/models/purchase_update.py +7 -3
  256. immichpy/client/generated/models/queue_command.py +2 -2
  257. immichpy/client/generated/models/queue_command_dto.py +6 -4
  258. immichpy/client/generated/models/queue_delete_dto.py +1 -1
  259. immichpy/client/generated/models/queue_job_response_dto.py +6 -6
  260. immichpy/client/generated/models/queue_job_status.py +1 -1
  261. immichpy/client/generated/models/queue_name.py +2 -1
  262. immichpy/client/generated/models/queue_response_dto.py +5 -3
  263. immichpy/client/generated/models/queue_response_legacy_dto.py +1 -1
  264. immichpy/client/generated/models/queue_statistics_dto.py +8 -8
  265. immichpy/client/generated/models/queue_status_legacy_dto.py +8 -3
  266. immichpy/client/generated/models/queue_update_dto.py +4 -2
  267. immichpy/client/generated/models/queues_response_legacy_dto.py +9 -1
  268. immichpy/client/generated/models/random_search_dto.py +96 -34
  269. immichpy/client/generated/models/ratings_response.py +3 -3
  270. immichpy/client/generated/models/ratings_update.py +5 -3
  271. immichpy/client/generated/models/reaction_level.py +1 -1
  272. immichpy/client/generated/models/reaction_type.py +1 -1
  273. immichpy/client/generated/models/reverse_geocoding_state_response_dto.py +7 -3
  274. immichpy/client/generated/models/rotate_parameters.py +84 -0
  275. immichpy/client/generated/models/search_album_response_dto.py +4 -4
  276. immichpy/client/generated/models/search_asset_response_dto.py +6 -4
  277. immichpy/client/generated/models/search_explore_item.py +3 -3
  278. immichpy/client/generated/models/search_explore_response_dto.py +2 -2
  279. immichpy/client/generated/models/search_facet_count_response_dto.py +4 -4
  280. immichpy/client/generated/models/search_facet_response_dto.py +3 -3
  281. immichpy/client/generated/models/search_response_dto.py +1 -1
  282. immichpy/client/generated/models/search_statistics_response_dto.py +3 -3
  283. immichpy/client/generated/models/search_suggestion_type.py +1 -1
  284. immichpy/client/generated/models/server_about_response_dto.py +46 -22
  285. immichpy/client/generated/models/server_apk_links_dto.py +12 -6
  286. immichpy/client/generated/models/server_config_dto.py +36 -12
  287. immichpy/client/generated/models/server_features_dto.py +32 -16
  288. immichpy/client/generated/models/server_media_types_response_dto.py +5 -5
  289. immichpy/client/generated/models/server_ping_response.py +1 -1
  290. immichpy/client/generated/models/server_stats_response_dto.py +10 -6
  291. immichpy/client/generated/models/server_storage_response_dto.py +21 -8
  292. immichpy/client/generated/models/server_theme_dto.py +4 -2
  293. immichpy/client/generated/models/server_version_history_response_dto.py +6 -4
  294. immichpy/client/generated/models/server_version_response_dto.py +5 -5
  295. immichpy/client/generated/models/session_create_dto.py +8 -4
  296. immichpy/client/generated/models/session_create_response_dto.py +17 -11
  297. immichpy/client/generated/models/session_response_dto.py +16 -10
  298. immichpy/client/generated/models/session_unlock_dto.py +7 -3
  299. immichpy/client/generated/models/session_update_dto.py +2 -2
  300. immichpy/client/generated/models/set_maintenance_mode_dto.py +17 -7
  301. immichpy/client/generated/models/shared_link_create_dto.py +25 -11
  302. immichpy/client/generated/models/shared_link_edit_dto.py +19 -9
  303. immichpy/client/generated/models/shared_link_response_dto.py +18 -14
  304. immichpy/client/generated/models/shared_link_type.py +2 -2
  305. immichpy/client/generated/models/shared_links_response.py +5 -3
  306. immichpy/client/generated/models/shared_links_update.py +9 -3
  307. immichpy/client/generated/models/sign_up_dto.py +5 -5
  308. immichpy/client/generated/models/smart_search_dto.py +102 -36
  309. immichpy/client/generated/models/source_type.py +2 -2
  310. immichpy/client/generated/models/stack_create_dto.py +2 -2
  311. immichpy/client/generated/models/stack_response_dto.py +6 -4
  312. immichpy/client/generated/models/stack_update_dto.py +4 -2
  313. immichpy/client/generated/models/statistics_search_dto.py +86 -30
  314. immichpy/client/generated/models/storage_folder.py +38 -0
  315. immichpy/client/generated/models/sync_ack_delete_dto.py +5 -3
  316. immichpy/client/generated/models/sync_ack_dto.py +4 -4
  317. immichpy/client/generated/models/sync_ack_set_dto.py +4 -2
  318. immichpy/client/generated/models/sync_album_delete_v1.py +2 -2
  319. immichpy/client/generated/models/sync_album_to_asset_delete_v1.py +3 -3
  320. immichpy/client/generated/models/sync_album_to_asset_v1.py +3 -3
  321. immichpy/client/generated/models/sync_album_user_delete_v1.py +3 -3
  322. immichpy/client/generated/models/sync_album_user_v1.py +4 -4
  323. immichpy/client/generated/models/sync_album_v1.py +13 -9
  324. immichpy/client/generated/models/sync_asset_delete_v1.py +2 -2
  325. immichpy/client/generated/models/sync_asset_exif_v1.py +46 -26
  326. immichpy/client/generated/models/sync_asset_face_delete_v1.py +2 -2
  327. immichpy/client/generated/models/sync_asset_face_v1.py +5 -5
  328. immichpy/client/generated/models/sync_asset_metadata_delete_v1.py +3 -4
  329. immichpy/client/generated/models/sync_asset_metadata_v1.py +4 -5
  330. immichpy/client/generated/models/sync_asset_v1.py +47 -18
  331. immichpy/client/generated/models/sync_auth_user_v1.py +22 -12
  332. immichpy/client/generated/models/sync_entity_type.py +2 -2
  333. immichpy/client/generated/models/sync_memory_asset_delete_v1.py +3 -3
  334. immichpy/client/generated/models/sync_memory_asset_v1.py +3 -3
  335. immichpy/client/generated/models/sync_memory_delete_v1.py +2 -2
  336. immichpy/client/generated/models/sync_memory_v1.py +13 -13
  337. immichpy/client/generated/models/sync_partner_delete_v1.py +5 -3
  338. immichpy/client/generated/models/sync_partner_v1.py +6 -4
  339. immichpy/client/generated/models/sync_person_delete_v1.py +2 -2
  340. immichpy/client/generated/models/sync_person_v1.py +13 -11
  341. immichpy/client/generated/models/sync_request_type.py +2 -2
  342. immichpy/client/generated/models/sync_stack_delete_v1.py +2 -2
  343. immichpy/client/generated/models/sync_stack_v1.py +8 -6
  344. immichpy/client/generated/models/sync_stream_dto.py +4 -4
  345. immichpy/client/generated/models/sync_user_delete_v1.py +2 -2
  346. immichpy/client/generated/models/sync_user_metadata_delete_v1.py +3 -3
  347. immichpy/client/generated/models/sync_user_metadata_v1.py +4 -4
  348. immichpy/client/generated/models/sync_user_v1.py +16 -8
  349. immichpy/client/generated/models/system_config_backups_dto.py +1 -1
  350. immichpy/client/generated/models/system_config_dto.py +1 -1
  351. immichpy/client/generated/models/system_config_f_fmpeg_dto.py +44 -22
  352. immichpy/client/generated/models/system_config_faces_dto.py +2 -2
  353. immichpy/client/generated/models/system_config_generated_fullsize_image_dto.py +13 -7
  354. immichpy/client/generated/models/system_config_generated_image_dto.py +14 -8
  355. immichpy/client/generated/models/system_config_image_dto.py +5 -3
  356. immichpy/client/generated/models/system_config_job_dto.py +9 -1
  357. immichpy/client/generated/models/system_config_library_dto.py +1 -1
  358. immichpy/client/generated/models/system_config_library_scan_dto.py +2 -2
  359. immichpy/client/generated/models/system_config_library_watch_dto.py +3 -3
  360. immichpy/client/generated/models/system_config_logging_dto.py +3 -3
  361. immichpy/client/generated/models/system_config_machine_learning_dto.py +2 -2
  362. immichpy/client/generated/models/system_config_map_dto.py +2 -2
  363. immichpy/client/generated/models/system_config_metadata_dto.py +1 -1
  364. immichpy/client/generated/models/system_config_new_version_check_dto.py +3 -3
  365. immichpy/client/generated/models/system_config_nightly_tasks_dto.py +16 -6
  366. immichpy/client/generated/models/system_config_notifications_dto.py +1 -1
  367. immichpy/client/generated/models/system_config_o_auth_dto.py +28 -18
  368. immichpy/client/generated/models/system_config_password_login_dto.py +3 -3
  369. immichpy/client/generated/models/system_config_reverse_geocoding_dto.py +3 -3
  370. immichpy/client/generated/models/system_config_server_dto.py +8 -4
  371. immichpy/client/generated/models/system_config_smtp_dto.py +8 -4
  372. immichpy/client/generated/models/system_config_smtp_transport_dto.py +9 -7
  373. immichpy/client/generated/models/system_config_storage_template_dto.py +6 -4
  374. immichpy/client/generated/models/system_config_template_emails_dto.py +1 -1
  375. immichpy/client/generated/models/system_config_template_storage_option_dto.py +32 -9
  376. immichpy/client/generated/models/system_config_templates_dto.py +1 -1
  377. immichpy/client/generated/models/system_config_theme_dto.py +4 -2
  378. immichpy/client/generated/models/system_config_trash_dto.py +3 -3
  379. immichpy/client/generated/models/system_config_user_dto.py +4 -2
  380. immichpy/client/generated/models/tag_bulk_assets_dto.py +3 -3
  381. immichpy/client/generated/models/tag_bulk_assets_response_dto.py +3 -3
  382. immichpy/client/generated/models/tag_create_dto.py +8 -4
  383. immichpy/client/generated/models/tag_response_dto.py +10 -8
  384. immichpy/client/generated/models/tag_update_dto.py +3 -3
  385. immichpy/client/generated/models/tag_upsert_dto.py +3 -3
  386. immichpy/client/generated/models/tags_response.py +5 -3
  387. immichpy/client/generated/models/tags_update.py +9 -3
  388. immichpy/client/generated/models/template_dto.py +3 -3
  389. immichpy/client/generated/models/template_response_dto.py +4 -4
  390. immichpy/client/generated/models/test_email_response_dto.py +2 -2
  391. immichpy/client/generated/models/time_bucket_asset_response_dto.py +2 -3
  392. immichpy/client/generated/models/time_buckets_response_dto.py +1 -1
  393. immichpy/client/generated/models/tone_mapping.py +2 -2
  394. immichpy/client/generated/models/transcode_hw_accel.py +2 -2
  395. immichpy/client/generated/models/transcode_policy.py +2 -2
  396. immichpy/client/generated/models/trash_response_dto.py +3 -3
  397. immichpy/client/generated/models/update_album_dto.py +12 -6
  398. immichpy/client/generated/models/update_album_user_dto.py +3 -3
  399. immichpy/client/generated/models/update_asset_dto.py +21 -9
  400. immichpy/client/generated/models/update_library_dto.py +8 -4
  401. immichpy/client/generated/models/usage_by_user_dto.py +16 -9
  402. immichpy/client/generated/models/user_admin_create_dto.py +20 -10
  403. immichpy/client/generated/models/user_admin_delete_dto.py +5 -3
  404. immichpy/client/generated/models/user_admin_response_dto.py +35 -18
  405. immichpy/client/generated/models/user_admin_update_dto.py +20 -10
  406. immichpy/client/generated/models/user_avatar_color.py +2 -2
  407. immichpy/client/generated/models/user_license.py +6 -4
  408. immichpy/client/generated/models/user_metadata_key.py +2 -2
  409. immichpy/client/generated/models/user_preferences_response_dto.py +1 -1
  410. immichpy/client/generated/models/user_preferences_update_dto.py +1 -1
  411. immichpy/client/generated/models/user_response_dto.py +13 -7
  412. immichpy/client/generated/models/user_status.py +2 -2
  413. immichpy/client/generated/models/user_update_me_dto.py +10 -5
  414. immichpy/client/generated/models/validate_access_token_response_dto.py +4 -2
  415. immichpy/client/generated/models/validate_library_dto.py +9 -3
  416. immichpy/client/generated/models/validate_library_import_path_response_dto.py +4 -4
  417. immichpy/client/generated/models/validate_library_response_dto.py +4 -2
  418. immichpy/client/generated/models/version_check_state_response_dto.py +7 -3
  419. immichpy/client/generated/models/video_codec.py +2 -2
  420. immichpy/client/generated/models/video_container.py +2 -2
  421. immichpy/client/generated/models/workflow_action_item_dto.py +7 -3
  422. immichpy/client/generated/models/workflow_action_response_dto.py +10 -6
  423. immichpy/client/generated/models/workflow_create_dto.py +11 -7
  424. immichpy/client/generated/models/workflow_filter_item_dto.py +7 -3
  425. immichpy/client/generated/models/workflow_filter_response_dto.py +10 -6
  426. immichpy/client/generated/models/workflow_response_dto.py +14 -27
  427. immichpy/client/generated/models/workflow_update_dto.py +19 -7
  428. immichpy/client/generated/rest.py +1 -1
  429. immichpy/client/main.py +4 -1
  430. {immichpy-1.6.5.dist-info → immichpy-1.7.5.dist-info}/METADATA +1 -3
  431. immichpy-1.7.5.dist-info/RECORD +464 -0
  432. immichpy-1.6.5.dist-info/RECORD +0 -439
  433. {immichpy-1.6.5.dist-info → immichpy-1.7.5.dist-info}/WHEEL +0 -0
  434. {immichpy-1.6.5.dist-info → immichpy-1.7.5.dist-info}/entry_points.txt +0 -0
  435. {immichpy-1.6.5.dist-info → immichpy-1.7.5.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.
@@ -19,7 +19,7 @@ from typing_extensions import Self
19
19
 
20
20
  class AssetMediaStatus(str, Enum):
21
21
  """
22
- AssetMediaStatus
22
+ Upload status
23
23
  """
24
24
 
25
25
  """
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.5.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from pydantic import BaseModel, ConfigDict, Field
20
+ from typing import Any, ClassVar, Dict, List
21
+ from immichpy.client.generated.models.asset_metadata_bulk_delete_item_dto import (
22
+ AssetMetadataBulkDeleteItemDto,
23
+ )
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+
28
+ class AssetMetadataBulkDeleteDto(BaseModel):
29
+ """
30
+ AssetMetadataBulkDeleteDto
31
+ """ # noqa: E501
32
+
33
+ items: List[AssetMetadataBulkDeleteItemDto] = Field(
34
+ description="Metadata items to delete"
35
+ )
36
+ __properties: ClassVar[List[str]] = ["items"]
37
+
38
+ model_config = ConfigDict(
39
+ populate_by_name=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of AssetMetadataBulkDeleteDto from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # override the default output from pydantic by calling `to_dict()` of each item in items (list)
76
+ _items = []
77
+ if self.items:
78
+ for _item_items in self.items:
79
+ if _item_items:
80
+ _items.append(_item_items.to_dict())
81
+ _dict["items"] = _items
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of AssetMetadataBulkDeleteDto from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate(
94
+ {
95
+ "items": [
96
+ AssetMetadataBulkDeleteItemDto.from_dict(_item)
97
+ for _item in obj["items"]
98
+ ]
99
+ if obj.get("items") is not None
100
+ else None
101
+ }
102
+ )
103
+ return _obj
@@ -0,0 +1,86 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.5.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
20
+ from typing import Any, ClassVar, Dict, List
21
+ from uuid import UUID
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+
26
+ class AssetMetadataBulkDeleteItemDto(BaseModel):
27
+ """
28
+ AssetMetadataBulkDeleteItemDto
29
+ """ # noqa: E501
30
+
31
+ asset_id: UUID = Field(description="Asset ID", alias="assetId")
32
+ key: StrictStr = Field(description="Metadata key")
33
+ __properties: ClassVar[List[str]] = ["assetId", "key"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of AssetMetadataBulkDeleteItemDto from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of AssetMetadataBulkDeleteItemDto from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate(
84
+ {"assetId": obj.get("assetId"), "key": obj.get("key")}
85
+ )
86
+ return _obj
@@ -0,0 +1,93 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.5.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from datetime import datetime
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
+ from typing import Any, ClassVar, Dict, List
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+
26
+ class AssetMetadataBulkResponseDto(BaseModel):
27
+ """
28
+ AssetMetadataBulkResponseDto
29
+ """ # noqa: E501
30
+
31
+ asset_id: StrictStr = Field(description="Asset ID", alias="assetId")
32
+ key: StrictStr = Field(description="Metadata key")
33
+ updated_at: datetime = Field(description="Last update date", alias="updatedAt")
34
+ value: Dict[str, Any] = Field(description="Metadata value (object)")
35
+ __properties: ClassVar[List[str]] = ["assetId", "key", "updatedAt", "value"]
36
+
37
+ model_config = ConfigDict(
38
+ populate_by_name=True,
39
+ validate_assignment=True,
40
+ protected_namespaces=(),
41
+ )
42
+
43
+ def to_str(self) -> str:
44
+ """Returns the string representation of the model using alias"""
45
+ return pprint.pformat(self.model_dump(by_alias=True))
46
+
47
+ def to_json(self) -> str:
48
+ """Returns the JSON representation of the model using alias"""
49
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
50
+ return json.dumps(self.to_dict())
51
+
52
+ @classmethod
53
+ def from_json(cls, json_str: str) -> Optional[Self]:
54
+ """Create an instance of AssetMetadataBulkResponseDto from a JSON string"""
55
+ return cls.from_dict(json.loads(json_str))
56
+
57
+ def to_dict(self) -> Dict[str, Any]:
58
+ """Return the dictionary representation of the model using alias.
59
+
60
+ This has the following differences from calling pydantic's
61
+ `self.model_dump(by_alias=True)`:
62
+
63
+ * `None` is only added to the output dict for nullable fields that
64
+ were set at model initialization. Other fields with value `None`
65
+ are ignored.
66
+ """
67
+ excluded_fields: Set[str] = set([])
68
+
69
+ _dict = self.model_dump(
70
+ by_alias=True,
71
+ exclude=excluded_fields,
72
+ exclude_none=True,
73
+ )
74
+ return _dict
75
+
76
+ @classmethod
77
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
78
+ """Create an instance of AssetMetadataBulkResponseDto from a dict"""
79
+ if obj is None:
80
+ return None
81
+
82
+ if not isinstance(obj, dict):
83
+ return cls.model_validate(obj)
84
+
85
+ _obj = cls.model_validate(
86
+ {
87
+ "assetId": obj.get("assetId"),
88
+ "key": obj.get("key"),
89
+ "updatedAt": obj.get("updatedAt"),
90
+ "value": obj.get("value"),
91
+ }
92
+ )
93
+ return _obj
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.5.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from pydantic import BaseModel, ConfigDict, Field
20
+ from typing import Any, ClassVar, Dict, List
21
+ from immichpy.client.generated.models.asset_metadata_bulk_upsert_item_dto import (
22
+ AssetMetadataBulkUpsertItemDto,
23
+ )
24
+ from typing import Optional, Set
25
+ from typing_extensions import Self
26
+
27
+
28
+ class AssetMetadataBulkUpsertDto(BaseModel):
29
+ """
30
+ AssetMetadataBulkUpsertDto
31
+ """ # noqa: E501
32
+
33
+ items: List[AssetMetadataBulkUpsertItemDto] = Field(
34
+ description="Metadata items to upsert"
35
+ )
36
+ __properties: ClassVar[List[str]] = ["items"]
37
+
38
+ model_config = ConfigDict(
39
+ populate_by_name=True,
40
+ validate_assignment=True,
41
+ protected_namespaces=(),
42
+ )
43
+
44
+ def to_str(self) -> str:
45
+ """Returns the string representation of the model using alias"""
46
+ return pprint.pformat(self.model_dump(by_alias=True))
47
+
48
+ def to_json(self) -> str:
49
+ """Returns the JSON representation of the model using alias"""
50
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51
+ return json.dumps(self.to_dict())
52
+
53
+ @classmethod
54
+ def from_json(cls, json_str: str) -> Optional[Self]:
55
+ """Create an instance of AssetMetadataBulkUpsertDto from a JSON string"""
56
+ return cls.from_dict(json.loads(json_str))
57
+
58
+ def to_dict(self) -> Dict[str, Any]:
59
+ """Return the dictionary representation of the model using alias.
60
+
61
+ This has the following differences from calling pydantic's
62
+ `self.model_dump(by_alias=True)`:
63
+
64
+ * `None` is only added to the output dict for nullable fields that
65
+ were set at model initialization. Other fields with value `None`
66
+ are ignored.
67
+ """
68
+ excluded_fields: Set[str] = set([])
69
+
70
+ _dict = self.model_dump(
71
+ by_alias=True,
72
+ exclude=excluded_fields,
73
+ exclude_none=True,
74
+ )
75
+ # override the default output from pydantic by calling `to_dict()` of each item in items (list)
76
+ _items = []
77
+ if self.items:
78
+ for _item_items in self.items:
79
+ if _item_items:
80
+ _items.append(_item_items.to_dict())
81
+ _dict["items"] = _items
82
+ return _dict
83
+
84
+ @classmethod
85
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
86
+ """Create an instance of AssetMetadataBulkUpsertDto from a dict"""
87
+ if obj is None:
88
+ return None
89
+
90
+ if not isinstance(obj, dict):
91
+ return cls.model_validate(obj)
92
+
93
+ _obj = cls.model_validate(
94
+ {
95
+ "items": [
96
+ AssetMetadataBulkUpsertItemDto.from_dict(_item)
97
+ for _item in obj["items"]
98
+ ]
99
+ if obj.get("items") is not None
100
+ else None
101
+ }
102
+ )
103
+ return _obj
@@ -0,0 +1,91 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Immich
5
+
6
+ Immich API
7
+
8
+ The version of the OpenAPI document: 2.5.2
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from __future__ import annotations
15
+ import pprint
16
+ import re # noqa: F401
17
+ import json
18
+
19
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
20
+ from typing import Any, ClassVar, Dict, List
21
+ from uuid import UUID
22
+ from typing import Optional, Set
23
+ from typing_extensions import Self
24
+
25
+
26
+ class AssetMetadataBulkUpsertItemDto(BaseModel):
27
+ """
28
+ AssetMetadataBulkUpsertItemDto
29
+ """ # noqa: E501
30
+
31
+ asset_id: UUID = Field(description="Asset ID", alias="assetId")
32
+ key: StrictStr = Field(description="Metadata key")
33
+ value: Dict[str, Any] = Field(description="Metadata value (object)")
34
+ __properties: ClassVar[List[str]] = ["assetId", "key", "value"]
35
+
36
+ model_config = ConfigDict(
37
+ populate_by_name=True,
38
+ validate_assignment=True,
39
+ protected_namespaces=(),
40
+ )
41
+
42
+ def to_str(self) -> str:
43
+ """Returns the string representation of the model using alias"""
44
+ return pprint.pformat(self.model_dump(by_alias=True))
45
+
46
+ def to_json(self) -> str:
47
+ """Returns the JSON representation of the model using alias"""
48
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
49
+ return json.dumps(self.to_dict())
50
+
51
+ @classmethod
52
+ def from_json(cls, json_str: str) -> Optional[Self]:
53
+ """Create an instance of AssetMetadataBulkUpsertItemDto from a JSON string"""
54
+ return cls.from_dict(json.loads(json_str))
55
+
56
+ def to_dict(self) -> Dict[str, Any]:
57
+ """Return the dictionary representation of the model using alias.
58
+
59
+ This has the following differences from calling pydantic's
60
+ `self.model_dump(by_alias=True)`:
61
+
62
+ * `None` is only added to the output dict for nullable fields that
63
+ were set at model initialization. Other fields with value `None`
64
+ are ignored.
65
+ """
66
+ excluded_fields: Set[str] = set([])
67
+
68
+ _dict = self.model_dump(
69
+ by_alias=True,
70
+ exclude=excluded_fields,
71
+ exclude_none=True,
72
+ )
73
+ return _dict
74
+
75
+ @classmethod
76
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
77
+ """Create an instance of AssetMetadataBulkUpsertItemDto from a dict"""
78
+ if obj is None:
79
+ return None
80
+
81
+ if not isinstance(obj, dict):
82
+ return cls.model_validate(obj)
83
+
84
+ _obj = cls.model_validate(
85
+ {
86
+ "assetId": obj.get("assetId"),
87
+ "key": obj.get("key"),
88
+ "value": obj.get("value"),
89
+ }
90
+ )
91
+ 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.
@@ -17,9 +17,8 @@ import re # noqa: F401
17
17
  import json
18
18
 
19
19
  from datetime import datetime
20
- from pydantic import BaseModel, ConfigDict, Field
20
+ from pydantic import BaseModel, ConfigDict, Field, StrictStr
21
21
  from typing import Any, ClassVar, Dict, List
22
- from immichpy.client.generated.models.asset_metadata_key import AssetMetadataKey
23
22
  from typing import Optional, Set
24
23
  from typing_extensions import Self
25
24
 
@@ -29,9 +28,9 @@ class AssetMetadataResponseDto(BaseModel):
29
28
  AssetMetadataResponseDto
30
29
  """ # noqa: E501
31
30
 
32
- key: AssetMetadataKey
33
- updated_at: datetime = Field(alias="updatedAt")
34
- value: Dict[str, Any]
31
+ key: StrictStr = Field(description="Metadata key")
32
+ updated_at: datetime = Field(description="Last update date", alias="updatedAt")
33
+ value: Dict[str, Any] = Field(description="Metadata value (object)")
35
34
  __properties: ClassVar[List[str]] = ["key", "updatedAt", "value"]
36
35
 
37
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.
@@ -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 immichpy.client.generated.models.asset_metadata_upsert_item_dto import (
22
22
  AssetMetadataUpsertItemDto,
@@ -30,7 +30,9 @@ class AssetMetadataUpsertDto(BaseModel):
30
30
  AssetMetadataUpsertDto
31
31
  """ # noqa: E501
32
32
 
33
- items: List[AssetMetadataUpsertItemDto]
33
+ items: List[AssetMetadataUpsertItemDto] = Field(
34
+ description="Metadata items to upsert"
35
+ )
34
36
  __properties: ClassVar[List[str]] = ["items"]
35
37
 
36
38
  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,9 +16,8 @@ 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, StrictStr
20
20
  from typing import Any, ClassVar, Dict, List
21
- from immichpy.client.generated.models.asset_metadata_key import AssetMetadataKey
22
21
  from typing import Optional, Set
23
22
  from typing_extensions import Self
24
23
 
@@ -28,8 +27,8 @@ class AssetMetadataUpsertItemDto(BaseModel):
28
27
  AssetMetadataUpsertItemDto
29
28
  """ # noqa: E501
30
29
 
31
- key: AssetMetadataKey
32
- value: Dict[str, Any]
30
+ key: StrictStr = Field(description="Metadata key")
31
+ value: Dict[str, Any] = Field(description="Metadata value (object)")
33
32
  __properties: ClassVar[List[str]] = ["key", "value"]
34
33
 
35
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.
@@ -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 AssetOrder(str, Enum):
21
21
  """
22
- AssetOrder
22
+ Asset sort order
23
23
  """
24
24
 
25
25
  """