[TASK] (untested) Updated API to work with Immich 3.0
This commit is contained in:
@@ -6,18 +6,13 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
# import models into model package
|
||||
from generated.immich.openapi_client.models.api_key_create_dto import APIKeyCreateDto
|
||||
from generated.immich.openapi_client.models.api_key_create_response_dto import APIKeyCreateResponseDto
|
||||
from generated.immich.openapi_client.models.api_key_response_dto import APIKeyResponseDto
|
||||
from generated.immich.openapi_client.models.api_key_update_dto import APIKeyUpdateDto
|
||||
from generated.immich.openapi_client.models.activity_create_dto import ActivityCreateDto
|
||||
from generated.immich.openapi_client.models.activity_response_dto import ActivityResponseDto
|
||||
from generated.immich.openapi_client.models.activity_statistics_response_dto import ActivityStatisticsResponseDto
|
||||
@@ -29,22 +24,33 @@ from generated.immich.openapi_client.models.album_user_add_dto import AlbumUserA
|
||||
from generated.immich.openapi_client.models.album_user_create_dto import AlbumUserCreateDto
|
||||
from generated.immich.openapi_client.models.album_user_response_dto import AlbumUserResponseDto
|
||||
from generated.immich.openapi_client.models.album_user_role import AlbumUserRole
|
||||
from generated.immich.openapi_client.models.all_job_status_response_dto import AllJobStatusResponseDto
|
||||
from generated.immich.openapi_client.models.albums_add_assets_dto import AlbumsAddAssetsDto
|
||||
from generated.immich.openapi_client.models.albums_add_assets_response_dto import AlbumsAddAssetsResponseDto
|
||||
from generated.immich.openapi_client.models.albums_response import AlbumsResponse
|
||||
from generated.immich.openapi_client.models.albums_update import AlbumsUpdate
|
||||
from generated.immich.openapi_client.models.api_key_create_dto import ApiKeyCreateDto
|
||||
from generated.immich.openapi_client.models.api_key_create_response_dto import ApiKeyCreateResponseDto
|
||||
from generated.immich.openapi_client.models.api_key_response_dto import ApiKeyResponseDto
|
||||
from generated.immich.openapi_client.models.api_key_update_dto import ApiKeyUpdateDto
|
||||
from generated.immich.openapi_client.models.asset_bulk_delete_dto import AssetBulkDeleteDto
|
||||
from generated.immich.openapi_client.models.asset_bulk_update_dto import AssetBulkUpdateDto
|
||||
from generated.immich.openapi_client.models.asset_bulk_upload_check_dto import AssetBulkUploadCheckDto
|
||||
from generated.immich.openapi_client.models.asset_bulk_upload_check_item import AssetBulkUploadCheckItem
|
||||
from generated.immich.openapi_client.models.asset_bulk_upload_check_response_dto import AssetBulkUploadCheckResponseDto
|
||||
from generated.immich.openapi_client.models.asset_bulk_upload_check_result import AssetBulkUploadCheckResult
|
||||
from generated.immich.openapi_client.models.asset_delta_sync_dto import AssetDeltaSyncDto
|
||||
from generated.immich.openapi_client.models.asset_delta_sync_response_dto import AssetDeltaSyncResponseDto
|
||||
from generated.immich.openapi_client.models.asset_copy_dto import AssetCopyDto
|
||||
from generated.immich.openapi_client.models.asset_edit_action import AssetEditAction
|
||||
from generated.immich.openapi_client.models.asset_edit_action_item_dto import AssetEditActionItemDto
|
||||
from generated.immich.openapi_client.models.asset_edit_action_item_dto_parameters import AssetEditActionItemDtoParameters
|
||||
from generated.immich.openapi_client.models.asset_edit_action_item_response_dto import AssetEditActionItemResponseDto
|
||||
from generated.immich.openapi_client.models.asset_edits_create_dto import AssetEditsCreateDto
|
||||
from generated.immich.openapi_client.models.asset_edits_response_dto import AssetEditsResponseDto
|
||||
from generated.immich.openapi_client.models.asset_face_create_dto import AssetFaceCreateDto
|
||||
from generated.immich.openapi_client.models.asset_face_delete_dto import AssetFaceDeleteDto
|
||||
from generated.immich.openapi_client.models.asset_face_response_dto import AssetFaceResponseDto
|
||||
from generated.immich.openapi_client.models.asset_face_update_dto import AssetFaceUpdateDto
|
||||
from generated.immich.openapi_client.models.asset_face_update_item import AssetFaceUpdateItem
|
||||
from generated.immich.openapi_client.models.asset_face_without_person_response_dto import AssetFaceWithoutPersonResponseDto
|
||||
from generated.immich.openapi_client.models.asset_full_sync_dto import AssetFullSyncDto
|
||||
from generated.immich.openapi_client.models.asset_id_error_reason import AssetIdErrorReason
|
||||
from generated.immich.openapi_client.models.asset_ids_dto import AssetIdsDto
|
||||
from generated.immich.openapi_client.models.asset_ids_response_dto import AssetIdsResponseDto
|
||||
from generated.immich.openapi_client.models.asset_job_name import AssetJobName
|
||||
@@ -52,81 +58,121 @@ from generated.immich.openapi_client.models.asset_jobs_dto import AssetJobsDto
|
||||
from generated.immich.openapi_client.models.asset_media_response_dto import AssetMediaResponseDto
|
||||
from generated.immich.openapi_client.models.asset_media_size import AssetMediaSize
|
||||
from generated.immich.openapi_client.models.asset_media_status import AssetMediaStatus
|
||||
from generated.immich.openapi_client.models.asset_metadata_bulk_delete_dto import AssetMetadataBulkDeleteDto
|
||||
from generated.immich.openapi_client.models.asset_metadata_bulk_delete_item_dto import AssetMetadataBulkDeleteItemDto
|
||||
from generated.immich.openapi_client.models.asset_metadata_bulk_response_dto import AssetMetadataBulkResponseDto
|
||||
from generated.immich.openapi_client.models.asset_metadata_bulk_upsert_dto import AssetMetadataBulkUpsertDto
|
||||
from generated.immich.openapi_client.models.asset_metadata_bulk_upsert_item_dto import AssetMetadataBulkUpsertItemDto
|
||||
from generated.immich.openapi_client.models.asset_metadata_response_dto import AssetMetadataResponseDto
|
||||
from generated.immich.openapi_client.models.asset_metadata_upsert_dto import AssetMetadataUpsertDto
|
||||
from generated.immich.openapi_client.models.asset_metadata_upsert_item_dto import AssetMetadataUpsertItemDto
|
||||
from generated.immich.openapi_client.models.asset_ocr_response_dto import AssetOcrResponseDto
|
||||
from generated.immich.openapi_client.models.asset_order import AssetOrder
|
||||
from generated.immich.openapi_client.models.asset_order_by import AssetOrderBy
|
||||
from generated.immich.openapi_client.models.asset_reject_reason import AssetRejectReason
|
||||
from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto
|
||||
from generated.immich.openapi_client.models.asset_stack_response_dto import AssetStackResponseDto
|
||||
from generated.immich.openapi_client.models.asset_stats_response_dto import AssetStatsResponseDto
|
||||
from generated.immich.openapi_client.models.asset_type_enum import AssetTypeEnum
|
||||
from generated.immich.openapi_client.models.asset_upload_action import AssetUploadAction
|
||||
from generated.immich.openapi_client.models.asset_visibility import AssetVisibility
|
||||
from generated.immich.openapi_client.models.audio_codec import AudioCodec
|
||||
from generated.immich.openapi_client.models.avatar_response import AvatarResponse
|
||||
from generated.immich.openapi_client.models.auth_status_response_dto import AuthStatusResponseDto
|
||||
from generated.immich.openapi_client.models.avatar_update import AvatarUpdate
|
||||
from generated.immich.openapi_client.models.bulk_id_error_reason import BulkIdErrorReason
|
||||
from generated.immich.openapi_client.models.bulk_id_response_dto import BulkIdResponseDto
|
||||
from generated.immich.openapi_client.models.bulk_ids_dto import BulkIdsDto
|
||||
from generated.immich.openapi_client.models.clip_config import CLIPConfig
|
||||
from generated.immich.openapi_client.models.cq_mode import CQMode
|
||||
from generated.immich.openapi_client.models.calendar_heatmap_response_dto import CalendarHeatmapResponseDto
|
||||
from generated.immich.openapi_client.models.calendar_heatmap_response_dto_series_inner import CalendarHeatmapResponseDtoSeriesInner
|
||||
from generated.immich.openapi_client.models.calendar_heatmap_type import CalendarHeatmapType
|
||||
from generated.immich.openapi_client.models.cast_response import CastResponse
|
||||
from generated.immich.openapi_client.models.cast_update import CastUpdate
|
||||
from generated.immich.openapi_client.models.change_password_dto import ChangePasswordDto
|
||||
from generated.immich.openapi_client.models.check_existing_assets_dto import CheckExistingAssetsDto
|
||||
from generated.immich.openapi_client.models.check_existing_assets_response_dto import CheckExistingAssetsResponseDto
|
||||
from generated.immich.openapi_client.models.colorspace import Colorspace
|
||||
from generated.immich.openapi_client.models.contributor_count_response_dto import ContributorCountResponseDto
|
||||
from generated.immich.openapi_client.models.create_album_dto import CreateAlbumDto
|
||||
from generated.immich.openapi_client.models.create_library_dto import CreateLibraryDto
|
||||
from generated.immich.openapi_client.models.create_profile_image_response_dto import CreateProfileImageResponseDto
|
||||
from generated.immich.openapi_client.models.crop_parameters import CropParameters
|
||||
from generated.immich.openapi_client.models.database_backup_config import DatabaseBackupConfig
|
||||
from generated.immich.openapi_client.models.database_backup_delete_dto import DatabaseBackupDeleteDto
|
||||
from generated.immich.openapi_client.models.database_backup_dto import DatabaseBackupDto
|
||||
from generated.immich.openapi_client.models.database_backup_list_response_dto import DatabaseBackupListResponseDto
|
||||
from generated.immich.openapi_client.models.download_archive_dto import DownloadArchiveDto
|
||||
from generated.immich.openapi_client.models.download_archive_info import DownloadArchiveInfo
|
||||
from generated.immich.openapi_client.models.download_info_dto import DownloadInfoDto
|
||||
from generated.immich.openapi_client.models.download_response import DownloadResponse
|
||||
from generated.immich.openapi_client.models.download_response_dto import DownloadResponseDto
|
||||
from generated.immich.openapi_client.models.download_update import DownloadUpdate
|
||||
from generated.immich.openapi_client.models.duplicate_detection_config import DuplicateDetectionConfig
|
||||
from generated.immich.openapi_client.models.duplicate_resolve_dto import DuplicateResolveDto
|
||||
from generated.immich.openapi_client.models.duplicate_resolve_group_dto import DuplicateResolveGroupDto
|
||||
from generated.immich.openapi_client.models.duplicate_response_dto import DuplicateResponseDto
|
||||
from generated.immich.openapi_client.models.email_notifications_response import EmailNotificationsResponse
|
||||
from generated.immich.openapi_client.models.email_notifications_update import EmailNotificationsUpdate
|
||||
from generated.immich.openapi_client.models.exif_response_dto import ExifResponseDto
|
||||
from generated.immich.openapi_client.models.face_dto import FaceDto
|
||||
from generated.immich.openapi_client.models.facial_recognition_config import FacialRecognitionConfig
|
||||
from generated.immich.openapi_client.models.file_checksum_dto import FileChecksumDto
|
||||
from generated.immich.openapi_client.models.file_checksum_response_dto import FileChecksumResponseDto
|
||||
from generated.immich.openapi_client.models.file_report_dto import FileReportDto
|
||||
from generated.immich.openapi_client.models.file_report_fix_dto import FileReportFixDto
|
||||
from generated.immich.openapi_client.models.file_report_item_dto import FileReportItemDto
|
||||
from generated.immich.openapi_client.models.folders_response import FoldersResponse
|
||||
from generated.immich.openapi_client.models.folders_update import FoldersUpdate
|
||||
from generated.immich.openapi_client.models.image_format import ImageFormat
|
||||
from generated.immich.openapi_client.models.job_command import JobCommand
|
||||
from generated.immich.openapi_client.models.job_command_dto import JobCommandDto
|
||||
from generated.immich.openapi_client.models.job_counts_dto import JobCountsDto
|
||||
from generated.immich.openapi_client.models.integrity_report import IntegrityReport
|
||||
from generated.immich.openapi_client.models.integrity_report_response_dto import IntegrityReportResponseDto
|
||||
from generated.immich.openapi_client.models.integrity_report_response_dto_items_inner import IntegrityReportResponseDtoItemsInner
|
||||
from generated.immich.openapi_client.models.integrity_report_summary_response_dto import IntegrityReportSummaryResponseDto
|
||||
from generated.immich.openapi_client.models.job_create_dto import JobCreateDto
|
||||
from generated.immich.openapi_client.models.job_name import JobName
|
||||
from generated.immich.openapi_client.models.job_settings_dto import JobSettingsDto
|
||||
from generated.immich.openapi_client.models.job_status_dto import JobStatusDto
|
||||
from generated.immich.openapi_client.models.library_response_dto import LibraryResponseDto
|
||||
from generated.immich.openapi_client.models.library_stats_response_dto import LibraryStatsResponseDto
|
||||
from generated.immich.openapi_client.models.license_key_dto import LicenseKeyDto
|
||||
from generated.immich.openapi_client.models.license_response_dto import LicenseResponseDto
|
||||
from generated.immich.openapi_client.models.log_level import LogLevel
|
||||
from generated.immich.openapi_client.models.login_credential_dto import LoginCredentialDto
|
||||
from generated.immich.openapi_client.models.login_response_dto import LoginResponseDto
|
||||
from generated.immich.openapi_client.models.logout_response_dto import LogoutResponseDto
|
||||
from generated.immich.openapi_client.models.machine_learning_availability_checks_dto import MachineLearningAvailabilityChecksDto
|
||||
from generated.immich.openapi_client.models.maintenance_action import MaintenanceAction
|
||||
from generated.immich.openapi_client.models.maintenance_auth_dto import MaintenanceAuthDto
|
||||
from generated.immich.openapi_client.models.maintenance_detect_install_response_dto import MaintenanceDetectInstallResponseDto
|
||||
from generated.immich.openapi_client.models.maintenance_detect_install_storage_folder_dto import MaintenanceDetectInstallStorageFolderDto
|
||||
from generated.immich.openapi_client.models.maintenance_login_dto import MaintenanceLoginDto
|
||||
from generated.immich.openapi_client.models.maintenance_status_response_dto import MaintenanceStatusResponseDto
|
||||
from generated.immich.openapi_client.models.manual_job_name import ManualJobName
|
||||
from generated.immich.openapi_client.models.map_marker_response_dto import MapMarkerResponseDto
|
||||
from generated.immich.openapi_client.models.map_reverse_geocode_response_dto import MapReverseGeocodeResponseDto
|
||||
from generated.immich.openapi_client.models.memories_response import MemoriesResponse
|
||||
from generated.immich.openapi_client.models.memories_update import MemoriesUpdate
|
||||
from generated.immich.openapi_client.models.memory_create_dto import MemoryCreateDto
|
||||
from generated.immich.openapi_client.models.memory_lane_response_dto import MemoryLaneResponseDto
|
||||
from generated.immich.openapi_client.models.memory_response_dto import MemoryResponseDto
|
||||
from generated.immich.openapi_client.models.memory_search_order import MemorySearchOrder
|
||||
from generated.immich.openapi_client.models.memory_statistics_response_dto import MemoryStatisticsResponseDto
|
||||
from generated.immich.openapi_client.models.memory_type import MemoryType
|
||||
from generated.immich.openapi_client.models.memory_update_dto import MemoryUpdateDto
|
||||
from generated.immich.openapi_client.models.merge_person_dto import MergePersonDto
|
||||
from generated.immich.openapi_client.models.metadata_search_dto import MetadataSearchDto
|
||||
from generated.immich.openapi_client.models.mirror_axis import MirrorAxis
|
||||
from generated.immich.openapi_client.models.mirror_parameters import MirrorParameters
|
||||
from generated.immich.openapi_client.models.notification_create_dto import NotificationCreateDto
|
||||
from generated.immich.openapi_client.models.notification_delete_all_dto import NotificationDeleteAllDto
|
||||
from generated.immich.openapi_client.models.notification_dto import NotificationDto
|
||||
from generated.immich.openapi_client.models.notification_level import NotificationLevel
|
||||
from generated.immich.openapi_client.models.notification_type import NotificationType
|
||||
from generated.immich.openapi_client.models.notification_update_all_dto import NotificationUpdateAllDto
|
||||
from generated.immich.openapi_client.models.notification_update_dto import NotificationUpdateDto
|
||||
from generated.immich.openapi_client.models.o_auth_authorize_response_dto import OAuthAuthorizeResponseDto
|
||||
from generated.immich.openapi_client.models.o_auth_callback_dto import OAuthCallbackDto
|
||||
from generated.immich.openapi_client.models.o_auth_config_dto import OAuthConfigDto
|
||||
from generated.immich.openapi_client.models.o_auth_token_endpoint_auth_method import OAuthTokenEndpointAuthMethod
|
||||
from generated.immich.openapi_client.models.ocr_config import OcrConfig
|
||||
from generated.immich.openapi_client.models.on_this_day_dto import OnThisDayDto
|
||||
from generated.immich.openapi_client.models.onboarding_dto import OnboardingDto
|
||||
from generated.immich.openapi_client.models.onboarding_response_dto import OnboardingResponseDto
|
||||
from generated.immich.openapi_client.models.partner_create_dto import PartnerCreateDto
|
||||
from generated.immich.openapi_client.models.partner_direction import PartnerDirection
|
||||
from generated.immich.openapi_client.models.partner_response_dto import PartnerResponseDto
|
||||
from generated.immich.openapi_client.models.path_entity_type import PathEntityType
|
||||
from generated.immich.openapi_client.models.path_type import PathType
|
||||
from generated.immich.openapi_client.models.partner_update_dto import PartnerUpdateDto
|
||||
from generated.immich.openapi_client.models.people_response import PeopleResponse
|
||||
from generated.immich.openapi_client.models.people_response_dto import PeopleResponseDto
|
||||
from generated.immich.openapi_client.models.people_update import PeopleUpdate
|
||||
@@ -137,17 +183,40 @@ from generated.immich.openapi_client.models.person_create_dto import PersonCreat
|
||||
from generated.immich.openapi_client.models.person_response_dto import PersonResponseDto
|
||||
from generated.immich.openapi_client.models.person_statistics_response_dto import PersonStatisticsResponseDto
|
||||
from generated.immich.openapi_client.models.person_update_dto import PersonUpdateDto
|
||||
from generated.immich.openapi_client.models.person_with_faces_response_dto import PersonWithFacesResponseDto
|
||||
from generated.immich.openapi_client.models.pin_code_change_dto import PinCodeChangeDto
|
||||
from generated.immich.openapi_client.models.pin_code_reset_dto import PinCodeResetDto
|
||||
from generated.immich.openapi_client.models.pin_code_setup_dto import PinCodeSetupDto
|
||||
from generated.immich.openapi_client.models.places_response_dto import PlacesResponseDto
|
||||
from generated.immich.openapi_client.models.plugin_method_response_dto import PluginMethodResponseDto
|
||||
from generated.immich.openapi_client.models.plugin_response_dto import PluginResponseDto
|
||||
from generated.immich.openapi_client.models.plugin_template_response_dto import PluginTemplateResponseDto
|
||||
from generated.immich.openapi_client.models.plugin_template_step_response_dto import PluginTemplateStepResponseDto
|
||||
from generated.immich.openapi_client.models.purchase_response import PurchaseResponse
|
||||
from generated.immich.openapi_client.models.purchase_update import PurchaseUpdate
|
||||
from generated.immich.openapi_client.models.queue_status_dto import QueueStatusDto
|
||||
from generated.immich.openapi_client.models.queue_command import QueueCommand
|
||||
from generated.immich.openapi_client.models.queue_command_dto import QueueCommandDto
|
||||
from generated.immich.openapi_client.models.queue_delete_dto import QueueDeleteDto
|
||||
from generated.immich.openapi_client.models.queue_job_response_dto import QueueJobResponseDto
|
||||
from generated.immich.openapi_client.models.queue_job_status import QueueJobStatus
|
||||
from generated.immich.openapi_client.models.queue_name import QueueName
|
||||
from generated.immich.openapi_client.models.queue_response_dto import QueueResponseDto
|
||||
from generated.immich.openapi_client.models.queue_response_legacy_dto import QueueResponseLegacyDto
|
||||
from generated.immich.openapi_client.models.queue_statistics_dto import QueueStatisticsDto
|
||||
from generated.immich.openapi_client.models.queue_status_legacy_dto import QueueStatusLegacyDto
|
||||
from generated.immich.openapi_client.models.queue_update_dto import QueueUpdateDto
|
||||
from generated.immich.openapi_client.models.queues_response_legacy_dto import QueuesResponseLegacyDto
|
||||
from generated.immich.openapi_client.models.random_search_dto import RandomSearchDto
|
||||
from generated.immich.openapi_client.models.ratings_response import RatingsResponse
|
||||
from generated.immich.openapi_client.models.ratings_update import RatingsUpdate
|
||||
from generated.immich.openapi_client.models.reaction_level import ReactionLevel
|
||||
from generated.immich.openapi_client.models.reaction_type import ReactionType
|
||||
from generated.immich.openapi_client.models.recently_added_response import RecentlyAddedResponse
|
||||
from generated.immich.openapi_client.models.recently_added_update import RecentlyAddedUpdate
|
||||
from generated.immich.openapi_client.models.release_channel import ReleaseChannel
|
||||
from generated.immich.openapi_client.models.release_event_v1 import ReleaseEventV1
|
||||
from generated.immich.openapi_client.models.release_type import ReleaseType
|
||||
from generated.immich.openapi_client.models.reverse_geocoding_state_response_dto import ReverseGeocodingStateResponseDto
|
||||
from generated.immich.openapi_client.models.rotate_parameters import RotateParameters
|
||||
from generated.immich.openapi_client.models.search_album_response_dto import SearchAlbumResponseDto
|
||||
from generated.immich.openapi_client.models.search_asset_response_dto import SearchAssetResponseDto
|
||||
from generated.immich.openapi_client.models.search_explore_item import SearchExploreItem
|
||||
@@ -155,20 +224,27 @@ from generated.immich.openapi_client.models.search_explore_response_dto import S
|
||||
from generated.immich.openapi_client.models.search_facet_count_response_dto import SearchFacetCountResponseDto
|
||||
from generated.immich.openapi_client.models.search_facet_response_dto import SearchFacetResponseDto
|
||||
from generated.immich.openapi_client.models.search_response_dto import SearchResponseDto
|
||||
from generated.immich.openapi_client.models.search_statistics_response_dto import SearchStatisticsResponseDto
|
||||
from generated.immich.openapi_client.models.search_suggestion_type import SearchSuggestionType
|
||||
from generated.immich.openapi_client.models.server_about_response_dto import ServerAboutResponseDto
|
||||
from generated.immich.openapi_client.models.server_apk_links_dto import ServerApkLinksDto
|
||||
from generated.immich.openapi_client.models.server_config_dto import ServerConfigDto
|
||||
from generated.immich.openapi_client.models.server_features_dto import ServerFeaturesDto
|
||||
from generated.immich.openapi_client.models.server_media_types_response_dto import ServerMediaTypesResponseDto
|
||||
from generated.immich.openapi_client.models.server_ping_response import ServerPingResponse
|
||||
from generated.immich.openapi_client.models.server_stats_response_dto import ServerStatsResponseDto
|
||||
from generated.immich.openapi_client.models.server_storage_response_dto import ServerStorageResponseDto
|
||||
from generated.immich.openapi_client.models.server_theme_dto import ServerThemeDto
|
||||
from generated.immich.openapi_client.models.server_version_history_response_dto import ServerVersionHistoryResponseDto
|
||||
from generated.immich.openapi_client.models.server_version_response_dto import ServerVersionResponseDto
|
||||
from generated.immich.openapi_client.models.session_create_dto import SessionCreateDto
|
||||
from generated.immich.openapi_client.models.session_create_response_dto import SessionCreateResponseDto
|
||||
from generated.immich.openapi_client.models.session_response_dto import SessionResponseDto
|
||||
from generated.immich.openapi_client.models.session_unlock_dto import SessionUnlockDto
|
||||
from generated.immich.openapi_client.models.session_update_dto import SessionUpdateDto
|
||||
from generated.immich.openapi_client.models.set_maintenance_mode_dto import SetMaintenanceModeDto
|
||||
from generated.immich.openapi_client.models.shared_link_create_dto import SharedLinkCreateDto
|
||||
from generated.immich.openapi_client.models.shared_link_edit_dto import SharedLinkEditDto
|
||||
from generated.immich.openapi_client.models.shared_link_login_dto import SharedLinkLoginDto
|
||||
from generated.immich.openapi_client.models.shared_link_response_dto import SharedLinkResponseDto
|
||||
from generated.immich.openapi_client.models.shared_link_type import SharedLinkType
|
||||
from generated.immich.openapi_client.models.shared_links_response import SharedLinksResponse
|
||||
@@ -179,26 +255,60 @@ from generated.immich.openapi_client.models.source_type import SourceType
|
||||
from generated.immich.openapi_client.models.stack_create_dto import StackCreateDto
|
||||
from generated.immich.openapi_client.models.stack_response_dto import StackResponseDto
|
||||
from generated.immich.openapi_client.models.stack_update_dto import StackUpdateDto
|
||||
from generated.immich.openapi_client.models.statistics_search_dto import StatisticsSearchDto
|
||||
from generated.immich.openapi_client.models.storage_folder import StorageFolder
|
||||
from generated.immich.openapi_client.models.sync_ack_delete_dto import SyncAckDeleteDto
|
||||
from generated.immich.openapi_client.models.sync_ack_dto import SyncAckDto
|
||||
from generated.immich.openapi_client.models.sync_ack_set_dto import SyncAckSetDto
|
||||
from generated.immich.openapi_client.models.sync_album_delete_v1 import SyncAlbumDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_album_to_asset_delete_v1 import SyncAlbumToAssetDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_album_to_asset_v1 import SyncAlbumToAssetV1
|
||||
from generated.immich.openapi_client.models.sync_album_user_delete_v1 import SyncAlbumUserDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_album_user_v1 import SyncAlbumUserV1
|
||||
from generated.immich.openapi_client.models.sync_album_v1 import SyncAlbumV1
|
||||
from generated.immich.openapi_client.models.sync_album_v2 import SyncAlbumV2
|
||||
from generated.immich.openapi_client.models.sync_asset_delete_v1 import SyncAssetDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_asset_edit_delete_v1 import SyncAssetEditDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_asset_edit_v1 import SyncAssetEditV1
|
||||
from generated.immich.openapi_client.models.sync_asset_exif_v1 import SyncAssetExifV1
|
||||
from generated.immich.openapi_client.models.sync_asset_face_delete_v1 import SyncAssetFaceDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_asset_face_v1 import SyncAssetFaceV1
|
||||
from generated.immich.openapi_client.models.sync_asset_face_v2 import SyncAssetFaceV2
|
||||
from generated.immich.openapi_client.models.sync_asset_metadata_delete_v1 import SyncAssetMetadataDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_asset_metadata_v1 import SyncAssetMetadataV1
|
||||
from generated.immich.openapi_client.models.sync_asset_ocr_delete_v1 import SyncAssetOcrDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_asset_ocr_v1 import SyncAssetOcrV1
|
||||
from generated.immich.openapi_client.models.sync_asset_v1 import SyncAssetV1
|
||||
from generated.immich.openapi_client.models.sync_asset_v2 import SyncAssetV2
|
||||
from generated.immich.openapi_client.models.sync_auth_user_v1 import SyncAuthUserV1
|
||||
from generated.immich.openapi_client.models.sync_entity_type import SyncEntityType
|
||||
from generated.immich.openapi_client.models.sync_memory_asset_delete_v1 import SyncMemoryAssetDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_memory_asset_v1 import SyncMemoryAssetV1
|
||||
from generated.immich.openapi_client.models.sync_memory_delete_v1 import SyncMemoryDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_memory_v1 import SyncMemoryV1
|
||||
from generated.immich.openapi_client.models.sync_partner_delete_v1 import SyncPartnerDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_partner_v1 import SyncPartnerV1
|
||||
from generated.immich.openapi_client.models.sync_person_delete_v1 import SyncPersonDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_person_v1 import SyncPersonV1
|
||||
from generated.immich.openapi_client.models.sync_request_type import SyncRequestType
|
||||
from generated.immich.openapi_client.models.sync_stack_delete_v1 import SyncStackDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_stack_v1 import SyncStackV1
|
||||
from generated.immich.openapi_client.models.sync_stream_dto import SyncStreamDto
|
||||
from generated.immich.openapi_client.models.sync_user_delete_v1 import SyncUserDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_user_metadata_delete_v1 import SyncUserMetadataDeleteV1
|
||||
from generated.immich.openapi_client.models.sync_user_metadata_v1 import SyncUserMetadataV1
|
||||
from generated.immich.openapi_client.models.sync_user_v1 import SyncUserV1
|
||||
from generated.immich.openapi_client.models.system_config_backups_dto import SystemConfigBackupsDto
|
||||
from generated.immich.openapi_client.models.system_config_dto import SystemConfigDto
|
||||
from generated.immich.openapi_client.models.system_config_f_fmpeg_dto import SystemConfigFFmpegDto
|
||||
from generated.immich.openapi_client.models.system_config_f_fmpeg_realtime_dto import SystemConfigFFmpegRealtimeDto
|
||||
from generated.immich.openapi_client.models.system_config_faces_dto import SystemConfigFacesDto
|
||||
from generated.immich.openapi_client.models.system_config_generated_fullsize_image_dto import SystemConfigGeneratedFullsizeImageDto
|
||||
from generated.immich.openapi_client.models.system_config_generated_image_dto import SystemConfigGeneratedImageDto
|
||||
from generated.immich.openapi_client.models.system_config_image_dto import SystemConfigImageDto
|
||||
from generated.immich.openapi_client.models.system_config_integrity_checks import SystemConfigIntegrityChecks
|
||||
from generated.immich.openapi_client.models.system_config_integrity_checksum_job import SystemConfigIntegrityChecksumJob
|
||||
from generated.immich.openapi_client.models.system_config_integrity_job import SystemConfigIntegrityJob
|
||||
from generated.immich.openapi_client.models.system_config_job_dto import SystemConfigJobDto
|
||||
from generated.immich.openapi_client.models.system_config_library_dto import SystemConfigLibraryDto
|
||||
from generated.immich.openapi_client.models.system_config_library_scan_dto import SystemConfigLibraryScanDto
|
||||
@@ -208,6 +318,7 @@ from generated.immich.openapi_client.models.system_config_machine_learning_dto i
|
||||
from generated.immich.openapi_client.models.system_config_map_dto import SystemConfigMapDto
|
||||
from generated.immich.openapi_client.models.system_config_metadata_dto import SystemConfigMetadataDto
|
||||
from generated.immich.openapi_client.models.system_config_new_version_check_dto import SystemConfigNewVersionCheckDto
|
||||
from generated.immich.openapi_client.models.system_config_nightly_tasks_dto import SystemConfigNightlyTasksDto
|
||||
from generated.immich.openapi_client.models.system_config_notifications_dto import SystemConfigNotificationsDto
|
||||
from generated.immich.openapi_client.models.system_config_o_auth_dto import SystemConfigOAuthDto
|
||||
from generated.immich.openapi_client.models.system_config_password_login_dto import SystemConfigPasswordLoginDto
|
||||
@@ -233,8 +344,8 @@ from generated.immich.openapi_client.models.tags_update import TagsUpdate
|
||||
from generated.immich.openapi_client.models.template_dto import TemplateDto
|
||||
from generated.immich.openapi_client.models.template_response_dto import TemplateResponseDto
|
||||
from generated.immich.openapi_client.models.test_email_response_dto import TestEmailResponseDto
|
||||
from generated.immich.openapi_client.models.time_bucket_response_dto import TimeBucketResponseDto
|
||||
from generated.immich.openapi_client.models.time_bucket_size import TimeBucketSize
|
||||
from generated.immich.openapi_client.models.time_bucket_asset_response_dto import TimeBucketAssetResponseDto
|
||||
from generated.immich.openapi_client.models.time_buckets_response_dto import TimeBucketsResponseDto
|
||||
from generated.immich.openapi_client.models.tone_mapping import ToneMapping
|
||||
from generated.immich.openapi_client.models.transcode_hw_accel import TranscodeHWAccel
|
||||
from generated.immich.openapi_client.models.transcode_policy import TranscodePolicy
|
||||
@@ -243,7 +354,6 @@ from generated.immich.openapi_client.models.update_album_dto import UpdateAlbumD
|
||||
from generated.immich.openapi_client.models.update_album_user_dto import UpdateAlbumUserDto
|
||||
from generated.immich.openapi_client.models.update_asset_dto import UpdateAssetDto
|
||||
from generated.immich.openapi_client.models.update_library_dto import UpdateLibraryDto
|
||||
from generated.immich.openapi_client.models.update_partner_dto import UpdatePartnerDto
|
||||
from generated.immich.openapi_client.models.usage_by_user_dto import UsageByUserDto
|
||||
from generated.immich.openapi_client.models.user_admin_create_dto import UserAdminCreateDto
|
||||
from generated.immich.openapi_client.models.user_admin_delete_dto import UserAdminDeleteDto
|
||||
@@ -251,6 +361,7 @@ from generated.immich.openapi_client.models.user_admin_response_dto import UserA
|
||||
from generated.immich.openapi_client.models.user_admin_update_dto import UserAdminUpdateDto
|
||||
from generated.immich.openapi_client.models.user_avatar_color import UserAvatarColor
|
||||
from generated.immich.openapi_client.models.user_license import UserLicense
|
||||
from generated.immich.openapi_client.models.user_metadata_key import UserMetadataKey
|
||||
from generated.immich.openapi_client.models.user_preferences_response_dto import UserPreferencesResponseDto
|
||||
from generated.immich.openapi_client.models.user_preferences_update_dto import UserPreferencesUpdateDto
|
||||
from generated.immich.openapi_client.models.user_response_dto import UserResponseDto
|
||||
@@ -260,5 +371,16 @@ from generated.immich.openapi_client.models.validate_access_token_response_dto i
|
||||
from generated.immich.openapi_client.models.validate_library_dto import ValidateLibraryDto
|
||||
from generated.immich.openapi_client.models.validate_library_import_path_response_dto import ValidateLibraryImportPathResponseDto
|
||||
from generated.immich.openapi_client.models.validate_library_response_dto import ValidateLibraryResponseDto
|
||||
from generated.immich.openapi_client.models.version_check_state_response_dto import VersionCheckStateResponseDto
|
||||
from generated.immich.openapi_client.models.video_codec import VideoCodec
|
||||
from generated.immich.openapi_client.models.video_container import VideoContainer
|
||||
from generated.immich.openapi_client.models.workflow_create_dto import WorkflowCreateDto
|
||||
from generated.immich.openapi_client.models.workflow_response_dto import WorkflowResponseDto
|
||||
from generated.immich.openapi_client.models.workflow_share_response_dto import WorkflowShareResponseDto
|
||||
from generated.immich.openapi_client.models.workflow_share_step_dto import WorkflowShareStepDto
|
||||
from generated.immich.openapi_client.models.workflow_step_dto import WorkflowStepDto
|
||||
from generated.immich.openapi_client.models.workflow_trigger import WorkflowTrigger
|
||||
from generated.immich.openapi_client.models.workflow_trigger_response_dto import WorkflowTriggerResponseDto
|
||||
from generated.immich.openapi_client.models.workflow_type import WorkflowType
|
||||
from generated.immich.openapi_client.models.workflow_update_dto import WorkflowUpdateDto
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -19,20 +19,38 @@ import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.reaction_type import ReactionType
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class ActivityCreateDto(BaseModel):
|
||||
"""
|
||||
ActivityCreateDto
|
||||
Activity create
|
||||
""" # noqa: E501
|
||||
album_id: StrictStr = Field(alias="albumId")
|
||||
asset_id: Optional[StrictStr] = Field(default=None, alias="assetId")
|
||||
comment: Optional[StrictStr] = None
|
||||
album_id: UUID = Field(description="Album ID", alias="albumId")
|
||||
asset_id: Optional[UUID] = Field(default=None, description="Asset ID (if activity is for an asset)", alias="assetId")
|
||||
comment: Optional[StrictStr] = Field(default=None, description="Comment text (required if type is comment)")
|
||||
type: ReactionType
|
||||
__properties: ClassVar[List[str]] = ["albumId", "assetId", "comment", "type"]
|
||||
|
||||
@field_validator('album_id')
|
||||
def album_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('asset_id')
|
||||
def asset_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,6 +20,7 @@ import json
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.reaction_type import ReactionType
|
||||
from generated.immich.openapi_client.models.user_response_dto import UserResponseDto
|
||||
from typing import Optional, Set
|
||||
@@ -29,14 +30,38 @@ class ActivityResponseDto(BaseModel):
|
||||
"""
|
||||
ActivityResponseDto
|
||||
""" # noqa: E501
|
||||
asset_id: Optional[StrictStr] = Field(alias="assetId")
|
||||
comment: Optional[StrictStr] = None
|
||||
created_at: datetime = Field(alias="createdAt")
|
||||
id: StrictStr
|
||||
asset_id: Optional[UUID] = Field(description="Asset ID (if activity is for an asset)", alias="assetId")
|
||||
comment: Optional[StrictStr] = Field(default=None, description="Comment text (for comment activities)")
|
||||
created_at: datetime = Field(description="Creation date", alias="createdAt")
|
||||
id: UUID = Field(description="Activity ID")
|
||||
type: ReactionType
|
||||
user: UserResponseDto
|
||||
__properties: ClassVar[List[str]] = ["assetId", "comment", "createdAt", "id", "type", "user"]
|
||||
|
||||
@field_validator('asset_id')
|
||||
def asset_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('created_at')
|
||||
def created_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictInt
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,8 +27,9 @@ class ActivityStatisticsResponseDto(BaseModel):
|
||||
"""
|
||||
ActivityStatisticsResponseDto
|
||||
""" # noqa: E501
|
||||
comments: StrictInt
|
||||
__properties: ClassVar[List[str]] = ["comments"]
|
||||
comments: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of comments")
|
||||
likes: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of likes")
|
||||
__properties: ClassVar[List[str]] = ["comments", "likes"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -80,7 +82,8 @@ class ActivityStatisticsResponseDto(BaseModel):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"comments": obj.get("comments")
|
||||
"comments": obj.get("comments"),
|
||||
"likes": obj.get("likes")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -28,7 +28,7 @@ class AddUsersDto(BaseModel):
|
||||
"""
|
||||
AddUsersDto
|
||||
""" # noqa: E501
|
||||
album_users: Annotated[List[AlbumUserAddDto], Field(min_length=1)] = Field(alias="albumUsers")
|
||||
album_users: Annotated[List[AlbumUserAddDto], Field(min_length=1)] = Field(description="Album users to add", alias="albumUsers")
|
||||
__properties: ClassVar[List[str]] = ["albumUsers"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -26,7 +26,7 @@ class AdminOnboardingUpdateDto(BaseModel):
|
||||
"""
|
||||
AdminOnboardingUpdateDto
|
||||
""" # noqa: E501
|
||||
is_onboarded: StrictBool = Field(alias="isOnboarded")
|
||||
is_onboarded: StrictBool = Field(description="Is admin onboarded", alias="isOnboarded")
|
||||
__properties: ClassVar[List[str]] = ["isOnboarded"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -18,12 +18,13 @@ import re # noqa: F401
|
||||
import json
|
||||
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.album_user_response_dto import AlbumUserResponseDto
|
||||
from generated.immich.openapi_client.models.asset_order import AssetOrder
|
||||
from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto
|
||||
from generated.immich.openapi_client.models.user_response_dto import UserResponseDto
|
||||
from generated.immich.openapi_client.models.contributor_count_response_dto import ContributorCountResponseDto
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -31,25 +32,40 @@ class AlbumResponseDto(BaseModel):
|
||||
"""
|
||||
AlbumResponseDto
|
||||
""" # noqa: E501
|
||||
album_name: StrictStr = Field(alias="albumName")
|
||||
album_thumbnail_asset_id: Optional[StrictStr] = Field(alias="albumThumbnailAssetId")
|
||||
album_users: List[AlbumUserResponseDto] = Field(alias="albumUsers")
|
||||
asset_count: StrictInt = Field(alias="assetCount")
|
||||
assets: List[AssetResponseDto]
|
||||
created_at: datetime = Field(alias="createdAt")
|
||||
description: StrictStr
|
||||
end_date: Optional[datetime] = Field(default=None, alias="endDate")
|
||||
has_shared_link: StrictBool = Field(alias="hasSharedLink")
|
||||
id: StrictStr
|
||||
is_activity_enabled: StrictBool = Field(alias="isActivityEnabled")
|
||||
last_modified_asset_timestamp: Optional[datetime] = Field(default=None, alias="lastModifiedAssetTimestamp")
|
||||
album_name: StrictStr = Field(description="Album name", alias="albumName")
|
||||
album_thumbnail_asset_id: Optional[UUID] = Field(description="Thumbnail asset ID", alias="albumThumbnailAssetId")
|
||||
album_users: Annotated[List[AlbumUserResponseDto], Field(min_length=1)] = Field(description="First entry is always the album owner. Second entry is the auth user, if it differs from the owner. The rest are ordered alphabetically.", alias="albumUsers")
|
||||
asset_count: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of assets", alias="assetCount")
|
||||
contributor_counts: Optional[List[ContributorCountResponseDto]] = Field(default=None, alias="contributorCounts")
|
||||
created_at: datetime = Field(description="Creation date", alias="createdAt")
|
||||
description: StrictStr = Field(description="Album description")
|
||||
end_date: Optional[datetime] = Field(default=None, description="End date (latest asset)", alias="endDate")
|
||||
has_shared_link: StrictBool = Field(description="Has shared link", alias="hasSharedLink")
|
||||
id: UUID = Field(description="Album ID")
|
||||
is_activity_enabled: StrictBool = Field(description="Activity feed enabled", alias="isActivityEnabled")
|
||||
last_modified_asset_timestamp: Optional[datetime] = Field(default=None, description="Last modified asset timestamp", alias="lastModifiedAssetTimestamp")
|
||||
order: Optional[AssetOrder] = None
|
||||
owner: UserResponseDto
|
||||
owner_id: StrictStr = Field(alias="ownerId")
|
||||
shared: StrictBool
|
||||
start_date: Optional[datetime] = Field(default=None, alias="startDate")
|
||||
updated_at: datetime = Field(alias="updatedAt")
|
||||
__properties: ClassVar[List[str]] = ["albumName", "albumThumbnailAssetId", "albumUsers", "assetCount", "assets", "createdAt", "description", "endDate", "hasSharedLink", "id", "isActivityEnabled", "lastModifiedAssetTimestamp", "order", "owner", "ownerId", "shared", "startDate", "updatedAt"]
|
||||
shared: StrictBool = Field(description="Is shared album")
|
||||
start_date: Optional[datetime] = Field(default=None, description="Start date (earliest asset)", alias="startDate")
|
||||
updated_at: datetime = Field(description="Last update date", alias="updatedAt")
|
||||
__properties: ClassVar[List[str]] = ["albumName", "albumThumbnailAssetId", "albumUsers", "assetCount", "contributorCounts", "createdAt", "description", "endDate", "hasSharedLink", "id", "isActivityEnabled", "lastModifiedAssetTimestamp", "order", "shared", "startDate", "updatedAt"]
|
||||
|
||||
@field_validator('album_thumbnail_asset_id')
|
||||
def album_thumbnail_asset_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -97,16 +113,13 @@ class AlbumResponseDto(BaseModel):
|
||||
if _item_album_users:
|
||||
_items.append(_item_album_users.to_dict())
|
||||
_dict['albumUsers'] = _items
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in assets (list)
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in contributor_counts (list)
|
||||
_items = []
|
||||
if self.assets:
|
||||
for _item_assets in self.assets:
|
||||
if _item_assets:
|
||||
_items.append(_item_assets.to_dict())
|
||||
_dict['assets'] = _items
|
||||
# override the default output from pydantic by calling `to_dict()` of owner
|
||||
if self.owner:
|
||||
_dict['owner'] = self.owner.to_dict()
|
||||
if self.contributor_counts:
|
||||
for _item_contributor_counts in self.contributor_counts:
|
||||
if _item_contributor_counts:
|
||||
_items.append(_item_contributor_counts.to_dict())
|
||||
_dict['contributorCounts'] = _items
|
||||
# set to None if album_thumbnail_asset_id (nullable) is None
|
||||
# and model_fields_set contains the field
|
||||
if self.album_thumbnail_asset_id is None and "album_thumbnail_asset_id" in self.model_fields_set:
|
||||
@@ -128,7 +141,7 @@ class AlbumResponseDto(BaseModel):
|
||||
"albumThumbnailAssetId": obj.get("albumThumbnailAssetId"),
|
||||
"albumUsers": [AlbumUserResponseDto.from_dict(_item) for _item in obj["albumUsers"]] if obj.get("albumUsers") is not None else None,
|
||||
"assetCount": obj.get("assetCount"),
|
||||
"assets": [AssetResponseDto.from_dict(_item) for _item in obj["assets"]] if obj.get("assets") is not None else None,
|
||||
"contributorCounts": [ContributorCountResponseDto.from_dict(_item) for _item in obj["contributorCounts"]] if obj.get("contributorCounts") is not None else None,
|
||||
"createdAt": obj.get("createdAt"),
|
||||
"description": obj.get("description"),
|
||||
"endDate": obj.get("endDate"),
|
||||
@@ -137,8 +150,6 @@ class AlbumResponseDto(BaseModel):
|
||||
"isActivityEnabled": obj.get("isActivityEnabled"),
|
||||
"lastModifiedAssetTimestamp": obj.get("lastModifiedAssetTimestamp"),
|
||||
"order": obj.get("order"),
|
||||
"owner": UserResponseDto.from_dict(obj["owner"]) if obj.get("owner") is not None else None,
|
||||
"ownerId": obj.get("ownerId"),
|
||||
"shared": obj.get("shared"),
|
||||
"startDate": obj.get("startDate"),
|
||||
"updatedAt": obj.get("updatedAt")
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,9 +27,9 @@ class AlbumStatisticsResponseDto(BaseModel):
|
||||
"""
|
||||
AlbumStatisticsResponseDto
|
||||
""" # noqa: E501
|
||||
not_shared: StrictInt = Field(alias="notShared")
|
||||
owned: StrictInt
|
||||
shared: StrictInt
|
||||
not_shared: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of non-shared albums", alias="notShared")
|
||||
owned: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of owned albums")
|
||||
shared: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of shared albums")
|
||||
__properties: ClassVar[List[str]] = ["notShared", "owned", "shared"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.album_user_role import AlbumUserRole
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -28,9 +29,16 @@ class AlbumUserAddDto(BaseModel):
|
||||
AlbumUserAddDto
|
||||
""" # noqa: E501
|
||||
role: Optional[AlbumUserRole] = None
|
||||
user_id: StrictStr = Field(alias="userId")
|
||||
user_id: UUID = Field(description="User ID", alias="userId")
|
||||
__properties: ClassVar[List[str]] = ["role", "userId"]
|
||||
|
||||
@field_validator('user_id')
|
||||
def user_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.album_user_role import AlbumUserRole
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -28,9 +29,16 @@ class AlbumUserCreateDto(BaseModel):
|
||||
AlbumUserCreateDto
|
||||
""" # noqa: E501
|
||||
role: AlbumUserRole
|
||||
user_id: StrictStr = Field(alias="userId")
|
||||
user_id: UUID = Field(description="User ID", alias="userId")
|
||||
__properties: ClassVar[List[str]] = ["role", "userId"]
|
||||
|
||||
@field_validator('user_id')
|
||||
def user_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,13 +20,14 @@ from typing_extensions import Self
|
||||
|
||||
class AlbumUserRole(str, Enum):
|
||||
"""
|
||||
AlbumUserRole
|
||||
Album user role
|
||||
"""
|
||||
|
||||
"""
|
||||
allowed enum values
|
||||
"""
|
||||
EDITOR = 'editor'
|
||||
OWNER = 'owner'
|
||||
VIEWER = 'viewer'
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -1,161 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.job_status_dto import JobStatusDto
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class AllJobStatusResponseDto(BaseModel):
|
||||
"""
|
||||
AllJobStatusResponseDto
|
||||
""" # noqa: E501
|
||||
background_task: JobStatusDto = Field(alias="backgroundTask")
|
||||
backup_database: JobStatusDto = Field(alias="backupDatabase")
|
||||
duplicate_detection: JobStatusDto = Field(alias="duplicateDetection")
|
||||
face_detection: JobStatusDto = Field(alias="faceDetection")
|
||||
facial_recognition: JobStatusDto = Field(alias="facialRecognition")
|
||||
library: JobStatusDto
|
||||
metadata_extraction: JobStatusDto = Field(alias="metadataExtraction")
|
||||
migration: JobStatusDto
|
||||
notifications: JobStatusDto
|
||||
search: JobStatusDto
|
||||
sidecar: JobStatusDto
|
||||
smart_search: JobStatusDto = Field(alias="smartSearch")
|
||||
storage_template_migration: JobStatusDto = Field(alias="storageTemplateMigration")
|
||||
thumbnail_generation: JobStatusDto = Field(alias="thumbnailGeneration")
|
||||
video_conversion: JobStatusDto = Field(alias="videoConversion")
|
||||
__properties: ClassVar[List[str]] = ["backgroundTask", "backupDatabase", "duplicateDetection", "faceDetection", "facialRecognition", "library", "metadataExtraction", "migration", "notifications", "search", "sidecar", "smartSearch", "storageTemplateMigration", "thumbnailGeneration", "videoConversion"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of AllJobStatusResponseDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of background_task
|
||||
if self.background_task:
|
||||
_dict['backgroundTask'] = self.background_task.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of backup_database
|
||||
if self.backup_database:
|
||||
_dict['backupDatabase'] = self.backup_database.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of duplicate_detection
|
||||
if self.duplicate_detection:
|
||||
_dict['duplicateDetection'] = self.duplicate_detection.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of face_detection
|
||||
if self.face_detection:
|
||||
_dict['faceDetection'] = self.face_detection.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of facial_recognition
|
||||
if self.facial_recognition:
|
||||
_dict['facialRecognition'] = self.facial_recognition.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of library
|
||||
if self.library:
|
||||
_dict['library'] = self.library.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of metadata_extraction
|
||||
if self.metadata_extraction:
|
||||
_dict['metadataExtraction'] = self.metadata_extraction.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of migration
|
||||
if self.migration:
|
||||
_dict['migration'] = self.migration.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of notifications
|
||||
if self.notifications:
|
||||
_dict['notifications'] = self.notifications.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of search
|
||||
if self.search:
|
||||
_dict['search'] = self.search.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of sidecar
|
||||
if self.sidecar:
|
||||
_dict['sidecar'] = self.sidecar.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of smart_search
|
||||
if self.smart_search:
|
||||
_dict['smartSearch'] = self.smart_search.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of storage_template_migration
|
||||
if self.storage_template_migration:
|
||||
_dict['storageTemplateMigration'] = self.storage_template_migration.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of thumbnail_generation
|
||||
if self.thumbnail_generation:
|
||||
_dict['thumbnailGeneration'] = self.thumbnail_generation.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of video_conversion
|
||||
if self.video_conversion:
|
||||
_dict['videoConversion'] = self.video_conversion.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of AllJobStatusResponseDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"backgroundTask": JobStatusDto.from_dict(obj["backgroundTask"]) if obj.get("backgroundTask") is not None else None,
|
||||
"backupDatabase": JobStatusDto.from_dict(obj["backupDatabase"]) if obj.get("backupDatabase") is not None else None,
|
||||
"duplicateDetection": JobStatusDto.from_dict(obj["duplicateDetection"]) if obj.get("duplicateDetection") is not None else None,
|
||||
"faceDetection": JobStatusDto.from_dict(obj["faceDetection"]) if obj.get("faceDetection") is not None else None,
|
||||
"facialRecognition": JobStatusDto.from_dict(obj["facialRecognition"]) if obj.get("facialRecognition") is not None else None,
|
||||
"library": JobStatusDto.from_dict(obj["library"]) if obj.get("library") is not None else None,
|
||||
"metadataExtraction": JobStatusDto.from_dict(obj["metadataExtraction"]) if obj.get("metadataExtraction") is not None else None,
|
||||
"migration": JobStatusDto.from_dict(obj["migration"]) if obj.get("migration") is not None else None,
|
||||
"notifications": JobStatusDto.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None,
|
||||
"search": JobStatusDto.from_dict(obj["search"]) if obj.get("search") is not None else None,
|
||||
"sidecar": JobStatusDto.from_dict(obj["sidecar"]) if obj.get("sidecar") is not None else None,
|
||||
"smartSearch": JobStatusDto.from_dict(obj["smartSearch"]) if obj.get("smartSearch") is not None else None,
|
||||
"storageTemplateMigration": JobStatusDto.from_dict(obj["storageTemplateMigration"]) if obj.get("storageTemplateMigration") is not None else None,
|
||||
"thumbnailGeneration": JobStatusDto.from_dict(obj["thumbnailGeneration"]) if obj.get("thumbnailGeneration") is not None else None,
|
||||
"videoConversion": JobStatusDto.from_dict(obj["videoConversion"]) if obj.get("videoConversion") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -24,12 +24,12 @@ from generated.immich.openapi_client.models.permission import Permission
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class APIKeyCreateDto(BaseModel):
|
||||
class ApiKeyCreateDto(BaseModel):
|
||||
"""
|
||||
APIKeyCreateDto
|
||||
ApiKeyCreateDto
|
||||
""" # noqa: E501
|
||||
name: Optional[StrictStr] = None
|
||||
permissions: Annotated[List[Permission], Field(min_length=1)]
|
||||
name: Optional[StrictStr] = Field(default=None, description="API key name")
|
||||
permissions: Annotated[List[Permission], Field(min_length=1)] = Field(description="List of permissions")
|
||||
__properties: ClassVar[List[str]] = ["name", "permissions"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
@@ -50,7 +50,7 @@ class APIKeyCreateDto(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of APIKeyCreateDto from a JSON string"""
|
||||
"""Create an instance of ApiKeyCreateDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
@@ -75,7 +75,7 @@ class APIKeyCreateDto(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of APIKeyCreateDto from a dict"""
|
||||
"""Create an instance of ApiKeyCreateDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -19,16 +19,16 @@ import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.api_key_response_dto import APIKeyResponseDto
|
||||
from generated.immich.openapi_client.models.api_key_response_dto import ApiKeyResponseDto
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class APIKeyCreateResponseDto(BaseModel):
|
||||
class ApiKeyCreateResponseDto(BaseModel):
|
||||
"""
|
||||
APIKeyCreateResponseDto
|
||||
ApiKeyCreateResponseDto
|
||||
""" # noqa: E501
|
||||
api_key: APIKeyResponseDto = Field(alias="apiKey")
|
||||
secret: StrictStr
|
||||
api_key: ApiKeyResponseDto = Field(alias="apiKey")
|
||||
secret: StrictStr = Field(description="API key secret (only shown once)")
|
||||
__properties: ClassVar[List[str]] = ["apiKey", "secret"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
@@ -49,7 +49,7 @@ class APIKeyCreateResponseDto(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of APIKeyCreateResponseDto from a JSON string"""
|
||||
"""Create an instance of ApiKeyCreateResponseDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
@@ -77,7 +77,7 @@ class APIKeyCreateResponseDto(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of APIKeyCreateResponseDto from a dict"""
|
||||
"""Create an instance of ApiKeyCreateResponseDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
@@ -85,7 +85,7 @@ class APIKeyCreateResponseDto(BaseModel):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"apiKey": APIKeyResponseDto.from_dict(obj["apiKey"]) if obj.get("apiKey") is not None else None,
|
||||
"apiKey": ApiKeyResponseDto.from_dict(obj["apiKey"]) if obj.get("apiKey") is not None else None,
|
||||
"secret": obj.get("secret")
|
||||
})
|
||||
return _obj
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,21 +20,43 @@ import json
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.permission import Permission
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class APIKeyResponseDto(BaseModel):
|
||||
class ApiKeyResponseDto(BaseModel):
|
||||
"""
|
||||
APIKeyResponseDto
|
||||
ApiKeyResponseDto
|
||||
""" # noqa: E501
|
||||
created_at: datetime = Field(alias="createdAt")
|
||||
id: StrictStr
|
||||
name: StrictStr
|
||||
permissions: List[Permission]
|
||||
updated_at: datetime = Field(alias="updatedAt")
|
||||
created_at: datetime = Field(description="Creation date", alias="createdAt")
|
||||
id: UUID = Field(description="API key ID")
|
||||
name: StrictStr = Field(description="API key name")
|
||||
permissions: List[Permission] = Field(description="List of permissions")
|
||||
updated_at: datetime = Field(description="Last update date", alias="updatedAt")
|
||||
__properties: ClassVar[List[str]] = ["createdAt", "id", "name", "permissions", "updatedAt"]
|
||||
|
||||
@field_validator('created_at')
|
||||
def created_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('updated_at')
|
||||
def updated_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
@@ -53,7 +75,7 @@ class APIKeyResponseDto(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of APIKeyResponseDto from a JSON string"""
|
||||
"""Create an instance of ApiKeyResponseDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
@@ -78,7 +100,7 @@ class APIKeyResponseDto(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of APIKeyResponseDto from a dict"""
|
||||
"""Create an instance of ApiKeyResponseDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,17 +17,20 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from generated.immich.openapi_client.models.permission import Permission
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class APIKeyUpdateDto(BaseModel):
|
||||
class ApiKeyUpdateDto(BaseModel):
|
||||
"""
|
||||
APIKeyUpdateDto
|
||||
ApiKeyUpdateDto
|
||||
""" # noqa: E501
|
||||
name: StrictStr
|
||||
__properties: ClassVar[List[str]] = ["name"]
|
||||
name: Optional[StrictStr] = Field(default=None, description="API key name")
|
||||
permissions: Optional[Annotated[List[Permission], Field(min_length=1)]] = Field(default=None, description="List of permissions")
|
||||
__properties: ClassVar[List[str]] = ["name", "permissions"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -47,7 +50,7 @@ class APIKeyUpdateDto(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of APIKeyUpdateDto from a JSON string"""
|
||||
"""Create an instance of ApiKeyUpdateDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
@@ -72,7 +75,7 @@ class APIKeyUpdateDto(BaseModel):
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of APIKeyUpdateDto from a dict"""
|
||||
"""Create an instance of ApiKeyUpdateDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
@@ -80,7 +83,8 @@ class APIKeyUpdateDto(BaseModel):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"name": obj.get("name")
|
||||
"name": obj.get("name"),
|
||||
"permissions": obj.get("permissions")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,8 +27,8 @@ class AssetBulkDeleteDto(BaseModel):
|
||||
"""
|
||||
AssetBulkDeleteDto
|
||||
""" # noqa: E501
|
||||
force: Optional[StrictBool] = None
|
||||
ids: List[StrictStr]
|
||||
force: Optional[StrictBool] = Field(default=None, description="Force delete even if in use")
|
||||
ids: List[UUID] = Field(description="IDs to process")
|
||||
__properties: ClassVar[List[str]] = ["force", "ids"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,9 +17,11 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.asset_visibility import AssetVisibility
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -27,15 +29,18 @@ class AssetBulkUpdateDto(BaseModel):
|
||||
"""
|
||||
AssetBulkUpdateDto
|
||||
""" # noqa: E501
|
||||
date_time_original: Optional[StrictStr] = Field(default=None, alias="dateTimeOriginal")
|
||||
duplicate_id: Optional[StrictStr] = Field(default=None, alias="duplicateId")
|
||||
ids: List[StrictStr]
|
||||
is_archived: Optional[StrictBool] = Field(default=None, alias="isArchived")
|
||||
is_favorite: Optional[StrictBool] = Field(default=None, alias="isFavorite")
|
||||
latitude: Optional[Union[StrictFloat, StrictInt]] = None
|
||||
longitude: Optional[Union[StrictFloat, StrictInt]] = None
|
||||
rating: Optional[Union[Annotated[float, Field(le=5, strict=True, ge=-1)], Annotated[int, Field(le=5, strict=True, ge=-1)]]] = None
|
||||
__properties: ClassVar[List[str]] = ["dateTimeOriginal", "duplicateId", "ids", "isArchived", "isFavorite", "latitude", "longitude", "rating"]
|
||||
date_time_original: Optional[StrictStr] = Field(default=None, description="Original date and time", alias="dateTimeOriginal")
|
||||
date_time_relative: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(default=None, description="Relative time offset in minutes", alias="dateTimeRelative")
|
||||
description: Optional[StrictStr] = Field(default=None, description="Asset description")
|
||||
duplicate_id: Optional[StrictStr] = Field(default=None, description="Duplicate ID", alias="duplicateId")
|
||||
ids: List[UUID] = Field(description="Asset IDs to update")
|
||||
is_favorite: Optional[StrictBool] = Field(default=None, description="Mark as favorite", alias="isFavorite")
|
||||
latitude: Optional[Union[Annotated[float, Field(le=90, strict=True, ge=-90)], Annotated[int, Field(le=90, strict=True, ge=-90)]]] = Field(default=None, description="Latitude coordinate")
|
||||
longitude: Optional[Union[Annotated[float, Field(le=180, strict=True, ge=-180)], Annotated[int, Field(le=180, strict=True, ge=-180)]]] = Field(default=None, description="Longitude coordinate")
|
||||
rating: Optional[Annotated[int, Field(le=5, strict=True, ge=-1)]] = Field(default=None, description="Rating in range [1-5] (starred), -1 (rejected), or null (unrated)")
|
||||
time_zone: Optional[StrictStr] = Field(default=None, description="Time zone (IANA timezone)", alias="timeZone")
|
||||
visibility: Optional[AssetVisibility] = None
|
||||
__properties: ClassVar[List[str]] = ["dateTimeOriginal", "dateTimeRelative", "description", "duplicateId", "ids", "isFavorite", "latitude", "longitude", "rating", "timeZone", "visibility"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -81,6 +86,11 @@ class AssetBulkUpdateDto(BaseModel):
|
||||
if self.duplicate_id is None and "duplicate_id" in self.model_fields_set:
|
||||
_dict['duplicateId'] = None
|
||||
|
||||
# set to None if rating (nullable) is None
|
||||
# and model_fields_set contains the field
|
||||
if self.rating is None and "rating" in self.model_fields_set:
|
||||
_dict['rating'] = None
|
||||
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@@ -94,13 +104,16 @@ class AssetBulkUpdateDto(BaseModel):
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"dateTimeOriginal": obj.get("dateTimeOriginal"),
|
||||
"dateTimeRelative": obj.get("dateTimeRelative"),
|
||||
"description": obj.get("description"),
|
||||
"duplicateId": obj.get("duplicateId"),
|
||||
"ids": obj.get("ids"),
|
||||
"isArchived": obj.get("isArchived"),
|
||||
"isFavorite": obj.get("isFavorite"),
|
||||
"latitude": obj.get("latitude"),
|
||||
"longitude": obj.get("longitude"),
|
||||
"rating": obj.get("rating")
|
||||
"rating": obj.get("rating"),
|
||||
"timeZone": obj.get("timeZone"),
|
||||
"visibility": obj.get("visibility")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,7 +17,7 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.asset_bulk_upload_check_item import AssetBulkUploadCheckItem
|
||||
from typing import Optional, Set
|
||||
@@ -27,7 +27,7 @@ class AssetBulkUploadCheckDto(BaseModel):
|
||||
"""
|
||||
AssetBulkUploadCheckDto
|
||||
""" # noqa: E501
|
||||
assets: List[AssetBulkUploadCheckItem]
|
||||
assets: List[AssetBulkUploadCheckItem] = Field(description="Assets to check")
|
||||
__properties: ClassVar[List[str]] = ["assets"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -26,8 +26,8 @@ class AssetBulkUploadCheckItem(BaseModel):
|
||||
"""
|
||||
AssetBulkUploadCheckItem
|
||||
""" # noqa: E501
|
||||
checksum: StrictStr = Field(description="base64 or hex encoded sha1 hash")
|
||||
id: StrictStr
|
||||
checksum: StrictStr = Field(description="Base64 or hex encoded SHA1 hash")
|
||||
id: StrictStr = Field(description="Client-side identifier echoed in the response to match results to inputs (e.g. filename)")
|
||||
__properties: ClassVar[List[str]] = ["checksum", "id"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,7 +17,7 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.asset_bulk_upload_check_result import AssetBulkUploadCheckResult
|
||||
from typing import Optional, Set
|
||||
@@ -27,7 +27,7 @@ class AssetBulkUploadCheckResponseDto(BaseModel):
|
||||
"""
|
||||
AssetBulkUploadCheckResponseDto
|
||||
""" # noqa: E501
|
||||
results: List[AssetBulkUploadCheckResult]
|
||||
results: List[AssetBulkUploadCheckResult] = Field(description="Upload check results")
|
||||
__properties: ClassVar[List[str]] = ["results"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,11 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.asset_reject_reason import AssetRejectReason
|
||||
from generated.immich.openapi_client.models.asset_upload_action import AssetUploadAction
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,28 +29,21 @@ class AssetBulkUploadCheckResult(BaseModel):
|
||||
"""
|
||||
AssetBulkUploadCheckResult
|
||||
""" # noqa: E501
|
||||
action: StrictStr
|
||||
asset_id: Optional[StrictStr] = Field(default=None, alias="assetId")
|
||||
id: StrictStr
|
||||
is_trashed: Optional[StrictBool] = Field(default=None, alias="isTrashed")
|
||||
reason: Optional[StrictStr] = None
|
||||
action: AssetUploadAction
|
||||
asset_id: Optional[UUID] = Field(default=None, description="Existing asset ID if duplicate", alias="assetId")
|
||||
id: StrictStr = Field(description="Client-side identifier echoed from the request to match results to inputs")
|
||||
is_trashed: Optional[StrictBool] = Field(default=None, description="Whether existing asset is trashed", alias="isTrashed")
|
||||
reason: Optional[AssetRejectReason] = None
|
||||
__properties: ClassVar[List[str]] = ["action", "assetId", "id", "isTrashed", "reason"]
|
||||
|
||||
@field_validator('action')
|
||||
def action_validate_enum(cls, value):
|
||||
"""Validates the enum"""
|
||||
if value not in set(['accept', 'reject']):
|
||||
raise ValueError("must be one of enum values ('accept', 'reject')")
|
||||
return value
|
||||
|
||||
@field_validator('reason')
|
||||
def reason_validate_enum(cls, value):
|
||||
"""Validates the enum"""
|
||||
@field_validator('asset_id')
|
||||
def asset_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if value not in set(['duplicate', 'unsupported-format']):
|
||||
raise ValueError("must be one of enum values ('duplicate', 'unsupported-format')")
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class AssetDeltaSyncDto(BaseModel):
|
||||
"""
|
||||
AssetDeltaSyncDto
|
||||
""" # noqa: E501
|
||||
updated_after: datetime = Field(alias="updatedAfter")
|
||||
user_ids: List[StrictStr] = Field(alias="userIds")
|
||||
__properties: ClassVar[List[str]] = ["updatedAfter", "userIds"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of AssetDeltaSyncDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of AssetDeltaSyncDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"updatedAfter": obj.get("updatedAfter"),
|
||||
"userIds": obj.get("userIds")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -1,99 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class AssetDeltaSyncResponseDto(BaseModel):
|
||||
"""
|
||||
AssetDeltaSyncResponseDto
|
||||
""" # noqa: E501
|
||||
deleted: List[StrictStr]
|
||||
needs_full_sync: StrictBool = Field(alias="needsFullSync")
|
||||
upserted: List[AssetResponseDto]
|
||||
__properties: ClassVar[List[str]] = ["deleted", "needsFullSync", "upserted"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of AssetDeltaSyncResponseDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in upserted (list)
|
||||
_items = []
|
||||
if self.upserted:
|
||||
for _item_upserted in self.upserted:
|
||||
if _item_upserted:
|
||||
_items.append(_item_upserted.to_dict())
|
||||
_dict['upserted'] = _items
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of AssetDeltaSyncResponseDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"deleted": obj.get("deleted"),
|
||||
"needsFullSync": obj.get("needsFullSync"),
|
||||
"upserted": [AssetResponseDto.from_dict(_item) for _item in obj["upserted"]] if obj.get("upserted") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,10 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,16 +28,30 @@ class AssetFaceCreateDto(BaseModel):
|
||||
"""
|
||||
AssetFaceCreateDto
|
||||
""" # noqa: E501
|
||||
asset_id: StrictStr = Field(alias="assetId")
|
||||
height: StrictInt
|
||||
image_height: StrictInt = Field(alias="imageHeight")
|
||||
image_width: StrictInt = Field(alias="imageWidth")
|
||||
person_id: StrictStr = Field(alias="personId")
|
||||
width: StrictInt
|
||||
x: StrictInt
|
||||
y: StrictInt
|
||||
asset_id: UUID = Field(description="Asset ID", alias="assetId")
|
||||
height: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Face bounding box height")
|
||||
image_height: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Image height in pixels", alias="imageHeight")
|
||||
image_width: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Image width in pixels", alias="imageWidth")
|
||||
person_id: UUID = Field(description="Person ID", alias="personId")
|
||||
width: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Face bounding box width")
|
||||
x: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Face bounding box X coordinate")
|
||||
y: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Face bounding box Y coordinate")
|
||||
__properties: ClassVar[List[str]] = ["assetId", "height", "imageHeight", "imageWidth", "personId", "width", "x", "y"]
|
||||
|
||||
@field_validator('asset_id')
|
||||
def asset_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('person_id')
|
||||
def person_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,7 +17,7 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictBool
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -26,7 +26,7 @@ class AssetFaceDeleteDto(BaseModel):
|
||||
"""
|
||||
AssetFaceDeleteDto
|
||||
""" # noqa: E501
|
||||
force: StrictBool
|
||||
force: StrictBool = Field(description="Force delete even if person has other faces")
|
||||
__properties: ClassVar[List[str]] = ["force"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,10 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.person_response_dto import PersonResponseDto
|
||||
from generated.immich.openapi_client.models.source_type import SourceType
|
||||
from typing import Optional, Set
|
||||
@@ -26,19 +28,26 @@ from typing_extensions import Self
|
||||
|
||||
class AssetFaceResponseDto(BaseModel):
|
||||
"""
|
||||
AssetFaceResponseDto
|
||||
Asset face with person
|
||||
""" # noqa: E501
|
||||
bounding_box_x1: StrictInt = Field(alias="boundingBoxX1")
|
||||
bounding_box_x2: StrictInt = Field(alias="boundingBoxX2")
|
||||
bounding_box_y1: StrictInt = Field(alias="boundingBoxY1")
|
||||
bounding_box_y2: StrictInt = Field(alias="boundingBoxY2")
|
||||
id: StrictStr
|
||||
image_height: StrictInt = Field(alias="imageHeight")
|
||||
image_width: StrictInt = Field(alias="imageWidth")
|
||||
bounding_box_x1: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Bounding box X1 coordinate", alias="boundingBoxX1")
|
||||
bounding_box_x2: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Bounding box X2 coordinate", alias="boundingBoxX2")
|
||||
bounding_box_y1: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Bounding box Y1 coordinate", alias="boundingBoxY1")
|
||||
bounding_box_y2: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Bounding box Y2 coordinate", alias="boundingBoxY2")
|
||||
id: UUID = Field(description="Face ID")
|
||||
image_height: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Image height in pixels", alias="imageHeight")
|
||||
image_width: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Image width in pixels", alias="imageWidth")
|
||||
person: Optional[PersonResponseDto]
|
||||
source_type: Optional[SourceType] = Field(default=None, alias="sourceType")
|
||||
__properties: ClassVar[List[str]] = ["boundingBoxX1", "boundingBoxX2", "boundingBoxY1", "boundingBoxY2", "id", "imageHeight", "imageWidth", "person", "sourceType"]
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,7 +17,7 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.asset_face_update_item import AssetFaceUpdateItem
|
||||
from typing import Optional, Set
|
||||
@@ -27,7 +27,7 @@ class AssetFaceUpdateDto(BaseModel):
|
||||
"""
|
||||
AssetFaceUpdateDto
|
||||
""" # noqa: E501
|
||||
data: List[AssetFaceUpdateItem]
|
||||
data: List[AssetFaceUpdateItem] = Field(description="Face update items")
|
||||
__properties: ClassVar[List[str]] = ["data"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,10 +27,24 @@ class AssetFaceUpdateItem(BaseModel):
|
||||
"""
|
||||
AssetFaceUpdateItem
|
||||
""" # noqa: E501
|
||||
asset_id: StrictStr = Field(alias="assetId")
|
||||
person_id: StrictStr = Field(alias="personId")
|
||||
asset_id: UUID = Field(description="Asset ID", alias="assetId")
|
||||
person_id: UUID = Field(description="Person ID", alias="personId")
|
||||
__properties: ClassVar[List[str]] = ["assetId", "personId"]
|
||||
|
||||
@field_validator('asset_id')
|
||||
def asset_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('person_id')
|
||||
def person_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -1,102 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from generated.immich.openapi_client.models.source_type import SourceType
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class AssetFaceWithoutPersonResponseDto(BaseModel):
|
||||
"""
|
||||
AssetFaceWithoutPersonResponseDto
|
||||
""" # noqa: E501
|
||||
bounding_box_x1: StrictInt = Field(alias="boundingBoxX1")
|
||||
bounding_box_x2: StrictInt = Field(alias="boundingBoxX2")
|
||||
bounding_box_y1: StrictInt = Field(alias="boundingBoxY1")
|
||||
bounding_box_y2: StrictInt = Field(alias="boundingBoxY2")
|
||||
id: StrictStr
|
||||
image_height: StrictInt = Field(alias="imageHeight")
|
||||
image_width: StrictInt = Field(alias="imageWidth")
|
||||
source_type: Optional[SourceType] = Field(default=None, alias="sourceType")
|
||||
__properties: ClassVar[List[str]] = ["boundingBoxX1", "boundingBoxX2", "boundingBoxY1", "boundingBoxY2", "id", "imageHeight", "imageWidth", "sourceType"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of AssetFaceWithoutPersonResponseDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of AssetFaceWithoutPersonResponseDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"boundingBoxX1": obj.get("boundingBoxX1"),
|
||||
"boundingBoxX2": obj.get("boundingBoxX2"),
|
||||
"boundingBoxY1": obj.get("boundingBoxY1"),
|
||||
"boundingBoxY2": obj.get("boundingBoxY2"),
|
||||
"id": obj.get("id"),
|
||||
"imageHeight": obj.get("imageHeight"),
|
||||
"imageWidth": obj.get("imageWidth"),
|
||||
"sourceType": obj.get("sourceType")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class AssetFullSyncDto(BaseModel):
|
||||
"""
|
||||
AssetFullSyncDto
|
||||
""" # noqa: E501
|
||||
last_id: Optional[StrictStr] = Field(default=None, alias="lastId")
|
||||
limit: Annotated[int, Field(strict=True, ge=1)]
|
||||
updated_until: datetime = Field(alias="updatedUntil")
|
||||
user_id: Optional[StrictStr] = Field(default=None, alias="userId")
|
||||
__properties: ClassVar[List[str]] = ["lastId", "limit", "updatedUntil", "userId"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of AssetFullSyncDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of AssetFullSyncDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"lastId": obj.get("lastId"),
|
||||
"limit": obj.get("limit"),
|
||||
"updatedUntil": obj.get("updatedUntil"),
|
||||
"userId": obj.get("userId")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,7 +27,7 @@ class AssetIdsDto(BaseModel):
|
||||
"""
|
||||
AssetIdsDto
|
||||
""" # noqa: E501
|
||||
asset_ids: List[StrictStr] = Field(alias="assetIds")
|
||||
asset_ids: List[UUID] = Field(description="Asset IDs", alias="assetIds")
|
||||
__properties: ClassVar[List[str]] = ["assetIds"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,10 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.asset_id_error_reason import AssetIdErrorReason
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,19 +28,16 @@ class AssetIdsResponseDto(BaseModel):
|
||||
"""
|
||||
AssetIdsResponseDto
|
||||
""" # noqa: E501
|
||||
asset_id: StrictStr = Field(alias="assetId")
|
||||
error: Optional[StrictStr] = None
|
||||
success: StrictBool
|
||||
asset_id: UUID = Field(description="Asset ID", alias="assetId")
|
||||
error: Optional[AssetIdErrorReason] = None
|
||||
success: StrictBool = Field(description="Whether operation succeeded")
|
||||
__properties: ClassVar[List[str]] = ["assetId", "error", "success"]
|
||||
|
||||
@field_validator('error')
|
||||
def error_validate_enum(cls, value):
|
||||
"""Validates the enum"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if value not in set(['duplicate', 'no_permission', 'not_found']):
|
||||
raise ValueError("must be one of enum values ('duplicate', 'no_permission', 'not_found')")
|
||||
@field_validator('asset_id')
|
||||
def asset_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,7 +20,7 @@ from typing_extensions import Self
|
||||
|
||||
class AssetJobName(str, Enum):
|
||||
"""
|
||||
AssetJobName
|
||||
Job name
|
||||
"""
|
||||
|
||||
"""
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.asset_job_name import AssetJobName
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -27,7 +28,7 @@ class AssetJobsDto(BaseModel):
|
||||
"""
|
||||
AssetJobsDto
|
||||
""" # noqa: E501
|
||||
asset_ids: List[StrictStr] = Field(alias="assetIds")
|
||||
asset_ids: List[UUID] = Field(description="Asset IDs", alias="assetIds")
|
||||
name: AssetJobName
|
||||
__properties: ClassVar[List[str]] = ["assetIds", "name"]
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.asset_media_status import AssetMediaStatus
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -27,10 +28,17 @@ class AssetMediaResponseDto(BaseModel):
|
||||
"""
|
||||
AssetMediaResponseDto
|
||||
""" # noqa: E501
|
||||
id: StrictStr
|
||||
id: UUID = Field(description="Asset media ID")
|
||||
status: AssetMediaStatus
|
||||
__properties: ClassVar[List[str]] = ["id", "status"]
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,12 +20,13 @@ from typing_extensions import Self
|
||||
|
||||
class AssetMediaSize(str, Enum):
|
||||
"""
|
||||
AssetMediaSize
|
||||
Asset media size
|
||||
"""
|
||||
|
||||
"""
|
||||
allowed enum values
|
||||
"""
|
||||
ORIGINAL = 'original'
|
||||
FULLSIZE = 'fullsize'
|
||||
PREVIEW = 'preview'
|
||||
THUMBNAIL = 'thumbnail'
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,14 +20,13 @@ from typing_extensions import Self
|
||||
|
||||
class AssetMediaStatus(str, Enum):
|
||||
"""
|
||||
AssetMediaStatus
|
||||
Upload status
|
||||
"""
|
||||
|
||||
"""
|
||||
allowed enum values
|
||||
"""
|
||||
CREATED = 'created'
|
||||
REPLACED = 'replaced'
|
||||
DUPLICATE = 'duplicate'
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,7 +20,7 @@ from typing_extensions import Self
|
||||
|
||||
class AssetOrder(str, Enum):
|
||||
"""
|
||||
AssetOrder
|
||||
Asset sort order
|
||||
"""
|
||||
|
||||
"""
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,11 +20,13 @@ import json
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from generated.immich.openapi_client.models.asset_face_without_person_response_dto import AssetFaceWithoutPersonResponseDto
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.asset_stack_response_dto import AssetStackResponseDto
|
||||
from generated.immich.openapi_client.models.asset_type_enum import AssetTypeEnum
|
||||
from generated.immich.openapi_client.models.asset_visibility import AssetVisibility
|
||||
from generated.immich.openapi_client.models.exif_response_dto import ExifResponseDto
|
||||
from generated.immich.openapi_client.models.person_with_faces_response_dto import PersonWithFacesResponseDto
|
||||
from generated.immich.openapi_client.models.person_response_dto import PersonResponseDto
|
||||
from generated.immich.openapi_client.models.tag_response_dto import TagResponseDto
|
||||
from generated.immich.openapi_client.models.user_response_dto import UserResponseDto
|
||||
from typing import Optional, Set
|
||||
@@ -34,37 +36,73 @@ class AssetResponseDto(BaseModel):
|
||||
"""
|
||||
AssetResponseDto
|
||||
""" # noqa: E501
|
||||
checksum: StrictStr = Field(description="base64 encoded sha1 hash")
|
||||
device_asset_id: StrictStr = Field(alias="deviceAssetId")
|
||||
device_id: StrictStr = Field(alias="deviceId")
|
||||
duplicate_id: Optional[StrictStr] = Field(default=None, alias="duplicateId")
|
||||
duration: StrictStr
|
||||
checksum: StrictStr = Field(description="Base64 encoded SHA1 hash")
|
||||
created_at: datetime = Field(description="The UTC timestamp when the asset was originally uploaded to Immich.", alias="createdAt")
|
||||
duplicate_id: Optional[UUID] = Field(default=None, description="Duplicate group ID", alias="duplicateId")
|
||||
duration: Optional[Annotated[int, Field(le=2147483647, strict=True, ge=0)]] = Field(description="Video/gif duration in milliseconds (null for static images)")
|
||||
exif_info: Optional[ExifResponseDto] = Field(default=None, alias="exifInfo")
|
||||
file_created_at: datetime = Field(alias="fileCreatedAt")
|
||||
file_modified_at: datetime = Field(alias="fileModifiedAt")
|
||||
has_metadata: StrictBool = Field(alias="hasMetadata")
|
||||
id: StrictStr
|
||||
is_archived: StrictBool = Field(alias="isArchived")
|
||||
is_favorite: StrictBool = Field(alias="isFavorite")
|
||||
is_offline: StrictBool = Field(alias="isOffline")
|
||||
is_trashed: StrictBool = Field(alias="isTrashed")
|
||||
library_id: Optional[StrictStr] = Field(default=None, description="This property was deprecated in v1.106.0", alias="libraryId")
|
||||
live_photo_video_id: Optional[StrictStr] = Field(default=None, alias="livePhotoVideoId")
|
||||
local_date_time: datetime = Field(alias="localDateTime")
|
||||
original_file_name: StrictStr = Field(alias="originalFileName")
|
||||
original_mime_type: Optional[StrictStr] = Field(default=None, alias="originalMimeType")
|
||||
original_path: StrictStr = Field(alias="originalPath")
|
||||
file_created_at: datetime = Field(description="The actual UTC timestamp when the file was created/captured, preserving timezone information. This is the authoritative timestamp for chronological sorting within timeline groups. Combined with timezone data, this can be used to determine the exact moment the photo was taken.", alias="fileCreatedAt")
|
||||
file_modified_at: datetime = Field(description="The UTC timestamp when the file was last modified on the filesystem. This reflects the last time the physical file was changed, which may be different from when the photo was originally taken.", alias="fileModifiedAt")
|
||||
has_metadata: StrictBool = Field(description="Whether asset has metadata", alias="hasMetadata")
|
||||
height: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(description="Asset height")
|
||||
id: UUID = Field(description="Asset ID")
|
||||
is_archived: StrictBool = Field(description="Is archived", alias="isArchived")
|
||||
is_edited: StrictBool = Field(description="Is edited", alias="isEdited")
|
||||
is_favorite: StrictBool = Field(description="Is favorite", alias="isFavorite")
|
||||
is_offline: StrictBool = Field(description="Is offline", alias="isOffline")
|
||||
is_trashed: StrictBool = Field(description="Is trashed", alias="isTrashed")
|
||||
library_id: Optional[UUID] = Field(default=None, description="Library ID", alias="libraryId")
|
||||
live_photo_video_id: Optional[StrictStr] = Field(default=None, description="Live photo video ID", alias="livePhotoVideoId")
|
||||
local_date_time: datetime = Field(description="The local date and time when the photo/video was taken, derived from EXIF metadata. This represents the photographer's local time regardless of timezone, stored as a timezone-agnostic timestamp. Used for timeline grouping by \"local\" days and months.", alias="localDateTime")
|
||||
original_file_name: StrictStr = Field(description="Original file name", alias="originalFileName")
|
||||
original_mime_type: Optional[StrictStr] = Field(default=None, description="Original MIME type", alias="originalMimeType")
|
||||
original_path: StrictStr = Field(description="Original file path", alias="originalPath")
|
||||
owner: Optional[UserResponseDto] = None
|
||||
owner_id: StrictStr = Field(alias="ownerId")
|
||||
people: Optional[List[PersonWithFacesResponseDto]] = None
|
||||
resized: Optional[StrictBool] = Field(default=None, description="This property was deprecated in v1.113.0")
|
||||
owner_id: UUID = Field(description="Owner user ID", alias="ownerId")
|
||||
people: Optional[List[PersonResponseDto]] = None
|
||||
resized: Optional[StrictBool] = Field(default=None, description="Is resized")
|
||||
stack: Optional[AssetStackResponseDto] = None
|
||||
tags: Optional[List[TagResponseDto]] = None
|
||||
thumbhash: Optional[StrictStr]
|
||||
thumbhash: Optional[StrictStr] = Field(description="Thumbhash for thumbnail generation (base64) also used as the c query param for thumbnail cache busting.")
|
||||
type: AssetTypeEnum
|
||||
unassigned_faces: Optional[List[AssetFaceWithoutPersonResponseDto]] = Field(default=None, alias="unassignedFaces")
|
||||
updated_at: datetime = Field(alias="updatedAt")
|
||||
__properties: ClassVar[List[str]] = ["checksum", "deviceAssetId", "deviceId", "duplicateId", "duration", "exifInfo", "fileCreatedAt", "fileModifiedAt", "hasMetadata", "id", "isArchived", "isFavorite", "isOffline", "isTrashed", "libraryId", "livePhotoVideoId", "localDateTime", "originalFileName", "originalMimeType", "originalPath", "owner", "ownerId", "people", "resized", "stack", "tags", "thumbhash", "type", "unassignedFaces", "updatedAt"]
|
||||
updated_at: datetime = Field(description="The UTC timestamp when the asset record was last updated in the database. This is automatically maintained by the database and reflects when any field in the asset was last modified.", alias="updatedAt")
|
||||
visibility: AssetVisibility
|
||||
width: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(description="Asset width")
|
||||
__properties: ClassVar[List[str]] = ["checksum", "createdAt", "duplicateId", "duration", "exifInfo", "fileCreatedAt", "fileModifiedAt", "hasMetadata", "height", "id", "isArchived", "isEdited", "isFavorite", "isOffline", "isTrashed", "libraryId", "livePhotoVideoId", "localDateTime", "originalFileName", "originalMimeType", "originalPath", "owner", "ownerId", "people", "resized", "stack", "tags", "thumbhash", "type", "updatedAt", "visibility", "width"]
|
||||
|
||||
@field_validator('duplicate_id')
|
||||
def duplicate_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('library_id')
|
||||
def library_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('owner_id')
|
||||
def owner_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -128,18 +166,21 @@ class AssetResponseDto(BaseModel):
|
||||
if _item_tags:
|
||||
_items.append(_item_tags.to_dict())
|
||||
_dict['tags'] = _items
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in unassigned_faces (list)
|
||||
_items = []
|
||||
if self.unassigned_faces:
|
||||
for _item_unassigned_faces in self.unassigned_faces:
|
||||
if _item_unassigned_faces:
|
||||
_items.append(_item_unassigned_faces.to_dict())
|
||||
_dict['unassignedFaces'] = _items
|
||||
# set to None if duplicate_id (nullable) is None
|
||||
# and model_fields_set contains the field
|
||||
if self.duplicate_id is None and "duplicate_id" in self.model_fields_set:
|
||||
_dict['duplicateId'] = None
|
||||
|
||||
# set to None if duration (nullable) is None
|
||||
# and model_fields_set contains the field
|
||||
if self.duration is None and "duration" in self.model_fields_set:
|
||||
_dict['duration'] = None
|
||||
|
||||
# set to None if height (nullable) is None
|
||||
# and model_fields_set contains the field
|
||||
if self.height is None and "height" in self.model_fields_set:
|
||||
_dict['height'] = None
|
||||
|
||||
# set to None if library_id (nullable) is None
|
||||
# and model_fields_set contains the field
|
||||
if self.library_id is None and "library_id" in self.model_fields_set:
|
||||
@@ -160,6 +201,11 @@ class AssetResponseDto(BaseModel):
|
||||
if self.thumbhash is None and "thumbhash" in self.model_fields_set:
|
||||
_dict['thumbhash'] = None
|
||||
|
||||
# set to None if width (nullable) is None
|
||||
# and model_fields_set contains the field
|
||||
if self.width is None and "width" in self.model_fields_set:
|
||||
_dict['width'] = None
|
||||
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
@@ -173,16 +219,17 @@ class AssetResponseDto(BaseModel):
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"checksum": obj.get("checksum"),
|
||||
"deviceAssetId": obj.get("deviceAssetId"),
|
||||
"deviceId": obj.get("deviceId"),
|
||||
"createdAt": obj.get("createdAt"),
|
||||
"duplicateId": obj.get("duplicateId"),
|
||||
"duration": obj.get("duration"),
|
||||
"exifInfo": ExifResponseDto.from_dict(obj["exifInfo"]) if obj.get("exifInfo") is not None else None,
|
||||
"fileCreatedAt": obj.get("fileCreatedAt"),
|
||||
"fileModifiedAt": obj.get("fileModifiedAt"),
|
||||
"hasMetadata": obj.get("hasMetadata"),
|
||||
"height": obj.get("height"),
|
||||
"id": obj.get("id"),
|
||||
"isArchived": obj.get("isArchived"),
|
||||
"isEdited": obj.get("isEdited"),
|
||||
"isFavorite": obj.get("isFavorite"),
|
||||
"isOffline": obj.get("isOffline"),
|
||||
"isTrashed": obj.get("isTrashed"),
|
||||
@@ -194,14 +241,15 @@ class AssetResponseDto(BaseModel):
|
||||
"originalPath": obj.get("originalPath"),
|
||||
"owner": UserResponseDto.from_dict(obj["owner"]) if obj.get("owner") is not None else None,
|
||||
"ownerId": obj.get("ownerId"),
|
||||
"people": [PersonWithFacesResponseDto.from_dict(_item) for _item in obj["people"]] if obj.get("people") is not None else None,
|
||||
"people": [PersonResponseDto.from_dict(_item) for _item in obj["people"]] if obj.get("people") is not None else None,
|
||||
"resized": obj.get("resized"),
|
||||
"stack": AssetStackResponseDto.from_dict(obj["stack"]) if obj.get("stack") is not None else None,
|
||||
"tags": [TagResponseDto.from_dict(_item) for _item in obj["tags"]] if obj.get("tags") is not None else None,
|
||||
"thumbhash": obj.get("thumbhash"),
|
||||
"type": obj.get("type"),
|
||||
"unassignedFaces": [AssetFaceWithoutPersonResponseDto.from_dict(_item) for _item in obj["unassignedFaces"]] if obj.get("unassignedFaces") is not None else None,
|
||||
"updatedAt": obj.get("updatedAt")
|
||||
"updatedAt": obj.get("updatedAt"),
|
||||
"visibility": obj.get("visibility"),
|
||||
"width": obj.get("width")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,10 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,11 +28,25 @@ class AssetStackResponseDto(BaseModel):
|
||||
"""
|
||||
AssetStackResponseDto
|
||||
""" # noqa: E501
|
||||
asset_count: StrictInt = Field(alias="assetCount")
|
||||
id: StrictStr
|
||||
primary_asset_id: StrictStr = Field(alias="primaryAssetId")
|
||||
asset_count: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of assets in stack", alias="assetCount")
|
||||
id: UUID = Field(description="Stack ID")
|
||||
primary_asset_id: UUID = Field(description="Primary asset ID", alias="primaryAssetId")
|
||||
__properties: ClassVar[List[str]] = ["assetCount", "id", "primaryAssetId"]
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('primary_asset_id')
|
||||
def primary_asset_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictInt
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,9 +27,9 @@ class AssetStatsResponseDto(BaseModel):
|
||||
"""
|
||||
AssetStatsResponseDto
|
||||
""" # noqa: E501
|
||||
images: StrictInt
|
||||
total: StrictInt
|
||||
videos: StrictInt
|
||||
images: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of images")
|
||||
total: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Total number of assets")
|
||||
videos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of videos")
|
||||
__properties: ClassVar[List[str]] = ["images", "total", "videos"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,7 +20,7 @@ from typing_extensions import Self
|
||||
|
||||
class AssetTypeEnum(str, Enum):
|
||||
"""
|
||||
AssetTypeEnum
|
||||
Asset type
|
||||
"""
|
||||
|
||||
"""
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,7 +20,7 @@ from typing_extensions import Self
|
||||
|
||||
class AudioCodec(str, Enum):
|
||||
"""
|
||||
AudioCodec
|
||||
Target audio codec
|
||||
"""
|
||||
|
||||
"""
|
||||
@@ -28,7 +28,7 @@ class AudioCodec(str, Enum):
|
||||
"""
|
||||
MP3 = 'mp3'
|
||||
AAC = 'aac'
|
||||
LIBOPUS = 'libopus'
|
||||
OPUS = 'opus'
|
||||
PCM_S16LE = 'pcm_s16le'
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.user_avatar_color import UserAvatarColor
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class AvatarResponse(BaseModel):
|
||||
"""
|
||||
AvatarResponse
|
||||
""" # noqa: E501
|
||||
color: UserAvatarColor
|
||||
__properties: ClassVar[List[str]] = ["color"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of AvatarResponse from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of AvatarResponse from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"color": obj.get("color")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,10 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictBool, StrictStr, field_validator
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.bulk_id_error_reason import BulkIdErrorReason
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,19 +28,17 @@ class BulkIdResponseDto(BaseModel):
|
||||
"""
|
||||
BulkIdResponseDto
|
||||
""" # noqa: E501
|
||||
error: Optional[StrictStr] = None
|
||||
id: StrictStr
|
||||
success: StrictBool
|
||||
__properties: ClassVar[List[str]] = ["error", "id", "success"]
|
||||
error: Optional[BulkIdErrorReason] = None
|
||||
error_message: Optional[StrictStr] = Field(default=None, alias="errorMessage")
|
||||
id: UUID = Field(description="ID")
|
||||
success: StrictBool = Field(description="Whether operation succeeded")
|
||||
__properties: ClassVar[List[str]] = ["error", "errorMessage", "id", "success"]
|
||||
|
||||
@field_validator('error')
|
||||
def error_validate_enum(cls, value):
|
||||
"""Validates the enum"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if value not in set(['duplicate', 'no_permission', 'not_found', 'unknown']):
|
||||
raise ValueError("must be one of enum values ('duplicate', 'no_permission', 'not_found', 'unknown')")
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
@@ -93,6 +93,7 @@ class BulkIdResponseDto(BaseModel):
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"error": obj.get("error"),
|
||||
"errorMessage": obj.get("errorMessage"),
|
||||
"id": obj.get("id"),
|
||||
"success": obj.get("success")
|
||||
})
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,7 +27,7 @@ class BulkIdsDto(BaseModel):
|
||||
"""
|
||||
BulkIdsDto
|
||||
""" # noqa: E501
|
||||
ids: List[StrictStr]
|
||||
ids: List[UUID] = Field(description="IDs to process")
|
||||
__properties: ClassVar[List[str]] = ["ids"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,8 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -27,9 +27,10 @@ class ChangePasswordDto(BaseModel):
|
||||
"""
|
||||
ChangePasswordDto
|
||||
""" # noqa: E501
|
||||
new_password: Annotated[str, Field(min_length=8, strict=True)] = Field(alias="newPassword")
|
||||
password: StrictStr
|
||||
__properties: ClassVar[List[str]] = ["newPassword", "password"]
|
||||
invalidate_sessions: Optional[StrictBool] = Field(default=False, description="Invalidate all other sessions", alias="invalidateSessions")
|
||||
new_password: Annotated[str, Field(min_length=8, strict=True)] = Field(description="New password (min 8 characters)", alias="newPassword")
|
||||
password: StrictStr = Field(description="Current password")
|
||||
__properties: ClassVar[List[str]] = ["invalidateSessions", "newPassword", "password"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -82,6 +83,7 @@ class ChangePasswordDto(BaseModel):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"invalidateSessions": obj.get("invalidateSessions") if obj.get("invalidateSessions") is not None else False,
|
||||
"newPassword": obj.get("newPassword"),
|
||||
"password": obj.get("password")
|
||||
})
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class CheckExistingAssetsDto(BaseModel):
|
||||
"""
|
||||
CheckExistingAssetsDto
|
||||
""" # noqa: E501
|
||||
device_asset_ids: Annotated[List[StrictStr], Field(min_length=1)] = Field(alias="deviceAssetIds")
|
||||
device_id: StrictStr = Field(alias="deviceId")
|
||||
__properties: ClassVar[List[str]] = ["deviceAssetIds", "deviceId"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of CheckExistingAssetsDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of CheckExistingAssetsDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"deviceAssetIds": obj.get("deviceAssetIds"),
|
||||
"deviceId": obj.get("deviceId")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class CheckExistingAssetsResponseDto(BaseModel):
|
||||
"""
|
||||
CheckExistingAssetsResponseDto
|
||||
""" # noqa: E501
|
||||
existing_ids: List[StrictStr] = Field(alias="existingIds")
|
||||
__properties: ClassVar[List[str]] = ["existingIds"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of CheckExistingAssetsResponseDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of CheckExistingAssetsResponseDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"existingIds": obj.get("existingIds")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -26,8 +26,8 @@ class CLIPConfig(BaseModel):
|
||||
"""
|
||||
CLIPConfig
|
||||
""" # noqa: E501
|
||||
enabled: StrictBool
|
||||
model_name: StrictStr = Field(alias="modelName")
|
||||
enabled: StrictBool = Field(description="Whether the task is enabled")
|
||||
model_name: StrictStr = Field(description="Name of the model to use", alias="modelName")
|
||||
__properties: ClassVar[List[str]] = ["enabled", "modelName"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,7 +20,7 @@ from typing_extensions import Self
|
||||
|
||||
class CQMode(str, Enum):
|
||||
"""
|
||||
CQMode
|
||||
CQ mode
|
||||
"""
|
||||
|
||||
"""
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -19,6 +19,7 @@ import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.album_user_create_dto import AlbumUserCreateDto
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -27,10 +28,10 @@ class CreateAlbumDto(BaseModel):
|
||||
"""
|
||||
CreateAlbumDto
|
||||
""" # noqa: E501
|
||||
album_name: StrictStr = Field(alias="albumName")
|
||||
album_users: Optional[List[AlbumUserCreateDto]] = Field(default=None, alias="albumUsers")
|
||||
asset_ids: Optional[List[StrictStr]] = Field(default=None, alias="assetIds")
|
||||
description: Optional[StrictStr] = None
|
||||
album_name: StrictStr = Field(description="Album name", alias="albumName")
|
||||
album_users: Optional[List[AlbumUserCreateDto]] = Field(default=None, description="Album users", alias="albumUsers")
|
||||
asset_ids: Optional[List[UUID]] = Field(default=None, description="Initial asset IDs", alias="assetIds")
|
||||
description: Optional[StrictStr] = Field(default=None, description="Album description")
|
||||
__properties: ClassVar[List[str]] = ["albumName", "albumUsers", "assetIds", "description"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,6 +20,7 @@ import json
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -27,12 +28,19 @@ class CreateLibraryDto(BaseModel):
|
||||
"""
|
||||
CreateLibraryDto
|
||||
""" # noqa: E501
|
||||
exclusion_patterns: Optional[Annotated[List[StrictStr], Field(max_length=128)]] = Field(default=None, alias="exclusionPatterns")
|
||||
import_paths: Optional[Annotated[List[StrictStr], Field(max_length=128)]] = Field(default=None, alias="importPaths")
|
||||
name: Optional[StrictStr] = None
|
||||
owner_id: StrictStr = Field(alias="ownerId")
|
||||
exclusion_patterns: Optional[Annotated[List[StrictStr], Field(max_length=128)]] = Field(default=None, description="Exclusion patterns (max 128)", alias="exclusionPatterns")
|
||||
import_paths: Optional[Annotated[List[StrictStr], Field(max_length=128)]] = Field(default=None, description="Import paths (max 128)", alias="importPaths")
|
||||
name: Optional[Annotated[str, Field(min_length=1, strict=True)]] = Field(default=None, description="Library name")
|
||||
owner_id: UUID = Field(description="Owner user ID", alias="ownerId")
|
||||
__properties: ClassVar[List[str]] = ["exclusionPatterns", "importPaths", "name", "ownerId"]
|
||||
|
||||
@field_validator('owner_id')
|
||||
def owner_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,6 +20,7 @@ import json
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -27,11 +28,25 @@ class CreateProfileImageResponseDto(BaseModel):
|
||||
"""
|
||||
CreateProfileImageResponseDto
|
||||
""" # noqa: E501
|
||||
profile_changed_at: datetime = Field(alias="profileChangedAt")
|
||||
profile_image_path: StrictStr = Field(alias="profileImagePath")
|
||||
user_id: StrictStr = Field(alias="userId")
|
||||
profile_changed_at: datetime = Field(description="Profile image change date", alias="profileChangedAt")
|
||||
profile_image_path: StrictStr = Field(description="Profile image file path", alias="profileImagePath")
|
||||
user_id: UUID = Field(description="User ID", alias="userId")
|
||||
__properties: ClassVar[List[str]] = ["profileChangedAt", "profileImagePath", "userId"]
|
||||
|
||||
@field_validator('profile_changed_at')
|
||||
def profile_changed_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
@field_validator('user_id')
|
||||
def user_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -18,7 +18,7 @@ import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Union
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -27,9 +27,9 @@ class DatabaseBackupConfig(BaseModel):
|
||||
"""
|
||||
DatabaseBackupConfig
|
||||
""" # noqa: E501
|
||||
cron_expression: StrictStr = Field(alias="cronExpression")
|
||||
enabled: StrictBool
|
||||
keep_last_amount: Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]] = Field(alias="keepLastAmount")
|
||||
cron_expression: StrictStr = Field(description="Cron expression", alias="cronExpression")
|
||||
enabled: StrictBool = Field(description="Enabled")
|
||||
keep_last_amount: Annotated[int, Field(le=9007199254740991, strict=True, ge=1)] = Field(description="Keep last amount", alias="keepLastAmount")
|
||||
__properties: ClassVar[List[str]] = ["cronExpression", "enabled", "keepLastAmount"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,10 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,8 +28,8 @@ class DownloadArchiveInfo(BaseModel):
|
||||
"""
|
||||
DownloadArchiveInfo
|
||||
""" # noqa: E501
|
||||
asset_ids: List[StrictStr] = Field(alias="assetIds")
|
||||
size: StrictInt
|
||||
asset_ids: List[UUID] = Field(description="Asset IDs in this archive", alias="assetIds")
|
||||
size: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Archive size in bytes")
|
||||
__properties: ClassVar[List[str]] = ["assetIds", "size"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,9 +17,10 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -27,12 +28,32 @@ class DownloadInfoDto(BaseModel):
|
||||
"""
|
||||
DownloadInfoDto
|
||||
""" # noqa: E501
|
||||
album_id: Optional[StrictStr] = Field(default=None, alias="albumId")
|
||||
archive_size: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, alias="archiveSize")
|
||||
asset_ids: Optional[List[StrictStr]] = Field(default=None, alias="assetIds")
|
||||
user_id: Optional[StrictStr] = Field(default=None, alias="userId")
|
||||
album_id: Optional[UUID] = Field(default=None, description="Album ID to download", alias="albumId")
|
||||
archive_size: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]] = Field(default=None, description="Archive size limit in bytes", alias="archiveSize")
|
||||
asset_ids: Optional[List[UUID]] = Field(default=None, description="Asset IDs to download", alias="assetIds")
|
||||
user_id: Optional[UUID] = Field(default=None, description="User ID to download assets from", alias="userId")
|
||||
__properties: ClassVar[List[str]] = ["albumId", "archiveSize", "assetIds", "userId"]
|
||||
|
||||
@field_validator('album_id')
|
||||
def album_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('user_id')
|
||||
def user_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,8 +27,8 @@ class DownloadResponse(BaseModel):
|
||||
"""
|
||||
DownloadResponse
|
||||
""" # noqa: E501
|
||||
archive_size: StrictInt = Field(alias="archiveSize")
|
||||
include_embedded_videos: StrictBool = Field(alias="includeEmbeddedVideos")
|
||||
archive_size: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Maximum archive size in bytes", alias="archiveSize")
|
||||
include_embedded_videos: StrictBool = Field(description="Whether to include embedded videos in downloads", alias="includeEmbeddedVideos")
|
||||
__properties: ClassVar[List[str]] = ["archiveSize", "includeEmbeddedVideos"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
@@ -82,7 +83,7 @@ class DownloadResponse(BaseModel):
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"archiveSize": obj.get("archiveSize"),
|
||||
"includeEmbeddedVideos": obj.get("includeEmbeddedVideos") if obj.get("includeEmbeddedVideos") is not None else False
|
||||
"includeEmbeddedVideos": obj.get("includeEmbeddedVideos")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from generated.immich.openapi_client.models.download_archive_info import DownloadArchiveInfo
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -27,8 +28,8 @@ class DownloadResponseDto(BaseModel):
|
||||
"""
|
||||
DownloadResponseDto
|
||||
""" # noqa: E501
|
||||
archives: List[DownloadArchiveInfo]
|
||||
total_size: StrictInt = Field(alias="totalSize")
|
||||
archives: List[DownloadArchiveInfo] = Field(description="Archive information")
|
||||
total_size: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Total size in bytes", alias="totalSize")
|
||||
__properties: ClassVar[List[str]] = ["archives", "totalSize"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -27,8 +27,8 @@ class DownloadUpdate(BaseModel):
|
||||
"""
|
||||
DownloadUpdate
|
||||
""" # noqa: E501
|
||||
archive_size: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=None, alias="archiveSize")
|
||||
include_embedded_videos: Optional[StrictBool] = Field(default=None, alias="includeEmbeddedVideos")
|
||||
archive_size: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]] = Field(default=None, description="Maximum archive size in bytes", alias="archiveSize")
|
||||
include_embedded_videos: Optional[StrictBool] = Field(default=None, description="Whether to include embedded videos in downloads", alias="includeEmbeddedVideos")
|
||||
__properties: ClassVar[List[str]] = ["archiveSize", "includeEmbeddedVideos"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -27,8 +27,8 @@ class DuplicateDetectionConfig(BaseModel):
|
||||
"""
|
||||
DuplicateDetectionConfig
|
||||
""" # noqa: E501
|
||||
enabled: StrictBool
|
||||
max_distance: Union[Annotated[float, Field(le=0.1, strict=True, ge=0.001)], Annotated[int, Field(le=0, strict=True, ge=1)]] = Field(alias="maxDistance")
|
||||
enabled: StrictBool = Field(description="Whether the task is enabled")
|
||||
max_distance: Union[Annotated[float, Field(le=0.1, strict=True, ge=0.001)], Annotated[int, Field(le=0, strict=True, ge=1)]] = Field(description="Maximum distance threshold for duplicate detection", alias="maxDistance")
|
||||
__properties: ClassVar[List[str]] = ["enabled", "maxDistance"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -27,9 +28,17 @@ class DuplicateResponseDto(BaseModel):
|
||||
"""
|
||||
DuplicateResponseDto
|
||||
""" # noqa: E501
|
||||
assets: List[AssetResponseDto]
|
||||
duplicate_id: StrictStr = Field(alias="duplicateId")
|
||||
__properties: ClassVar[List[str]] = ["assets", "duplicateId"]
|
||||
assets: List[AssetResponseDto] = Field(description="Duplicate assets")
|
||||
duplicate_id: UUID = Field(description="Duplicate group ID", alias="duplicateId")
|
||||
suggested_keep_asset_ids: List[UUID] = Field(description="Suggested asset IDs to keep based on file size and EXIF data", alias="suggestedKeepAssetIds")
|
||||
__properties: ClassVar[List[str]] = ["assets", "duplicateId", "suggestedKeepAssetIds"]
|
||||
|
||||
@field_validator('duplicate_id')
|
||||
def duplicate_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -90,7 +99,8 @@ class DuplicateResponseDto(BaseModel):
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"assets": [AssetResponseDto.from_dict(_item) for _item in obj["assets"]] if obj.get("assets") is not None else None,
|
||||
"duplicateId": obj.get("duplicateId")
|
||||
"duplicateId": obj.get("duplicateId"),
|
||||
"suggestedKeepAssetIds": obj.get("suggestedKeepAssetIds")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -26,9 +26,9 @@ class EmailNotificationsResponse(BaseModel):
|
||||
"""
|
||||
EmailNotificationsResponse
|
||||
""" # noqa: E501
|
||||
album_invite: StrictBool = Field(alias="albumInvite")
|
||||
album_update: StrictBool = Field(alias="albumUpdate")
|
||||
enabled: StrictBool
|
||||
album_invite: StrictBool = Field(description="Whether to receive email notifications for album invites", alias="albumInvite")
|
||||
album_update: StrictBool = Field(description="Whether to receive email notifications for album updates", alias="albumUpdate")
|
||||
enabled: StrictBool = Field(description="Whether email notifications are enabled")
|
||||
__properties: ClassVar[List[str]] = ["albumInvite", "albumUpdate", "enabled"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -26,9 +26,9 @@ class EmailNotificationsUpdate(BaseModel):
|
||||
"""
|
||||
EmailNotificationsUpdate
|
||||
""" # noqa: E501
|
||||
album_invite: Optional[StrictBool] = Field(default=None, alias="albumInvite")
|
||||
album_update: Optional[StrictBool] = Field(default=None, alias="albumUpdate")
|
||||
enabled: Optional[StrictBool] = None
|
||||
album_invite: Optional[StrictBool] = Field(default=None, description="Whether to receive email notifications for album invites", alias="albumInvite")
|
||||
album_update: Optional[StrictBool] = Field(default=None, description="Whether to receive email notifications for album updates", alias="albumUpdate")
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Whether email notifications are enabled")
|
||||
__properties: ClassVar[List[str]] = ["albumInvite", "albumUpdate", "enabled"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,35 +20,36 @@ import json
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class ExifResponseDto(BaseModel):
|
||||
"""
|
||||
ExifResponseDto
|
||||
EXIF response
|
||||
""" # noqa: E501
|
||||
city: Optional[StrictStr] = None
|
||||
country: Optional[StrictStr] = None
|
||||
date_time_original: Optional[datetime] = Field(default=None, alias="dateTimeOriginal")
|
||||
description: Optional[StrictStr] = None
|
||||
exif_image_height: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="exifImageHeight")
|
||||
exif_image_width: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="exifImageWidth")
|
||||
exposure_time: Optional[StrictStr] = Field(default=None, alias="exposureTime")
|
||||
f_number: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="fNumber")
|
||||
file_size_in_byte: Optional[StrictInt] = Field(default=None, alias="fileSizeInByte")
|
||||
focal_length: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, alias="focalLength")
|
||||
iso: Optional[Union[StrictFloat, StrictInt]] = None
|
||||
latitude: Optional[Union[StrictFloat, StrictInt]] = None
|
||||
lens_model: Optional[StrictStr] = Field(default=None, alias="lensModel")
|
||||
longitude: Optional[Union[StrictFloat, StrictInt]] = None
|
||||
make: Optional[StrictStr] = None
|
||||
model: Optional[StrictStr] = None
|
||||
modify_date: Optional[datetime] = Field(default=None, alias="modifyDate")
|
||||
orientation: Optional[StrictStr] = None
|
||||
projection_type: Optional[StrictStr] = Field(default=None, alias="projectionType")
|
||||
rating: Optional[Union[StrictFloat, StrictInt]] = None
|
||||
state: Optional[StrictStr] = None
|
||||
time_zone: Optional[StrictStr] = Field(default=None, alias="timeZone")
|
||||
city: Optional[StrictStr] = Field(default=None, description="City name")
|
||||
country: Optional[StrictStr] = Field(default=None, description="Country name")
|
||||
date_time_original: Optional[datetime] = Field(default=None, description="Original date/time", alias="dateTimeOriginal")
|
||||
description: Optional[StrictStr] = Field(default=None, description="Image description")
|
||||
exif_image_height: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(default=None, description="Image height in pixels", alias="exifImageHeight")
|
||||
exif_image_width: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(default=None, description="Image width in pixels", alias="exifImageWidth")
|
||||
exposure_time: Optional[StrictStr] = Field(default=None, description="Exposure time", alias="exposureTime")
|
||||
f_number: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="F-number (aperture)", alias="fNumber")
|
||||
file_size_in_byte: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(default=None, description="File size in bytes", alias="fileSizeInByte")
|
||||
focal_length: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Focal length in mm", alias="focalLength")
|
||||
iso: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(default=None, description="ISO sensitivity")
|
||||
latitude: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="GPS latitude")
|
||||
lens_model: Optional[StrictStr] = Field(default=None, description="Lens model", alias="lensModel")
|
||||
longitude: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="GPS longitude")
|
||||
make: Optional[StrictStr] = Field(default=None, description="Camera make")
|
||||
model: Optional[StrictStr] = Field(default=None, description="Camera model")
|
||||
modify_date: Optional[datetime] = Field(default=None, description="Modification date/time", alias="modifyDate")
|
||||
orientation: Optional[StrictStr] = Field(default=None, description="Image orientation")
|
||||
projection_type: Optional[StrictStr] = Field(default=None, description="Projection type", alias="projectionType")
|
||||
rating: Optional[Annotated[int, Field(le=5, strict=True, ge=1)]] = Field(default=None, description="Rating")
|
||||
state: Optional[StrictStr] = Field(default=None, description="State/province name")
|
||||
time_zone: Optional[StrictStr] = Field(default=None, description="Time zone", alias="timeZone")
|
||||
__properties: ClassVar[List[str]] = ["city", "country", "dateTimeOriginal", "description", "exifImageHeight", "exifImageWidth", "exposureTime", "fNumber", "fileSizeInByte", "focalLength", "iso", "latitude", "lensModel", "longitude", "make", "model", "modifyDate", "orientation", "projectionType", "rating", "state", "timeZone"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,9 +27,16 @@ class FaceDto(BaseModel):
|
||||
"""
|
||||
FaceDto
|
||||
""" # noqa: E501
|
||||
id: StrictStr
|
||||
id: UUID = Field(description="Face ID")
|
||||
__properties: ClassVar[List[str]] = ["id"]
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -27,11 +27,11 @@ class FacialRecognitionConfig(BaseModel):
|
||||
"""
|
||||
FacialRecognitionConfig
|
||||
""" # noqa: E501
|
||||
enabled: StrictBool
|
||||
max_distance: Union[Annotated[float, Field(le=2, strict=True, ge=0.1)], Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(alias="maxDistance")
|
||||
min_faces: Annotated[int, Field(strict=True, ge=1)] = Field(alias="minFaces")
|
||||
min_score: Union[Annotated[float, Field(le=1, strict=True, ge=0.1)], Annotated[int, Field(le=1, strict=True, ge=1)]] = Field(alias="minScore")
|
||||
model_name: StrictStr = Field(alias="modelName")
|
||||
enabled: StrictBool = Field(description="Whether the task is enabled")
|
||||
max_distance: Union[Annotated[float, Field(le=2, strict=True, ge=0.1)], Annotated[int, Field(le=2, strict=True, ge=1)]] = Field(description="Maximum distance threshold for face recognition", alias="maxDistance")
|
||||
min_faces: Annotated[int, Field(le=9007199254740991, strict=True, ge=1)] = Field(description="Minimum number of faces required for recognition", alias="minFaces")
|
||||
min_score: Union[Annotated[float, Field(le=1, strict=True, ge=0.1)], Annotated[int, Field(le=1, strict=True, ge=1)]] = Field(description="Minimum confidence score for face detection", alias="minScore")
|
||||
model_name: StrictStr = Field(description="Name of the model to use", alias="modelName")
|
||||
__properties: ClassVar[List[str]] = ["enabled", "maxDistance", "minFaces", "minScore", "modelName"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class FileChecksumDto(BaseModel):
|
||||
"""
|
||||
FileChecksumDto
|
||||
""" # noqa: E501
|
||||
filenames: List[StrictStr]
|
||||
__properties: ClassVar[List[str]] = ["filenames"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of FileChecksumDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of FileChecksumDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"filenames": obj.get("filenames")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class FileChecksumResponseDto(BaseModel):
|
||||
"""
|
||||
FileChecksumResponseDto
|
||||
""" # noqa: E501
|
||||
checksum: StrictStr
|
||||
filename: StrictStr
|
||||
__properties: ClassVar[List[str]] = ["checksum", "filename"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of FileChecksumResponseDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of FileChecksumResponseDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"checksum": obj.get("checksum"),
|
||||
"filename": obj.get("filename")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.file_report_item_dto import FileReportItemDto
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class FileReportDto(BaseModel):
|
||||
"""
|
||||
FileReportDto
|
||||
""" # noqa: E501
|
||||
extras: List[StrictStr]
|
||||
orphans: List[FileReportItemDto]
|
||||
__properties: ClassVar[List[str]] = ["extras", "orphans"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of FileReportDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in orphans (list)
|
||||
_items = []
|
||||
if self.orphans:
|
||||
for _item_orphans in self.orphans:
|
||||
if _item_orphans:
|
||||
_items.append(_item_orphans.to_dict())
|
||||
_dict['orphans'] = _items
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of FileReportDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"extras": obj.get("extras"),
|
||||
"orphans": [FileReportItemDto.from_dict(_item) for _item in obj["orphans"]] if obj.get("orphans") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -1,95 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.file_report_item_dto import FileReportItemDto
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class FileReportFixDto(BaseModel):
|
||||
"""
|
||||
FileReportFixDto
|
||||
""" # noqa: E501
|
||||
items: List[FileReportItemDto]
|
||||
__properties: ClassVar[List[str]] = ["items"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of FileReportFixDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of each item in items (list)
|
||||
_items = []
|
||||
if self.items:
|
||||
for _item_items in self.items:
|
||||
if _item_items:
|
||||
_items.append(_item_items.to_dict())
|
||||
_dict['items'] = _items
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of FileReportFixDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"items": [FileReportItemDto.from_dict(_item) for _item in obj["items"]] if obj.get("items") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from generated.immich.openapi_client.models.path_entity_type import PathEntityType
|
||||
from generated.immich.openapi_client.models.path_type import PathType
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class FileReportItemDto(BaseModel):
|
||||
"""
|
||||
FileReportItemDto
|
||||
""" # noqa: E501
|
||||
checksum: Optional[StrictStr] = None
|
||||
entity_id: StrictStr = Field(alias="entityId")
|
||||
entity_type: PathEntityType = Field(alias="entityType")
|
||||
path_type: PathType = Field(alias="pathType")
|
||||
path_value: StrictStr = Field(alias="pathValue")
|
||||
__properties: ClassVar[List[str]] = ["checksum", "entityId", "entityType", "pathType", "pathValue"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of FileReportItemDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of FileReportItemDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"checksum": obj.get("checksum"),
|
||||
"entityId": obj.get("entityId"),
|
||||
"entityType": obj.get("entityType"),
|
||||
"pathType": obj.get("pathType"),
|
||||
"pathValue": obj.get("pathValue")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -26,8 +26,8 @@ class FoldersResponse(BaseModel):
|
||||
"""
|
||||
FoldersResponse
|
||||
""" # noqa: E501
|
||||
enabled: StrictBool
|
||||
sidebar_web: StrictBool = Field(alias="sidebarWeb")
|
||||
enabled: StrictBool = Field(description="Whether folders are enabled")
|
||||
sidebar_web: StrictBool = Field(description="Whether folders appear in web sidebar", alias="sidebarWeb")
|
||||
__properties: ClassVar[List[str]] = ["enabled", "sidebarWeb"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
@@ -81,8 +81,8 @@ class FoldersResponse(BaseModel):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"enabled": obj.get("enabled") if obj.get("enabled") is not None else False,
|
||||
"sidebarWeb": obj.get("sidebarWeb") if obj.get("sidebarWeb") is not None else False
|
||||
"enabled": obj.get("enabled"),
|
||||
"sidebarWeb": obj.get("sidebarWeb")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -26,8 +26,8 @@ class FoldersUpdate(BaseModel):
|
||||
"""
|
||||
FoldersUpdate
|
||||
""" # noqa: E501
|
||||
enabled: Optional[StrictBool] = None
|
||||
sidebar_web: Optional[StrictBool] = Field(default=None, alias="sidebarWeb")
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Whether folders are enabled")
|
||||
sidebar_web: Optional[StrictBool] = Field(default=None, description="Whether folders appear in web sidebar", alias="sidebarWeb")
|
||||
__properties: ClassVar[List[str]] = ["enabled", "sidebarWeb"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,7 +20,7 @@ from typing_extensions import Self
|
||||
|
||||
class ImageFormat(str, Enum):
|
||||
"""
|
||||
ImageFormat
|
||||
Image format
|
||||
"""
|
||||
|
||||
"""
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import json
|
||||
from enum import Enum
|
||||
from typing_extensions import Self
|
||||
|
||||
|
||||
class JobCommand(str, Enum):
|
||||
"""
|
||||
JobCommand
|
||||
"""
|
||||
|
||||
"""
|
||||
allowed enum values
|
||||
"""
|
||||
START = 'start'
|
||||
PAUSE = 'pause'
|
||||
RESUME = 'resume'
|
||||
EMPTY = 'empty'
|
||||
CLEAR_MINUS_FAILED = 'clear-failed'
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Self:
|
||||
"""Create an instance of JobCommand from a JSON string"""
|
||||
return cls(json.loads(json_str))
|
||||
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictBool
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from generated.immich.openapi_client.models.job_command import JobCommand
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class JobCommandDto(BaseModel):
|
||||
"""
|
||||
JobCommandDto
|
||||
""" # noqa: E501
|
||||
command: JobCommand
|
||||
force: Optional[StrictBool] = None
|
||||
__properties: ClassVar[List[str]] = ["command", "force"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of JobCommandDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of JobCommandDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"command": obj.get("command"),
|
||||
"force": obj.get("force")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictInt
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class JobCountsDto(BaseModel):
|
||||
"""
|
||||
JobCountsDto
|
||||
""" # noqa: E501
|
||||
active: StrictInt
|
||||
completed: StrictInt
|
||||
delayed: StrictInt
|
||||
failed: StrictInt
|
||||
paused: StrictInt
|
||||
waiting: StrictInt
|
||||
__properties: ClassVar[List[str]] = ["active", "completed", "delayed", "failed", "paused", "waiting"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of JobCountsDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of JobCountsDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"active": obj.get("active"),
|
||||
"completed": obj.get("completed"),
|
||||
"delayed": obj.get("delayed"),
|
||||
"failed": obj.get("failed"),
|
||||
"paused": obj.get("paused"),
|
||||
"waiting": obj.get("waiting")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,27 +20,78 @@ from typing_extensions import Self
|
||||
|
||||
class JobName(str, Enum):
|
||||
"""
|
||||
JobName
|
||||
Job name
|
||||
"""
|
||||
|
||||
"""
|
||||
allowed enum values
|
||||
"""
|
||||
THUMBNAILGENERATION = 'thumbnailGeneration'
|
||||
METADATAEXTRACTION = 'metadataExtraction'
|
||||
VIDEOCONVERSION = 'videoConversion'
|
||||
FACEDETECTION = 'faceDetection'
|
||||
FACIALRECOGNITION = 'facialRecognition'
|
||||
SMARTSEARCH = 'smartSearch'
|
||||
DUPLICATEDETECTION = 'duplicateDetection'
|
||||
BACKGROUNDTASK = 'backgroundTask'
|
||||
STORAGETEMPLATEMIGRATION = 'storageTemplateMigration'
|
||||
MIGRATION = 'migration'
|
||||
SEARCH = 'search'
|
||||
SIDECAR = 'sidecar'
|
||||
LIBRARY = 'library'
|
||||
NOTIFICATIONS = 'notifications'
|
||||
BACKUPDATABASE = 'backupDatabase'
|
||||
ASSETDELETE = 'AssetDelete'
|
||||
ASSETDELETECHECK = 'AssetDeleteCheck'
|
||||
ASSETDETECTFACESQUEUEALL = 'AssetDetectFacesQueueAll'
|
||||
ASSETDETECTFACES = 'AssetDetectFaces'
|
||||
ASSETDETECTDUPLICATESQUEUEALL = 'AssetDetectDuplicatesQueueAll'
|
||||
ASSETDETECTDUPLICATES = 'AssetDetectDuplicates'
|
||||
ASSETEDITTHUMBNAILGENERATION = 'AssetEditThumbnailGeneration'
|
||||
ASSETENCODEVIDEOQUEUEALL = 'AssetEncodeVideoQueueAll'
|
||||
ASSETENCODEVIDEO = 'AssetEncodeVideo'
|
||||
ASSETEMPTYTRASH = 'AssetEmptyTrash'
|
||||
ASSETEXTRACTMETADATAQUEUEALL = 'AssetExtractMetadataQueueAll'
|
||||
ASSETEXTRACTMETADATA = 'AssetExtractMetadata'
|
||||
ASSETFILEMIGRATION = 'AssetFileMigration'
|
||||
ASSETGENERATETHUMBNAILSQUEUEALL = 'AssetGenerateThumbnailsQueueAll'
|
||||
ASSETGENERATETHUMBNAILS = 'AssetGenerateThumbnails'
|
||||
AUDITTABLECLEANUP = 'AuditTableCleanup'
|
||||
DATABASEBACKUP = 'DatabaseBackup'
|
||||
FACIALRECOGNITIONQUEUEALL = 'FacialRecognitionQueueAll'
|
||||
FACIALRECOGNITION = 'FacialRecognition'
|
||||
FILEDELETE = 'FileDelete'
|
||||
FILEMIGRATIONQUEUEALL = 'FileMigrationQueueAll'
|
||||
LIBRARYDELETECHECK = 'LibraryDeleteCheck'
|
||||
LIBRARYDELETE = 'LibraryDelete'
|
||||
LIBRARYREMOVEASSET = 'LibraryRemoveAsset'
|
||||
LIBRARYSCANASSETSQUEUEALL = 'LibraryScanAssetsQueueAll'
|
||||
LIBRARYSYNCASSETS = 'LibrarySyncAssets'
|
||||
LIBRARYSYNCFILESQUEUEALL = 'LibrarySyncFilesQueueAll'
|
||||
LIBRARYSYNCFILES = 'LibrarySyncFiles'
|
||||
LIBRARYSCANQUEUEALL = 'LibraryScanQueueAll'
|
||||
HLSSESSIONCLEANUP = 'HlsSessionCleanup'
|
||||
MEMORYCLEANUP = 'MemoryCleanup'
|
||||
MEMORYGENERATE = 'MemoryGenerate'
|
||||
NOTIFICATIONSCLEANUP = 'NotificationsCleanup'
|
||||
NOTIFYUSERSIGNUP = 'NotifyUserSignup'
|
||||
NOTIFYALBUMINVITE = 'NotifyAlbumInvite'
|
||||
NOTIFYALBUMUPDATE = 'NotifyAlbumUpdate'
|
||||
USERDELETE = 'UserDelete'
|
||||
USERDELETECHECK = 'UserDeleteCheck'
|
||||
USERSYNCUSAGE = 'UserSyncUsage'
|
||||
PERSONCLEANUP = 'PersonCleanup'
|
||||
PERSONFILEMIGRATION = 'PersonFileMigration'
|
||||
PERSONGENERATETHUMBNAIL = 'PersonGenerateThumbnail'
|
||||
SESSIONCLEANUP = 'SessionCleanup'
|
||||
SENDMAIL = 'SendMail'
|
||||
SIDECARQUEUEALL = 'SidecarQueueAll'
|
||||
SIDECARCHECK = 'SidecarCheck'
|
||||
SIDECARWRITE = 'SidecarWrite'
|
||||
SMARTSEARCHQUEUEALL = 'SmartSearchQueueAll'
|
||||
SMARTSEARCH = 'SmartSearch'
|
||||
STORAGETEMPLATEMIGRATION = 'StorageTemplateMigration'
|
||||
STORAGETEMPLATEMIGRATIONSINGLE = 'StorageTemplateMigrationSingle'
|
||||
TAGCLEANUP = 'TagCleanup'
|
||||
VERSIONCHECK = 'VersionCheck'
|
||||
OCRQUEUEALL = 'OcrQueueAll'
|
||||
OCR = 'Ocr'
|
||||
WORKFLOWASSETTRIGGER = 'WorkflowAssetTrigger'
|
||||
INTEGRITYUNTRACKEDFILESQUEUEALL = 'IntegrityUntrackedFilesQueueAll'
|
||||
INTEGRITYUNTRACKEDFILES = 'IntegrityUntrackedFiles'
|
||||
INTEGRITYUNTRACKEDREFRESH = 'IntegrityUntrackedRefresh'
|
||||
INTEGRITYMISSINGFILESQUEUEALL = 'IntegrityMissingFilesQueueAll'
|
||||
INTEGRITYMISSINGFILES = 'IntegrityMissingFiles'
|
||||
INTEGRITYMISSINGFILESREFRESH = 'IntegrityMissingFilesRefresh'
|
||||
INTEGRITYCHECKSUMFILES = 'IntegrityChecksumFiles'
|
||||
INTEGRITYCHECKSUMFILESREFRESH = 'IntegrityChecksumFilesRefresh'
|
||||
INTEGRITYDELETEREPORTTYPE = 'IntegrityDeleteReportType'
|
||||
INTEGRITYDELETEREPORTS = 'IntegrityDeleteReports'
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Self:
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -27,7 +27,7 @@ class JobSettingsDto(BaseModel):
|
||||
"""
|
||||
JobSettingsDto
|
||||
""" # noqa: E501
|
||||
concurrency: Annotated[int, Field(strict=True, ge=1)]
|
||||
concurrency: Annotated[int, Field(le=9007199254740991, strict=True, ge=1)] = Field(description="Concurrency")
|
||||
__properties: ClassVar[List[str]] = ["concurrency"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from generated.immich.openapi_client.models.job_counts_dto import JobCountsDto
|
||||
from generated.immich.openapi_client.models.queue_status_dto import QueueStatusDto
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class JobStatusDto(BaseModel):
|
||||
"""
|
||||
JobStatusDto
|
||||
""" # noqa: E501
|
||||
job_counts: JobCountsDto = Field(alias="jobCounts")
|
||||
queue_status: QueueStatusDto = Field(alias="queueStatus")
|
||||
__properties: ClassVar[List[str]] = ["jobCounts", "queueStatus"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of JobStatusDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
# override the default output from pydantic by calling `to_dict()` of job_counts
|
||||
if self.job_counts:
|
||||
_dict['jobCounts'] = self.job_counts.to_dict()
|
||||
# override the default output from pydantic by calling `to_dict()` of queue_status
|
||||
if self.queue_status:
|
||||
_dict['queueStatus'] = self.queue_status.to_dict()
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of JobStatusDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"jobCounts": JobCountsDto.from_dict(obj["jobCounts"]) if obj.get("jobCounts") is not None else None,
|
||||
"queueStatus": QueueStatusDto.from_dict(obj["queueStatus"]) if obj.get("queueStatus") is not None else None
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -18,8 +18,10 @@ import re # noqa: F401
|
||||
import json
|
||||
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -27,17 +29,55 @@ class LibraryResponseDto(BaseModel):
|
||||
"""
|
||||
LibraryResponseDto
|
||||
""" # noqa: E501
|
||||
asset_count: StrictInt = Field(alias="assetCount")
|
||||
created_at: datetime = Field(alias="createdAt")
|
||||
exclusion_patterns: List[StrictStr] = Field(alias="exclusionPatterns")
|
||||
id: StrictStr
|
||||
import_paths: List[StrictStr] = Field(alias="importPaths")
|
||||
name: StrictStr
|
||||
owner_id: StrictStr = Field(alias="ownerId")
|
||||
refreshed_at: Optional[datetime] = Field(alias="refreshedAt")
|
||||
updated_at: datetime = Field(alias="updatedAt")
|
||||
asset_count: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of assets", alias="assetCount")
|
||||
created_at: datetime = Field(description="Creation date", alias="createdAt")
|
||||
exclusion_patterns: List[StrictStr] = Field(description="Exclusion patterns", alias="exclusionPatterns")
|
||||
id: UUID = Field(description="Library ID")
|
||||
import_paths: List[StrictStr] = Field(description="Import paths", alias="importPaths")
|
||||
name: StrictStr = Field(description="Library name")
|
||||
owner_id: UUID = Field(description="Owner user ID", alias="ownerId")
|
||||
refreshed_at: Optional[datetime] = Field(description="Last refresh date", alias="refreshedAt")
|
||||
updated_at: datetime = Field(description="Last update date", alias="updatedAt")
|
||||
__properties: ClassVar[List[str]] = ["assetCount", "createdAt", "exclusionPatterns", "id", "importPaths", "name", "ownerId", "refreshedAt", "updatedAt"]
|
||||
|
||||
@field_validator('created_at')
|
||||
def created_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('owner_id')
|
||||
def owner_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
@field_validator('refreshed_at')
|
||||
def refreshed_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
@field_validator('updated_at')
|
||||
def updated_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictInt
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,10 +27,10 @@ class LibraryStatsResponseDto(BaseModel):
|
||||
"""
|
||||
LibraryStatsResponseDto
|
||||
""" # noqa: E501
|
||||
photos: StrictInt
|
||||
total: StrictInt
|
||||
usage: StrictInt
|
||||
videos: StrictInt
|
||||
photos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of photos")
|
||||
total: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Total number of assets")
|
||||
usage: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Storage usage in bytes")
|
||||
videos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of videos")
|
||||
__properties: ClassVar[List[str]] = ["photos", "total", "usage", "videos"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
@@ -83,10 +84,10 @@ class LibraryStatsResponseDto(BaseModel):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"photos": obj.get("photos") if obj.get("photos") is not None else 0,
|
||||
"total": obj.get("total") if obj.get("total") is not None else 0,
|
||||
"usage": obj.get("usage") if obj.get("usage") is not None else 0,
|
||||
"videos": obj.get("videos") if obj.get("videos") is not None else 0
|
||||
"photos": obj.get("photos"),
|
||||
"total": obj.get("total"),
|
||||
"usage": obj.get("usage"),
|
||||
"videos": obj.get("videos")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -27,15 +27,15 @@ class LicenseKeyDto(BaseModel):
|
||||
"""
|
||||
LicenseKeyDto
|
||||
""" # noqa: E501
|
||||
activation_key: StrictStr = Field(alias="activationKey")
|
||||
license_key: Annotated[str, Field(strict=True)] = Field(alias="licenseKey")
|
||||
activation_key: StrictStr = Field(description="Activation key", alias="activationKey")
|
||||
license_key: Annotated[str, Field(strict=True)] = Field(description="License key (format: /^IM(SV|CL)(-[\\dA-Za-z]{4}){8}$/)", alias="licenseKey")
|
||||
__properties: ClassVar[List[str]] = ["activationKey", "licenseKey"]
|
||||
|
||||
@field_validator('license_key')
|
||||
def license_key_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"IM(SV|CL)(-[\dA-Za-z]{4}){8}", value):
|
||||
raise ValueError(r"must validate the regular expression /IM(SV|CL)(-[\dA-Za-z]{4}){8}/")
|
||||
if not re.match(r"^IM(SV|CL)(-[\dA-Za-z]{4}){8}$", value):
|
||||
raise ValueError(r"must validate the regular expression /^IM(SV|CL)(-[\dA-Za-z]{4}){8}$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -1,100 +0,0 @@
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Immich
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
""" # noqa: E501
|
||||
|
||||
|
||||
from __future__ import annotations
|
||||
import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
class LicenseResponseDto(BaseModel):
|
||||
"""
|
||||
LicenseResponseDto
|
||||
""" # noqa: E501
|
||||
activated_at: datetime = Field(alias="activatedAt")
|
||||
activation_key: StrictStr = Field(alias="activationKey")
|
||||
license_key: Annotated[str, Field(strict=True)] = Field(alias="licenseKey")
|
||||
__properties: ClassVar[List[str]] = ["activatedAt", "activationKey", "licenseKey"]
|
||||
|
||||
@field_validator('license_key')
|
||||
def license_key_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"IM(SV|CL)(-[\dA-Za-z]{4}){8}", value):
|
||||
raise ValueError(r"must validate the regular expression /IM(SV|CL)(-[\dA-Za-z]{4}){8}/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
protected_namespaces=(),
|
||||
)
|
||||
|
||||
|
||||
def to_str(self) -> str:
|
||||
"""Returns the string representation of the model using alias"""
|
||||
return pprint.pformat(self.model_dump(by_alias=True))
|
||||
|
||||
def to_json(self) -> str:
|
||||
"""Returns the JSON representation of the model using alias"""
|
||||
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
||||
return json.dumps(self.to_dict())
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Optional[Self]:
|
||||
"""Create an instance of LicenseResponseDto from a JSON string"""
|
||||
return cls.from_dict(json.loads(json_str))
|
||||
|
||||
def to_dict(self) -> Dict[str, Any]:
|
||||
"""Return the dictionary representation of the model using alias.
|
||||
|
||||
This has the following differences from calling pydantic's
|
||||
`self.model_dump(by_alias=True)`:
|
||||
|
||||
* `None` is only added to the output dict for nullable fields that
|
||||
were set at model initialization. Other fields with value `None`
|
||||
are ignored.
|
||||
"""
|
||||
excluded_fields: Set[str] = set([
|
||||
])
|
||||
|
||||
_dict = self.model_dump(
|
||||
by_alias=True,
|
||||
exclude=excluded_fields,
|
||||
exclude_none=True,
|
||||
)
|
||||
return _dict
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
||||
"""Create an instance of LicenseResponseDto from a dict"""
|
||||
if obj is None:
|
||||
return None
|
||||
|
||||
if not isinstance(obj, dict):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"activatedAt": obj.get("activatedAt"),
|
||||
"activationKey": obj.get("activationKey"),
|
||||
"licenseKey": obj.get("licenseKey")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,7 +20,7 @@ from typing_extensions import Self
|
||||
|
||||
class LogLevel(str, Enum):
|
||||
"""
|
||||
LogLevel
|
||||
Log level
|
||||
"""
|
||||
|
||||
"""
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,10 +27,17 @@ class LoginCredentialDto(BaseModel):
|
||||
"""
|
||||
LoginCredentialDto
|
||||
""" # noqa: E501
|
||||
email: StrictStr
|
||||
password: StrictStr
|
||||
email: Annotated[str, Field(strict=True)] = Field(description="User email")
|
||||
password: StrictStr = Field(description="User password")
|
||||
__properties: ClassVar[List[str]] = ["email", "password"]
|
||||
|
||||
@field_validator('email')
|
||||
def email_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$", value):
|
||||
raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,10 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,14 +28,29 @@ class LoginResponseDto(BaseModel):
|
||||
"""
|
||||
LoginResponseDto
|
||||
""" # noqa: E501
|
||||
access_token: StrictStr = Field(alias="accessToken")
|
||||
is_admin: StrictBool = Field(alias="isAdmin")
|
||||
name: StrictStr
|
||||
profile_image_path: StrictStr = Field(alias="profileImagePath")
|
||||
should_change_password: StrictBool = Field(alias="shouldChangePassword")
|
||||
user_email: StrictStr = Field(alias="userEmail")
|
||||
user_id: StrictStr = Field(alias="userId")
|
||||
__properties: ClassVar[List[str]] = ["accessToken", "isAdmin", "name", "profileImagePath", "shouldChangePassword", "userEmail", "userId"]
|
||||
access_token: StrictStr = Field(description="Access token", alias="accessToken")
|
||||
is_admin: StrictBool = Field(description="Is admin user", alias="isAdmin")
|
||||
is_onboarded: StrictBool = Field(description="Is onboarded", alias="isOnboarded")
|
||||
name: StrictStr = Field(description="User name")
|
||||
profile_image_path: StrictStr = Field(description="Profile image path", alias="profileImagePath")
|
||||
should_change_password: StrictBool = Field(description="Should change password", alias="shouldChangePassword")
|
||||
user_email: Annotated[str, Field(strict=True)] = Field(description="User email", alias="userEmail")
|
||||
user_id: UUID = Field(description="User ID", alias="userId")
|
||||
__properties: ClassVar[List[str]] = ["accessToken", "isAdmin", "isOnboarded", "name", "profileImagePath", "shouldChangePassword", "userEmail", "userId"]
|
||||
|
||||
@field_validator('user_email')
|
||||
def user_email_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^[a-zA-Z0-9.!#$%&\'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$", value):
|
||||
raise ValueError(r"must validate the regular expression /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/")
|
||||
return value
|
||||
|
||||
@field_validator('user_id')
|
||||
def user_id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -88,6 +105,7 @@ class LoginResponseDto(BaseModel):
|
||||
_obj = cls.model_validate({
|
||||
"accessToken": obj.get("accessToken"),
|
||||
"isAdmin": obj.get("isAdmin"),
|
||||
"isOnboarded": obj.get("isOnboarded"),
|
||||
"name": obj.get("name"),
|
||||
"profileImagePath": obj.get("profileImagePath"),
|
||||
"shouldChangePassword": obj.get("shouldChangePassword"),
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -26,8 +26,8 @@ class LogoutResponseDto(BaseModel):
|
||||
"""
|
||||
LogoutResponseDto
|
||||
""" # noqa: E501
|
||||
redirect_uri: StrictStr = Field(alias="redirectUri")
|
||||
successful: StrictBool
|
||||
redirect_uri: StrictStr = Field(description="Redirect URI", alias="redirectUri")
|
||||
successful: StrictBool = Field(description="Logout successful")
|
||||
__properties: ClassVar[List[str]] = ["redirectUri", "successful"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -20,7 +20,7 @@ from typing_extensions import Self
|
||||
|
||||
class ManualJobName(str, Enum):
|
||||
"""
|
||||
ManualJobName
|
||||
Manual job name
|
||||
"""
|
||||
|
||||
"""
|
||||
@@ -32,6 +32,15 @@ class ManualJobName(str, Enum):
|
||||
MEMORY_MINUS_CLEANUP = 'memory-cleanup'
|
||||
MEMORY_MINUS_CREATE = 'memory-create'
|
||||
BACKUP_MINUS_DATABASE = 'backup-database'
|
||||
INTEGRITY_MINUS_MISSING_MINUS_FILES = 'integrity-missing-files'
|
||||
INTEGRITY_MINUS_UNTRACKED_MINUS_FILES = 'integrity-untracked-files'
|
||||
INTEGRITY_MINUS_CHECKSUM_MINUS_MISMATCH = 'integrity-checksum-mismatch'
|
||||
INTEGRITY_MINUS_MISSING_MINUS_FILES_MINUS_REFRESH = 'integrity-missing-files-refresh'
|
||||
INTEGRITY_MINUS_UNTRACKED_MINUS_FILES_MINUS_REFRESH = 'integrity-untracked-files-refresh'
|
||||
INTEGRITY_MINUS_CHECKSUM_MINUS_MISMATCH_MINUS_REFRESH = 'integrity-checksum-mismatch-refresh'
|
||||
INTEGRITY_MINUS_MISSING_MINUS_FILES_MINUS_DELETE_MINUS_ALL = 'integrity-missing-files-delete-all'
|
||||
INTEGRITY_MINUS_UNTRACKED_MINUS_FILES_MINUS_DELETE_MINUS_ALL = 'integrity-untracked-files-delete-all'
|
||||
INTEGRITY_MINUS_CHECKSUM_MINUS_MISMATCH_MINUS_DELETE_MINUS_ALL = 'integrity-checksum-mismatch-delete-all'
|
||||
|
||||
@classmethod
|
||||
def from_json(cls, json_str: str) -> Self:
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictFloat, StrictInt, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional, Union
|
||||
from uuid import UUID
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,14 +27,21 @@ class MapMarkerResponseDto(BaseModel):
|
||||
"""
|
||||
MapMarkerResponseDto
|
||||
""" # noqa: E501
|
||||
city: Optional[StrictStr]
|
||||
country: Optional[StrictStr]
|
||||
id: StrictStr
|
||||
lat: Union[StrictFloat, StrictInt]
|
||||
lon: Union[StrictFloat, StrictInt]
|
||||
state: Optional[StrictStr]
|
||||
city: Optional[StrictStr] = Field(description="City name")
|
||||
country: Optional[StrictStr] = Field(description="Country name")
|
||||
id: UUID = Field(description="Asset ID")
|
||||
lat: Union[StrictFloat, StrictInt] = Field(description="Latitude")
|
||||
lon: Union[StrictFloat, StrictInt] = Field(description="Longitude")
|
||||
state: Optional[StrictStr] = Field(description="State/Province name")
|
||||
__properties: ClassVar[List[str]] = ["city", "country", "id", "lat", "lon", "state"]
|
||||
|
||||
@field_validator('id')
|
||||
def id_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", value):
|
||||
raise ValueError(r"must validate the regular expression /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
validate_assignment=True,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,7 +17,7 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
@@ -26,9 +26,9 @@ class MapReverseGeocodeResponseDto(BaseModel):
|
||||
"""
|
||||
MapReverseGeocodeResponseDto
|
||||
""" # noqa: E501
|
||||
city: Optional[StrictStr]
|
||||
country: Optional[StrictStr]
|
||||
state: Optional[StrictStr]
|
||||
city: Optional[StrictStr] = Field(description="City name")
|
||||
country: Optional[StrictStr] = Field(description="Country name")
|
||||
state: Optional[StrictStr] = Field(description="State/Province name")
|
||||
__properties: ClassVar[List[str]] = ["city", "country", "state"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictBool
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
||||
from typing import Any, ClassVar, Dict, List
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,8 +27,9 @@ class MemoriesResponse(BaseModel):
|
||||
"""
|
||||
MemoriesResponse
|
||||
""" # noqa: E501
|
||||
enabled: StrictBool
|
||||
__properties: ClassVar[List[str]] = ["enabled"]
|
||||
duration: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Memory duration in seconds")
|
||||
enabled: StrictBool = Field(description="Whether memories are enabled")
|
||||
__properties: ClassVar[List[str]] = ["duration", "enabled"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -80,7 +82,8 @@ class MemoriesResponse(BaseModel):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"enabled": obj.get("enabled") if obj.get("enabled") is not None else True
|
||||
"duration": obj.get("duration"),
|
||||
"enabled": obj.get("enabled")
|
||||
})
|
||||
return _obj
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -17,8 +17,9 @@ import pprint
|
||||
import re # noqa: F401
|
||||
import json
|
||||
|
||||
from pydantic import BaseModel, ConfigDict, StrictBool
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from typing_extensions import Annotated
|
||||
from typing import Optional, Set
|
||||
from typing_extensions import Self
|
||||
|
||||
@@ -26,8 +27,9 @@ class MemoriesUpdate(BaseModel):
|
||||
"""
|
||||
MemoriesUpdate
|
||||
""" # noqa: E501
|
||||
enabled: Optional[StrictBool] = None
|
||||
__properties: ClassVar[List[str]] = ["enabled"]
|
||||
duration: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]] = Field(default=None, description="Memory duration in seconds")
|
||||
enabled: Optional[StrictBool] = Field(default=None, description="Whether memories are enabled")
|
||||
__properties: ClassVar[List[str]] = ["duration", "enabled"]
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -80,6 +82,7 @@ class MemoriesUpdate(BaseModel):
|
||||
return cls.model_validate(obj)
|
||||
|
||||
_obj = cls.model_validate({
|
||||
"duration": obj.get("duration"),
|
||||
"enabled": obj.get("enabled")
|
||||
})
|
||||
return _obj
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Immich API
|
||||
|
||||
The version of the OpenAPI document: 1.131.3
|
||||
The version of the OpenAPI document: 3.0.1
|
||||
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
||||
|
||||
Do not edit the class manually.
|
||||
@@ -18,8 +18,9 @@ import re # noqa: F401
|
||||
import json
|
||||
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
|
||||
from pydantic import BaseModel, ConfigDict, Field, StrictBool
|
||||
from typing import Any, ClassVar, Dict, List, Optional
|
||||
from uuid import UUID
|
||||
from generated.immich.openapi_client.models.memory_type import MemoryType
|
||||
from generated.immich.openapi_client.models.on_this_day_dto import OnThisDayDto
|
||||
from typing import Optional, Set
|
||||
@@ -29,13 +30,52 @@ class MemoryCreateDto(BaseModel):
|
||||
"""
|
||||
MemoryCreateDto
|
||||
""" # noqa: E501
|
||||
asset_ids: Optional[List[StrictStr]] = Field(default=None, alias="assetIds")
|
||||
asset_ids: Optional[List[UUID]] = Field(default=None, description="Asset IDs to associate with memory", alias="assetIds")
|
||||
data: OnThisDayDto
|
||||
is_saved: Optional[StrictBool] = Field(default=None, alias="isSaved")
|
||||
memory_at: datetime = Field(alias="memoryAt")
|
||||
seen_at: Optional[datetime] = Field(default=None, alias="seenAt")
|
||||
hide_at: Optional[datetime] = Field(default=None, description="Date when memory should be hidden", alias="hideAt")
|
||||
is_saved: Optional[StrictBool] = Field(default=None, description="Is memory saved", alias="isSaved")
|
||||
memory_at: datetime = Field(description="Memory date", alias="memoryAt")
|
||||
seen_at: Optional[datetime] = Field(default=None, description="Date when memory was seen", alias="seenAt")
|
||||
show_at: Optional[datetime] = Field(default=None, description="Date when memory should be shown", alias="showAt")
|
||||
type: MemoryType
|
||||
__properties: ClassVar[List[str]] = ["assetIds", "data", "isSaved", "memoryAt", "seenAt", "type"]
|
||||
__properties: ClassVar[List[str]] = ["assetIds", "data", "hideAt", "isSaved", "memoryAt", "seenAt", "showAt", "type"]
|
||||
|
||||
@field_validator('hide_at')
|
||||
def hide_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
@field_validator('memory_at')
|
||||
def memory_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
@field_validator('seen_at')
|
||||
def seen_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
@field_validator('show_at')
|
||||
def show_at_validate_regular_expression(cls, value):
|
||||
"""Validates the regular expression"""
|
||||
if value is None:
|
||||
return value
|
||||
|
||||
if not re.match(r"^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$", value):
|
||||
raise ValueError(r"must validate the regular expression /^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/")
|
||||
return value
|
||||
|
||||
model_config = ConfigDict(
|
||||
populate_by_name=True,
|
||||
@@ -93,9 +133,11 @@ class MemoryCreateDto(BaseModel):
|
||||
_obj = cls.model_validate({
|
||||
"assetIds": obj.get("assetIds"),
|
||||
"data": OnThisDayDto.from_dict(obj["data"]) if obj.get("data") is not None else None,
|
||||
"hideAt": obj.get("hideAt"),
|
||||
"isSaved": obj.get("isSaved"),
|
||||
"memoryAt": obj.get("memoryAt"),
|
||||
"seenAt": obj.get("seenAt"),
|
||||
"showAt": obj.get("showAt"),
|
||||
"type": obj.get("type")
|
||||
})
|
||||
return _obj
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user