immich 1.2.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- immich/.openapi-generator/FILES +372 -0
- immich/.openapi-generator/VERSION +1 -0
- immich/.openapi-generator-ignore +48 -0
- immich/__init__.py +3 -0
- immich/client/__init__.py +1162 -0
- immich/client/api/__init__.py +39 -0
- immich/client/api/activities_api.py +1092 -0
- immich/client/api/albums_api.py +3228 -0
- immich/client/api/api_keys_api.py +1484 -0
- immich/client/api/assets_api.py +5834 -0
- immich/client/api/authentication_admin_api.py +254 -0
- immich/client/api/authentication_api.py +3881 -0
- immich/client/api/deprecated_api.py +2199 -0
- immich/client/api/download_api.py +603 -0
- immich/client/api/duplicates_api.py +743 -0
- immich/client/api/faces_api.py +1053 -0
- immich/client/api/jobs_api.py +783 -0
- immich/client/api/libraries_api.py +2004 -0
- immich/client/api/maintenance_admin_api.py +533 -0
- immich/client/api/map_api.py +640 -0
- immich/client/api/memories_api.py +2250 -0
- immich/client/api/notifications_admin_api.py +808 -0
- immich/client/api/notifications_api.py +1564 -0
- immich/client/api/partners_api.py +1278 -0
- immich/client/api/people_api.py +2905 -0
- immich/client/api/plugins_api.py +730 -0
- immich/client/api/queues_api.py +1292 -0
- immich/client/api/search_api.py +3198 -0
- immich/client/api/server_api.py +3466 -0
- immich/client/api/sessions_api.py +1472 -0
- immich/client/api/shared_links_api.py +2177 -0
- immich/client/api/stacks_api.py +1769 -0
- immich/client/api/sync_api.py +1512 -0
- immich/client/api/system_config_api.py +967 -0
- immich/client/api/system_metadata_api.py +964 -0
- immich/client/api/tags_api.py +2296 -0
- immich/client/api/timeline_api.py +1193 -0
- immich/client/api/trash_api.py +739 -0
- immich/client/api/users_admin_api.py +2607 -0
- immich/client/api/users_api.py +3577 -0
- immich/client/api/views_api.py +503 -0
- immich/client/api/workflows_api.py +1257 -0
- immich/client/api_client.py +756 -0
- immich/client/api_response.py +20 -0
- immich/client/configuration.py +638 -0
- immich/client/exceptions.py +222 -0
- immich/client/models/__init__.py +424 -0
- immich/client/models/activity_create_dto.py +94 -0
- immich/client/models/activity_response_dto.py +121 -0
- immich/client/models/activity_statistics_response_dto.py +85 -0
- immich/client/models/add_users_dto.py +101 -0
- immich/client/models/admin_onboarding_update_dto.py +82 -0
- immich/client/models/album_response_dto.py +199 -0
- immich/client/models/album_statistics_response_dto.py +90 -0
- immich/client/models/album_user_add_dto.py +87 -0
- immich/client/models/album_user_create_dto.py +87 -0
- immich/client/models/album_user_response_dto.py +95 -0
- immich/client/models/album_user_role.py +34 -0
- immich/client/models/albums_add_assets_dto.py +86 -0
- immich/client/models/albums_add_assets_response_dto.py +86 -0
- immich/client/models/albums_response.py +83 -0
- immich/client/models/albums_update.py +85 -0
- immich/client/models/api_key_create_dto.py +87 -0
- immich/client/models/api_key_create_response_dto.py +94 -0
- immich/client/models/api_key_response_dto.py +102 -0
- immich/client/models/api_key_update_dto.py +87 -0
- immich/client/models/asset_bulk_delete_dto.py +84 -0
- immich/client/models/asset_bulk_update_dto.py +143 -0
- immich/client/models/asset_bulk_upload_check_dto.py +98 -0
- immich/client/models/asset_bulk_upload_check_item.py +85 -0
- immich/client/models/asset_bulk_upload_check_response_dto.py +101 -0
- immich/client/models/asset_bulk_upload_check_result.py +126 -0
- immich/client/models/asset_copy_dto.py +113 -0
- immich/client/models/asset_delta_sync_dto.py +87 -0
- immich/client/models/asset_delta_sync_response_dto.py +102 -0
- immich/client/models/asset_face_create_dto.py +110 -0
- immich/client/models/asset_face_delete_dto.py +82 -0
- immich/client/models/asset_face_response_dto.py +125 -0
- immich/client/models/asset_face_update_dto.py +96 -0
- immich/client/models/asset_face_update_item.py +86 -0
- immich/client/models/asset_face_without_person_response_dto.py +111 -0
- immich/client/models/asset_full_sync_dto.py +95 -0
- immich/client/models/asset_ids_dto.py +83 -0
- immich/client/models/asset_ids_response_dto.py +109 -0
- immich/client/models/asset_job_name.py +36 -0
- immich/client/models/asset_jobs_dto.py +87 -0
- immich/client/models/asset_media_response_dto.py +84 -0
- immich/client/models/asset_media_size.py +35 -0
- immich/client/models/asset_media_status.py +35 -0
- immich/client/models/asset_metadata_key.py +33 -0
- immich/client/models/asset_metadata_response_dto.py +92 -0
- immich/client/models/asset_metadata_upsert_dto.py +101 -0
- immich/client/models/asset_metadata_upsert_item_dto.py +84 -0
- immich/client/models/asset_ocr_response_dto.py +145 -0
- immich/client/models/asset_order.py +34 -0
- immich/client/models/asset_response_dto.py +291 -0
- immich/client/models/asset_stack_response_dto.py +90 -0
- immich/client/models/asset_stats_response_dto.py +90 -0
- immich/client/models/asset_type_enum.py +36 -0
- immich/client/models/asset_visibility.py +36 -0
- immich/client/models/audio_codec.py +36 -0
- immich/client/models/auth_status_response_dto.py +100 -0
- immich/client/models/avatar_update.py +83 -0
- immich/client/models/bulk_id_error_reason.py +36 -0
- immich/client/models/bulk_id_response_dto.py +102 -0
- immich/client/models/bulk_ids_dto.py +83 -0
- immich/client/models/cast_response.py +88 -0
- immich/client/models/cast_update.py +82 -0
- immich/client/models/change_password_dto.py +101 -0
- immich/client/models/check_existing_assets_dto.py +91 -0
- immich/client/models/check_existing_assets_response_dto.py +82 -0
- immich/client/models/clip_config.py +85 -0
- immich/client/models/colorspace.py +34 -0
- immich/client/models/contributor_count_response_dto.py +85 -0
- immich/client/models/cq_mode.py +35 -0
- immich/client/models/create_album_dto.py +112 -0
- immich/client/models/create_library_dto.py +103 -0
- immich/client/models/create_profile_image_response_dto.py +95 -0
- immich/client/models/database_backup_config.py +94 -0
- immich/client/models/download_archive_info.py +85 -0
- immich/client/models/download_info_dto.py +96 -0
- immich/client/models/download_response.py +90 -0
- immich/client/models/download_response_dto.py +100 -0
- immich/client/models/download_update.py +93 -0
- immich/client/models/duplicate_detection_config.py +89 -0
- immich/client/models/duplicate_response_dto.py +98 -0
- immich/client/models/email_notifications_response.py +90 -0
- immich/client/models/email_notifications_update.py +90 -0
- immich/client/models/exif_response_dto.py +284 -0
- immich/client/models/face_dto.py +83 -0
- immich/client/models/facial_recognition_config.py +107 -0
- immich/client/models/folders_response.py +92 -0
- immich/client/models/folders_update.py +85 -0
- immich/client/models/image_format.py +34 -0
- immich/client/models/job_create_dto.py +83 -0
- immich/client/models/job_name.py +87 -0
- immich/client/models/job_settings_dto.py +83 -0
- immich/client/models/library_response_dto.py +118 -0
- immich/client/models/library_stats_response_dto.py +92 -0
- immich/client/models/license_key_dto.py +98 -0
- immich/client/models/license_response_dto.py +101 -0
- immich/client/models/log_level.py +38 -0
- immich/client/models/login_credential_dto.py +85 -0
- immich/client/models/login_response_dto.py +109 -0
- immich/client/models/logout_response_dto.py +85 -0
- immich/client/models/machine_learning_availability_checks_dto.py +90 -0
- immich/client/models/maintenance_action.py +34 -0
- immich/client/models/maintenance_auth_dto.py +82 -0
- immich/client/models/maintenance_login_dto.py +82 -0
- immich/client/models/manual_job_name.py +38 -0
- immich/client/models/map_marker_response_dto.py +111 -0
- immich/client/models/map_reverse_geocode_response_dto.py +105 -0
- immich/client/models/memories_response.py +92 -0
- immich/client/models/memories_update.py +86 -0
- immich/client/models/memory_create_dto.py +112 -0
- immich/client/models/memory_response_dto.py +142 -0
- immich/client/models/memory_search_order.py +35 -0
- immich/client/models/memory_statistics_response_dto.py +82 -0
- immich/client/models/memory_type.py +33 -0
- immich/client/models/memory_update_dto.py +91 -0
- immich/client/models/merge_person_dto.py +83 -0
- immich/client/models/metadata_search_dto.py +277 -0
- immich/client/models/notification_create_dto.py +120 -0
- immich/client/models/notification_delete_all_dto.py +83 -0
- immich/client/models/notification_dto.py +112 -0
- immich/client/models/notification_level.py +36 -0
- immich/client/models/notification_type.py +38 -0
- immich/client/models/notification_update_all_dto.py +90 -0
- immich/client/models/notification_update_dto.py +88 -0
- immich/client/models/o_auth_authorize_response_dto.py +82 -0
- immich/client/models/o_auth_callback_dto.py +90 -0
- immich/client/models/o_auth_config_dto.py +90 -0
- immich/client/models/o_auth_token_endpoint_auth_method.py +34 -0
- immich/client/models/ocr_config.py +109 -0
- immich/client/models/on_this_day_dto.py +86 -0
- immich/client/models/onboarding_dto.py +82 -0
- immich/client/models/onboarding_response_dto.py +82 -0
- immich/client/models/partner_create_dto.py +83 -0
- immich/client/models/partner_direction.py +34 -0
- immich/client/models/partner_response_dto.py +108 -0
- immich/client/models/partner_update_dto.py +82 -0
- immich/client/models/people_response.py +92 -0
- immich/client/models/people_response_dto.py +104 -0
- immich/client/models/people_update.py +85 -0
- immich/client/models/people_update_dto.py +96 -0
- immich/client/models/people_update_item.py +128 -0
- immich/client/models/permission.py +177 -0
- immich/client/models/person_create_dto.py +117 -0
- immich/client/models/person_response_dto.py +115 -0
- immich/client/models/person_statistics_response_dto.py +82 -0
- immich/client/models/person_update_dto.py +125 -0
- immich/client/models/person_with_faces_response_dto.py +133 -0
- immich/client/models/pin_code_change_dto.py +90 -0
- immich/client/models/pin_code_reset_dto.py +85 -0
- immich/client/models/pin_code_setup_dto.py +82 -0
- immich/client/models/places_response_dto.py +100 -0
- immich/client/models/plugin_action_response_dto.py +112 -0
- immich/client/models/plugin_context_type.py +35 -0
- immich/client/models/plugin_filter_response_dto.py +112 -0
- immich/client/models/plugin_response_dto.py +139 -0
- immich/client/models/plugin_trigger_response_dto.py +87 -0
- immich/client/models/plugin_trigger_type.py +34 -0
- immich/client/models/purchase_response.py +88 -0
- immich/client/models/purchase_update.py +92 -0
- immich/client/models/queue_command.py +37 -0
- immich/client/models/queue_command_dto.py +86 -0
- immich/client/models/queue_delete_dto.py +85 -0
- immich/client/models/queue_job_response_dto.py +93 -0
- immich/client/models/queue_job_status.py +38 -0
- immich/client/models/queue_name.py +49 -0
- immich/client/models/queue_response_dto.py +97 -0
- immich/client/models/queue_response_legacy_dto.py +100 -0
- immich/client/models/queue_statistics_dto.py +103 -0
- immich/client/models/queue_status_legacy_dto.py +85 -0
- immich/client/models/queue_update_dto.py +82 -0
- immich/client/models/queues_response_legacy_dto.py +242 -0
- immich/client/models/random_search_dto.py +234 -0
- immich/client/models/ratings_response.py +84 -0
- immich/client/models/ratings_update.py +82 -0
- immich/client/models/reaction_level.py +34 -0
- immich/client/models/reaction_type.py +34 -0
- immich/client/models/reverse_geocoding_state_response_dto.py +101 -0
- immich/client/models/search_album_response_dto.py +114 -0
- immich/client/models/search_asset_response_dto.py +127 -0
- immich/client/models/search_explore_item.py +94 -0
- immich/client/models/search_explore_response_dto.py +98 -0
- immich/client/models/search_facet_count_response_dto.py +85 -0
- immich/client/models/search_facet_response_dto.py +103 -0
- immich/client/models/search_response_dto.py +100 -0
- immich/client/models/search_statistics_response_dto.py +82 -0
- immich/client/models/search_suggestion_type.py +38 -0
- immich/client/models/server_about_response_dto.py +156 -0
- immich/client/models/server_apk_links_dto.py +97 -0
- immich/client/models/server_config_dto.py +118 -0
- immich/client/models/server_features_dto.py +130 -0
- immich/client/models/server_media_types_response_dto.py +90 -0
- immich/client/models/server_ping_response.py +87 -0
- immich/client/models/server_stats_response_dto.py +119 -0
- immich/client/models/server_storage_response_dto.py +108 -0
- immich/client/models/server_theme_dto.py +82 -0
- immich/client/models/server_version_history_response_dto.py +91 -0
- immich/client/models/server_version_response_dto.py +90 -0
- immich/client/models/session_create_dto.py +96 -0
- immich/client/models/session_create_response_dto.py +120 -0
- immich/client/models/session_response_dto.py +117 -0
- immich/client/models/session_unlock_dto.py +85 -0
- immich/client/models/session_update_dto.py +84 -0
- immich/client/models/set_maintenance_mode_dto.py +83 -0
- immich/client/models/shared_link_create_dto.py +142 -0
- immich/client/models/shared_link_edit_dto.py +134 -0
- immich/client/models/shared_link_response_dto.py +173 -0
- immich/client/models/shared_link_type.py +34 -0
- immich/client/models/shared_links_response.py +92 -0
- immich/client/models/shared_links_update.py +85 -0
- immich/client/models/sign_up_dto.py +90 -0
- immich/client/models/smart_search_dto.py +245 -0
- immich/client/models/source_type.py +35 -0
- immich/client/models/stack_create_dto.py +86 -0
- immich/client/models/stack_response_dto.py +100 -0
- immich/client/models/stack_update_dto.py +83 -0
- immich/client/models/statistics_search_dto.py +217 -0
- immich/client/models/sync_ack_delete_dto.py +83 -0
- immich/client/models/sync_ack_dto.py +84 -0
- immich/client/models/sync_ack_set_dto.py +83 -0
- immich/client/models/sync_album_delete_v1.py +82 -0
- immich/client/models/sync_album_to_asset_delete_v1.py +85 -0
- immich/client/models/sync_album_to_asset_v1.py +85 -0
- immich/client/models/sync_album_user_delete_v1.py +85 -0
- immich/client/models/sync_album_user_v1.py +91 -0
- immich/client/models/sync_album_v1.py +122 -0
- immich/client/models/sync_asset_delete_v1.py +82 -0
- immich/client/models/sync_asset_exif_v1.py +296 -0
- immich/client/models/sync_asset_face_delete_v1.py +82 -0
- immich/client/models/sync_asset_face_v1.py +120 -0
- immich/client/models/sync_asset_metadata_delete_v1.py +86 -0
- immich/client/models/sync_asset_metadata_v1.py +91 -0
- immich/client/models/sync_asset_v1.py +187 -0
- immich/client/models/sync_auth_user_v1.py +154 -0
- immich/client/models/sync_entity_type.py +79 -0
- immich/client/models/sync_memory_asset_delete_v1.py +85 -0
- immich/client/models/sync_memory_asset_v1.py +85 -0
- immich/client/models/sync_memory_delete_v1.py +82 -0
- immich/client/models/sync_memory_v1.py +143 -0
- immich/client/models/sync_partner_delete_v1.py +88 -0
- immich/client/models/sync_partner_v1.py +90 -0
- immich/client/models/sync_person_delete_v1.py +82 -0
- immich/client/models/sync_person_v1.py +131 -0
- immich/client/models/sync_request_type.py +52 -0
- immich/client/models/sync_stack_delete_v1.py +82 -0
- immich/client/models/sync_stack_v1.py +101 -0
- immich/client/models/sync_stream_dto.py +86 -0
- immich/client/models/sync_user_delete_v1.py +82 -0
- immich/client/models/sync_user_metadata_delete_v1.py +84 -0
- immich/client/models/sync_user_metadata_v1.py +91 -0
- immich/client/models/sync_user_v1.py +118 -0
- immich/client/models/system_config_backups_dto.py +92 -0
- immich/client/models/system_config_dto.py +302 -0
- immich/client/models/system_config_f_fmpeg_dto.py +156 -0
- immich/client/models/system_config_faces_dto.py +82 -0
- immich/client/models/system_config_generated_fullsize_image_dto.py +92 -0
- immich/client/models/system_config_generated_image_dto.py +92 -0
- immich/client/models/system_config_image_dto.py +124 -0
- immich/client/models/system_config_job_dto.py +194 -0
- immich/client/models/system_config_library_dto.py +104 -0
- immich/client/models/system_config_library_scan_dto.py +85 -0
- immich/client/models/system_config_library_watch_dto.py +82 -0
- immich/client/models/system_config_logging_dto.py +86 -0
- immich/client/models/system_config_machine_learning_dto.py +147 -0
- immich/client/models/system_config_map_dto.py +90 -0
- immich/client/models/system_config_metadata_dto.py +92 -0
- immich/client/models/system_config_new_version_check_dto.py +82 -0
- immich/client/models/system_config_nightly_tasks_dto.py +103 -0
- immich/client/models/system_config_notifications_dto.py +92 -0
- immich/client/models/system_config_o_auth_dto.py +155 -0
- immich/client/models/system_config_password_login_dto.py +82 -0
- immich/client/models/system_config_reverse_geocoding_dto.py +82 -0
- immich/client/models/system_config_server_dto.py +94 -0
- immich/client/models/system_config_smtp_dto.py +100 -0
- immich/client/models/system_config_smtp_transport_dto.py +107 -0
- immich/client/models/system_config_storage_template_dto.py +94 -0
- immich/client/models/system_config_template_emails_dto.py +94 -0
- immich/client/models/system_config_template_storage_option_dto.py +109 -0
- immich/client/models/system_config_templates_dto.py +94 -0
- immich/client/models/system_config_theme_dto.py +82 -0
- immich/client/models/system_config_trash_dto.py +86 -0
- immich/client/models/system_config_user_dto.py +83 -0
- immich/client/models/tag_bulk_assets_dto.py +86 -0
- immich/client/models/tag_bulk_assets_response_dto.py +82 -0
- immich/client/models/tag_create_dto.py +111 -0
- immich/client/models/tag_response_dto.py +107 -0
- immich/client/models/tag_update_dto.py +87 -0
- immich/client/models/tag_upsert_dto.py +82 -0
- immich/client/models/tags_response.py +92 -0
- immich/client/models/tags_update.py +85 -0
- immich/client/models/template_dto.py +82 -0
- immich/client/models/template_response_dto.py +83 -0
- immich/client/models/test_email_response_dto.py +82 -0
- immich/client/models/time_bucket_asset_response_dto.py +195 -0
- immich/client/models/time_buckets_response_dto.py +88 -0
- immich/client/models/tone_mapping.py +36 -0
- immich/client/models/transcode_hw_accel.py +37 -0
- immich/client/models/transcode_policy.py +37 -0
- immich/client/models/trash_response_dto.py +82 -0
- immich/client/models/update_album_dto.py +106 -0
- immich/client/models/update_album_user_dto.py +83 -0
- immich/client/models/update_asset_dto.py +135 -0
- immich/client/models/update_library_dto.py +95 -0
- immich/client/models/usage_by_user_dto.py +117 -0
- immich/client/models/user_admin_create_dto.py +136 -0
- immich/client/models/user_admin_delete_dto.py +82 -0
- immich/client/models/user_admin_response_dto.py +176 -0
- immich/client/models/user_admin_update_dto.py +141 -0
- immich/client/models/user_avatar_color.py +42 -0
- immich/client/models/user_license.py +91 -0
- immich/client/models/user_metadata_key.py +35 -0
- immich/client/models/user_preferences_response_dto.py +186 -0
- immich/client/models/user_preferences_update_dto.py +197 -0
- immich/client/models/user_response_dto.py +105 -0
- immich/client/models/user_status.py +35 -0
- immich/client/models/user_update_me_dto.py +98 -0
- immich/client/models/validate_access_token_response_dto.py +82 -0
- immich/client/models/validate_library_dto.py +93 -0
- immich/client/models/validate_library_import_path_response_dto.py +92 -0
- immich/client/models/validate_library_response_dto.py +103 -0
- immich/client/models/version_check_state_response_dto.py +98 -0
- immich/client/models/video_codec.py +36 -0
- immich/client/models/video_container.py +36 -0
- immich/client/models/workflow_action_item_dto.py +89 -0
- immich/client/models/workflow_action_response_dto.py +105 -0
- immich/client/models/workflow_create_dto.py +128 -0
- immich/client/models/workflow_filter_item_dto.py +89 -0
- immich/client/models/workflow_filter_response_dto.py +105 -0
- immich/client/models/workflow_response_dto.py +144 -0
- immich/client/models/workflow_update_dto.py +128 -0
- immich/client/py.typed +0 -0
- immich/client/rest.py +199 -0
- immich/client_wrapper/__init__.py +15 -0
- immich/client_wrapper/assets_api_wrapped.py +87 -0
- immich/client_wrapper/download_api_wrapped.py +111 -0
- immich/client_wrapper/users_api_wrapped.py +41 -0
- immich/py.typed +0 -0
- immich/sdk.py +365 -0
- immich/utils.py +100 -0
- immich-1.2.1.dist-info/METADATA +166 -0
- immich-1.2.1.dist-info/RECORD +387 -0
- immich-1.2.1.dist-info/WHEEL +4 -0
- immich-1.2.1.dist-info/licenses/LICENSE +9 -0
|
@@ -0,0 +1,1193 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Immich
|
|
5
|
+
|
|
6
|
+
Immich API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 2.4.1
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
|
|
15
|
+
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
16
|
+
from typing_extensions import Annotated
|
|
17
|
+
|
|
18
|
+
from pydantic import StrictBool
|
|
19
|
+
from uuid import UUID
|
|
20
|
+
from immich.client.models.asset_order import AssetOrder
|
|
21
|
+
from immich.client.models.asset_visibility import AssetVisibility
|
|
22
|
+
from immich.client.models.time_bucket_asset_response_dto import (
|
|
23
|
+
TimeBucketAssetResponseDto,
|
|
24
|
+
)
|
|
25
|
+
from immich.client.models.time_buckets_response_dto import TimeBucketsResponseDto
|
|
26
|
+
|
|
27
|
+
from immich.client.api_client import ApiClient, RequestSerialized
|
|
28
|
+
from immich.client.api_response import ApiResponse
|
|
29
|
+
from immich.client.rest import RESTResponseType
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class TimelineApi:
|
|
33
|
+
"""NOTE: This class is auto generated by OpenAPI Generator
|
|
34
|
+
Ref: https://openapi-generator.tech
|
|
35
|
+
|
|
36
|
+
Do not edit the class manually.
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
def __init__(self, api_client=None) -> None:
|
|
40
|
+
if api_client is None:
|
|
41
|
+
api_client = ApiClient.get_default()
|
|
42
|
+
self.api_client = api_client
|
|
43
|
+
|
|
44
|
+
@validate_call
|
|
45
|
+
async def get_time_bucket(
|
|
46
|
+
self,
|
|
47
|
+
time_bucket: Annotated[
|
|
48
|
+
StrictStr,
|
|
49
|
+
Field(
|
|
50
|
+
description='Time bucket identifier in YYYY-MM-DD format (e.g., "2024-01-01" for January 2024)'
|
|
51
|
+
),
|
|
52
|
+
],
|
|
53
|
+
album_id: Annotated[
|
|
54
|
+
Optional[UUID],
|
|
55
|
+
Field(description="Filter assets belonging to a specific album"),
|
|
56
|
+
] = None,
|
|
57
|
+
is_favorite: Annotated[
|
|
58
|
+
Optional[StrictBool],
|
|
59
|
+
Field(
|
|
60
|
+
description="Filter by favorite status (true for favorites only, false for non-favorites only)"
|
|
61
|
+
),
|
|
62
|
+
] = None,
|
|
63
|
+
is_trashed: Annotated[
|
|
64
|
+
Optional[StrictBool],
|
|
65
|
+
Field(
|
|
66
|
+
description="Filter by trash status (true for trashed assets only, false for non-trashed only)"
|
|
67
|
+
),
|
|
68
|
+
] = None,
|
|
69
|
+
key: Optional[StrictStr] = None,
|
|
70
|
+
order: Annotated[
|
|
71
|
+
Optional[AssetOrder],
|
|
72
|
+
Field(
|
|
73
|
+
description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)"
|
|
74
|
+
),
|
|
75
|
+
] = None,
|
|
76
|
+
person_id: Annotated[
|
|
77
|
+
Optional[UUID],
|
|
78
|
+
Field(
|
|
79
|
+
description="Filter assets containing a specific person (face recognition)"
|
|
80
|
+
),
|
|
81
|
+
] = None,
|
|
82
|
+
slug: Optional[StrictStr] = None,
|
|
83
|
+
tag_id: Annotated[
|
|
84
|
+
Optional[UUID], Field(description="Filter assets with a specific tag")
|
|
85
|
+
] = None,
|
|
86
|
+
user_id: Annotated[
|
|
87
|
+
Optional[UUID], Field(description="Filter assets by specific user ID")
|
|
88
|
+
] = None,
|
|
89
|
+
visibility: Annotated[
|
|
90
|
+
Optional[AssetVisibility],
|
|
91
|
+
Field(
|
|
92
|
+
description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)"
|
|
93
|
+
),
|
|
94
|
+
] = None,
|
|
95
|
+
with_coordinates: Annotated[
|
|
96
|
+
Optional[StrictBool],
|
|
97
|
+
Field(description="Include location data in the response"),
|
|
98
|
+
] = None,
|
|
99
|
+
with_partners: Annotated[
|
|
100
|
+
Optional[StrictBool], Field(description="Include assets shared by partners")
|
|
101
|
+
] = None,
|
|
102
|
+
with_stacked: Annotated[
|
|
103
|
+
Optional[StrictBool],
|
|
104
|
+
Field(
|
|
105
|
+
description="Include stacked assets in the response. When true, only primary assets from stacks are returned."
|
|
106
|
+
),
|
|
107
|
+
] = None,
|
|
108
|
+
_request_timeout: Union[
|
|
109
|
+
None,
|
|
110
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
111
|
+
Tuple[
|
|
112
|
+
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
|
|
113
|
+
],
|
|
114
|
+
] = None,
|
|
115
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
116
|
+
_content_type: Optional[StrictStr] = None,
|
|
117
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
118
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
119
|
+
) -> TimeBucketAssetResponseDto:
|
|
120
|
+
"""Get time bucket
|
|
121
|
+
|
|
122
|
+
Retrieve a string of all asset ids in a given time bucket.
|
|
123
|
+
|
|
124
|
+
:param time_bucket: Time bucket identifier in YYYY-MM-DD format (e.g., \"2024-01-01\" for January 2024) (required)
|
|
125
|
+
:type time_bucket: str
|
|
126
|
+
:param album_id: Filter assets belonging to a specific album
|
|
127
|
+
:type album_id: UUID
|
|
128
|
+
:param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only)
|
|
129
|
+
:type is_favorite: bool
|
|
130
|
+
:param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only)
|
|
131
|
+
:type is_trashed: bool
|
|
132
|
+
:param key:
|
|
133
|
+
:type key: str
|
|
134
|
+
:param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
|
|
135
|
+
:type order: AssetOrder
|
|
136
|
+
:param person_id: Filter assets containing a specific person (face recognition)
|
|
137
|
+
:type person_id: UUID
|
|
138
|
+
:param slug:
|
|
139
|
+
:type slug: str
|
|
140
|
+
:param tag_id: Filter assets with a specific tag
|
|
141
|
+
:type tag_id: UUID
|
|
142
|
+
:param user_id: Filter assets by specific user ID
|
|
143
|
+
:type user_id: UUID
|
|
144
|
+
:param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
|
|
145
|
+
:type visibility: AssetVisibility
|
|
146
|
+
:param with_coordinates: Include location data in the response
|
|
147
|
+
:type with_coordinates: bool
|
|
148
|
+
:param with_partners: Include assets shared by partners
|
|
149
|
+
:type with_partners: bool
|
|
150
|
+
:param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned.
|
|
151
|
+
:type with_stacked: bool
|
|
152
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
153
|
+
number provided, it will be total request
|
|
154
|
+
timeout. It can also be a pair (tuple) of
|
|
155
|
+
(connection, read) timeouts.
|
|
156
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
157
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
158
|
+
request; this effectively ignores the
|
|
159
|
+
authentication in the spec for a single request.
|
|
160
|
+
:type _request_auth: dict, optional
|
|
161
|
+
:param _content_type: force content-type for the request.
|
|
162
|
+
:type _content_type: str, Optional
|
|
163
|
+
:param _headers: set to override the headers for a single
|
|
164
|
+
request; this effectively ignores the headers
|
|
165
|
+
in the spec for a single request.
|
|
166
|
+
:type _headers: dict, optional
|
|
167
|
+
:param _host_index: set to override the host_index for a single
|
|
168
|
+
request; this effectively ignores the host_index
|
|
169
|
+
in the spec for a single request.
|
|
170
|
+
:type _host_index: int, optional
|
|
171
|
+
:return: Returns the result object.
|
|
172
|
+
""" # noqa: E501
|
|
173
|
+
|
|
174
|
+
_param = self._get_time_bucket_serialize(
|
|
175
|
+
time_bucket=time_bucket,
|
|
176
|
+
album_id=album_id,
|
|
177
|
+
is_favorite=is_favorite,
|
|
178
|
+
is_trashed=is_trashed,
|
|
179
|
+
key=key,
|
|
180
|
+
order=order,
|
|
181
|
+
person_id=person_id,
|
|
182
|
+
slug=slug,
|
|
183
|
+
tag_id=tag_id,
|
|
184
|
+
user_id=user_id,
|
|
185
|
+
visibility=visibility,
|
|
186
|
+
with_coordinates=with_coordinates,
|
|
187
|
+
with_partners=with_partners,
|
|
188
|
+
with_stacked=with_stacked,
|
|
189
|
+
_request_auth=_request_auth,
|
|
190
|
+
_content_type=_content_type,
|
|
191
|
+
_headers=_headers,
|
|
192
|
+
_host_index=_host_index,
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
196
|
+
"200": "TimeBucketAssetResponseDto",
|
|
197
|
+
}
|
|
198
|
+
response_data = await self.api_client.call_api(
|
|
199
|
+
*_param, _request_timeout=_request_timeout
|
|
200
|
+
)
|
|
201
|
+
await response_data.read()
|
|
202
|
+
return self.api_client.response_deserialize(
|
|
203
|
+
response_data=response_data,
|
|
204
|
+
response_types_map=_response_types_map,
|
|
205
|
+
).data
|
|
206
|
+
|
|
207
|
+
@validate_call
|
|
208
|
+
async def get_time_bucket_with_http_info(
|
|
209
|
+
self,
|
|
210
|
+
time_bucket: Annotated[
|
|
211
|
+
StrictStr,
|
|
212
|
+
Field(
|
|
213
|
+
description='Time bucket identifier in YYYY-MM-DD format (e.g., "2024-01-01" for January 2024)'
|
|
214
|
+
),
|
|
215
|
+
],
|
|
216
|
+
album_id: Annotated[
|
|
217
|
+
Optional[UUID],
|
|
218
|
+
Field(description="Filter assets belonging to a specific album"),
|
|
219
|
+
] = None,
|
|
220
|
+
is_favorite: Annotated[
|
|
221
|
+
Optional[StrictBool],
|
|
222
|
+
Field(
|
|
223
|
+
description="Filter by favorite status (true for favorites only, false for non-favorites only)"
|
|
224
|
+
),
|
|
225
|
+
] = None,
|
|
226
|
+
is_trashed: Annotated[
|
|
227
|
+
Optional[StrictBool],
|
|
228
|
+
Field(
|
|
229
|
+
description="Filter by trash status (true for trashed assets only, false for non-trashed only)"
|
|
230
|
+
),
|
|
231
|
+
] = None,
|
|
232
|
+
key: Optional[StrictStr] = None,
|
|
233
|
+
order: Annotated[
|
|
234
|
+
Optional[AssetOrder],
|
|
235
|
+
Field(
|
|
236
|
+
description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)"
|
|
237
|
+
),
|
|
238
|
+
] = None,
|
|
239
|
+
person_id: Annotated[
|
|
240
|
+
Optional[UUID],
|
|
241
|
+
Field(
|
|
242
|
+
description="Filter assets containing a specific person (face recognition)"
|
|
243
|
+
),
|
|
244
|
+
] = None,
|
|
245
|
+
slug: Optional[StrictStr] = None,
|
|
246
|
+
tag_id: Annotated[
|
|
247
|
+
Optional[UUID], Field(description="Filter assets with a specific tag")
|
|
248
|
+
] = None,
|
|
249
|
+
user_id: Annotated[
|
|
250
|
+
Optional[UUID], Field(description="Filter assets by specific user ID")
|
|
251
|
+
] = None,
|
|
252
|
+
visibility: Annotated[
|
|
253
|
+
Optional[AssetVisibility],
|
|
254
|
+
Field(
|
|
255
|
+
description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)"
|
|
256
|
+
),
|
|
257
|
+
] = None,
|
|
258
|
+
with_coordinates: Annotated[
|
|
259
|
+
Optional[StrictBool],
|
|
260
|
+
Field(description="Include location data in the response"),
|
|
261
|
+
] = None,
|
|
262
|
+
with_partners: Annotated[
|
|
263
|
+
Optional[StrictBool], Field(description="Include assets shared by partners")
|
|
264
|
+
] = None,
|
|
265
|
+
with_stacked: Annotated[
|
|
266
|
+
Optional[StrictBool],
|
|
267
|
+
Field(
|
|
268
|
+
description="Include stacked assets in the response. When true, only primary assets from stacks are returned."
|
|
269
|
+
),
|
|
270
|
+
] = None,
|
|
271
|
+
_request_timeout: Union[
|
|
272
|
+
None,
|
|
273
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
274
|
+
Tuple[
|
|
275
|
+
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
|
|
276
|
+
],
|
|
277
|
+
] = None,
|
|
278
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
279
|
+
_content_type: Optional[StrictStr] = None,
|
|
280
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
281
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
282
|
+
) -> ApiResponse[TimeBucketAssetResponseDto]:
|
|
283
|
+
"""Get time bucket
|
|
284
|
+
|
|
285
|
+
Retrieve a string of all asset ids in a given time bucket.
|
|
286
|
+
|
|
287
|
+
:param time_bucket: Time bucket identifier in YYYY-MM-DD format (e.g., \"2024-01-01\" for January 2024) (required)
|
|
288
|
+
:type time_bucket: str
|
|
289
|
+
:param album_id: Filter assets belonging to a specific album
|
|
290
|
+
:type album_id: UUID
|
|
291
|
+
:param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only)
|
|
292
|
+
:type is_favorite: bool
|
|
293
|
+
:param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only)
|
|
294
|
+
:type is_trashed: bool
|
|
295
|
+
:param key:
|
|
296
|
+
:type key: str
|
|
297
|
+
:param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
|
|
298
|
+
:type order: AssetOrder
|
|
299
|
+
:param person_id: Filter assets containing a specific person (face recognition)
|
|
300
|
+
:type person_id: UUID
|
|
301
|
+
:param slug:
|
|
302
|
+
:type slug: str
|
|
303
|
+
:param tag_id: Filter assets with a specific tag
|
|
304
|
+
:type tag_id: UUID
|
|
305
|
+
:param user_id: Filter assets by specific user ID
|
|
306
|
+
:type user_id: UUID
|
|
307
|
+
:param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
|
|
308
|
+
:type visibility: AssetVisibility
|
|
309
|
+
:param with_coordinates: Include location data in the response
|
|
310
|
+
:type with_coordinates: bool
|
|
311
|
+
:param with_partners: Include assets shared by partners
|
|
312
|
+
:type with_partners: bool
|
|
313
|
+
:param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned.
|
|
314
|
+
:type with_stacked: bool
|
|
315
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
316
|
+
number provided, it will be total request
|
|
317
|
+
timeout. It can also be a pair (tuple) of
|
|
318
|
+
(connection, read) timeouts.
|
|
319
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
320
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
321
|
+
request; this effectively ignores the
|
|
322
|
+
authentication in the spec for a single request.
|
|
323
|
+
:type _request_auth: dict, optional
|
|
324
|
+
:param _content_type: force content-type for the request.
|
|
325
|
+
:type _content_type: str, Optional
|
|
326
|
+
:param _headers: set to override the headers for a single
|
|
327
|
+
request; this effectively ignores the headers
|
|
328
|
+
in the spec for a single request.
|
|
329
|
+
:type _headers: dict, optional
|
|
330
|
+
:param _host_index: set to override the host_index for a single
|
|
331
|
+
request; this effectively ignores the host_index
|
|
332
|
+
in the spec for a single request.
|
|
333
|
+
:type _host_index: int, optional
|
|
334
|
+
:return: Returns the result object.
|
|
335
|
+
""" # noqa: E501
|
|
336
|
+
|
|
337
|
+
_param = self._get_time_bucket_serialize(
|
|
338
|
+
time_bucket=time_bucket,
|
|
339
|
+
album_id=album_id,
|
|
340
|
+
is_favorite=is_favorite,
|
|
341
|
+
is_trashed=is_trashed,
|
|
342
|
+
key=key,
|
|
343
|
+
order=order,
|
|
344
|
+
person_id=person_id,
|
|
345
|
+
slug=slug,
|
|
346
|
+
tag_id=tag_id,
|
|
347
|
+
user_id=user_id,
|
|
348
|
+
visibility=visibility,
|
|
349
|
+
with_coordinates=with_coordinates,
|
|
350
|
+
with_partners=with_partners,
|
|
351
|
+
with_stacked=with_stacked,
|
|
352
|
+
_request_auth=_request_auth,
|
|
353
|
+
_content_type=_content_type,
|
|
354
|
+
_headers=_headers,
|
|
355
|
+
_host_index=_host_index,
|
|
356
|
+
)
|
|
357
|
+
|
|
358
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
359
|
+
"200": "TimeBucketAssetResponseDto",
|
|
360
|
+
}
|
|
361
|
+
response_data = await self.api_client.call_api(
|
|
362
|
+
*_param, _request_timeout=_request_timeout
|
|
363
|
+
)
|
|
364
|
+
await response_data.read()
|
|
365
|
+
return self.api_client.response_deserialize(
|
|
366
|
+
response_data=response_data,
|
|
367
|
+
response_types_map=_response_types_map,
|
|
368
|
+
)
|
|
369
|
+
|
|
370
|
+
@validate_call
|
|
371
|
+
async def get_time_bucket_without_preload_content(
|
|
372
|
+
self,
|
|
373
|
+
time_bucket: Annotated[
|
|
374
|
+
StrictStr,
|
|
375
|
+
Field(
|
|
376
|
+
description='Time bucket identifier in YYYY-MM-DD format (e.g., "2024-01-01" for January 2024)'
|
|
377
|
+
),
|
|
378
|
+
],
|
|
379
|
+
album_id: Annotated[
|
|
380
|
+
Optional[UUID],
|
|
381
|
+
Field(description="Filter assets belonging to a specific album"),
|
|
382
|
+
] = None,
|
|
383
|
+
is_favorite: Annotated[
|
|
384
|
+
Optional[StrictBool],
|
|
385
|
+
Field(
|
|
386
|
+
description="Filter by favorite status (true for favorites only, false for non-favorites only)"
|
|
387
|
+
),
|
|
388
|
+
] = None,
|
|
389
|
+
is_trashed: Annotated[
|
|
390
|
+
Optional[StrictBool],
|
|
391
|
+
Field(
|
|
392
|
+
description="Filter by trash status (true for trashed assets only, false for non-trashed only)"
|
|
393
|
+
),
|
|
394
|
+
] = None,
|
|
395
|
+
key: Optional[StrictStr] = None,
|
|
396
|
+
order: Annotated[
|
|
397
|
+
Optional[AssetOrder],
|
|
398
|
+
Field(
|
|
399
|
+
description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)"
|
|
400
|
+
),
|
|
401
|
+
] = None,
|
|
402
|
+
person_id: Annotated[
|
|
403
|
+
Optional[UUID],
|
|
404
|
+
Field(
|
|
405
|
+
description="Filter assets containing a specific person (face recognition)"
|
|
406
|
+
),
|
|
407
|
+
] = None,
|
|
408
|
+
slug: Optional[StrictStr] = None,
|
|
409
|
+
tag_id: Annotated[
|
|
410
|
+
Optional[UUID], Field(description="Filter assets with a specific tag")
|
|
411
|
+
] = None,
|
|
412
|
+
user_id: Annotated[
|
|
413
|
+
Optional[UUID], Field(description="Filter assets by specific user ID")
|
|
414
|
+
] = None,
|
|
415
|
+
visibility: Annotated[
|
|
416
|
+
Optional[AssetVisibility],
|
|
417
|
+
Field(
|
|
418
|
+
description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)"
|
|
419
|
+
),
|
|
420
|
+
] = None,
|
|
421
|
+
with_coordinates: Annotated[
|
|
422
|
+
Optional[StrictBool],
|
|
423
|
+
Field(description="Include location data in the response"),
|
|
424
|
+
] = None,
|
|
425
|
+
with_partners: Annotated[
|
|
426
|
+
Optional[StrictBool], Field(description="Include assets shared by partners")
|
|
427
|
+
] = None,
|
|
428
|
+
with_stacked: Annotated[
|
|
429
|
+
Optional[StrictBool],
|
|
430
|
+
Field(
|
|
431
|
+
description="Include stacked assets in the response. When true, only primary assets from stacks are returned."
|
|
432
|
+
),
|
|
433
|
+
] = None,
|
|
434
|
+
_request_timeout: Union[
|
|
435
|
+
None,
|
|
436
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
437
|
+
Tuple[
|
|
438
|
+
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
|
|
439
|
+
],
|
|
440
|
+
] = None,
|
|
441
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
442
|
+
_content_type: Optional[StrictStr] = None,
|
|
443
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
444
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
445
|
+
) -> RESTResponseType:
|
|
446
|
+
"""Get time bucket
|
|
447
|
+
|
|
448
|
+
Retrieve a string of all asset ids in a given time bucket.
|
|
449
|
+
|
|
450
|
+
:param time_bucket: Time bucket identifier in YYYY-MM-DD format (e.g., \"2024-01-01\" for January 2024) (required)
|
|
451
|
+
:type time_bucket: str
|
|
452
|
+
:param album_id: Filter assets belonging to a specific album
|
|
453
|
+
:type album_id: UUID
|
|
454
|
+
:param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only)
|
|
455
|
+
:type is_favorite: bool
|
|
456
|
+
:param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only)
|
|
457
|
+
:type is_trashed: bool
|
|
458
|
+
:param key:
|
|
459
|
+
:type key: str
|
|
460
|
+
:param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
|
|
461
|
+
:type order: AssetOrder
|
|
462
|
+
:param person_id: Filter assets containing a specific person (face recognition)
|
|
463
|
+
:type person_id: UUID
|
|
464
|
+
:param slug:
|
|
465
|
+
:type slug: str
|
|
466
|
+
:param tag_id: Filter assets with a specific tag
|
|
467
|
+
:type tag_id: UUID
|
|
468
|
+
:param user_id: Filter assets by specific user ID
|
|
469
|
+
:type user_id: UUID
|
|
470
|
+
:param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
|
|
471
|
+
:type visibility: AssetVisibility
|
|
472
|
+
:param with_coordinates: Include location data in the response
|
|
473
|
+
:type with_coordinates: bool
|
|
474
|
+
:param with_partners: Include assets shared by partners
|
|
475
|
+
:type with_partners: bool
|
|
476
|
+
:param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned.
|
|
477
|
+
:type with_stacked: bool
|
|
478
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
479
|
+
number provided, it will be total request
|
|
480
|
+
timeout. It can also be a pair (tuple) of
|
|
481
|
+
(connection, read) timeouts.
|
|
482
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
483
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
484
|
+
request; this effectively ignores the
|
|
485
|
+
authentication in the spec for a single request.
|
|
486
|
+
:type _request_auth: dict, optional
|
|
487
|
+
:param _content_type: force content-type for the request.
|
|
488
|
+
:type _content_type: str, Optional
|
|
489
|
+
:param _headers: set to override the headers for a single
|
|
490
|
+
request; this effectively ignores the headers
|
|
491
|
+
in the spec for a single request.
|
|
492
|
+
:type _headers: dict, optional
|
|
493
|
+
:param _host_index: set to override the host_index for a single
|
|
494
|
+
request; this effectively ignores the host_index
|
|
495
|
+
in the spec for a single request.
|
|
496
|
+
:type _host_index: int, optional
|
|
497
|
+
:return: Returns the result object.
|
|
498
|
+
""" # noqa: E501
|
|
499
|
+
|
|
500
|
+
_param = self._get_time_bucket_serialize(
|
|
501
|
+
time_bucket=time_bucket,
|
|
502
|
+
album_id=album_id,
|
|
503
|
+
is_favorite=is_favorite,
|
|
504
|
+
is_trashed=is_trashed,
|
|
505
|
+
key=key,
|
|
506
|
+
order=order,
|
|
507
|
+
person_id=person_id,
|
|
508
|
+
slug=slug,
|
|
509
|
+
tag_id=tag_id,
|
|
510
|
+
user_id=user_id,
|
|
511
|
+
visibility=visibility,
|
|
512
|
+
with_coordinates=with_coordinates,
|
|
513
|
+
with_partners=with_partners,
|
|
514
|
+
with_stacked=with_stacked,
|
|
515
|
+
_request_auth=_request_auth,
|
|
516
|
+
_content_type=_content_type,
|
|
517
|
+
_headers=_headers,
|
|
518
|
+
_host_index=_host_index,
|
|
519
|
+
)
|
|
520
|
+
|
|
521
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
522
|
+
"200": "TimeBucketAssetResponseDto",
|
|
523
|
+
}
|
|
524
|
+
response_data = await self.api_client.call_api(
|
|
525
|
+
*_param, _request_timeout=_request_timeout
|
|
526
|
+
)
|
|
527
|
+
return response_data.response
|
|
528
|
+
|
|
529
|
+
def _get_time_bucket_serialize(
|
|
530
|
+
self,
|
|
531
|
+
time_bucket,
|
|
532
|
+
album_id,
|
|
533
|
+
is_favorite,
|
|
534
|
+
is_trashed,
|
|
535
|
+
key,
|
|
536
|
+
order,
|
|
537
|
+
person_id,
|
|
538
|
+
slug,
|
|
539
|
+
tag_id,
|
|
540
|
+
user_id,
|
|
541
|
+
visibility,
|
|
542
|
+
with_coordinates,
|
|
543
|
+
with_partners,
|
|
544
|
+
with_stacked,
|
|
545
|
+
_request_auth,
|
|
546
|
+
_content_type,
|
|
547
|
+
_headers,
|
|
548
|
+
_host_index,
|
|
549
|
+
) -> RequestSerialized:
|
|
550
|
+
_host = None
|
|
551
|
+
|
|
552
|
+
_collection_formats: Dict[str, str] = {}
|
|
553
|
+
|
|
554
|
+
_path_params: Dict[str, str] = {}
|
|
555
|
+
_query_params: List[Tuple[str, str]] = []
|
|
556
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
557
|
+
_form_params: List[Tuple[str, str]] = []
|
|
558
|
+
_files: Dict[
|
|
559
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
560
|
+
] = {}
|
|
561
|
+
_body_params: Optional[bytes] = None
|
|
562
|
+
|
|
563
|
+
# process the path parameters
|
|
564
|
+
# process the query parameters
|
|
565
|
+
if album_id is not None:
|
|
566
|
+
_query_params.append(("albumId", album_id))
|
|
567
|
+
|
|
568
|
+
if is_favorite is not None:
|
|
569
|
+
_query_params.append(("isFavorite", is_favorite))
|
|
570
|
+
|
|
571
|
+
if is_trashed is not None:
|
|
572
|
+
_query_params.append(("isTrashed", is_trashed))
|
|
573
|
+
|
|
574
|
+
if key is not None:
|
|
575
|
+
_query_params.append(("key", key))
|
|
576
|
+
|
|
577
|
+
if order is not None:
|
|
578
|
+
_query_params.append(("order", order.value))
|
|
579
|
+
|
|
580
|
+
if person_id is not None:
|
|
581
|
+
_query_params.append(("personId", person_id))
|
|
582
|
+
|
|
583
|
+
if slug is not None:
|
|
584
|
+
_query_params.append(("slug", slug))
|
|
585
|
+
|
|
586
|
+
if tag_id is not None:
|
|
587
|
+
_query_params.append(("tagId", tag_id))
|
|
588
|
+
|
|
589
|
+
if time_bucket is not None:
|
|
590
|
+
_query_params.append(("timeBucket", time_bucket))
|
|
591
|
+
|
|
592
|
+
if user_id is not None:
|
|
593
|
+
_query_params.append(("userId", user_id))
|
|
594
|
+
|
|
595
|
+
if visibility is not None:
|
|
596
|
+
_query_params.append(("visibility", visibility.value))
|
|
597
|
+
|
|
598
|
+
if with_coordinates is not None:
|
|
599
|
+
_query_params.append(("withCoordinates", with_coordinates))
|
|
600
|
+
|
|
601
|
+
if with_partners is not None:
|
|
602
|
+
_query_params.append(("withPartners", with_partners))
|
|
603
|
+
|
|
604
|
+
if with_stacked is not None:
|
|
605
|
+
_query_params.append(("withStacked", with_stacked))
|
|
606
|
+
|
|
607
|
+
# process the header parameters
|
|
608
|
+
# process the form parameters
|
|
609
|
+
# process the body parameter
|
|
610
|
+
|
|
611
|
+
# set the HTTP header `Accept`
|
|
612
|
+
if "Accept" not in _header_params:
|
|
613
|
+
_header_params["Accept"] = self.api_client.select_header_accept(
|
|
614
|
+
["application/json"]
|
|
615
|
+
)
|
|
616
|
+
|
|
617
|
+
# authentication setting
|
|
618
|
+
_auth_settings: List[str] = ["cookie", "api_key", "bearer"]
|
|
619
|
+
|
|
620
|
+
return self.api_client.param_serialize(
|
|
621
|
+
method="GET",
|
|
622
|
+
resource_path="/timeline/bucket",
|
|
623
|
+
path_params=_path_params,
|
|
624
|
+
query_params=_query_params,
|
|
625
|
+
header_params=_header_params,
|
|
626
|
+
body=_body_params,
|
|
627
|
+
post_params=_form_params,
|
|
628
|
+
files=_files,
|
|
629
|
+
auth_settings=_auth_settings,
|
|
630
|
+
collection_formats=_collection_formats,
|
|
631
|
+
_host=_host,
|
|
632
|
+
_request_auth=_request_auth,
|
|
633
|
+
)
|
|
634
|
+
|
|
635
|
+
@validate_call
|
|
636
|
+
async def get_time_buckets(
|
|
637
|
+
self,
|
|
638
|
+
album_id: Annotated[
|
|
639
|
+
Optional[UUID],
|
|
640
|
+
Field(description="Filter assets belonging to a specific album"),
|
|
641
|
+
] = None,
|
|
642
|
+
is_favorite: Annotated[
|
|
643
|
+
Optional[StrictBool],
|
|
644
|
+
Field(
|
|
645
|
+
description="Filter by favorite status (true for favorites only, false for non-favorites only)"
|
|
646
|
+
),
|
|
647
|
+
] = None,
|
|
648
|
+
is_trashed: Annotated[
|
|
649
|
+
Optional[StrictBool],
|
|
650
|
+
Field(
|
|
651
|
+
description="Filter by trash status (true for trashed assets only, false for non-trashed only)"
|
|
652
|
+
),
|
|
653
|
+
] = None,
|
|
654
|
+
key: Optional[StrictStr] = None,
|
|
655
|
+
order: Annotated[
|
|
656
|
+
Optional[AssetOrder],
|
|
657
|
+
Field(
|
|
658
|
+
description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)"
|
|
659
|
+
),
|
|
660
|
+
] = None,
|
|
661
|
+
person_id: Annotated[
|
|
662
|
+
Optional[UUID],
|
|
663
|
+
Field(
|
|
664
|
+
description="Filter assets containing a specific person (face recognition)"
|
|
665
|
+
),
|
|
666
|
+
] = None,
|
|
667
|
+
slug: Optional[StrictStr] = None,
|
|
668
|
+
tag_id: Annotated[
|
|
669
|
+
Optional[UUID], Field(description="Filter assets with a specific tag")
|
|
670
|
+
] = None,
|
|
671
|
+
user_id: Annotated[
|
|
672
|
+
Optional[UUID], Field(description="Filter assets by specific user ID")
|
|
673
|
+
] = None,
|
|
674
|
+
visibility: Annotated[
|
|
675
|
+
Optional[AssetVisibility],
|
|
676
|
+
Field(
|
|
677
|
+
description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)"
|
|
678
|
+
),
|
|
679
|
+
] = None,
|
|
680
|
+
with_coordinates: Annotated[
|
|
681
|
+
Optional[StrictBool],
|
|
682
|
+
Field(description="Include location data in the response"),
|
|
683
|
+
] = None,
|
|
684
|
+
with_partners: Annotated[
|
|
685
|
+
Optional[StrictBool], Field(description="Include assets shared by partners")
|
|
686
|
+
] = None,
|
|
687
|
+
with_stacked: Annotated[
|
|
688
|
+
Optional[StrictBool],
|
|
689
|
+
Field(
|
|
690
|
+
description="Include stacked assets in the response. When true, only primary assets from stacks are returned."
|
|
691
|
+
),
|
|
692
|
+
] = None,
|
|
693
|
+
_request_timeout: Union[
|
|
694
|
+
None,
|
|
695
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
696
|
+
Tuple[
|
|
697
|
+
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
|
|
698
|
+
],
|
|
699
|
+
] = None,
|
|
700
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
701
|
+
_content_type: Optional[StrictStr] = None,
|
|
702
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
703
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
704
|
+
) -> List[TimeBucketsResponseDto]:
|
|
705
|
+
"""Get time buckets
|
|
706
|
+
|
|
707
|
+
Retrieve a list of all minimal time buckets.
|
|
708
|
+
|
|
709
|
+
:param album_id: Filter assets belonging to a specific album
|
|
710
|
+
:type album_id: UUID
|
|
711
|
+
:param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only)
|
|
712
|
+
:type is_favorite: bool
|
|
713
|
+
:param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only)
|
|
714
|
+
:type is_trashed: bool
|
|
715
|
+
:param key:
|
|
716
|
+
:type key: str
|
|
717
|
+
:param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
|
|
718
|
+
:type order: AssetOrder
|
|
719
|
+
:param person_id: Filter assets containing a specific person (face recognition)
|
|
720
|
+
:type person_id: UUID
|
|
721
|
+
:param slug:
|
|
722
|
+
:type slug: str
|
|
723
|
+
:param tag_id: Filter assets with a specific tag
|
|
724
|
+
:type tag_id: UUID
|
|
725
|
+
:param user_id: Filter assets by specific user ID
|
|
726
|
+
:type user_id: UUID
|
|
727
|
+
:param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
|
|
728
|
+
:type visibility: AssetVisibility
|
|
729
|
+
:param with_coordinates: Include location data in the response
|
|
730
|
+
:type with_coordinates: bool
|
|
731
|
+
:param with_partners: Include assets shared by partners
|
|
732
|
+
:type with_partners: bool
|
|
733
|
+
:param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned.
|
|
734
|
+
:type with_stacked: bool
|
|
735
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
736
|
+
number provided, it will be total request
|
|
737
|
+
timeout. It can also be a pair (tuple) of
|
|
738
|
+
(connection, read) timeouts.
|
|
739
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
740
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
741
|
+
request; this effectively ignores the
|
|
742
|
+
authentication in the spec for a single request.
|
|
743
|
+
:type _request_auth: dict, optional
|
|
744
|
+
:param _content_type: force content-type for the request.
|
|
745
|
+
:type _content_type: str, Optional
|
|
746
|
+
:param _headers: set to override the headers for a single
|
|
747
|
+
request; this effectively ignores the headers
|
|
748
|
+
in the spec for a single request.
|
|
749
|
+
:type _headers: dict, optional
|
|
750
|
+
:param _host_index: set to override the host_index for a single
|
|
751
|
+
request; this effectively ignores the host_index
|
|
752
|
+
in the spec for a single request.
|
|
753
|
+
:type _host_index: int, optional
|
|
754
|
+
:return: Returns the result object.
|
|
755
|
+
""" # noqa: E501
|
|
756
|
+
|
|
757
|
+
_param = self._get_time_buckets_serialize(
|
|
758
|
+
album_id=album_id,
|
|
759
|
+
is_favorite=is_favorite,
|
|
760
|
+
is_trashed=is_trashed,
|
|
761
|
+
key=key,
|
|
762
|
+
order=order,
|
|
763
|
+
person_id=person_id,
|
|
764
|
+
slug=slug,
|
|
765
|
+
tag_id=tag_id,
|
|
766
|
+
user_id=user_id,
|
|
767
|
+
visibility=visibility,
|
|
768
|
+
with_coordinates=with_coordinates,
|
|
769
|
+
with_partners=with_partners,
|
|
770
|
+
with_stacked=with_stacked,
|
|
771
|
+
_request_auth=_request_auth,
|
|
772
|
+
_content_type=_content_type,
|
|
773
|
+
_headers=_headers,
|
|
774
|
+
_host_index=_host_index,
|
|
775
|
+
)
|
|
776
|
+
|
|
777
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
778
|
+
"200": "List[TimeBucketsResponseDto]",
|
|
779
|
+
}
|
|
780
|
+
response_data = await self.api_client.call_api(
|
|
781
|
+
*_param, _request_timeout=_request_timeout
|
|
782
|
+
)
|
|
783
|
+
await response_data.read()
|
|
784
|
+
return self.api_client.response_deserialize(
|
|
785
|
+
response_data=response_data,
|
|
786
|
+
response_types_map=_response_types_map,
|
|
787
|
+
).data
|
|
788
|
+
|
|
789
|
+
@validate_call
|
|
790
|
+
async def get_time_buckets_with_http_info(
|
|
791
|
+
self,
|
|
792
|
+
album_id: Annotated[
|
|
793
|
+
Optional[UUID],
|
|
794
|
+
Field(description="Filter assets belonging to a specific album"),
|
|
795
|
+
] = None,
|
|
796
|
+
is_favorite: Annotated[
|
|
797
|
+
Optional[StrictBool],
|
|
798
|
+
Field(
|
|
799
|
+
description="Filter by favorite status (true for favorites only, false for non-favorites only)"
|
|
800
|
+
),
|
|
801
|
+
] = None,
|
|
802
|
+
is_trashed: Annotated[
|
|
803
|
+
Optional[StrictBool],
|
|
804
|
+
Field(
|
|
805
|
+
description="Filter by trash status (true for trashed assets only, false for non-trashed only)"
|
|
806
|
+
),
|
|
807
|
+
] = None,
|
|
808
|
+
key: Optional[StrictStr] = None,
|
|
809
|
+
order: Annotated[
|
|
810
|
+
Optional[AssetOrder],
|
|
811
|
+
Field(
|
|
812
|
+
description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)"
|
|
813
|
+
),
|
|
814
|
+
] = None,
|
|
815
|
+
person_id: Annotated[
|
|
816
|
+
Optional[UUID],
|
|
817
|
+
Field(
|
|
818
|
+
description="Filter assets containing a specific person (face recognition)"
|
|
819
|
+
),
|
|
820
|
+
] = None,
|
|
821
|
+
slug: Optional[StrictStr] = None,
|
|
822
|
+
tag_id: Annotated[
|
|
823
|
+
Optional[UUID], Field(description="Filter assets with a specific tag")
|
|
824
|
+
] = None,
|
|
825
|
+
user_id: Annotated[
|
|
826
|
+
Optional[UUID], Field(description="Filter assets by specific user ID")
|
|
827
|
+
] = None,
|
|
828
|
+
visibility: Annotated[
|
|
829
|
+
Optional[AssetVisibility],
|
|
830
|
+
Field(
|
|
831
|
+
description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)"
|
|
832
|
+
),
|
|
833
|
+
] = None,
|
|
834
|
+
with_coordinates: Annotated[
|
|
835
|
+
Optional[StrictBool],
|
|
836
|
+
Field(description="Include location data in the response"),
|
|
837
|
+
] = None,
|
|
838
|
+
with_partners: Annotated[
|
|
839
|
+
Optional[StrictBool], Field(description="Include assets shared by partners")
|
|
840
|
+
] = None,
|
|
841
|
+
with_stacked: Annotated[
|
|
842
|
+
Optional[StrictBool],
|
|
843
|
+
Field(
|
|
844
|
+
description="Include stacked assets in the response. When true, only primary assets from stacks are returned."
|
|
845
|
+
),
|
|
846
|
+
] = None,
|
|
847
|
+
_request_timeout: Union[
|
|
848
|
+
None,
|
|
849
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
850
|
+
Tuple[
|
|
851
|
+
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
|
|
852
|
+
],
|
|
853
|
+
] = None,
|
|
854
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
855
|
+
_content_type: Optional[StrictStr] = None,
|
|
856
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
857
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
858
|
+
) -> ApiResponse[List[TimeBucketsResponseDto]]:
|
|
859
|
+
"""Get time buckets
|
|
860
|
+
|
|
861
|
+
Retrieve a list of all minimal time buckets.
|
|
862
|
+
|
|
863
|
+
:param album_id: Filter assets belonging to a specific album
|
|
864
|
+
:type album_id: UUID
|
|
865
|
+
:param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only)
|
|
866
|
+
:type is_favorite: bool
|
|
867
|
+
:param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only)
|
|
868
|
+
:type is_trashed: bool
|
|
869
|
+
:param key:
|
|
870
|
+
:type key: str
|
|
871
|
+
:param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
|
|
872
|
+
:type order: AssetOrder
|
|
873
|
+
:param person_id: Filter assets containing a specific person (face recognition)
|
|
874
|
+
:type person_id: UUID
|
|
875
|
+
:param slug:
|
|
876
|
+
:type slug: str
|
|
877
|
+
:param tag_id: Filter assets with a specific tag
|
|
878
|
+
:type tag_id: UUID
|
|
879
|
+
:param user_id: Filter assets by specific user ID
|
|
880
|
+
:type user_id: UUID
|
|
881
|
+
:param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
|
|
882
|
+
:type visibility: AssetVisibility
|
|
883
|
+
:param with_coordinates: Include location data in the response
|
|
884
|
+
:type with_coordinates: bool
|
|
885
|
+
:param with_partners: Include assets shared by partners
|
|
886
|
+
:type with_partners: bool
|
|
887
|
+
:param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned.
|
|
888
|
+
:type with_stacked: bool
|
|
889
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
890
|
+
number provided, it will be total request
|
|
891
|
+
timeout. It can also be a pair (tuple) of
|
|
892
|
+
(connection, read) timeouts.
|
|
893
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
894
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
895
|
+
request; this effectively ignores the
|
|
896
|
+
authentication in the spec for a single request.
|
|
897
|
+
:type _request_auth: dict, optional
|
|
898
|
+
:param _content_type: force content-type for the request.
|
|
899
|
+
:type _content_type: str, Optional
|
|
900
|
+
:param _headers: set to override the headers for a single
|
|
901
|
+
request; this effectively ignores the headers
|
|
902
|
+
in the spec for a single request.
|
|
903
|
+
:type _headers: dict, optional
|
|
904
|
+
:param _host_index: set to override the host_index for a single
|
|
905
|
+
request; this effectively ignores the host_index
|
|
906
|
+
in the spec for a single request.
|
|
907
|
+
:type _host_index: int, optional
|
|
908
|
+
:return: Returns the result object.
|
|
909
|
+
""" # noqa: E501
|
|
910
|
+
|
|
911
|
+
_param = self._get_time_buckets_serialize(
|
|
912
|
+
album_id=album_id,
|
|
913
|
+
is_favorite=is_favorite,
|
|
914
|
+
is_trashed=is_trashed,
|
|
915
|
+
key=key,
|
|
916
|
+
order=order,
|
|
917
|
+
person_id=person_id,
|
|
918
|
+
slug=slug,
|
|
919
|
+
tag_id=tag_id,
|
|
920
|
+
user_id=user_id,
|
|
921
|
+
visibility=visibility,
|
|
922
|
+
with_coordinates=with_coordinates,
|
|
923
|
+
with_partners=with_partners,
|
|
924
|
+
with_stacked=with_stacked,
|
|
925
|
+
_request_auth=_request_auth,
|
|
926
|
+
_content_type=_content_type,
|
|
927
|
+
_headers=_headers,
|
|
928
|
+
_host_index=_host_index,
|
|
929
|
+
)
|
|
930
|
+
|
|
931
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
932
|
+
"200": "List[TimeBucketsResponseDto]",
|
|
933
|
+
}
|
|
934
|
+
response_data = await self.api_client.call_api(
|
|
935
|
+
*_param, _request_timeout=_request_timeout
|
|
936
|
+
)
|
|
937
|
+
await response_data.read()
|
|
938
|
+
return self.api_client.response_deserialize(
|
|
939
|
+
response_data=response_data,
|
|
940
|
+
response_types_map=_response_types_map,
|
|
941
|
+
)
|
|
942
|
+
|
|
943
|
+
@validate_call
|
|
944
|
+
async def get_time_buckets_without_preload_content(
|
|
945
|
+
self,
|
|
946
|
+
album_id: Annotated[
|
|
947
|
+
Optional[UUID],
|
|
948
|
+
Field(description="Filter assets belonging to a specific album"),
|
|
949
|
+
] = None,
|
|
950
|
+
is_favorite: Annotated[
|
|
951
|
+
Optional[StrictBool],
|
|
952
|
+
Field(
|
|
953
|
+
description="Filter by favorite status (true for favorites only, false for non-favorites only)"
|
|
954
|
+
),
|
|
955
|
+
] = None,
|
|
956
|
+
is_trashed: Annotated[
|
|
957
|
+
Optional[StrictBool],
|
|
958
|
+
Field(
|
|
959
|
+
description="Filter by trash status (true for trashed assets only, false for non-trashed only)"
|
|
960
|
+
),
|
|
961
|
+
] = None,
|
|
962
|
+
key: Optional[StrictStr] = None,
|
|
963
|
+
order: Annotated[
|
|
964
|
+
Optional[AssetOrder],
|
|
965
|
+
Field(
|
|
966
|
+
description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)"
|
|
967
|
+
),
|
|
968
|
+
] = None,
|
|
969
|
+
person_id: Annotated[
|
|
970
|
+
Optional[UUID],
|
|
971
|
+
Field(
|
|
972
|
+
description="Filter assets containing a specific person (face recognition)"
|
|
973
|
+
),
|
|
974
|
+
] = None,
|
|
975
|
+
slug: Optional[StrictStr] = None,
|
|
976
|
+
tag_id: Annotated[
|
|
977
|
+
Optional[UUID], Field(description="Filter assets with a specific tag")
|
|
978
|
+
] = None,
|
|
979
|
+
user_id: Annotated[
|
|
980
|
+
Optional[UUID], Field(description="Filter assets by specific user ID")
|
|
981
|
+
] = None,
|
|
982
|
+
visibility: Annotated[
|
|
983
|
+
Optional[AssetVisibility],
|
|
984
|
+
Field(
|
|
985
|
+
description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)"
|
|
986
|
+
),
|
|
987
|
+
] = None,
|
|
988
|
+
with_coordinates: Annotated[
|
|
989
|
+
Optional[StrictBool],
|
|
990
|
+
Field(description="Include location data in the response"),
|
|
991
|
+
] = None,
|
|
992
|
+
with_partners: Annotated[
|
|
993
|
+
Optional[StrictBool], Field(description="Include assets shared by partners")
|
|
994
|
+
] = None,
|
|
995
|
+
with_stacked: Annotated[
|
|
996
|
+
Optional[StrictBool],
|
|
997
|
+
Field(
|
|
998
|
+
description="Include stacked assets in the response. When true, only primary assets from stacks are returned."
|
|
999
|
+
),
|
|
1000
|
+
] = None,
|
|
1001
|
+
_request_timeout: Union[
|
|
1002
|
+
None,
|
|
1003
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
1004
|
+
Tuple[
|
|
1005
|
+
Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]
|
|
1006
|
+
],
|
|
1007
|
+
] = None,
|
|
1008
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
1009
|
+
_content_type: Optional[StrictStr] = None,
|
|
1010
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
1011
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
1012
|
+
) -> RESTResponseType:
|
|
1013
|
+
"""Get time buckets
|
|
1014
|
+
|
|
1015
|
+
Retrieve a list of all minimal time buckets.
|
|
1016
|
+
|
|
1017
|
+
:param album_id: Filter assets belonging to a specific album
|
|
1018
|
+
:type album_id: UUID
|
|
1019
|
+
:param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only)
|
|
1020
|
+
:type is_favorite: bool
|
|
1021
|
+
:param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only)
|
|
1022
|
+
:type is_trashed: bool
|
|
1023
|
+
:param key:
|
|
1024
|
+
:type key: str
|
|
1025
|
+
:param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)
|
|
1026
|
+
:type order: AssetOrder
|
|
1027
|
+
:param person_id: Filter assets containing a specific person (face recognition)
|
|
1028
|
+
:type person_id: UUID
|
|
1029
|
+
:param slug:
|
|
1030
|
+
:type slug: str
|
|
1031
|
+
:param tag_id: Filter assets with a specific tag
|
|
1032
|
+
:type tag_id: UUID
|
|
1033
|
+
:param user_id: Filter assets by specific user ID
|
|
1034
|
+
:type user_id: UUID
|
|
1035
|
+
:param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)
|
|
1036
|
+
:type visibility: AssetVisibility
|
|
1037
|
+
:param with_coordinates: Include location data in the response
|
|
1038
|
+
:type with_coordinates: bool
|
|
1039
|
+
:param with_partners: Include assets shared by partners
|
|
1040
|
+
:type with_partners: bool
|
|
1041
|
+
:param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned.
|
|
1042
|
+
:type with_stacked: bool
|
|
1043
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
1044
|
+
number provided, it will be total request
|
|
1045
|
+
timeout. It can also be a pair (tuple) of
|
|
1046
|
+
(connection, read) timeouts.
|
|
1047
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
1048
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
1049
|
+
request; this effectively ignores the
|
|
1050
|
+
authentication in the spec for a single request.
|
|
1051
|
+
:type _request_auth: dict, optional
|
|
1052
|
+
:param _content_type: force content-type for the request.
|
|
1053
|
+
:type _content_type: str, Optional
|
|
1054
|
+
:param _headers: set to override the headers for a single
|
|
1055
|
+
request; this effectively ignores the headers
|
|
1056
|
+
in the spec for a single request.
|
|
1057
|
+
:type _headers: dict, optional
|
|
1058
|
+
:param _host_index: set to override the host_index for a single
|
|
1059
|
+
request; this effectively ignores the host_index
|
|
1060
|
+
in the spec for a single request.
|
|
1061
|
+
:type _host_index: int, optional
|
|
1062
|
+
:return: Returns the result object.
|
|
1063
|
+
""" # noqa: E501
|
|
1064
|
+
|
|
1065
|
+
_param = self._get_time_buckets_serialize(
|
|
1066
|
+
album_id=album_id,
|
|
1067
|
+
is_favorite=is_favorite,
|
|
1068
|
+
is_trashed=is_trashed,
|
|
1069
|
+
key=key,
|
|
1070
|
+
order=order,
|
|
1071
|
+
person_id=person_id,
|
|
1072
|
+
slug=slug,
|
|
1073
|
+
tag_id=tag_id,
|
|
1074
|
+
user_id=user_id,
|
|
1075
|
+
visibility=visibility,
|
|
1076
|
+
with_coordinates=with_coordinates,
|
|
1077
|
+
with_partners=with_partners,
|
|
1078
|
+
with_stacked=with_stacked,
|
|
1079
|
+
_request_auth=_request_auth,
|
|
1080
|
+
_content_type=_content_type,
|
|
1081
|
+
_headers=_headers,
|
|
1082
|
+
_host_index=_host_index,
|
|
1083
|
+
)
|
|
1084
|
+
|
|
1085
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
1086
|
+
"200": "List[TimeBucketsResponseDto]",
|
|
1087
|
+
}
|
|
1088
|
+
response_data = await self.api_client.call_api(
|
|
1089
|
+
*_param, _request_timeout=_request_timeout
|
|
1090
|
+
)
|
|
1091
|
+
return response_data.response
|
|
1092
|
+
|
|
1093
|
+
def _get_time_buckets_serialize(
|
|
1094
|
+
self,
|
|
1095
|
+
album_id,
|
|
1096
|
+
is_favorite,
|
|
1097
|
+
is_trashed,
|
|
1098
|
+
key,
|
|
1099
|
+
order,
|
|
1100
|
+
person_id,
|
|
1101
|
+
slug,
|
|
1102
|
+
tag_id,
|
|
1103
|
+
user_id,
|
|
1104
|
+
visibility,
|
|
1105
|
+
with_coordinates,
|
|
1106
|
+
with_partners,
|
|
1107
|
+
with_stacked,
|
|
1108
|
+
_request_auth,
|
|
1109
|
+
_content_type,
|
|
1110
|
+
_headers,
|
|
1111
|
+
_host_index,
|
|
1112
|
+
) -> RequestSerialized:
|
|
1113
|
+
_host = None
|
|
1114
|
+
|
|
1115
|
+
_collection_formats: Dict[str, str] = {}
|
|
1116
|
+
|
|
1117
|
+
_path_params: Dict[str, str] = {}
|
|
1118
|
+
_query_params: List[Tuple[str, str]] = []
|
|
1119
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
1120
|
+
_form_params: List[Tuple[str, str]] = []
|
|
1121
|
+
_files: Dict[
|
|
1122
|
+
str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
|
|
1123
|
+
] = {}
|
|
1124
|
+
_body_params: Optional[bytes] = None
|
|
1125
|
+
|
|
1126
|
+
# process the path parameters
|
|
1127
|
+
# process the query parameters
|
|
1128
|
+
if album_id is not None:
|
|
1129
|
+
_query_params.append(("albumId", album_id))
|
|
1130
|
+
|
|
1131
|
+
if is_favorite is not None:
|
|
1132
|
+
_query_params.append(("isFavorite", is_favorite))
|
|
1133
|
+
|
|
1134
|
+
if is_trashed is not None:
|
|
1135
|
+
_query_params.append(("isTrashed", is_trashed))
|
|
1136
|
+
|
|
1137
|
+
if key is not None:
|
|
1138
|
+
_query_params.append(("key", key))
|
|
1139
|
+
|
|
1140
|
+
if order is not None:
|
|
1141
|
+
_query_params.append(("order", order.value))
|
|
1142
|
+
|
|
1143
|
+
if person_id is not None:
|
|
1144
|
+
_query_params.append(("personId", person_id))
|
|
1145
|
+
|
|
1146
|
+
if slug is not None:
|
|
1147
|
+
_query_params.append(("slug", slug))
|
|
1148
|
+
|
|
1149
|
+
if tag_id is not None:
|
|
1150
|
+
_query_params.append(("tagId", tag_id))
|
|
1151
|
+
|
|
1152
|
+
if user_id is not None:
|
|
1153
|
+
_query_params.append(("userId", user_id))
|
|
1154
|
+
|
|
1155
|
+
if visibility is not None:
|
|
1156
|
+
_query_params.append(("visibility", visibility.value))
|
|
1157
|
+
|
|
1158
|
+
if with_coordinates is not None:
|
|
1159
|
+
_query_params.append(("withCoordinates", with_coordinates))
|
|
1160
|
+
|
|
1161
|
+
if with_partners is not None:
|
|
1162
|
+
_query_params.append(("withPartners", with_partners))
|
|
1163
|
+
|
|
1164
|
+
if with_stacked is not None:
|
|
1165
|
+
_query_params.append(("withStacked", with_stacked))
|
|
1166
|
+
|
|
1167
|
+
# process the header parameters
|
|
1168
|
+
# process the form parameters
|
|
1169
|
+
# process the body parameter
|
|
1170
|
+
|
|
1171
|
+
# set the HTTP header `Accept`
|
|
1172
|
+
if "Accept" not in _header_params:
|
|
1173
|
+
_header_params["Accept"] = self.api_client.select_header_accept(
|
|
1174
|
+
["application/json"]
|
|
1175
|
+
)
|
|
1176
|
+
|
|
1177
|
+
# authentication setting
|
|
1178
|
+
_auth_settings: List[str] = ["cookie", "api_key", "bearer"]
|
|
1179
|
+
|
|
1180
|
+
return self.api_client.param_serialize(
|
|
1181
|
+
method="GET",
|
|
1182
|
+
resource_path="/timeline/buckets",
|
|
1183
|
+
path_params=_path_params,
|
|
1184
|
+
query_params=_query_params,
|
|
1185
|
+
header_params=_header_params,
|
|
1186
|
+
body=_body_params,
|
|
1187
|
+
post_params=_form_params,
|
|
1188
|
+
files=_files,
|
|
1189
|
+
auth_settings=_auth_settings,
|
|
1190
|
+
collection_formats=_collection_formats,
|
|
1191
|
+
_host=_host,
|
|
1192
|
+
_request_auth=_request_auth,
|
|
1193
|
+
)
|