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.
- immichpy/cli/__main__.py +1 -1
- immichpy/cli/commands/activities.py +23 -11
- immichpy/cli/commands/albums.py +34 -20
- immichpy/cli/commands/api_keys.py +6 -4
- immichpy/cli/commands/assets.py +274 -65
- immichpy/cli/commands/authentication.py +115 -25
- immichpy/cli/commands/database_backups_admin.py +111 -0
- immichpy/cli/commands/download.py +13 -5
- immichpy/cli/commands/duplicates.py +1 -1
- immichpy/cli/commands/faces.py +17 -11
- immichpy/cli/commands/jobs.py +6 -4
- immichpy/cli/commands/libraries.py +15 -9
- immichpy/cli/commands/maintenance_admin.py +39 -2
- immichpy/cli/commands/map.py +8 -8
- immichpy/cli/commands/memories.py +35 -21
- immichpy/cli/commands/notifications.py +16 -8
- immichpy/cli/commands/notifications_admin.py +43 -17
- immichpy/cli/commands/partners.py +9 -3
- immichpy/cli/commands/people.py +30 -24
- immichpy/cli/commands/plugins.py +14 -0
- immichpy/cli/commands/queues.py +8 -6
- immichpy/cli/commands/search.py +395 -189
- immichpy/cli/commands/server.py +6 -2
- immichpy/cli/commands/sessions.py +6 -4
- immichpy/cli/commands/shared_links.py +42 -25
- immichpy/cli/commands/stacks.py +4 -4
- immichpy/cli/commands/sync.py +26 -10
- immichpy/cli/commands/system_config.py +216 -115
- immichpy/cli/commands/system_metadata.py +3 -1
- immichpy/cli/commands/tags.py +9 -9
- immichpy/cli/commands/trash.py +1 -1
- immichpy/cli/commands/users.py +57 -29
- immichpy/cli/commands/users_admin.py +79 -45
- immichpy/cli/commands/workflows.py +40 -11
- immichpy/cli/main.py +10 -2
- immichpy/cli/utils.py +2 -2
- immichpy/cli/wrapper/setup.py +1 -1
- immichpy/client/.openapi-generator/FILES +26 -2
- immichpy/client/generated/__init__.py +101 -7
- immichpy/client/generated/api/__init__.py +3 -0
- immichpy/client/generated/api/activities_api.py +73 -43
- immichpy/client/generated/api/albums_api.py +40 -19
- immichpy/client/generated/api/api_keys_api.py +1 -1
- immichpy/client/generated/api/assets_api.py +1768 -366
- immichpy/client/generated/api/authentication_admin_api.py +1 -1
- immichpy/client/generated/api/authentication_api.py +1 -1
- immichpy/client/generated/api/database_backups_admin_api.py +1224 -0
- immichpy/client/generated/api/deprecated_api.py +103 -73
- immichpy/client/generated/api/download_api.py +1 -1
- immichpy/client/generated/api/duplicates_api.py +1 -1
- immichpy/client/generated/api/faces_api.py +7 -7
- immichpy/client/generated/api/jobs_api.py +7 -7
- immichpy/client/generated/api/libraries_api.py +1 -1
- immichpy/client/generated/api/maintenance_admin_api.py +459 -1
- immichpy/client/generated/api/map_api.py +103 -49
- immichpy/client/generated/api/memories_api.py +109 -61
- immichpy/client/generated/api/notifications_admin_api.py +1 -1
- immichpy/client/generated/api/notifications_api.py +52 -25
- immichpy/client/generated/api/partners_api.py +7 -7
- immichpy/client/generated/api/people_api.py +37 -19
- immichpy/client/generated/api/plugins_api.py +230 -1
- immichpy/client/generated/api/queues_api.py +37 -31
- immichpy/client/generated/api/search_api.py +529 -283
- immichpy/client/generated/api/server_api.py +1 -1
- immichpy/client/generated/api/sessions_api.py +1 -1
- immichpy/client/generated/api/shared_links_api.py +53 -19
- immichpy/client/generated/api/stacks_api.py +13 -7
- immichpy/client/generated/api/sync_api.py +1 -1
- immichpy/client/generated/api/system_config_api.py +1 -1
- immichpy/client/generated/api/system_metadata_api.py +1 -1
- immichpy/client/generated/api/tags_api.py +1 -1
- immichpy/client/generated/api/timeline_api.py +1 -1
- immichpy/client/generated/api/trash_api.py +1 -1
- immichpy/client/generated/api/users_admin_api.py +55 -31
- immichpy/client/generated/api/users_api.py +16 -7
- immichpy/client/generated/api/views_api.py +1 -1
- immichpy/client/generated/api/workflows_api.py +1 -1
- immichpy/client/generated/api_client.py +1 -1
- immichpy/client/generated/configuration.py +2 -2
- immichpy/client/generated/exceptions.py +1 -1
- immichpy/client/generated/models/__init__.py +56 -3
- immichpy/client/generated/models/activity_create_dto.py +11 -5
- immichpy/client/generated/models/activity_response_dto.py +10 -6
- immichpy/client/generated/models/activity_statistics_response_dto.py +4 -4
- immichpy/client/generated/models/add_users_dto.py +2 -2
- immichpy/client/generated/models/admin_onboarding_update_dto.py +4 -2
- immichpy/client/generated/models/album_response_dto.py +28 -16
- immichpy/client/generated/models/album_statistics_response_dto.py +6 -4
- immichpy/client/generated/models/album_user_add_dto.py +3 -3
- immichpy/client/generated/models/album_user_create_dto.py +3 -3
- immichpy/client/generated/models/album_user_response_dto.py +3 -3
- immichpy/client/generated/models/album_user_role.py +2 -2
- immichpy/client/generated/models/albums_add_assets_dto.py +3 -3
- immichpy/client/generated/models/albums_add_assets_response_dto.py +4 -4
- immichpy/client/generated/models/albums_response.py +4 -2
- immichpy/client/generated/models/albums_update.py +5 -3
- immichpy/client/generated/models/api_key_create_dto.py +5 -3
- immichpy/client/generated/models/api_key_create_response_dto.py +2 -2
- immichpy/client/generated/models/api_key_response_dto.py +6 -6
- immichpy/client/generated/models/api_key_update_dto.py +5 -3
- immichpy/client/generated/models/asset_bulk_delete_dto.py +6 -4
- immichpy/client/generated/models/asset_bulk_update_dto.py +28 -12
- immichpy/client/generated/models/asset_bulk_upload_check_dto.py +3 -3
- immichpy/client/generated/models/asset_bulk_upload_check_item.py +3 -3
- immichpy/client/generated/models/asset_bulk_upload_check_response_dto.py +5 -3
- immichpy/client/generated/models/asset_bulk_upload_check_result.py +12 -6
- immichpy/client/generated/models/asset_copy_dto.py +16 -8
- immichpy/client/generated/models/asset_delta_sync_dto.py +5 -3
- immichpy/client/generated/models/asset_delta_sync_response_dto.py +6 -4
- immichpy/client/generated/models/asset_edit_action.py +35 -0
- immichpy/client/generated/models/asset_edit_action_crop.py +95 -0
- immichpy/client/generated/models/asset_edit_action_list_dto.py +104 -0
- immichpy/client/generated/models/asset_edit_action_list_dto_edits_inner.py +188 -0
- immichpy/client/generated/models/asset_edit_action_mirror.py +95 -0
- immichpy/client/generated/models/asset_edit_action_rotate.py +95 -0
- immichpy/client/generated/models/asset_edits_dto.py +107 -0
- immichpy/client/generated/models/asset_face_create_dto.py +13 -9
- immichpy/client/generated/models/asset_face_delete_dto.py +3 -3
- immichpy/client/generated/models/asset_face_response_dto.py +26 -10
- immichpy/client/generated/models/asset_face_update_dto.py +3 -3
- immichpy/client/generated/models/asset_face_update_item.py +3 -3
- immichpy/client/generated/models/asset_face_without_person_response_dto.py +23 -9
- immichpy/client/generated/models/asset_full_sync_dto.py +13 -5
- immichpy/client/generated/models/asset_ids_dto.py +2 -2
- immichpy/client/generated/models/asset_ids_response_dto.py +6 -4
- immichpy/client/generated/models/asset_job_name.py +2 -2
- immichpy/client/generated/models/asset_jobs_dto.py +3 -3
- immichpy/client/generated/models/asset_media_response_dto.py +4 -4
- immichpy/client/generated/models/asset_media_size.py +2 -1
- immichpy/client/generated/models/asset_media_status.py +2 -2
- immichpy/client/generated/models/asset_metadata_bulk_delete_dto.py +103 -0
- immichpy/client/generated/models/asset_metadata_bulk_delete_item_dto.py +86 -0
- immichpy/client/generated/models/asset_metadata_bulk_response_dto.py +93 -0
- immichpy/client/generated/models/asset_metadata_bulk_upsert_dto.py +103 -0
- immichpy/client/generated/models/asset_metadata_bulk_upsert_item_dto.py +91 -0
- immichpy/client/generated/models/asset_metadata_response_dto.py +5 -6
- immichpy/client/generated/models/asset_metadata_upsert_dto.py +5 -3
- immichpy/client/generated/models/asset_metadata_upsert_item_dto.py +4 -5
- immichpy/client/generated/models/asset_ocr_response_dto.py +1 -1
- immichpy/client/generated/models/asset_order.py +2 -2
- immichpy/client/generated/models/asset_response_dto.py +66 -24
- immichpy/client/generated/models/asset_stack_response_dto.py +8 -4
- immichpy/client/generated/models/asset_stats_response_dto.py +5 -5
- immichpy/client/generated/models/asset_type_enum.py +2 -2
- immichpy/client/generated/models/asset_visibility.py +2 -2
- immichpy/client/generated/models/audio_codec.py +2 -2
- immichpy/client/generated/models/auth_status_response_dto.py +12 -6
- immichpy/client/generated/models/avatar_update.py +3 -3
- immichpy/client/generated/models/bulk_id_error_reason.py +2 -2
- immichpy/client/generated/models/bulk_id_response_dto.py +14 -5
- immichpy/client/generated/models/bulk_ids_dto.py +3 -3
- immichpy/client/generated/models/cast_response.py +4 -2
- immichpy/client/generated/models/cast_update.py +4 -2
- immichpy/client/generated/models/change_password_dto.py +6 -4
- immichpy/client/generated/models/check_existing_assets_dto.py +3 -3
- immichpy/client/generated/models/check_existing_assets_response_dto.py +4 -2
- immichpy/client/generated/models/clip_config.py +5 -3
- immichpy/client/generated/models/colorspace.py +1 -1
- immichpy/client/generated/models/contributor_count_response_dto.py +5 -3
- immichpy/client/generated/models/cq_mode.py +2 -2
- immichpy/client/generated/models/create_album_dto.py +9 -5
- immichpy/client/generated/models/create_library_dto.py +9 -5
- immichpy/client/generated/models/create_profile_image_response_dto.py +8 -4
- immichpy/client/generated/models/crop_parameters.py +105 -0
- immichpy/client/generated/models/database_backup_config.py +6 -4
- immichpy/client/generated/models/database_backup_delete_dto.py +82 -0
- immichpy/client/generated/models/database_backup_dto.py +85 -0
- immichpy/client/generated/models/database_backup_list_response_dto.py +98 -0
- immichpy/client/generated/models/download_archive_info.py +5 -3
- immichpy/client/generated/models/download_info_dto.py +11 -5
- immichpy/client/generated/models/download_response.py +8 -3
- immichpy/client/generated/models/download_response_dto.py +3 -3
- immichpy/client/generated/models/download_update.py +5 -3
- immichpy/client/generated/models/duplicate_detection_config.py +6 -3
- immichpy/client/generated/models/duplicate_response_dto.py +5 -3
- immichpy/client/generated/models/email_notifications_response.py +10 -4
- immichpy/client/generated/models/email_notifications_update.py +14 -4
- immichpy/client/generated/models/exif_response_dto.py +47 -23
- immichpy/client/generated/models/face_dto.py +3 -3
- immichpy/client/generated/models/facial_recognition_config.py +15 -6
- immichpy/client/generated/models/folders_response.py +5 -3
- immichpy/client/generated/models/folders_update.py +9 -3
- immichpy/client/generated/models/image_format.py +2 -2
- immichpy/client/generated/models/job_create_dto.py +3 -3
- immichpy/client/generated/models/job_name.py +3 -2
- immichpy/client/generated/models/job_settings_dto.py +4 -2
- immichpy/client/generated/models/library_response_dto.py +16 -10
- immichpy/client/generated/models/library_stats_response_dto.py +6 -6
- immichpy/client/generated/models/license_key_dto.py +7 -3
- immichpy/client/generated/models/license_response_dto.py +8 -4
- immichpy/client/generated/models/log_level.py +1 -1
- immichpy/client/generated/models/login_credential_dto.py +4 -4
- immichpy/client/generated/models/login_response_dto.py +13 -9
- immichpy/client/generated/models/logout_response_dto.py +3 -3
- immichpy/client/generated/models/machine_learning_availability_checks_dto.py +3 -3
- immichpy/client/generated/models/maintenance_action.py +4 -2
- immichpy/client/generated/models/maintenance_auth_dto.py +3 -3
- immichpy/client/generated/models/maintenance_detect_install_response_dto.py +101 -0
- immichpy/client/generated/models/maintenance_detect_install_storage_folder_dto.py +95 -0
- immichpy/client/generated/models/maintenance_login_dto.py +3 -3
- immichpy/client/generated/models/maintenance_status_response_dto.py +109 -0
- immichpy/client/generated/models/manual_job_name.py +2 -2
- immichpy/client/generated/models/map_marker_response_dto.py +8 -8
- immichpy/client/generated/models/map_reverse_geocode_response_dto.py +5 -5
- immichpy/client/generated/models/memories_response.py +4 -4
- immichpy/client/generated/models/memories_update.py +7 -3
- immichpy/client/generated/models/memory_create_dto.py +12 -6
- immichpy/client/generated/models/memory_response_dto.py +20 -12
- immichpy/client/generated/models/memory_search_order.py +1 -1
- immichpy/client/generated/models/memory_statistics_response_dto.py +3 -3
- immichpy/client/generated/models/memory_type.py +1 -1
- immichpy/client/generated/models/memory_update_dto.py +10 -4
- immichpy/client/generated/models/merge_person_dto.py +3 -3
- immichpy/client/generated/models/metadata_search_dto.py +124 -46
- immichpy/client/generated/models/{asset_metadata_key.py → mirror_axis.py} +6 -5
- immichpy/client/generated/models/mirror_parameters.py +83 -0
- immichpy/client/generated/models/notification_create_dto.py +18 -8
- immichpy/client/generated/models/notification_delete_all_dto.py +3 -3
- immichpy/client/generated/models/notification_dto.py +15 -9
- immichpy/client/generated/models/notification_level.py +1 -1
- immichpy/client/generated/models/notification_type.py +1 -1
- immichpy/client/generated/models/notification_update_all_dto.py +5 -3
- immichpy/client/generated/models/notification_update_dto.py +4 -2
- immichpy/client/generated/models/o_auth_authorize_response_dto.py +3 -3
- immichpy/client/generated/models/o_auth_callback_dto.py +8 -4
- immichpy/client/generated/models/o_auth_config_dto.py +10 -4
- immichpy/client/generated/models/o_auth_token_endpoint_auth_method.py +2 -2
- immichpy/client/generated/models/ocr_config.py +14 -6
- immichpy/client/generated/models/on_this_day_dto.py +2 -2
- immichpy/client/generated/models/onboarding_dto.py +4 -2
- immichpy/client/generated/models/onboarding_response_dto.py +4 -2
- immichpy/client/generated/models/partner_create_dto.py +4 -2
- immichpy/client/generated/models/partner_direction.py +1 -1
- immichpy/client/generated/models/partner_response_dto.py +16 -8
- immichpy/client/generated/models/partner_update_dto.py +4 -2
- immichpy/client/generated/models/people_response.py +5 -3
- immichpy/client/generated/models/people_response_dto.py +7 -5
- immichpy/client/generated/models/people_update.py +9 -3
- immichpy/client/generated/models/people_update_dto.py +3 -3
- immichpy/client/generated/models/people_update_item.py +10 -10
- immichpy/client/generated/models/permission.py +13 -2
- immichpy/client/generated/models/person_create_dto.py +8 -8
- immichpy/client/generated/models/person_response_dto.py +17 -9
- immichpy/client/generated/models/person_statistics_response_dto.py +3 -3
- immichpy/client/generated/models/person_update_dto.py +9 -9
- immichpy/client/generated/models/person_with_faces_response_dto.py +20 -10
- immichpy/client/generated/models/pin_code_change_dto.py +10 -4
- immichpy/client/generated/models/pin_code_reset_dto.py +7 -3
- immichpy/client/generated/models/pin_code_setup_dto.py +2 -2
- immichpy/client/generated/models/places_response_dto.py +11 -7
- immichpy/client/generated/models/plugin_action_response_dto.py +13 -9
- immichpy/client/generated/models/{plugin_context.py → plugin_context_type.py} +4 -4
- immichpy/client/generated/models/plugin_filter_response_dto.py +13 -9
- immichpy/client/generated/models/plugin_response_dto.py +11 -11
- immichpy/client/generated/models/plugin_trigger_response_dto.py +89 -0
- immichpy/client/generated/models/plugin_trigger_type.py +2 -2
- immichpy/client/generated/models/purchase_response.py +7 -3
- immichpy/client/generated/models/purchase_update.py +7 -3
- immichpy/client/generated/models/queue_command.py +2 -2
- immichpy/client/generated/models/queue_command_dto.py +6 -4
- immichpy/client/generated/models/queue_delete_dto.py +1 -1
- immichpy/client/generated/models/queue_job_response_dto.py +6 -6
- immichpy/client/generated/models/queue_job_status.py +1 -1
- immichpy/client/generated/models/queue_name.py +2 -1
- immichpy/client/generated/models/queue_response_dto.py +5 -3
- immichpy/client/generated/models/queue_response_legacy_dto.py +1 -1
- immichpy/client/generated/models/queue_statistics_dto.py +8 -8
- immichpy/client/generated/models/queue_status_legacy_dto.py +8 -3
- immichpy/client/generated/models/queue_update_dto.py +4 -2
- immichpy/client/generated/models/queues_response_legacy_dto.py +9 -1
- immichpy/client/generated/models/random_search_dto.py +96 -34
- immichpy/client/generated/models/ratings_response.py +3 -3
- immichpy/client/generated/models/ratings_update.py +5 -3
- immichpy/client/generated/models/reaction_level.py +1 -1
- immichpy/client/generated/models/reaction_type.py +1 -1
- immichpy/client/generated/models/reverse_geocoding_state_response_dto.py +7 -3
- immichpy/client/generated/models/rotate_parameters.py +84 -0
- immichpy/client/generated/models/search_album_response_dto.py +4 -4
- immichpy/client/generated/models/search_asset_response_dto.py +6 -4
- immichpy/client/generated/models/search_explore_item.py +3 -3
- immichpy/client/generated/models/search_explore_response_dto.py +2 -2
- immichpy/client/generated/models/search_facet_count_response_dto.py +4 -4
- immichpy/client/generated/models/search_facet_response_dto.py +3 -3
- immichpy/client/generated/models/search_response_dto.py +1 -1
- immichpy/client/generated/models/search_statistics_response_dto.py +3 -3
- immichpy/client/generated/models/search_suggestion_type.py +1 -1
- immichpy/client/generated/models/server_about_response_dto.py +46 -22
- immichpy/client/generated/models/server_apk_links_dto.py +12 -6
- immichpy/client/generated/models/server_config_dto.py +36 -12
- immichpy/client/generated/models/server_features_dto.py +32 -16
- immichpy/client/generated/models/server_media_types_response_dto.py +5 -5
- immichpy/client/generated/models/server_ping_response.py +1 -1
- immichpy/client/generated/models/server_stats_response_dto.py +10 -6
- immichpy/client/generated/models/server_storage_response_dto.py +21 -8
- immichpy/client/generated/models/server_theme_dto.py +4 -2
- immichpy/client/generated/models/server_version_history_response_dto.py +6 -4
- immichpy/client/generated/models/server_version_response_dto.py +5 -5
- immichpy/client/generated/models/session_create_dto.py +8 -4
- immichpy/client/generated/models/session_create_response_dto.py +17 -11
- immichpy/client/generated/models/session_response_dto.py +16 -10
- immichpy/client/generated/models/session_unlock_dto.py +7 -3
- immichpy/client/generated/models/session_update_dto.py +2 -2
- immichpy/client/generated/models/set_maintenance_mode_dto.py +17 -7
- immichpy/client/generated/models/shared_link_create_dto.py +25 -11
- immichpy/client/generated/models/shared_link_edit_dto.py +19 -9
- immichpy/client/generated/models/shared_link_response_dto.py +18 -14
- immichpy/client/generated/models/shared_link_type.py +2 -2
- immichpy/client/generated/models/shared_links_response.py +5 -3
- immichpy/client/generated/models/shared_links_update.py +9 -3
- immichpy/client/generated/models/sign_up_dto.py +5 -5
- immichpy/client/generated/models/smart_search_dto.py +102 -36
- immichpy/client/generated/models/source_type.py +2 -2
- immichpy/client/generated/models/stack_create_dto.py +2 -2
- immichpy/client/generated/models/stack_response_dto.py +6 -4
- immichpy/client/generated/models/stack_update_dto.py +4 -2
- immichpy/client/generated/models/statistics_search_dto.py +86 -30
- immichpy/client/generated/models/storage_folder.py +38 -0
- immichpy/client/generated/models/sync_ack_delete_dto.py +5 -3
- immichpy/client/generated/models/sync_ack_dto.py +4 -4
- immichpy/client/generated/models/sync_ack_set_dto.py +4 -2
- immichpy/client/generated/models/sync_album_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_album_to_asset_delete_v1.py +3 -3
- immichpy/client/generated/models/sync_album_to_asset_v1.py +3 -3
- immichpy/client/generated/models/sync_album_user_delete_v1.py +3 -3
- immichpy/client/generated/models/sync_album_user_v1.py +4 -4
- immichpy/client/generated/models/sync_album_v1.py +13 -9
- immichpy/client/generated/models/sync_asset_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_asset_exif_v1.py +46 -26
- immichpy/client/generated/models/sync_asset_face_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_asset_face_v1.py +5 -5
- immichpy/client/generated/models/sync_asset_metadata_delete_v1.py +3 -4
- immichpy/client/generated/models/sync_asset_metadata_v1.py +4 -5
- immichpy/client/generated/models/sync_asset_v1.py +47 -18
- immichpy/client/generated/models/sync_auth_user_v1.py +22 -12
- immichpy/client/generated/models/sync_entity_type.py +2 -2
- immichpy/client/generated/models/sync_memory_asset_delete_v1.py +3 -3
- immichpy/client/generated/models/sync_memory_asset_v1.py +3 -3
- immichpy/client/generated/models/sync_memory_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_memory_v1.py +13 -13
- immichpy/client/generated/models/sync_partner_delete_v1.py +5 -3
- immichpy/client/generated/models/sync_partner_v1.py +6 -4
- immichpy/client/generated/models/sync_person_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_person_v1.py +13 -11
- immichpy/client/generated/models/sync_request_type.py +2 -2
- immichpy/client/generated/models/sync_stack_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_stack_v1.py +8 -6
- immichpy/client/generated/models/sync_stream_dto.py +4 -4
- immichpy/client/generated/models/sync_user_delete_v1.py +2 -2
- immichpy/client/generated/models/sync_user_metadata_delete_v1.py +3 -3
- immichpy/client/generated/models/sync_user_metadata_v1.py +4 -4
- immichpy/client/generated/models/sync_user_v1.py +16 -8
- immichpy/client/generated/models/system_config_backups_dto.py +1 -1
- immichpy/client/generated/models/system_config_dto.py +1 -1
- immichpy/client/generated/models/system_config_f_fmpeg_dto.py +44 -22
- immichpy/client/generated/models/system_config_faces_dto.py +2 -2
- immichpy/client/generated/models/system_config_generated_fullsize_image_dto.py +13 -7
- immichpy/client/generated/models/system_config_generated_image_dto.py +14 -8
- immichpy/client/generated/models/system_config_image_dto.py +5 -3
- immichpy/client/generated/models/system_config_job_dto.py +9 -1
- immichpy/client/generated/models/system_config_library_dto.py +1 -1
- immichpy/client/generated/models/system_config_library_scan_dto.py +2 -2
- immichpy/client/generated/models/system_config_library_watch_dto.py +3 -3
- immichpy/client/generated/models/system_config_logging_dto.py +3 -3
- immichpy/client/generated/models/system_config_machine_learning_dto.py +2 -2
- immichpy/client/generated/models/system_config_map_dto.py +2 -2
- immichpy/client/generated/models/system_config_metadata_dto.py +1 -1
- immichpy/client/generated/models/system_config_new_version_check_dto.py +3 -3
- immichpy/client/generated/models/system_config_nightly_tasks_dto.py +16 -6
- immichpy/client/generated/models/system_config_notifications_dto.py +1 -1
- immichpy/client/generated/models/system_config_o_auth_dto.py +28 -18
- immichpy/client/generated/models/system_config_password_login_dto.py +3 -3
- immichpy/client/generated/models/system_config_reverse_geocoding_dto.py +3 -3
- immichpy/client/generated/models/system_config_server_dto.py +8 -4
- immichpy/client/generated/models/system_config_smtp_dto.py +8 -4
- immichpy/client/generated/models/system_config_smtp_transport_dto.py +9 -7
- immichpy/client/generated/models/system_config_storage_template_dto.py +6 -4
- immichpy/client/generated/models/system_config_template_emails_dto.py +1 -1
- immichpy/client/generated/models/system_config_template_storage_option_dto.py +32 -9
- immichpy/client/generated/models/system_config_templates_dto.py +1 -1
- immichpy/client/generated/models/system_config_theme_dto.py +4 -2
- immichpy/client/generated/models/system_config_trash_dto.py +3 -3
- immichpy/client/generated/models/system_config_user_dto.py +4 -2
- immichpy/client/generated/models/tag_bulk_assets_dto.py +3 -3
- immichpy/client/generated/models/tag_bulk_assets_response_dto.py +3 -3
- immichpy/client/generated/models/tag_create_dto.py +8 -4
- immichpy/client/generated/models/tag_response_dto.py +10 -8
- immichpy/client/generated/models/tag_update_dto.py +3 -3
- immichpy/client/generated/models/tag_upsert_dto.py +3 -3
- immichpy/client/generated/models/tags_response.py +5 -3
- immichpy/client/generated/models/tags_update.py +9 -3
- immichpy/client/generated/models/template_dto.py +3 -3
- immichpy/client/generated/models/template_response_dto.py +4 -4
- immichpy/client/generated/models/test_email_response_dto.py +2 -2
- immichpy/client/generated/models/time_bucket_asset_response_dto.py +2 -3
- immichpy/client/generated/models/time_buckets_response_dto.py +1 -1
- immichpy/client/generated/models/tone_mapping.py +2 -2
- immichpy/client/generated/models/transcode_hw_accel.py +2 -2
- immichpy/client/generated/models/transcode_policy.py +2 -2
- immichpy/client/generated/models/trash_response_dto.py +3 -3
- immichpy/client/generated/models/update_album_dto.py +12 -6
- immichpy/client/generated/models/update_album_user_dto.py +3 -3
- immichpy/client/generated/models/update_asset_dto.py +21 -9
- immichpy/client/generated/models/update_library_dto.py +8 -4
- immichpy/client/generated/models/usage_by_user_dto.py +16 -9
- immichpy/client/generated/models/user_admin_create_dto.py +20 -10
- immichpy/client/generated/models/user_admin_delete_dto.py +5 -3
- immichpy/client/generated/models/user_admin_response_dto.py +35 -18
- immichpy/client/generated/models/user_admin_update_dto.py +20 -10
- immichpy/client/generated/models/user_avatar_color.py +2 -2
- immichpy/client/generated/models/user_license.py +6 -4
- immichpy/client/generated/models/user_metadata_key.py +2 -2
- immichpy/client/generated/models/user_preferences_response_dto.py +1 -1
- immichpy/client/generated/models/user_preferences_update_dto.py +1 -1
- immichpy/client/generated/models/user_response_dto.py +13 -7
- immichpy/client/generated/models/user_status.py +2 -2
- immichpy/client/generated/models/user_update_me_dto.py +10 -5
- immichpy/client/generated/models/validate_access_token_response_dto.py +4 -2
- immichpy/client/generated/models/validate_library_dto.py +9 -3
- immichpy/client/generated/models/validate_library_import_path_response_dto.py +4 -4
- immichpy/client/generated/models/validate_library_response_dto.py +4 -2
- immichpy/client/generated/models/version_check_state_response_dto.py +7 -3
- immichpy/client/generated/models/video_codec.py +2 -2
- immichpy/client/generated/models/video_container.py +2 -2
- immichpy/client/generated/models/workflow_action_item_dto.py +7 -3
- immichpy/client/generated/models/workflow_action_response_dto.py +10 -6
- immichpy/client/generated/models/workflow_create_dto.py +11 -7
- immichpy/client/generated/models/workflow_filter_item_dto.py +7 -3
- immichpy/client/generated/models/workflow_filter_response_dto.py +10 -6
- immichpy/client/generated/models/workflow_response_dto.py +14 -27
- immichpy/client/generated/models/workflow_update_dto.py +19 -7
- immichpy/client/generated/rest.py +1 -1
- immichpy/client/main.py +4 -1
- {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/METADATA +1 -3
- immichpy-1.7.6.dist-info/RECORD +464 -0
- immichpy-1.6.5.dist-info/RECORD +0 -439
- {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/WHEEL +0 -0
- {immichpy-1.6.5.dist-info → immichpy-1.7.6.dist-info}/entry_points.txt +0 -0
- {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.
|
|
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.
|
|
@@ -39,25 +39,41 @@ class AssetBulkUpdateDto(BaseModel):
|
|
|
39
39
|
""" # noqa: E501
|
|
40
40
|
|
|
41
41
|
date_time_original: Optional[StrictStr] = Field(
|
|
42
|
-
default=None, alias="dateTimeOriginal"
|
|
42
|
+
default=None, description="Original date and time", alias="dateTimeOriginal"
|
|
43
43
|
)
|
|
44
44
|
date_time_relative: Optional[Union[StrictFloat, StrictInt]] = Field(
|
|
45
|
-
default=None,
|
|
45
|
+
default=None,
|
|
46
|
+
description="Relative time offset in seconds",
|
|
47
|
+
alias="dateTimeRelative",
|
|
48
|
+
)
|
|
49
|
+
description: Optional[StrictStr] = Field(
|
|
50
|
+
default=None, description="Asset description"
|
|
51
|
+
)
|
|
52
|
+
duplicate_id: Optional[StrictStr] = Field(
|
|
53
|
+
default=None, description="Duplicate asset ID", alias="duplicateId"
|
|
54
|
+
)
|
|
55
|
+
ids: List[UUID] = Field(description="Asset IDs to update")
|
|
56
|
+
is_favorite: Optional[StrictBool] = Field(
|
|
57
|
+
default=None, description="Mark as favorite", alias="isFavorite"
|
|
58
|
+
)
|
|
59
|
+
latitude: Optional[Union[StrictFloat, StrictInt]] = Field(
|
|
60
|
+
default=None, description="Latitude coordinate"
|
|
61
|
+
)
|
|
62
|
+
longitude: Optional[Union[StrictFloat, StrictInt]] = Field(
|
|
63
|
+
default=None, description="Longitude coordinate"
|
|
46
64
|
)
|
|
47
|
-
description: Optional[StrictStr] = None
|
|
48
|
-
duplicate_id: Optional[StrictStr] = Field(default=None, alias="duplicateId")
|
|
49
|
-
ids: List[UUID]
|
|
50
|
-
is_favorite: Optional[StrictBool] = Field(default=None, alias="isFavorite")
|
|
51
|
-
latitude: Optional[Union[StrictFloat, StrictInt]] = None
|
|
52
|
-
longitude: Optional[Union[StrictFloat, StrictInt]] = None
|
|
53
65
|
rating: Optional[
|
|
54
66
|
Union[
|
|
55
67
|
Annotated[float, Field(le=5, strict=True, ge=-1)],
|
|
56
68
|
Annotated[int, Field(le=5, strict=True, ge=-1)],
|
|
57
69
|
]
|
|
58
|
-
] = None
|
|
59
|
-
time_zone: Optional[StrictStr] = Field(
|
|
60
|
-
|
|
70
|
+
] = Field(default=None, description="Rating")
|
|
71
|
+
time_zone: Optional[StrictStr] = Field(
|
|
72
|
+
default=None, description="Time zone (IANA timezone)", alias="timeZone"
|
|
73
|
+
)
|
|
74
|
+
visibility: Optional[AssetVisibility] = Field(
|
|
75
|
+
default=None, description="Asset visibility"
|
|
76
|
+
)
|
|
61
77
|
__properties: ClassVar[List[str]] = [
|
|
62
78
|
"dateTimeOriginal",
|
|
63
79
|
"dateTimeRelative",
|
|
@@ -5,7 +5,7 @@ Immich
|
|
|
5
5
|
|
|
6
6
|
Immich API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 2.
|
|
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_bulk_upload_check_item import (
|
|
22
22
|
AssetBulkUploadCheckItem,
|
|
@@ -30,7 +30,7 @@ class AssetBulkUploadCheckDto(BaseModel):
|
|
|
30
30
|
AssetBulkUploadCheckDto
|
|
31
31
|
""" # noqa: E501
|
|
32
32
|
|
|
33
|
-
assets: List[AssetBulkUploadCheckItem]
|
|
33
|
+
assets: List[AssetBulkUploadCheckItem] = Field(description="Assets to check")
|
|
34
34
|
__properties: ClassVar[List[str]] = ["assets"]
|
|
35
35
|
|
|
36
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.
|
|
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,8 @@ class AssetBulkUploadCheckItem(BaseModel):
|
|
|
27
27
|
AssetBulkUploadCheckItem
|
|
28
28
|
""" # noqa: E501
|
|
29
29
|
|
|
30
|
-
checksum: StrictStr = Field(description="
|
|
31
|
-
id: StrictStr
|
|
30
|
+
checksum: StrictStr = Field(description="Base64 or hex encoded SHA1 hash")
|
|
31
|
+
id: StrictStr = Field(description="Asset ID")
|
|
32
32
|
__properties: ClassVar[List[str]] = ["checksum", "id"]
|
|
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.
|
|
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_bulk_upload_check_result import (
|
|
22
22
|
AssetBulkUploadCheckResult,
|
|
@@ -30,7 +30,9 @@ class AssetBulkUploadCheckResponseDto(BaseModel):
|
|
|
30
30
|
AssetBulkUploadCheckResponseDto
|
|
31
31
|
""" # noqa: E501
|
|
32
32
|
|
|
33
|
-
results: List[AssetBulkUploadCheckResult]
|
|
33
|
+
results: List[AssetBulkUploadCheckResult] = Field(
|
|
34
|
+
description="Upload check results"
|
|
35
|
+
)
|
|
34
36
|
__properties: ClassVar[List[str]] = ["results"]
|
|
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.
|
|
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.
|
|
@@ -34,11 +34,17 @@ class AssetBulkUploadCheckResult(BaseModel):
|
|
|
34
34
|
AssetBulkUploadCheckResult
|
|
35
35
|
""" # noqa: E501
|
|
36
36
|
|
|
37
|
-
action: StrictStr
|
|
38
|
-
asset_id: Optional[StrictStr] = Field(
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
action: StrictStr = Field(description="Upload action")
|
|
38
|
+
asset_id: Optional[StrictStr] = Field(
|
|
39
|
+
default=None, description="Existing asset ID if duplicate", alias="assetId"
|
|
40
|
+
)
|
|
41
|
+
id: StrictStr = Field(description="Asset ID")
|
|
42
|
+
is_trashed: Optional[StrictBool] = Field(
|
|
43
|
+
default=None, description="Whether existing asset is trashed", alias="isTrashed"
|
|
44
|
+
)
|
|
45
|
+
reason: Optional[StrictStr] = Field(
|
|
46
|
+
default=None, description="Rejection reason if rejected"
|
|
47
|
+
)
|
|
42
48
|
__properties: ClassVar[List[str]] = [
|
|
43
49
|
"action",
|
|
44
50
|
"assetId",
|
|
@@ -5,7 +5,7 @@ Immich
|
|
|
5
5
|
|
|
6
6
|
Immich API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 2.
|
|
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.
|
|
@@ -28,13 +28,21 @@ class AssetCopyDto(BaseModel):
|
|
|
28
28
|
AssetCopyDto
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
|
|
31
|
-
albums: Optional[StrictBool] =
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
albums: Optional[StrictBool] = Field(
|
|
32
|
+
default=True, description="Copy album associations"
|
|
33
|
+
)
|
|
34
|
+
favorite: Optional[StrictBool] = Field(
|
|
35
|
+
default=True, description="Copy favorite status"
|
|
36
|
+
)
|
|
37
|
+
shared_links: Optional[StrictBool] = Field(
|
|
38
|
+
default=True, description="Copy shared links", alias="sharedLinks"
|
|
39
|
+
)
|
|
40
|
+
sidecar: Optional[StrictBool] = Field(default=True, description="Copy sidecar file")
|
|
41
|
+
source_id: UUID = Field(description="Source asset ID", alias="sourceId")
|
|
42
|
+
stack: Optional[StrictBool] = Field(
|
|
43
|
+
default=True, description="Copy stack association"
|
|
44
|
+
)
|
|
45
|
+
target_id: UUID = Field(description="Target asset ID", alias="targetId")
|
|
38
46
|
__properties: ClassVar[List[str]] = [
|
|
39
47
|
"albums",
|
|
40
48
|
"favorite",
|
|
@@ -5,7 +5,7 @@ Immich
|
|
|
5
5
|
|
|
6
6
|
Immich API
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 2.
|
|
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,8 +29,10 @@ class AssetDeltaSyncDto(BaseModel):
|
|
|
29
29
|
AssetDeltaSyncDto
|
|
30
30
|
""" # noqa: E501
|
|
31
31
|
|
|
32
|
-
updated_after: datetime = Field(
|
|
33
|
-
|
|
32
|
+
updated_after: datetime = Field(
|
|
33
|
+
description="Sync assets updated after this date", alias="updatedAfter"
|
|
34
|
+
)
|
|
35
|
+
user_ids: List[UUID] = Field(description="User IDs to sync", alias="userIds")
|
|
34
36
|
__properties: ClassVar[List[str]] = ["updatedAfter", "userIds"]
|
|
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.
|
|
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.
|
|
@@ -28,9 +28,11 @@ class AssetDeltaSyncResponseDto(BaseModel):
|
|
|
28
28
|
AssetDeltaSyncResponseDto
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
|
|
31
|
-
deleted: List[StrictStr]
|
|
32
|
-
needs_full_sync: StrictBool = Field(
|
|
33
|
-
|
|
31
|
+
deleted: List[StrictStr] = Field(description="Deleted asset IDs")
|
|
32
|
+
needs_full_sync: StrictBool = Field(
|
|
33
|
+
description="Whether full sync is needed", alias="needsFullSync"
|
|
34
|
+
)
|
|
35
|
+
upserted: List[AssetResponseDto] = Field(description="Upserted assets")
|
|
34
36
|
__properties: ClassVar[List[str]] = ["deleted", "needsFullSync", "upserted"]
|
|
35
37
|
|
|
36
38
|
model_config = ConfigDict(
|
|
@@ -0,0 +1,35 @@
|
|
|
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 json
|
|
16
|
+
from enum import Enum
|
|
17
|
+
from typing_extensions import Self
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class AssetEditAction(str, Enum):
|
|
21
|
+
"""
|
|
22
|
+
Type of edit action to perform
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
"""
|
|
26
|
+
allowed enum values
|
|
27
|
+
"""
|
|
28
|
+
CROP = "crop"
|
|
29
|
+
ROTATE = "rotate"
|
|
30
|
+
MIRROR = "mirror"
|
|
31
|
+
|
|
32
|
+
@classmethod
|
|
33
|
+
def from_json(cls, json_str: str) -> Self:
|
|
34
|
+
"""Create an instance of AssetEditAction from a JSON string"""
|
|
35
|
+
return cls(json.loads(json_str))
|
|
@@ -0,0 +1,95 @@
|
|
|
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_edit_action import AssetEditAction
|
|
22
|
+
from immichpy.client.generated.models.crop_parameters import CropParameters
|
|
23
|
+
from typing import Optional, Set
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class AssetEditActionCrop(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
AssetEditActionCrop
|
|
30
|
+
""" # noqa: E501
|
|
31
|
+
|
|
32
|
+
action: AssetEditAction = Field(description="Type of edit action to perform")
|
|
33
|
+
parameters: CropParameters
|
|
34
|
+
__properties: ClassVar[List[str]] = ["action", "parameters"]
|
|
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 AssetEditActionCrop 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
|
+
# override the default output from pydantic by calling `to_dict()` of parameters
|
|
74
|
+
if self.parameters:
|
|
75
|
+
_dict["parameters"] = self.parameters.to_dict()
|
|
76
|
+
return _dict
|
|
77
|
+
|
|
78
|
+
@classmethod
|
|
79
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
80
|
+
"""Create an instance of AssetEditActionCrop from a dict"""
|
|
81
|
+
if obj is None:
|
|
82
|
+
return None
|
|
83
|
+
|
|
84
|
+
if not isinstance(obj, dict):
|
|
85
|
+
return cls.model_validate(obj)
|
|
86
|
+
|
|
87
|
+
_obj = cls.model_validate(
|
|
88
|
+
{
|
|
89
|
+
"action": obj.get("action"),
|
|
90
|
+
"parameters": CropParameters.from_dict(obj["parameters"])
|
|
91
|
+
if obj.get("parameters") is not None
|
|
92
|
+
else None,
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
return _obj
|
|
@@ -0,0 +1,104 @@
|
|
|
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 typing_extensions import Annotated
|
|
22
|
+
from immichpy.client.generated.models.asset_edit_action_list_dto_edits_inner import (
|
|
23
|
+
AssetEditActionListDtoEditsInner,
|
|
24
|
+
)
|
|
25
|
+
from typing import Optional, Set
|
|
26
|
+
from typing_extensions import Self
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class AssetEditActionListDto(BaseModel):
|
|
30
|
+
"""
|
|
31
|
+
AssetEditActionListDto
|
|
32
|
+
""" # noqa: E501
|
|
33
|
+
|
|
34
|
+
edits: Annotated[List[AssetEditActionListDtoEditsInner], Field(min_length=1)] = (
|
|
35
|
+
Field(description="List of edit actions to apply (crop, rotate, or mirror)")
|
|
36
|
+
)
|
|
37
|
+
__properties: ClassVar[List[str]] = ["edits"]
|
|
38
|
+
|
|
39
|
+
model_config = ConfigDict(
|
|
40
|
+
populate_by_name=True,
|
|
41
|
+
validate_assignment=True,
|
|
42
|
+
protected_namespaces=(),
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
def to_str(self) -> str:
|
|
46
|
+
"""Returns the string representation of the model using alias"""
|
|
47
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
48
|
+
|
|
49
|
+
def to_json(self) -> str:
|
|
50
|
+
"""Returns the JSON representation of the model using alias"""
|
|
51
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
52
|
+
return json.dumps(self.to_dict())
|
|
53
|
+
|
|
54
|
+
@classmethod
|
|
55
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
56
|
+
"""Create an instance of AssetEditActionListDto from a JSON string"""
|
|
57
|
+
return cls.from_dict(json.loads(json_str))
|
|
58
|
+
|
|
59
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
60
|
+
"""Return the dictionary representation of the model using alias.
|
|
61
|
+
|
|
62
|
+
This has the following differences from calling pydantic's
|
|
63
|
+
`self.model_dump(by_alias=True)`:
|
|
64
|
+
|
|
65
|
+
* `None` is only added to the output dict for nullable fields that
|
|
66
|
+
were set at model initialization. Other fields with value `None`
|
|
67
|
+
are ignored.
|
|
68
|
+
"""
|
|
69
|
+
excluded_fields: Set[str] = set([])
|
|
70
|
+
|
|
71
|
+
_dict = self.model_dump(
|
|
72
|
+
by_alias=True,
|
|
73
|
+
exclude=excluded_fields,
|
|
74
|
+
exclude_none=True,
|
|
75
|
+
)
|
|
76
|
+
# override the default output from pydantic by calling `to_dict()` of each item in edits (list)
|
|
77
|
+
_items = []
|
|
78
|
+
if self.edits:
|
|
79
|
+
for _item_edits in self.edits:
|
|
80
|
+
if _item_edits:
|
|
81
|
+
_items.append(_item_edits.to_dict())
|
|
82
|
+
_dict["edits"] = _items
|
|
83
|
+
return _dict
|
|
84
|
+
|
|
85
|
+
@classmethod
|
|
86
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
87
|
+
"""Create an instance of AssetEditActionListDto from a dict"""
|
|
88
|
+
if obj is None:
|
|
89
|
+
return None
|
|
90
|
+
|
|
91
|
+
if not isinstance(obj, dict):
|
|
92
|
+
return cls.model_validate(obj)
|
|
93
|
+
|
|
94
|
+
_obj = cls.model_validate(
|
|
95
|
+
{
|
|
96
|
+
"edits": [
|
|
97
|
+
AssetEditActionListDtoEditsInner.from_dict(_item)
|
|
98
|
+
for _item in obj["edits"]
|
|
99
|
+
]
|
|
100
|
+
if obj.get("edits") is not None
|
|
101
|
+
else None
|
|
102
|
+
}
|
|
103
|
+
)
|
|
104
|
+
return _obj
|
|
@@ -0,0 +1,188 @@
|
|
|
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 json
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
from pydantic import BaseModel, ValidationError, field_validator
|
|
19
|
+
from typing import Optional
|
|
20
|
+
from immichpy.client.generated.models.asset_edit_action_crop import AssetEditActionCrop
|
|
21
|
+
from immichpy.client.generated.models.asset_edit_action_mirror import (
|
|
22
|
+
AssetEditActionMirror,
|
|
23
|
+
)
|
|
24
|
+
from immichpy.client.generated.models.asset_edit_action_rotate import (
|
|
25
|
+
AssetEditActionRotate,
|
|
26
|
+
)
|
|
27
|
+
from typing import Union, Any, Set, TYPE_CHECKING, Dict
|
|
28
|
+
from typing_extensions import Self
|
|
29
|
+
|
|
30
|
+
ASSETEDITACTIONLISTDTOEDITSINNER_ANY_OF_SCHEMAS = [
|
|
31
|
+
"AssetEditActionCrop",
|
|
32
|
+
"AssetEditActionMirror",
|
|
33
|
+
"AssetEditActionRotate",
|
|
34
|
+
]
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class AssetEditActionListDtoEditsInner(BaseModel):
|
|
38
|
+
"""
|
|
39
|
+
AssetEditActionListDtoEditsInner
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
# data type: AssetEditActionCrop
|
|
43
|
+
anyof_schema_1_validator: Optional[AssetEditActionCrop] = None
|
|
44
|
+
# data type: AssetEditActionRotate
|
|
45
|
+
anyof_schema_2_validator: Optional[AssetEditActionRotate] = None
|
|
46
|
+
# data type: AssetEditActionMirror
|
|
47
|
+
anyof_schema_3_validator: Optional[AssetEditActionMirror] = None
|
|
48
|
+
if TYPE_CHECKING:
|
|
49
|
+
actual_instance: Optional[
|
|
50
|
+
Union[AssetEditActionCrop, AssetEditActionMirror, AssetEditActionRotate]
|
|
51
|
+
] = None
|
|
52
|
+
else:
|
|
53
|
+
actual_instance: Any = None
|
|
54
|
+
any_of_schemas: Set[str] = {
|
|
55
|
+
"AssetEditActionCrop",
|
|
56
|
+
"AssetEditActionMirror",
|
|
57
|
+
"AssetEditActionRotate",
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
model_config = {
|
|
61
|
+
"validate_assignment": True,
|
|
62
|
+
"protected_namespaces": (),
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
def __init__(self, *args, **kwargs) -> None:
|
|
66
|
+
if args:
|
|
67
|
+
if len(args) > 1:
|
|
68
|
+
raise ValueError(
|
|
69
|
+
"If a position argument is used, only 1 is allowed to set `actual_instance`"
|
|
70
|
+
)
|
|
71
|
+
if kwargs:
|
|
72
|
+
raise ValueError(
|
|
73
|
+
"If a position argument is used, keyword arguments cannot be used."
|
|
74
|
+
)
|
|
75
|
+
super().__init__(actual_instance=args[0])
|
|
76
|
+
else:
|
|
77
|
+
super().__init__(**kwargs)
|
|
78
|
+
|
|
79
|
+
@field_validator("actual_instance")
|
|
80
|
+
def actual_instance_must_validate_anyof(cls, v):
|
|
81
|
+
instance = AssetEditActionListDtoEditsInner.model_construct()
|
|
82
|
+
error_messages = []
|
|
83
|
+
# validate data type: AssetEditActionCrop
|
|
84
|
+
if not isinstance(v, AssetEditActionCrop):
|
|
85
|
+
error_messages.append(
|
|
86
|
+
f"Error! Input type `{type(v)}` is not `AssetEditActionCrop`"
|
|
87
|
+
)
|
|
88
|
+
else:
|
|
89
|
+
return v
|
|
90
|
+
|
|
91
|
+
# validate data type: AssetEditActionRotate
|
|
92
|
+
if not isinstance(v, AssetEditActionRotate):
|
|
93
|
+
error_messages.append(
|
|
94
|
+
f"Error! Input type `{type(v)}` is not `AssetEditActionRotate`"
|
|
95
|
+
)
|
|
96
|
+
else:
|
|
97
|
+
return v
|
|
98
|
+
|
|
99
|
+
# validate data type: AssetEditActionMirror
|
|
100
|
+
if not isinstance(v, AssetEditActionMirror):
|
|
101
|
+
error_messages.append(
|
|
102
|
+
f"Error! Input type `{type(v)}` is not `AssetEditActionMirror`"
|
|
103
|
+
)
|
|
104
|
+
else:
|
|
105
|
+
return v
|
|
106
|
+
|
|
107
|
+
if error_messages:
|
|
108
|
+
# no match
|
|
109
|
+
raise ValueError(
|
|
110
|
+
"No match found when setting the actual_instance in AssetEditActionListDtoEditsInner with anyOf schemas: AssetEditActionCrop, AssetEditActionMirror, AssetEditActionRotate. Details: "
|
|
111
|
+
+ ", ".join(error_messages)
|
|
112
|
+
)
|
|
113
|
+
else:
|
|
114
|
+
return v
|
|
115
|
+
|
|
116
|
+
@classmethod
|
|
117
|
+
def from_dict(cls, obj: Dict[str, Any]) -> Self:
|
|
118
|
+
return cls.from_json(json.dumps(obj))
|
|
119
|
+
|
|
120
|
+
@classmethod
|
|
121
|
+
def from_json(cls, json_str: str) -> Self:
|
|
122
|
+
"""Returns the object represented by the json string"""
|
|
123
|
+
instance = cls.model_construct()
|
|
124
|
+
error_messages = []
|
|
125
|
+
# anyof_schema_1_validator: Optional[AssetEditActionCrop] = None
|
|
126
|
+
try:
|
|
127
|
+
instance.actual_instance = AssetEditActionCrop.from_json(json_str)
|
|
128
|
+
return instance
|
|
129
|
+
except (ValidationError, ValueError) as e:
|
|
130
|
+
error_messages.append(str(e))
|
|
131
|
+
# anyof_schema_2_validator: Optional[AssetEditActionRotate] = None
|
|
132
|
+
try:
|
|
133
|
+
instance.actual_instance = AssetEditActionRotate.from_json(json_str)
|
|
134
|
+
return instance
|
|
135
|
+
except (ValidationError, ValueError) as e:
|
|
136
|
+
error_messages.append(str(e))
|
|
137
|
+
# anyof_schema_3_validator: Optional[AssetEditActionMirror] = None
|
|
138
|
+
try:
|
|
139
|
+
instance.actual_instance = AssetEditActionMirror.from_json(json_str)
|
|
140
|
+
return instance
|
|
141
|
+
except (ValidationError, ValueError) as e:
|
|
142
|
+
error_messages.append(str(e))
|
|
143
|
+
|
|
144
|
+
if error_messages:
|
|
145
|
+
# no match
|
|
146
|
+
raise ValueError(
|
|
147
|
+
"No match found when deserializing the JSON string into AssetEditActionListDtoEditsInner with anyOf schemas: AssetEditActionCrop, AssetEditActionMirror, AssetEditActionRotate. Details: "
|
|
148
|
+
+ ", ".join(error_messages)
|
|
149
|
+
)
|
|
150
|
+
else:
|
|
151
|
+
return instance
|
|
152
|
+
|
|
153
|
+
def to_json(self) -> str:
|
|
154
|
+
"""Returns the JSON representation of the actual instance"""
|
|
155
|
+
if self.actual_instance is None:
|
|
156
|
+
return "null"
|
|
157
|
+
|
|
158
|
+
if hasattr(self.actual_instance, "to_json") and callable(
|
|
159
|
+
self.actual_instance.to_json
|
|
160
|
+
):
|
|
161
|
+
return self.actual_instance.to_json()
|
|
162
|
+
else:
|
|
163
|
+
return json.dumps(self.actual_instance)
|
|
164
|
+
|
|
165
|
+
def to_dict(
|
|
166
|
+
self,
|
|
167
|
+
) -> Optional[
|
|
168
|
+
Union[
|
|
169
|
+
Dict[str, Any],
|
|
170
|
+
AssetEditActionCrop,
|
|
171
|
+
AssetEditActionMirror,
|
|
172
|
+
AssetEditActionRotate,
|
|
173
|
+
]
|
|
174
|
+
]:
|
|
175
|
+
"""Returns the dict representation of the actual instance"""
|
|
176
|
+
if self.actual_instance is None:
|
|
177
|
+
return None
|
|
178
|
+
|
|
179
|
+
if hasattr(self.actual_instance, "to_dict") and callable(
|
|
180
|
+
self.actual_instance.to_dict
|
|
181
|
+
):
|
|
182
|
+
return self.actual_instance.to_dict()
|
|
183
|
+
else:
|
|
184
|
+
return self.actual_instance
|
|
185
|
+
|
|
186
|
+
def to_str(self) -> str:
|
|
187
|
+
"""Returns the string representation of the actual instance"""
|
|
188
|
+
return pprint.pformat(self.model_dump())
|