diff --git a/generated/immich/openapi_client/__init__.py b/generated/immich/openapi_client/__init__.py index b239395..a99f1df 100644 --- a/generated/immich/openapi_client/__init__.py +++ b/generated/immich/openapi_client/__init__.py @@ -7,7 +7,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. @@ -16,297 +16,845 @@ __version__ = "1.0.0" +# Define package exports +__all__ = [ + "APIKeysApi", + "ActivitiesApi", + "AlbumsApi", + "AssetsApi", + "AuthenticationApi", + "AuthenticationAdminApi", + "DatabaseBackupsAdminApi", + "DeprecatedApi", + "DownloadApi", + "DuplicatesApi", + "FacesApi", + "JobsApi", + "LibrariesApi", + "MaintenanceAdminApi", + "MapApi", + "MemoriesApi", + "NotificationsApi", + "NotificationsAdminApi", + "PartnersApi", + "PeopleApi", + "PluginsApi", + "QueuesApi", + "SearchApi", + "ServerApi", + "SessionsApi", + "SharedLinksApi", + "StacksApi", + "SyncApi", + "SystemConfigApi", + "SystemMetadataApi", + "TagsApi", + "TimelineApi", + "TrashApi", + "UsersApi", + "UsersAdminApi", + "ViewsApi", + "WorkflowsApi", + "ApiResponse", + "ApiClient", + "Configuration", + "OpenApiException", + "ApiTypeError", + "ApiValueError", + "ApiKeyError", + "ApiAttributeError", + "ApiException", + "ActivityCreateDto", + "ActivityResponseDto", + "ActivityStatisticsResponseDto", + "AddUsersDto", + "AdminOnboardingUpdateDto", + "AlbumResponseDto", + "AlbumStatisticsResponseDto", + "AlbumUserAddDto", + "AlbumUserCreateDto", + "AlbumUserResponseDto", + "AlbumUserRole", + "AlbumsAddAssetsDto", + "AlbumsAddAssetsResponseDto", + "AlbumsResponse", + "AlbumsUpdate", + "ApiKeyCreateDto", + "ApiKeyCreateResponseDto", + "ApiKeyResponseDto", + "ApiKeyUpdateDto", + "AssetBulkDeleteDto", + "AssetBulkUpdateDto", + "AssetBulkUploadCheckDto", + "AssetBulkUploadCheckItem", + "AssetBulkUploadCheckResponseDto", + "AssetBulkUploadCheckResult", + "AssetCopyDto", + "AssetEditAction", + "AssetEditActionItemDto", + "AssetEditActionItemDtoParameters", + "AssetEditActionItemResponseDto", + "AssetEditsCreateDto", + "AssetEditsResponseDto", + "AssetFaceCreateDto", + "AssetFaceDeleteDto", + "AssetFaceResponseDto", + "AssetFaceUpdateDto", + "AssetFaceUpdateItem", + "AssetIdErrorReason", + "AssetIdsDto", + "AssetIdsResponseDto", + "AssetJobName", + "AssetJobsDto", + "AssetMediaResponseDto", + "AssetMediaSize", + "AssetMediaStatus", + "AssetMetadataBulkDeleteDto", + "AssetMetadataBulkDeleteItemDto", + "AssetMetadataBulkResponseDto", + "AssetMetadataBulkUpsertDto", + "AssetMetadataBulkUpsertItemDto", + "AssetMetadataResponseDto", + "AssetMetadataUpsertDto", + "AssetMetadataUpsertItemDto", + "AssetOcrResponseDto", + "AssetOrder", + "AssetOrderBy", + "AssetRejectReason", + "AssetResponseDto", + "AssetStackResponseDto", + "AssetStatsResponseDto", + "AssetTypeEnum", + "AssetUploadAction", + "AssetVisibility", + "AudioCodec", + "AuthStatusResponseDto", + "AvatarUpdate", + "BulkIdErrorReason", + "BulkIdResponseDto", + "BulkIdsDto", + "CLIPConfig", + "CQMode", + "CalendarHeatmapResponseDto", + "CalendarHeatmapResponseDtoSeriesInner", + "CalendarHeatmapType", + "CastResponse", + "CastUpdate", + "ChangePasswordDto", + "Colorspace", + "ContributorCountResponseDto", + "CreateAlbumDto", + "CreateLibraryDto", + "CreateProfileImageResponseDto", + "CropParameters", + "DatabaseBackupConfig", + "DatabaseBackupDeleteDto", + "DatabaseBackupDto", + "DatabaseBackupListResponseDto", + "DownloadArchiveDto", + "DownloadArchiveInfo", + "DownloadInfoDto", + "DownloadResponse", + "DownloadResponseDto", + "DownloadUpdate", + "DuplicateDetectionConfig", + "DuplicateResolveDto", + "DuplicateResolveGroupDto", + "DuplicateResponseDto", + "EmailNotificationsResponse", + "EmailNotificationsUpdate", + "ExifResponseDto", + "FaceDto", + "FacialRecognitionConfig", + "FoldersResponse", + "FoldersUpdate", + "ImageFormat", + "IntegrityReport", + "IntegrityReportResponseDto", + "IntegrityReportResponseDtoItemsInner", + "IntegrityReportSummaryResponseDto", + "JobCreateDto", + "JobName", + "JobSettingsDto", + "LibraryResponseDto", + "LibraryStatsResponseDto", + "LicenseKeyDto", + "LogLevel", + "LoginCredentialDto", + "LoginResponseDto", + "LogoutResponseDto", + "MachineLearningAvailabilityChecksDto", + "MaintenanceAction", + "MaintenanceAuthDto", + "MaintenanceDetectInstallResponseDto", + "MaintenanceDetectInstallStorageFolderDto", + "MaintenanceLoginDto", + "MaintenanceStatusResponseDto", + "ManualJobName", + "MapMarkerResponseDto", + "MapReverseGeocodeResponseDto", + "MemoriesResponse", + "MemoriesUpdate", + "MemoryCreateDto", + "MemoryResponseDto", + "MemorySearchOrder", + "MemoryStatisticsResponseDto", + "MemoryType", + "MemoryUpdateDto", + "MergePersonDto", + "MetadataSearchDto", + "MirrorAxis", + "MirrorParameters", + "NotificationCreateDto", + "NotificationDeleteAllDto", + "NotificationDto", + "NotificationLevel", + "NotificationType", + "NotificationUpdateAllDto", + "NotificationUpdateDto", + "OAuthAuthorizeResponseDto", + "OAuthCallbackDto", + "OAuthConfigDto", + "OAuthTokenEndpointAuthMethod", + "OcrConfig", + "OnThisDayDto", + "OnboardingDto", + "OnboardingResponseDto", + "PartnerCreateDto", + "PartnerDirection", + "PartnerResponseDto", + "PartnerUpdateDto", + "PeopleResponse", + "PeopleResponseDto", + "PeopleUpdate", + "PeopleUpdateDto", + "PeopleUpdateItem", + "Permission", + "PersonCreateDto", + "PersonResponseDto", + "PersonStatisticsResponseDto", + "PersonUpdateDto", + "PinCodeChangeDto", + "PinCodeResetDto", + "PinCodeSetupDto", + "PlacesResponseDto", + "PluginMethodResponseDto", + "PluginResponseDto", + "PluginTemplateResponseDto", + "PluginTemplateStepResponseDto", + "PurchaseResponse", + "PurchaseUpdate", + "QueueCommand", + "QueueCommandDto", + "QueueDeleteDto", + "QueueJobResponseDto", + "QueueJobStatus", + "QueueName", + "QueueResponseDto", + "QueueResponseLegacyDto", + "QueueStatisticsDto", + "QueueStatusLegacyDto", + "QueueUpdateDto", + "QueuesResponseLegacyDto", + "RandomSearchDto", + "RatingsResponse", + "RatingsUpdate", + "ReactionLevel", + "ReactionType", + "RecentlyAddedResponse", + "RecentlyAddedUpdate", + "ReleaseChannel", + "ReleaseEventV1", + "ReleaseType", + "ReverseGeocodingStateResponseDto", + "RotateParameters", + "SearchAlbumResponseDto", + "SearchAssetResponseDto", + "SearchExploreItem", + "SearchExploreResponseDto", + "SearchFacetCountResponseDto", + "SearchFacetResponseDto", + "SearchResponseDto", + "SearchStatisticsResponseDto", + "SearchSuggestionType", + "ServerAboutResponseDto", + "ServerApkLinksDto", + "ServerConfigDto", + "ServerFeaturesDto", + "ServerMediaTypesResponseDto", + "ServerPingResponse", + "ServerStatsResponseDto", + "ServerStorageResponseDto", + "ServerVersionHistoryResponseDto", + "ServerVersionResponseDto", + "SessionCreateDto", + "SessionCreateResponseDto", + "SessionResponseDto", + "SessionUnlockDto", + "SessionUpdateDto", + "SetMaintenanceModeDto", + "SharedLinkCreateDto", + "SharedLinkEditDto", + "SharedLinkLoginDto", + "SharedLinkResponseDto", + "SharedLinkType", + "SharedLinksResponse", + "SharedLinksUpdate", + "SignUpDto", + "SmartSearchDto", + "SourceType", + "StackCreateDto", + "StackResponseDto", + "StackUpdateDto", + "StatisticsSearchDto", + "StorageFolder", + "SyncAckDeleteDto", + "SyncAckDto", + "SyncAckSetDto", + "SyncAlbumDeleteV1", + "SyncAlbumToAssetDeleteV1", + "SyncAlbumToAssetV1", + "SyncAlbumUserDeleteV1", + "SyncAlbumUserV1", + "SyncAlbumV1", + "SyncAlbumV2", + "SyncAssetDeleteV1", + "SyncAssetEditDeleteV1", + "SyncAssetEditV1", + "SyncAssetExifV1", + "SyncAssetFaceDeleteV1", + "SyncAssetFaceV1", + "SyncAssetFaceV2", + "SyncAssetMetadataDeleteV1", + "SyncAssetMetadataV1", + "SyncAssetOcrDeleteV1", + "SyncAssetOcrV1", + "SyncAssetV1", + "SyncAssetV2", + "SyncAuthUserV1", + "SyncEntityType", + "SyncMemoryAssetDeleteV1", + "SyncMemoryAssetV1", + "SyncMemoryDeleteV1", + "SyncMemoryV1", + "SyncPartnerDeleteV1", + "SyncPartnerV1", + "SyncPersonDeleteV1", + "SyncPersonV1", + "SyncRequestType", + "SyncStackDeleteV1", + "SyncStackV1", + "SyncStreamDto", + "SyncUserDeleteV1", + "SyncUserMetadataDeleteV1", + "SyncUserMetadataV1", + "SyncUserV1", + "SystemConfigBackupsDto", + "SystemConfigDto", + "SystemConfigFFmpegDto", + "SystemConfigFFmpegRealtimeDto", + "SystemConfigFacesDto", + "SystemConfigGeneratedFullsizeImageDto", + "SystemConfigGeneratedImageDto", + "SystemConfigImageDto", + "SystemConfigIntegrityChecks", + "SystemConfigIntegrityChecksumJob", + "SystemConfigIntegrityJob", + "SystemConfigJobDto", + "SystemConfigLibraryDto", + "SystemConfigLibraryScanDto", + "SystemConfigLibraryWatchDto", + "SystemConfigLoggingDto", + "SystemConfigMachineLearningDto", + "SystemConfigMapDto", + "SystemConfigMetadataDto", + "SystemConfigNewVersionCheckDto", + "SystemConfigNightlyTasksDto", + "SystemConfigNotificationsDto", + "SystemConfigOAuthDto", + "SystemConfigPasswordLoginDto", + "SystemConfigReverseGeocodingDto", + "SystemConfigServerDto", + "SystemConfigSmtpDto", + "SystemConfigSmtpTransportDto", + "SystemConfigStorageTemplateDto", + "SystemConfigTemplateEmailsDto", + "SystemConfigTemplateStorageOptionDto", + "SystemConfigTemplatesDto", + "SystemConfigThemeDto", + "SystemConfigTrashDto", + "SystemConfigUserDto", + "TagBulkAssetsDto", + "TagBulkAssetsResponseDto", + "TagCreateDto", + "TagResponseDto", + "TagUpdateDto", + "TagUpsertDto", + "TagsResponse", + "TagsUpdate", + "TemplateDto", + "TemplateResponseDto", + "TestEmailResponseDto", + "TimeBucketAssetResponseDto", + "TimeBucketsResponseDto", + "ToneMapping", + "TranscodeHWAccel", + "TranscodePolicy", + "TrashResponseDto", + "UpdateAlbumDto", + "UpdateAlbumUserDto", + "UpdateAssetDto", + "UpdateLibraryDto", + "UsageByUserDto", + "UserAdminCreateDto", + "UserAdminDeleteDto", + "UserAdminResponseDto", + "UserAdminUpdateDto", + "UserAvatarColor", + "UserLicense", + "UserMetadataKey", + "UserPreferencesResponseDto", + "UserPreferencesUpdateDto", + "UserResponseDto", + "UserStatus", + "UserUpdateMeDto", + "ValidateAccessTokenResponseDto", + "ValidateLibraryDto", + "ValidateLibraryImportPathResponseDto", + "ValidateLibraryResponseDto", + "VersionCheckStateResponseDto", + "VideoCodec", + "VideoContainer", + "WorkflowCreateDto", + "WorkflowResponseDto", + "WorkflowShareResponseDto", + "WorkflowShareStepDto", + "WorkflowStepDto", + "WorkflowTrigger", + "WorkflowTriggerResponseDto", + "WorkflowType", + "WorkflowUpdateDto", +] + # import apis into sdk package -from generated.immich.openapi_client.api.api_keys_api import APIKeysApi -from generated.immich.openapi_client.api.activities_api import ActivitiesApi -from generated.immich.openapi_client.api.albums_api import AlbumsApi -from generated.immich.openapi_client.api.assets_api import AssetsApi -from generated.immich.openapi_client.api.authentication_api import AuthenticationApi -from generated.immich.openapi_client.api.deprecated_api import DeprecatedApi -from generated.immich.openapi_client.api.download_api import DownloadApi -from generated.immich.openapi_client.api.duplicates_api import DuplicatesApi -from generated.immich.openapi_client.api.faces_api import FacesApi -from generated.immich.openapi_client.api.file_reports_api import FileReportsApi -from generated.immich.openapi_client.api.jobs_api import JobsApi -from generated.immich.openapi_client.api.libraries_api import LibrariesApi -from generated.immich.openapi_client.api.map_api import MapApi -from generated.immich.openapi_client.api.memories_api import MemoriesApi -from generated.immich.openapi_client.api.notifications_api import NotificationsApi -from generated.immich.openapi_client.api.o_auth_api import OAuthApi -from generated.immich.openapi_client.api.partners_api import PartnersApi -from generated.immich.openapi_client.api.people_api import PeopleApi -from generated.immich.openapi_client.api.search_api import SearchApi -from generated.immich.openapi_client.api.server_api import ServerApi -from generated.immich.openapi_client.api.sessions_api import SessionsApi -from generated.immich.openapi_client.api.shared_links_api import SharedLinksApi -from generated.immich.openapi_client.api.stacks_api import StacksApi -from generated.immich.openapi_client.api.sync_api import SyncApi -from generated.immich.openapi_client.api.system_config_api import SystemConfigApi -from generated.immich.openapi_client.api.system_metadata_api import SystemMetadataApi -from generated.immich.openapi_client.api.tags_api import TagsApi -from generated.immich.openapi_client.api.timeline_api import TimelineApi -from generated.immich.openapi_client.api.trash_api import TrashApi -from generated.immich.openapi_client.api.users_api import UsersApi -from generated.immich.openapi_client.api.users_admin_api import UsersAdminApi -from generated.immich.openapi_client.api.view_api import ViewApi +from generated.immich.openapi_client.api.api_keys_api import APIKeysApi as APIKeysApi +from generated.immich.openapi_client.api.activities_api import ActivitiesApi as ActivitiesApi +from generated.immich.openapi_client.api.albums_api import AlbumsApi as AlbumsApi +from generated.immich.openapi_client.api.assets_api import AssetsApi as AssetsApi +from generated.immich.openapi_client.api.authentication_api import AuthenticationApi as AuthenticationApi +from generated.immich.openapi_client.api.authentication_admin_api import AuthenticationAdminApi as AuthenticationAdminApi +from generated.immich.openapi_client.api.database_backups_admin_api import DatabaseBackupsAdminApi as DatabaseBackupsAdminApi +from generated.immich.openapi_client.api.deprecated_api import DeprecatedApi as DeprecatedApi +from generated.immich.openapi_client.api.download_api import DownloadApi as DownloadApi +from generated.immich.openapi_client.api.duplicates_api import DuplicatesApi as DuplicatesApi +from generated.immich.openapi_client.api.faces_api import FacesApi as FacesApi +from generated.immich.openapi_client.api.jobs_api import JobsApi as JobsApi +from generated.immich.openapi_client.api.libraries_api import LibrariesApi as LibrariesApi +from generated.immich.openapi_client.api.maintenance_admin_api import MaintenanceAdminApi as MaintenanceAdminApi +from generated.immich.openapi_client.api.map_api import MapApi as MapApi +from generated.immich.openapi_client.api.memories_api import MemoriesApi as MemoriesApi +from generated.immich.openapi_client.api.notifications_api import NotificationsApi as NotificationsApi +from generated.immich.openapi_client.api.notifications_admin_api import NotificationsAdminApi as NotificationsAdminApi +from generated.immich.openapi_client.api.partners_api import PartnersApi as PartnersApi +from generated.immich.openapi_client.api.people_api import PeopleApi as PeopleApi +from generated.immich.openapi_client.api.plugins_api import PluginsApi as PluginsApi +from generated.immich.openapi_client.api.queues_api import QueuesApi as QueuesApi +from generated.immich.openapi_client.api.search_api import SearchApi as SearchApi +from generated.immich.openapi_client.api.server_api import ServerApi as ServerApi +from generated.immich.openapi_client.api.sessions_api import SessionsApi as SessionsApi +from generated.immich.openapi_client.api.shared_links_api import SharedLinksApi as SharedLinksApi +from generated.immich.openapi_client.api.stacks_api import StacksApi as StacksApi +from generated.immich.openapi_client.api.sync_api import SyncApi as SyncApi +from generated.immich.openapi_client.api.system_config_api import SystemConfigApi as SystemConfigApi +from generated.immich.openapi_client.api.system_metadata_api import SystemMetadataApi as SystemMetadataApi +from generated.immich.openapi_client.api.tags_api import TagsApi as TagsApi +from generated.immich.openapi_client.api.timeline_api import TimelineApi as TimelineApi +from generated.immich.openapi_client.api.trash_api import TrashApi as TrashApi +from generated.immich.openapi_client.api.users_api import UsersApi as UsersApi +from generated.immich.openapi_client.api.users_admin_api import UsersAdminApi as UsersAdminApi +from generated.immich.openapi_client.api.views_api import ViewsApi as ViewsApi +from generated.immich.openapi_client.api.workflows_api import WorkflowsApi as WorkflowsApi # import ApiClient -from generated.immich.openapi_client.api_response import ApiResponse -from generated.immich.openapi_client.api_client import ApiClient -from generated.immich.openapi_client.configuration import Configuration -from generated.immich.openapi_client.exceptions import OpenApiException -from generated.immich.openapi_client.exceptions import ApiTypeError -from generated.immich.openapi_client.exceptions import ApiValueError -from generated.immich.openapi_client.exceptions import ApiKeyError -from generated.immich.openapi_client.exceptions import ApiAttributeError -from generated.immich.openapi_client.exceptions import ApiException +from generated.immich.openapi_client.api_response import ApiResponse as ApiResponse +from generated.immich.openapi_client.api_client import ApiClient as ApiClient +from generated.immich.openapi_client.configuration import Configuration as Configuration +from generated.immich.openapi_client.exceptions import OpenApiException as OpenApiException +from generated.immich.openapi_client.exceptions import ApiTypeError as ApiTypeError +from generated.immich.openapi_client.exceptions import ApiValueError as ApiValueError +from generated.immich.openapi_client.exceptions import ApiKeyError as ApiKeyError +from generated.immich.openapi_client.exceptions import ApiAttributeError as ApiAttributeError +from generated.immich.openapi_client.exceptions import ApiException as ApiException # import models into sdk 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 -from generated.immich.openapi_client.models.add_users_dto import AddUsersDto -from generated.immich.openapi_client.models.admin_onboarding_update_dto import AdminOnboardingUpdateDto -from generated.immich.openapi_client.models.album_response_dto import AlbumResponseDto -from generated.immich.openapi_client.models.album_statistics_response_dto import AlbumStatisticsResponseDto -from generated.immich.openapi_client.models.album_user_add_dto import AlbumUserAddDto -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.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_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_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 -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_order import AssetOrder -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.audio_codec import AudioCodec -from generated.immich.openapi_client.models.avatar_response import AvatarResponse -from generated.immich.openapi_client.models.avatar_update import AvatarUpdate -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.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.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.database_backup_config import DatabaseBackupConfig -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_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.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.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_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.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.on_this_day_dto import OnThisDayDto -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.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 -from generated.immich.openapi_client.models.people_update_dto import PeopleUpdateDto -from generated.immich.openapi_client.models.people_update_item import PeopleUpdateItem -from generated.immich.openapi_client.models.permission import Permission -from generated.immich.openapi_client.models.person_create_dto import PersonCreateDto -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.places_response_dto import PlacesResponseDto -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.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.reverse_geocoding_state_response_dto import ReverseGeocodingStateResponseDto -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 -from generated.immich.openapi_client.models.search_explore_response_dto import SearchExploreResponseDto -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_suggestion_type import SearchSuggestionType -from generated.immich.openapi_client.models.server_about_response_dto import ServerAboutResponseDto -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_response_dto import SessionResponseDto -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_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 -from generated.immich.openapi_client.models.shared_links_update import SharedLinksUpdate -from generated.immich.openapi_client.models.sign_up_dto import SignUpDto -from generated.immich.openapi_client.models.smart_search_dto import SmartSearchDto -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.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_asset_delete_v1 import SyncAssetDeleteV1 -from generated.immich.openapi_client.models.sync_asset_exif_v1 import SyncAssetExifV1 -from generated.immich.openapi_client.models.sync_asset_v1 import SyncAssetV1 -from generated.immich.openapi_client.models.sync_entity_type import SyncEntityType -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_request_type import SyncRequestType -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_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_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_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 -from generated.immich.openapi_client.models.system_config_library_watch_dto import SystemConfigLibraryWatchDto -from generated.immich.openapi_client.models.system_config_logging_dto import SystemConfigLoggingDto -from generated.immich.openapi_client.models.system_config_machine_learning_dto import SystemConfigMachineLearningDto -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_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 -from generated.immich.openapi_client.models.system_config_reverse_geocoding_dto import SystemConfigReverseGeocodingDto -from generated.immich.openapi_client.models.system_config_server_dto import SystemConfigServerDto -from generated.immich.openapi_client.models.system_config_smtp_dto import SystemConfigSmtpDto -from generated.immich.openapi_client.models.system_config_smtp_transport_dto import SystemConfigSmtpTransportDto -from generated.immich.openapi_client.models.system_config_storage_template_dto import SystemConfigStorageTemplateDto -from generated.immich.openapi_client.models.system_config_template_emails_dto import SystemConfigTemplateEmailsDto -from generated.immich.openapi_client.models.system_config_template_storage_option_dto import SystemConfigTemplateStorageOptionDto -from generated.immich.openapi_client.models.system_config_templates_dto import SystemConfigTemplatesDto -from generated.immich.openapi_client.models.system_config_theme_dto import SystemConfigThemeDto -from generated.immich.openapi_client.models.system_config_trash_dto import SystemConfigTrashDto -from generated.immich.openapi_client.models.system_config_user_dto import SystemConfigUserDto -from generated.immich.openapi_client.models.tag_bulk_assets_dto import TagBulkAssetsDto -from generated.immich.openapi_client.models.tag_bulk_assets_response_dto import TagBulkAssetsResponseDto -from generated.immich.openapi_client.models.tag_create_dto import TagCreateDto -from generated.immich.openapi_client.models.tag_response_dto import TagResponseDto -from generated.immich.openapi_client.models.tag_update_dto import TagUpdateDto -from generated.immich.openapi_client.models.tag_upsert_dto import TagUpsertDto -from generated.immich.openapi_client.models.tags_response import TagsResponse -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.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 -from generated.immich.openapi_client.models.trash_response_dto import TrashResponseDto -from generated.immich.openapi_client.models.update_album_dto import UpdateAlbumDto -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 -from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto -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_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 -from generated.immich.openapi_client.models.user_status import UserStatus -from generated.immich.openapi_client.models.user_update_me_dto import UserUpdateMeDto -from generated.immich.openapi_client.models.validate_access_token_response_dto import ValidateAccessTokenResponseDto -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.video_codec import VideoCodec -from generated.immich.openapi_client.models.video_container import VideoContainer +from generated.immich.openapi_client.models.activity_create_dto import ActivityCreateDto as ActivityCreateDto +from generated.immich.openapi_client.models.activity_response_dto import ActivityResponseDto as ActivityResponseDto +from generated.immich.openapi_client.models.activity_statistics_response_dto import ActivityStatisticsResponseDto as ActivityStatisticsResponseDto +from generated.immich.openapi_client.models.add_users_dto import AddUsersDto as AddUsersDto +from generated.immich.openapi_client.models.admin_onboarding_update_dto import AdminOnboardingUpdateDto as AdminOnboardingUpdateDto +from generated.immich.openapi_client.models.album_response_dto import AlbumResponseDto as AlbumResponseDto +from generated.immich.openapi_client.models.album_statistics_response_dto import AlbumStatisticsResponseDto as AlbumStatisticsResponseDto +from generated.immich.openapi_client.models.album_user_add_dto import AlbumUserAddDto as AlbumUserAddDto +from generated.immich.openapi_client.models.album_user_create_dto import AlbumUserCreateDto as AlbumUserCreateDto +from generated.immich.openapi_client.models.album_user_response_dto import AlbumUserResponseDto as AlbumUserResponseDto +from generated.immich.openapi_client.models.album_user_role import AlbumUserRole as AlbumUserRole +from generated.immich.openapi_client.models.albums_add_assets_dto import AlbumsAddAssetsDto as AlbumsAddAssetsDto +from generated.immich.openapi_client.models.albums_add_assets_response_dto import AlbumsAddAssetsResponseDto as AlbumsAddAssetsResponseDto +from generated.immich.openapi_client.models.albums_response import AlbumsResponse as AlbumsResponse +from generated.immich.openapi_client.models.albums_update import AlbumsUpdate as AlbumsUpdate +from generated.immich.openapi_client.models.api_key_create_dto import ApiKeyCreateDto as ApiKeyCreateDto +from generated.immich.openapi_client.models.api_key_create_response_dto import ApiKeyCreateResponseDto as ApiKeyCreateResponseDto +from generated.immich.openapi_client.models.api_key_response_dto import ApiKeyResponseDto as ApiKeyResponseDto +from generated.immich.openapi_client.models.api_key_update_dto import ApiKeyUpdateDto as ApiKeyUpdateDto +from generated.immich.openapi_client.models.asset_bulk_delete_dto import AssetBulkDeleteDto as AssetBulkDeleteDto +from generated.immich.openapi_client.models.asset_bulk_update_dto import AssetBulkUpdateDto as AssetBulkUpdateDto +from generated.immich.openapi_client.models.asset_bulk_upload_check_dto import AssetBulkUploadCheckDto as AssetBulkUploadCheckDto +from generated.immich.openapi_client.models.asset_bulk_upload_check_item import AssetBulkUploadCheckItem as AssetBulkUploadCheckItem +from generated.immich.openapi_client.models.asset_bulk_upload_check_response_dto import AssetBulkUploadCheckResponseDto as AssetBulkUploadCheckResponseDto +from generated.immich.openapi_client.models.asset_bulk_upload_check_result import AssetBulkUploadCheckResult as AssetBulkUploadCheckResult +from generated.immich.openapi_client.models.asset_copy_dto import AssetCopyDto as AssetCopyDto +from generated.immich.openapi_client.models.asset_edit_action import AssetEditAction as AssetEditAction +from generated.immich.openapi_client.models.asset_edit_action_item_dto import AssetEditActionItemDto as AssetEditActionItemDto +from generated.immich.openapi_client.models.asset_edit_action_item_dto_parameters import AssetEditActionItemDtoParameters as AssetEditActionItemDtoParameters +from generated.immich.openapi_client.models.asset_edit_action_item_response_dto import AssetEditActionItemResponseDto as AssetEditActionItemResponseDto +from generated.immich.openapi_client.models.asset_edits_create_dto import AssetEditsCreateDto as AssetEditsCreateDto +from generated.immich.openapi_client.models.asset_edits_response_dto import AssetEditsResponseDto as AssetEditsResponseDto +from generated.immich.openapi_client.models.asset_face_create_dto import AssetFaceCreateDto as AssetFaceCreateDto +from generated.immich.openapi_client.models.asset_face_delete_dto import AssetFaceDeleteDto as AssetFaceDeleteDto +from generated.immich.openapi_client.models.asset_face_response_dto import AssetFaceResponseDto as AssetFaceResponseDto +from generated.immich.openapi_client.models.asset_face_update_dto import AssetFaceUpdateDto as AssetFaceUpdateDto +from generated.immich.openapi_client.models.asset_face_update_item import AssetFaceUpdateItem as AssetFaceUpdateItem +from generated.immich.openapi_client.models.asset_id_error_reason import AssetIdErrorReason as AssetIdErrorReason +from generated.immich.openapi_client.models.asset_ids_dto import AssetIdsDto as AssetIdsDto +from generated.immich.openapi_client.models.asset_ids_response_dto import AssetIdsResponseDto as AssetIdsResponseDto +from generated.immich.openapi_client.models.asset_job_name import AssetJobName as AssetJobName +from generated.immich.openapi_client.models.asset_jobs_dto import AssetJobsDto as AssetJobsDto +from generated.immich.openapi_client.models.asset_media_response_dto import AssetMediaResponseDto as AssetMediaResponseDto +from generated.immich.openapi_client.models.asset_media_size import AssetMediaSize as AssetMediaSize +from generated.immich.openapi_client.models.asset_media_status import AssetMediaStatus as AssetMediaStatus +from generated.immich.openapi_client.models.asset_metadata_bulk_delete_dto import AssetMetadataBulkDeleteDto as AssetMetadataBulkDeleteDto +from generated.immich.openapi_client.models.asset_metadata_bulk_delete_item_dto import AssetMetadataBulkDeleteItemDto as AssetMetadataBulkDeleteItemDto +from generated.immich.openapi_client.models.asset_metadata_bulk_response_dto import AssetMetadataBulkResponseDto as AssetMetadataBulkResponseDto +from generated.immich.openapi_client.models.asset_metadata_bulk_upsert_dto import AssetMetadataBulkUpsertDto as AssetMetadataBulkUpsertDto +from generated.immich.openapi_client.models.asset_metadata_bulk_upsert_item_dto import AssetMetadataBulkUpsertItemDto as AssetMetadataBulkUpsertItemDto +from generated.immich.openapi_client.models.asset_metadata_response_dto import AssetMetadataResponseDto as AssetMetadataResponseDto +from generated.immich.openapi_client.models.asset_metadata_upsert_dto import AssetMetadataUpsertDto as AssetMetadataUpsertDto +from generated.immich.openapi_client.models.asset_metadata_upsert_item_dto import AssetMetadataUpsertItemDto as AssetMetadataUpsertItemDto +from generated.immich.openapi_client.models.asset_ocr_response_dto import AssetOcrResponseDto as AssetOcrResponseDto +from generated.immich.openapi_client.models.asset_order import AssetOrder as AssetOrder +from generated.immich.openapi_client.models.asset_order_by import AssetOrderBy as AssetOrderBy +from generated.immich.openapi_client.models.asset_reject_reason import AssetRejectReason as AssetRejectReason +from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto as AssetResponseDto +from generated.immich.openapi_client.models.asset_stack_response_dto import AssetStackResponseDto as AssetStackResponseDto +from generated.immich.openapi_client.models.asset_stats_response_dto import AssetStatsResponseDto as AssetStatsResponseDto +from generated.immich.openapi_client.models.asset_type_enum import AssetTypeEnum as AssetTypeEnum +from generated.immich.openapi_client.models.asset_upload_action import AssetUploadAction as AssetUploadAction +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility as AssetVisibility +from generated.immich.openapi_client.models.audio_codec import AudioCodec as AudioCodec +from generated.immich.openapi_client.models.auth_status_response_dto import AuthStatusResponseDto as AuthStatusResponseDto +from generated.immich.openapi_client.models.avatar_update import AvatarUpdate as AvatarUpdate +from generated.immich.openapi_client.models.bulk_id_error_reason import BulkIdErrorReason as BulkIdErrorReason +from generated.immich.openapi_client.models.bulk_id_response_dto import BulkIdResponseDto as BulkIdResponseDto +from generated.immich.openapi_client.models.bulk_ids_dto import BulkIdsDto as BulkIdsDto +from generated.immich.openapi_client.models.clip_config import CLIPConfig as CLIPConfig +from generated.immich.openapi_client.models.cq_mode import CQMode as CQMode +from generated.immich.openapi_client.models.calendar_heatmap_response_dto import CalendarHeatmapResponseDto as CalendarHeatmapResponseDto +from generated.immich.openapi_client.models.calendar_heatmap_response_dto_series_inner import CalendarHeatmapResponseDtoSeriesInner as CalendarHeatmapResponseDtoSeriesInner +from generated.immich.openapi_client.models.calendar_heatmap_type import CalendarHeatmapType as CalendarHeatmapType +from generated.immich.openapi_client.models.cast_response import CastResponse as CastResponse +from generated.immich.openapi_client.models.cast_update import CastUpdate as CastUpdate +from generated.immich.openapi_client.models.change_password_dto import ChangePasswordDto as ChangePasswordDto +from generated.immich.openapi_client.models.colorspace import Colorspace as Colorspace +from generated.immich.openapi_client.models.contributor_count_response_dto import ContributorCountResponseDto as ContributorCountResponseDto +from generated.immich.openapi_client.models.create_album_dto import CreateAlbumDto as CreateAlbumDto +from generated.immich.openapi_client.models.create_library_dto import CreateLibraryDto as CreateLibraryDto +from generated.immich.openapi_client.models.create_profile_image_response_dto import CreateProfileImageResponseDto as CreateProfileImageResponseDto +from generated.immich.openapi_client.models.crop_parameters import CropParameters as CropParameters +from generated.immich.openapi_client.models.database_backup_config import DatabaseBackupConfig as DatabaseBackupConfig +from generated.immich.openapi_client.models.database_backup_delete_dto import DatabaseBackupDeleteDto as DatabaseBackupDeleteDto +from generated.immich.openapi_client.models.database_backup_dto import DatabaseBackupDto as DatabaseBackupDto +from generated.immich.openapi_client.models.database_backup_list_response_dto import DatabaseBackupListResponseDto as DatabaseBackupListResponseDto +from generated.immich.openapi_client.models.download_archive_dto import DownloadArchiveDto as DownloadArchiveDto +from generated.immich.openapi_client.models.download_archive_info import DownloadArchiveInfo as DownloadArchiveInfo +from generated.immich.openapi_client.models.download_info_dto import DownloadInfoDto as DownloadInfoDto +from generated.immich.openapi_client.models.download_response import DownloadResponse as DownloadResponse +from generated.immich.openapi_client.models.download_response_dto import DownloadResponseDto as DownloadResponseDto +from generated.immich.openapi_client.models.download_update import DownloadUpdate as DownloadUpdate +from generated.immich.openapi_client.models.duplicate_detection_config import DuplicateDetectionConfig as DuplicateDetectionConfig +from generated.immich.openapi_client.models.duplicate_resolve_dto import DuplicateResolveDto as DuplicateResolveDto +from generated.immich.openapi_client.models.duplicate_resolve_group_dto import DuplicateResolveGroupDto as DuplicateResolveGroupDto +from generated.immich.openapi_client.models.duplicate_response_dto import DuplicateResponseDto as DuplicateResponseDto +from generated.immich.openapi_client.models.email_notifications_response import EmailNotificationsResponse as EmailNotificationsResponse +from generated.immich.openapi_client.models.email_notifications_update import EmailNotificationsUpdate as EmailNotificationsUpdate +from generated.immich.openapi_client.models.exif_response_dto import ExifResponseDto as ExifResponseDto +from generated.immich.openapi_client.models.face_dto import FaceDto as FaceDto +from generated.immich.openapi_client.models.facial_recognition_config import FacialRecognitionConfig as FacialRecognitionConfig +from generated.immich.openapi_client.models.folders_response import FoldersResponse as FoldersResponse +from generated.immich.openapi_client.models.folders_update import FoldersUpdate as FoldersUpdate +from generated.immich.openapi_client.models.image_format import ImageFormat as ImageFormat +from generated.immich.openapi_client.models.integrity_report import IntegrityReport as IntegrityReport +from generated.immich.openapi_client.models.integrity_report_response_dto import IntegrityReportResponseDto as IntegrityReportResponseDto +from generated.immich.openapi_client.models.integrity_report_response_dto_items_inner import IntegrityReportResponseDtoItemsInner as IntegrityReportResponseDtoItemsInner +from generated.immich.openapi_client.models.integrity_report_summary_response_dto import IntegrityReportSummaryResponseDto as IntegrityReportSummaryResponseDto +from generated.immich.openapi_client.models.job_create_dto import JobCreateDto as JobCreateDto +from generated.immich.openapi_client.models.job_name import JobName as JobName +from generated.immich.openapi_client.models.job_settings_dto import JobSettingsDto as JobSettingsDto +from generated.immich.openapi_client.models.library_response_dto import LibraryResponseDto as LibraryResponseDto +from generated.immich.openapi_client.models.library_stats_response_dto import LibraryStatsResponseDto as LibraryStatsResponseDto +from generated.immich.openapi_client.models.license_key_dto import LicenseKeyDto as LicenseKeyDto +from generated.immich.openapi_client.models.log_level import LogLevel as LogLevel +from generated.immich.openapi_client.models.login_credential_dto import LoginCredentialDto as LoginCredentialDto +from generated.immich.openapi_client.models.login_response_dto import LoginResponseDto as LoginResponseDto +from generated.immich.openapi_client.models.logout_response_dto import LogoutResponseDto as LogoutResponseDto +from generated.immich.openapi_client.models.machine_learning_availability_checks_dto import MachineLearningAvailabilityChecksDto as MachineLearningAvailabilityChecksDto +from generated.immich.openapi_client.models.maintenance_action import MaintenanceAction as MaintenanceAction +from generated.immich.openapi_client.models.maintenance_auth_dto import MaintenanceAuthDto as MaintenanceAuthDto +from generated.immich.openapi_client.models.maintenance_detect_install_response_dto import MaintenanceDetectInstallResponseDto as MaintenanceDetectInstallResponseDto +from generated.immich.openapi_client.models.maintenance_detect_install_storage_folder_dto import MaintenanceDetectInstallStorageFolderDto as MaintenanceDetectInstallStorageFolderDto +from generated.immich.openapi_client.models.maintenance_login_dto import MaintenanceLoginDto as MaintenanceLoginDto +from generated.immich.openapi_client.models.maintenance_status_response_dto import MaintenanceStatusResponseDto as MaintenanceStatusResponseDto +from generated.immich.openapi_client.models.manual_job_name import ManualJobName as ManualJobName +from generated.immich.openapi_client.models.map_marker_response_dto import MapMarkerResponseDto as MapMarkerResponseDto +from generated.immich.openapi_client.models.map_reverse_geocode_response_dto import MapReverseGeocodeResponseDto as MapReverseGeocodeResponseDto +from generated.immich.openapi_client.models.memories_response import MemoriesResponse as MemoriesResponse +from generated.immich.openapi_client.models.memories_update import MemoriesUpdate as MemoriesUpdate +from generated.immich.openapi_client.models.memory_create_dto import MemoryCreateDto as MemoryCreateDto +from generated.immich.openapi_client.models.memory_response_dto import MemoryResponseDto as MemoryResponseDto +from generated.immich.openapi_client.models.memory_search_order import MemorySearchOrder as MemorySearchOrder +from generated.immich.openapi_client.models.memory_statistics_response_dto import MemoryStatisticsResponseDto as MemoryStatisticsResponseDto +from generated.immich.openapi_client.models.memory_type import MemoryType as MemoryType +from generated.immich.openapi_client.models.memory_update_dto import MemoryUpdateDto as MemoryUpdateDto +from generated.immich.openapi_client.models.merge_person_dto import MergePersonDto as MergePersonDto +from generated.immich.openapi_client.models.metadata_search_dto import MetadataSearchDto as MetadataSearchDto +from generated.immich.openapi_client.models.mirror_axis import MirrorAxis as MirrorAxis +from generated.immich.openapi_client.models.mirror_parameters import MirrorParameters as MirrorParameters +from generated.immich.openapi_client.models.notification_create_dto import NotificationCreateDto as NotificationCreateDto +from generated.immich.openapi_client.models.notification_delete_all_dto import NotificationDeleteAllDto as NotificationDeleteAllDto +from generated.immich.openapi_client.models.notification_dto import NotificationDto as NotificationDto +from generated.immich.openapi_client.models.notification_level import NotificationLevel as NotificationLevel +from generated.immich.openapi_client.models.notification_type import NotificationType as NotificationType +from generated.immich.openapi_client.models.notification_update_all_dto import NotificationUpdateAllDto as NotificationUpdateAllDto +from generated.immich.openapi_client.models.notification_update_dto import NotificationUpdateDto as NotificationUpdateDto +from generated.immich.openapi_client.models.o_auth_authorize_response_dto import OAuthAuthorizeResponseDto as OAuthAuthorizeResponseDto +from generated.immich.openapi_client.models.o_auth_callback_dto import OAuthCallbackDto as OAuthCallbackDto +from generated.immich.openapi_client.models.o_auth_config_dto import OAuthConfigDto as OAuthConfigDto +from generated.immich.openapi_client.models.o_auth_token_endpoint_auth_method import OAuthTokenEndpointAuthMethod as OAuthTokenEndpointAuthMethod +from generated.immich.openapi_client.models.ocr_config import OcrConfig as OcrConfig +from generated.immich.openapi_client.models.on_this_day_dto import OnThisDayDto as OnThisDayDto +from generated.immich.openapi_client.models.onboarding_dto import OnboardingDto as OnboardingDto +from generated.immich.openapi_client.models.onboarding_response_dto import OnboardingResponseDto as OnboardingResponseDto +from generated.immich.openapi_client.models.partner_create_dto import PartnerCreateDto as PartnerCreateDto +from generated.immich.openapi_client.models.partner_direction import PartnerDirection as PartnerDirection +from generated.immich.openapi_client.models.partner_response_dto import PartnerResponseDto as PartnerResponseDto +from generated.immich.openapi_client.models.partner_update_dto import PartnerUpdateDto as PartnerUpdateDto +from generated.immich.openapi_client.models.people_response import PeopleResponse as PeopleResponse +from generated.immich.openapi_client.models.people_response_dto import PeopleResponseDto as PeopleResponseDto +from generated.immich.openapi_client.models.people_update import PeopleUpdate as PeopleUpdate +from generated.immich.openapi_client.models.people_update_dto import PeopleUpdateDto as PeopleUpdateDto +from generated.immich.openapi_client.models.people_update_item import PeopleUpdateItem as PeopleUpdateItem +from generated.immich.openapi_client.models.permission import Permission as Permission +from generated.immich.openapi_client.models.person_create_dto import PersonCreateDto as PersonCreateDto +from generated.immich.openapi_client.models.person_response_dto import PersonResponseDto as PersonResponseDto +from generated.immich.openapi_client.models.person_statistics_response_dto import PersonStatisticsResponseDto as PersonStatisticsResponseDto +from generated.immich.openapi_client.models.person_update_dto import PersonUpdateDto as PersonUpdateDto +from generated.immich.openapi_client.models.pin_code_change_dto import PinCodeChangeDto as PinCodeChangeDto +from generated.immich.openapi_client.models.pin_code_reset_dto import PinCodeResetDto as PinCodeResetDto +from generated.immich.openapi_client.models.pin_code_setup_dto import PinCodeSetupDto as PinCodeSetupDto +from generated.immich.openapi_client.models.places_response_dto import PlacesResponseDto as PlacesResponseDto +from generated.immich.openapi_client.models.plugin_method_response_dto import PluginMethodResponseDto as PluginMethodResponseDto +from generated.immich.openapi_client.models.plugin_response_dto import PluginResponseDto as PluginResponseDto +from generated.immich.openapi_client.models.plugin_template_response_dto import PluginTemplateResponseDto as PluginTemplateResponseDto +from generated.immich.openapi_client.models.plugin_template_step_response_dto import PluginTemplateStepResponseDto as PluginTemplateStepResponseDto +from generated.immich.openapi_client.models.purchase_response import PurchaseResponse as PurchaseResponse +from generated.immich.openapi_client.models.purchase_update import PurchaseUpdate as PurchaseUpdate +from generated.immich.openapi_client.models.queue_command import QueueCommand as QueueCommand +from generated.immich.openapi_client.models.queue_command_dto import QueueCommandDto as QueueCommandDto +from generated.immich.openapi_client.models.queue_delete_dto import QueueDeleteDto as QueueDeleteDto +from generated.immich.openapi_client.models.queue_job_response_dto import QueueJobResponseDto as QueueJobResponseDto +from generated.immich.openapi_client.models.queue_job_status import QueueJobStatus as QueueJobStatus +from generated.immich.openapi_client.models.queue_name import QueueName as QueueName +from generated.immich.openapi_client.models.queue_response_dto import QueueResponseDto as QueueResponseDto +from generated.immich.openapi_client.models.queue_response_legacy_dto import QueueResponseLegacyDto as QueueResponseLegacyDto +from generated.immich.openapi_client.models.queue_statistics_dto import QueueStatisticsDto as QueueStatisticsDto +from generated.immich.openapi_client.models.queue_status_legacy_dto import QueueStatusLegacyDto as QueueStatusLegacyDto +from generated.immich.openapi_client.models.queue_update_dto import QueueUpdateDto as QueueUpdateDto +from generated.immich.openapi_client.models.queues_response_legacy_dto import QueuesResponseLegacyDto as QueuesResponseLegacyDto +from generated.immich.openapi_client.models.random_search_dto import RandomSearchDto as RandomSearchDto +from generated.immich.openapi_client.models.ratings_response import RatingsResponse as RatingsResponse +from generated.immich.openapi_client.models.ratings_update import RatingsUpdate as RatingsUpdate +from generated.immich.openapi_client.models.reaction_level import ReactionLevel as ReactionLevel +from generated.immich.openapi_client.models.reaction_type import ReactionType as ReactionType +from generated.immich.openapi_client.models.recently_added_response import RecentlyAddedResponse as RecentlyAddedResponse +from generated.immich.openapi_client.models.recently_added_update import RecentlyAddedUpdate as RecentlyAddedUpdate +from generated.immich.openapi_client.models.release_channel import ReleaseChannel as ReleaseChannel +from generated.immich.openapi_client.models.release_event_v1 import ReleaseEventV1 as ReleaseEventV1 +from generated.immich.openapi_client.models.release_type import ReleaseType as ReleaseType +from generated.immich.openapi_client.models.reverse_geocoding_state_response_dto import ReverseGeocodingStateResponseDto as ReverseGeocodingStateResponseDto +from generated.immich.openapi_client.models.rotate_parameters import RotateParameters as RotateParameters +from generated.immich.openapi_client.models.search_album_response_dto import SearchAlbumResponseDto as SearchAlbumResponseDto +from generated.immich.openapi_client.models.search_asset_response_dto import SearchAssetResponseDto as SearchAssetResponseDto +from generated.immich.openapi_client.models.search_explore_item import SearchExploreItem as SearchExploreItem +from generated.immich.openapi_client.models.search_explore_response_dto import SearchExploreResponseDto as SearchExploreResponseDto +from generated.immich.openapi_client.models.search_facet_count_response_dto import SearchFacetCountResponseDto as SearchFacetCountResponseDto +from generated.immich.openapi_client.models.search_facet_response_dto import SearchFacetResponseDto as SearchFacetResponseDto +from generated.immich.openapi_client.models.search_response_dto import SearchResponseDto as SearchResponseDto +from generated.immich.openapi_client.models.search_statistics_response_dto import SearchStatisticsResponseDto as SearchStatisticsResponseDto +from generated.immich.openapi_client.models.search_suggestion_type import SearchSuggestionType as SearchSuggestionType +from generated.immich.openapi_client.models.server_about_response_dto import ServerAboutResponseDto as ServerAboutResponseDto +from generated.immich.openapi_client.models.server_apk_links_dto import ServerApkLinksDto as ServerApkLinksDto +from generated.immich.openapi_client.models.server_config_dto import ServerConfigDto as ServerConfigDto +from generated.immich.openapi_client.models.server_features_dto import ServerFeaturesDto as ServerFeaturesDto +from generated.immich.openapi_client.models.server_media_types_response_dto import ServerMediaTypesResponseDto as ServerMediaTypesResponseDto +from generated.immich.openapi_client.models.server_ping_response import ServerPingResponse as ServerPingResponse +from generated.immich.openapi_client.models.server_stats_response_dto import ServerStatsResponseDto as ServerStatsResponseDto +from generated.immich.openapi_client.models.server_storage_response_dto import ServerStorageResponseDto as ServerStorageResponseDto +from generated.immich.openapi_client.models.server_version_history_response_dto import ServerVersionHistoryResponseDto as ServerVersionHistoryResponseDto +from generated.immich.openapi_client.models.server_version_response_dto import ServerVersionResponseDto as ServerVersionResponseDto +from generated.immich.openapi_client.models.session_create_dto import SessionCreateDto as SessionCreateDto +from generated.immich.openapi_client.models.session_create_response_dto import SessionCreateResponseDto as SessionCreateResponseDto +from generated.immich.openapi_client.models.session_response_dto import SessionResponseDto as SessionResponseDto +from generated.immich.openapi_client.models.session_unlock_dto import SessionUnlockDto as SessionUnlockDto +from generated.immich.openapi_client.models.session_update_dto import SessionUpdateDto as SessionUpdateDto +from generated.immich.openapi_client.models.set_maintenance_mode_dto import SetMaintenanceModeDto as SetMaintenanceModeDto +from generated.immich.openapi_client.models.shared_link_create_dto import SharedLinkCreateDto as SharedLinkCreateDto +from generated.immich.openapi_client.models.shared_link_edit_dto import SharedLinkEditDto as SharedLinkEditDto +from generated.immich.openapi_client.models.shared_link_login_dto import SharedLinkLoginDto as SharedLinkLoginDto +from generated.immich.openapi_client.models.shared_link_response_dto import SharedLinkResponseDto as SharedLinkResponseDto +from generated.immich.openapi_client.models.shared_link_type import SharedLinkType as SharedLinkType +from generated.immich.openapi_client.models.shared_links_response import SharedLinksResponse as SharedLinksResponse +from generated.immich.openapi_client.models.shared_links_update import SharedLinksUpdate as SharedLinksUpdate +from generated.immich.openapi_client.models.sign_up_dto import SignUpDto as SignUpDto +from generated.immich.openapi_client.models.smart_search_dto import SmartSearchDto as SmartSearchDto +from generated.immich.openapi_client.models.source_type import SourceType as SourceType +from generated.immich.openapi_client.models.stack_create_dto import StackCreateDto as StackCreateDto +from generated.immich.openapi_client.models.stack_response_dto import StackResponseDto as StackResponseDto +from generated.immich.openapi_client.models.stack_update_dto import StackUpdateDto as StackUpdateDto +from generated.immich.openapi_client.models.statistics_search_dto import StatisticsSearchDto as StatisticsSearchDto +from generated.immich.openapi_client.models.storage_folder import StorageFolder as StorageFolder +from generated.immich.openapi_client.models.sync_ack_delete_dto import SyncAckDeleteDto as SyncAckDeleteDto +from generated.immich.openapi_client.models.sync_ack_dto import SyncAckDto as SyncAckDto +from generated.immich.openapi_client.models.sync_ack_set_dto import SyncAckSetDto as SyncAckSetDto +from generated.immich.openapi_client.models.sync_album_delete_v1 import SyncAlbumDeleteV1 as SyncAlbumDeleteV1 +from generated.immich.openapi_client.models.sync_album_to_asset_delete_v1 import SyncAlbumToAssetDeleteV1 as SyncAlbumToAssetDeleteV1 +from generated.immich.openapi_client.models.sync_album_to_asset_v1 import SyncAlbumToAssetV1 as SyncAlbumToAssetV1 +from generated.immich.openapi_client.models.sync_album_user_delete_v1 import SyncAlbumUserDeleteV1 as SyncAlbumUserDeleteV1 +from generated.immich.openapi_client.models.sync_album_user_v1 import SyncAlbumUserV1 as SyncAlbumUserV1 +from generated.immich.openapi_client.models.sync_album_v1 import SyncAlbumV1 as SyncAlbumV1 +from generated.immich.openapi_client.models.sync_album_v2 import SyncAlbumV2 as SyncAlbumV2 +from generated.immich.openapi_client.models.sync_asset_delete_v1 import SyncAssetDeleteV1 as SyncAssetDeleteV1 +from generated.immich.openapi_client.models.sync_asset_edit_delete_v1 import SyncAssetEditDeleteV1 as SyncAssetEditDeleteV1 +from generated.immich.openapi_client.models.sync_asset_edit_v1 import SyncAssetEditV1 as SyncAssetEditV1 +from generated.immich.openapi_client.models.sync_asset_exif_v1 import SyncAssetExifV1 as SyncAssetExifV1 +from generated.immich.openapi_client.models.sync_asset_face_delete_v1 import SyncAssetFaceDeleteV1 as SyncAssetFaceDeleteV1 +from generated.immich.openapi_client.models.sync_asset_face_v1 import SyncAssetFaceV1 as SyncAssetFaceV1 +from generated.immich.openapi_client.models.sync_asset_face_v2 import SyncAssetFaceV2 as SyncAssetFaceV2 +from generated.immich.openapi_client.models.sync_asset_metadata_delete_v1 import SyncAssetMetadataDeleteV1 as SyncAssetMetadataDeleteV1 +from generated.immich.openapi_client.models.sync_asset_metadata_v1 import SyncAssetMetadataV1 as SyncAssetMetadataV1 +from generated.immich.openapi_client.models.sync_asset_ocr_delete_v1 import SyncAssetOcrDeleteV1 as SyncAssetOcrDeleteV1 +from generated.immich.openapi_client.models.sync_asset_ocr_v1 import SyncAssetOcrV1 as SyncAssetOcrV1 +from generated.immich.openapi_client.models.sync_asset_v1 import SyncAssetV1 as SyncAssetV1 +from generated.immich.openapi_client.models.sync_asset_v2 import SyncAssetV2 as SyncAssetV2 +from generated.immich.openapi_client.models.sync_auth_user_v1 import SyncAuthUserV1 as SyncAuthUserV1 +from generated.immich.openapi_client.models.sync_entity_type import SyncEntityType as SyncEntityType +from generated.immich.openapi_client.models.sync_memory_asset_delete_v1 import SyncMemoryAssetDeleteV1 as SyncMemoryAssetDeleteV1 +from generated.immich.openapi_client.models.sync_memory_asset_v1 import SyncMemoryAssetV1 as SyncMemoryAssetV1 +from generated.immich.openapi_client.models.sync_memory_delete_v1 import SyncMemoryDeleteV1 as SyncMemoryDeleteV1 +from generated.immich.openapi_client.models.sync_memory_v1 import SyncMemoryV1 as SyncMemoryV1 +from generated.immich.openapi_client.models.sync_partner_delete_v1 import SyncPartnerDeleteV1 as SyncPartnerDeleteV1 +from generated.immich.openapi_client.models.sync_partner_v1 import SyncPartnerV1 as SyncPartnerV1 +from generated.immich.openapi_client.models.sync_person_delete_v1 import SyncPersonDeleteV1 as SyncPersonDeleteV1 +from generated.immich.openapi_client.models.sync_person_v1 import SyncPersonV1 as SyncPersonV1 +from generated.immich.openapi_client.models.sync_request_type import SyncRequestType as SyncRequestType +from generated.immich.openapi_client.models.sync_stack_delete_v1 import SyncStackDeleteV1 as SyncStackDeleteV1 +from generated.immich.openapi_client.models.sync_stack_v1 import SyncStackV1 as SyncStackV1 +from generated.immich.openapi_client.models.sync_stream_dto import SyncStreamDto as SyncStreamDto +from generated.immich.openapi_client.models.sync_user_delete_v1 import SyncUserDeleteV1 as SyncUserDeleteV1 +from generated.immich.openapi_client.models.sync_user_metadata_delete_v1 import SyncUserMetadataDeleteV1 as SyncUserMetadataDeleteV1 +from generated.immich.openapi_client.models.sync_user_metadata_v1 import SyncUserMetadataV1 as SyncUserMetadataV1 +from generated.immich.openapi_client.models.sync_user_v1 import SyncUserV1 as SyncUserV1 +from generated.immich.openapi_client.models.system_config_backups_dto import SystemConfigBackupsDto as SystemConfigBackupsDto +from generated.immich.openapi_client.models.system_config_dto import SystemConfigDto as SystemConfigDto +from generated.immich.openapi_client.models.system_config_f_fmpeg_dto import SystemConfigFFmpegDto as SystemConfigFFmpegDto +from generated.immich.openapi_client.models.system_config_f_fmpeg_realtime_dto import SystemConfigFFmpegRealtimeDto as SystemConfigFFmpegRealtimeDto +from generated.immich.openapi_client.models.system_config_faces_dto import SystemConfigFacesDto as SystemConfigFacesDto +from generated.immich.openapi_client.models.system_config_generated_fullsize_image_dto import SystemConfigGeneratedFullsizeImageDto as SystemConfigGeneratedFullsizeImageDto +from generated.immich.openapi_client.models.system_config_generated_image_dto import SystemConfigGeneratedImageDto as SystemConfigGeneratedImageDto +from generated.immich.openapi_client.models.system_config_image_dto import SystemConfigImageDto as SystemConfigImageDto +from generated.immich.openapi_client.models.system_config_integrity_checks import SystemConfigIntegrityChecks as SystemConfigIntegrityChecks +from generated.immich.openapi_client.models.system_config_integrity_checksum_job import SystemConfigIntegrityChecksumJob as SystemConfigIntegrityChecksumJob +from generated.immich.openapi_client.models.system_config_integrity_job import SystemConfigIntegrityJob as SystemConfigIntegrityJob +from generated.immich.openapi_client.models.system_config_job_dto import SystemConfigJobDto as SystemConfigJobDto +from generated.immich.openapi_client.models.system_config_library_dto import SystemConfigLibraryDto as SystemConfigLibraryDto +from generated.immich.openapi_client.models.system_config_library_scan_dto import SystemConfigLibraryScanDto as SystemConfigLibraryScanDto +from generated.immich.openapi_client.models.system_config_library_watch_dto import SystemConfigLibraryWatchDto as SystemConfigLibraryWatchDto +from generated.immich.openapi_client.models.system_config_logging_dto import SystemConfigLoggingDto as SystemConfigLoggingDto +from generated.immich.openapi_client.models.system_config_machine_learning_dto import SystemConfigMachineLearningDto as SystemConfigMachineLearningDto +from generated.immich.openapi_client.models.system_config_map_dto import SystemConfigMapDto as SystemConfigMapDto +from generated.immich.openapi_client.models.system_config_metadata_dto import SystemConfigMetadataDto as SystemConfigMetadataDto +from generated.immich.openapi_client.models.system_config_new_version_check_dto import SystemConfigNewVersionCheckDto as SystemConfigNewVersionCheckDto +from generated.immich.openapi_client.models.system_config_nightly_tasks_dto import SystemConfigNightlyTasksDto as SystemConfigNightlyTasksDto +from generated.immich.openapi_client.models.system_config_notifications_dto import SystemConfigNotificationsDto as SystemConfigNotificationsDto +from generated.immich.openapi_client.models.system_config_o_auth_dto import SystemConfigOAuthDto as SystemConfigOAuthDto +from generated.immich.openapi_client.models.system_config_password_login_dto import SystemConfigPasswordLoginDto as SystemConfigPasswordLoginDto +from generated.immich.openapi_client.models.system_config_reverse_geocoding_dto import SystemConfigReverseGeocodingDto as SystemConfigReverseGeocodingDto +from generated.immich.openapi_client.models.system_config_server_dto import SystemConfigServerDto as SystemConfigServerDto +from generated.immich.openapi_client.models.system_config_smtp_dto import SystemConfigSmtpDto as SystemConfigSmtpDto +from generated.immich.openapi_client.models.system_config_smtp_transport_dto import SystemConfigSmtpTransportDto as SystemConfigSmtpTransportDto +from generated.immich.openapi_client.models.system_config_storage_template_dto import SystemConfigStorageTemplateDto as SystemConfigStorageTemplateDto +from generated.immich.openapi_client.models.system_config_template_emails_dto import SystemConfigTemplateEmailsDto as SystemConfigTemplateEmailsDto +from generated.immich.openapi_client.models.system_config_template_storage_option_dto import SystemConfigTemplateStorageOptionDto as SystemConfigTemplateStorageOptionDto +from generated.immich.openapi_client.models.system_config_templates_dto import SystemConfigTemplatesDto as SystemConfigTemplatesDto +from generated.immich.openapi_client.models.system_config_theme_dto import SystemConfigThemeDto as SystemConfigThemeDto +from generated.immich.openapi_client.models.system_config_trash_dto import SystemConfigTrashDto as SystemConfigTrashDto +from generated.immich.openapi_client.models.system_config_user_dto import SystemConfigUserDto as SystemConfigUserDto +from generated.immich.openapi_client.models.tag_bulk_assets_dto import TagBulkAssetsDto as TagBulkAssetsDto +from generated.immich.openapi_client.models.tag_bulk_assets_response_dto import TagBulkAssetsResponseDto as TagBulkAssetsResponseDto +from generated.immich.openapi_client.models.tag_create_dto import TagCreateDto as TagCreateDto +from generated.immich.openapi_client.models.tag_response_dto import TagResponseDto as TagResponseDto +from generated.immich.openapi_client.models.tag_update_dto import TagUpdateDto as TagUpdateDto +from generated.immich.openapi_client.models.tag_upsert_dto import TagUpsertDto as TagUpsertDto +from generated.immich.openapi_client.models.tags_response import TagsResponse as TagsResponse +from generated.immich.openapi_client.models.tags_update import TagsUpdate as TagsUpdate +from generated.immich.openapi_client.models.template_dto import TemplateDto as TemplateDto +from generated.immich.openapi_client.models.template_response_dto import TemplateResponseDto as TemplateResponseDto +from generated.immich.openapi_client.models.test_email_response_dto import TestEmailResponseDto as TestEmailResponseDto +from generated.immich.openapi_client.models.time_bucket_asset_response_dto import TimeBucketAssetResponseDto as TimeBucketAssetResponseDto +from generated.immich.openapi_client.models.time_buckets_response_dto import TimeBucketsResponseDto as TimeBucketsResponseDto +from generated.immich.openapi_client.models.tone_mapping import ToneMapping as ToneMapping +from generated.immich.openapi_client.models.transcode_hw_accel import TranscodeHWAccel as TranscodeHWAccel +from generated.immich.openapi_client.models.transcode_policy import TranscodePolicy as TranscodePolicy +from generated.immich.openapi_client.models.trash_response_dto import TrashResponseDto as TrashResponseDto +from generated.immich.openapi_client.models.update_album_dto import UpdateAlbumDto as UpdateAlbumDto +from generated.immich.openapi_client.models.update_album_user_dto import UpdateAlbumUserDto as UpdateAlbumUserDto +from generated.immich.openapi_client.models.update_asset_dto import UpdateAssetDto as UpdateAssetDto +from generated.immich.openapi_client.models.update_library_dto import UpdateLibraryDto as UpdateLibraryDto +from generated.immich.openapi_client.models.usage_by_user_dto import UsageByUserDto as UsageByUserDto +from generated.immich.openapi_client.models.user_admin_create_dto import UserAdminCreateDto as UserAdminCreateDto +from generated.immich.openapi_client.models.user_admin_delete_dto import UserAdminDeleteDto as UserAdminDeleteDto +from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto as UserAdminResponseDto +from generated.immich.openapi_client.models.user_admin_update_dto import UserAdminUpdateDto as UserAdminUpdateDto +from generated.immich.openapi_client.models.user_avatar_color import UserAvatarColor as UserAvatarColor +from generated.immich.openapi_client.models.user_license import UserLicense as UserLicense +from generated.immich.openapi_client.models.user_metadata_key import UserMetadataKey as UserMetadataKey +from generated.immich.openapi_client.models.user_preferences_response_dto import UserPreferencesResponseDto as UserPreferencesResponseDto +from generated.immich.openapi_client.models.user_preferences_update_dto import UserPreferencesUpdateDto as UserPreferencesUpdateDto +from generated.immich.openapi_client.models.user_response_dto import UserResponseDto as UserResponseDto +from generated.immich.openapi_client.models.user_status import UserStatus as UserStatus +from generated.immich.openapi_client.models.user_update_me_dto import UserUpdateMeDto as UserUpdateMeDto +from generated.immich.openapi_client.models.validate_access_token_response_dto import ValidateAccessTokenResponseDto as ValidateAccessTokenResponseDto +from generated.immich.openapi_client.models.validate_library_dto import ValidateLibraryDto as ValidateLibraryDto +from generated.immich.openapi_client.models.validate_library_import_path_response_dto import ValidateLibraryImportPathResponseDto as ValidateLibraryImportPathResponseDto +from generated.immich.openapi_client.models.validate_library_response_dto import ValidateLibraryResponseDto as ValidateLibraryResponseDto +from generated.immich.openapi_client.models.version_check_state_response_dto import VersionCheckStateResponseDto as VersionCheckStateResponseDto +from generated.immich.openapi_client.models.video_codec import VideoCodec as VideoCodec +from generated.immich.openapi_client.models.video_container import VideoContainer as VideoContainer +from generated.immich.openapi_client.models.workflow_create_dto import WorkflowCreateDto as WorkflowCreateDto +from generated.immich.openapi_client.models.workflow_response_dto import WorkflowResponseDto as WorkflowResponseDto +from generated.immich.openapi_client.models.workflow_share_response_dto import WorkflowShareResponseDto as WorkflowShareResponseDto +from generated.immich.openapi_client.models.workflow_share_step_dto import WorkflowShareStepDto as WorkflowShareStepDto +from generated.immich.openapi_client.models.workflow_step_dto import WorkflowStepDto as WorkflowStepDto +from generated.immich.openapi_client.models.workflow_trigger import WorkflowTrigger as WorkflowTrigger +from generated.immich.openapi_client.models.workflow_trigger_response_dto import WorkflowTriggerResponseDto as WorkflowTriggerResponseDto +from generated.immich.openapi_client.models.workflow_type import WorkflowType as WorkflowType +from generated.immich.openapi_client.models.workflow_update_dto import WorkflowUpdateDto as WorkflowUpdateDto + diff --git a/generated/immich/openapi_client/api/__init__.py b/generated/immich/openapi_client/api/__init__.py index 50f0edc..0d54d4f 100644 --- a/generated/immich/openapi_client/api/__init__.py +++ b/generated/immich/openapi_client/api/__init__.py @@ -6,19 +6,23 @@ from generated.immich.openapi_client.api.activities_api import ActivitiesApi from generated.immich.openapi_client.api.albums_api import AlbumsApi from generated.immich.openapi_client.api.assets_api import AssetsApi from generated.immich.openapi_client.api.authentication_api import AuthenticationApi +from generated.immich.openapi_client.api.authentication_admin_api import AuthenticationAdminApi +from generated.immich.openapi_client.api.database_backups_admin_api import DatabaseBackupsAdminApi from generated.immich.openapi_client.api.deprecated_api import DeprecatedApi from generated.immich.openapi_client.api.download_api import DownloadApi from generated.immich.openapi_client.api.duplicates_api import DuplicatesApi from generated.immich.openapi_client.api.faces_api import FacesApi -from generated.immich.openapi_client.api.file_reports_api import FileReportsApi from generated.immich.openapi_client.api.jobs_api import JobsApi from generated.immich.openapi_client.api.libraries_api import LibrariesApi +from generated.immich.openapi_client.api.maintenance_admin_api import MaintenanceAdminApi from generated.immich.openapi_client.api.map_api import MapApi from generated.immich.openapi_client.api.memories_api import MemoriesApi from generated.immich.openapi_client.api.notifications_api import NotificationsApi -from generated.immich.openapi_client.api.o_auth_api import OAuthApi +from generated.immich.openapi_client.api.notifications_admin_api import NotificationsAdminApi from generated.immich.openapi_client.api.partners_api import PartnersApi from generated.immich.openapi_client.api.people_api import PeopleApi +from generated.immich.openapi_client.api.plugins_api import PluginsApi +from generated.immich.openapi_client.api.queues_api import QueuesApi from generated.immich.openapi_client.api.search_api import SearchApi from generated.immich.openapi_client.api.server_api import ServerApi from generated.immich.openapi_client.api.sessions_api import SessionsApi @@ -32,5 +36,6 @@ from generated.immich.openapi_client.api.timeline_api import TimelineApi from generated.immich.openapi_client.api.trash_api import TrashApi from generated.immich.openapi_client.api.users_api import UsersApi from generated.immich.openapi_client.api.users_admin_api import UsersAdminApi -from generated.immich.openapi_client.api.view_api import ViewApi +from generated.immich.openapi_client.api.views_api import ViewsApi +from generated.immich.openapi_client.api.workflows_api import WorkflowsApi diff --git a/generated/immich/openapi_client/api/activities_api.py b/generated/immich/openapi_client/api/activities_api.py index 461f4fc..96e84a8 100644 --- a/generated/immich/openapi_client/api/activities_api.py +++ b/generated/immich/openapi_client/api/activities_api.py @@ -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. @@ -16,8 +16,10 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr +from pydantic import Field from typing import List, Optional +from typing_extensions import Annotated +from uuid import UUID 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 @@ -59,8 +61,9 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ActivityResponseDto: - """create_activity + """Create an activity + Create a like or a comment for an album, or an asset in an album. :param activity_create_dto: (required) :type activity_create_dto: ActivityCreateDto @@ -125,8 +128,9 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ActivityResponseDto]: - """create_activity + """Create an activity + Create a like or a comment for an album, or an asset in an album. :param activity_create_dto: (required) :type activity_create_dto: ActivityCreateDto @@ -191,8 +195,9 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_activity + """Create an activity + Create a like or a comment for an album, or an asset in an album. :param activity_create_dto: (required) :type activity_create_dto: ActivityCreateDto @@ -318,7 +323,7 @@ class ActivitiesApi: @validate_call def delete_activity( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -332,11 +337,12 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_activity + """Delete an activity + Removes a like or comment from a given album or asset in an album. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -384,7 +390,7 @@ class ActivitiesApi: @validate_call def delete_activity_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -398,11 +404,12 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_activity + """Delete an activity + Removes a like or comment from a given album or asset in an album. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -450,7 +457,7 @@ class ActivitiesApi: @validate_call def delete_activity_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -464,11 +471,12 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_activity + """Delete an activity + Removes a like or comment from a given album or asset in an album. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -571,11 +579,11 @@ class ActivitiesApi: @validate_call def get_activities( self, - album_id: StrictStr, - asset_id: Optional[StrictStr] = None, + album_id: Annotated[UUID, Field(description="Album ID")], + asset_id: Annotated[Optional[UUID], Field(description="Asset ID (if activity is for an asset)")] = None, level: Optional[ReactionLevel] = None, type: Optional[ReactionType] = None, - user_id: Optional[StrictStr] = None, + user_id: Annotated[Optional[UUID], Field(description="Filter by user ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -589,19 +597,20 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[ActivityResponseDto]: - """get_activities + """List all activities + Returns a list of activities for the selected asset or album. The activities are returned in sorted order, with the oldest activities appearing first. - :param album_id: (required) - :type album_id: str - :param asset_id: - :type asset_id: str + :param album_id: Album ID (required) + :type album_id: UUID + :param asset_id: Asset ID (if activity is for an asset) + :type asset_id: UUID :param level: :type level: ReactionLevel :param type: :type type: ReactionType - :param user_id: - :type user_id: str + :param user_id: Filter by user ID + :type user_id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -653,11 +662,11 @@ class ActivitiesApi: @validate_call def get_activities_with_http_info( self, - album_id: StrictStr, - asset_id: Optional[StrictStr] = None, + album_id: Annotated[UUID, Field(description="Album ID")], + asset_id: Annotated[Optional[UUID], Field(description="Asset ID (if activity is for an asset)")] = None, level: Optional[ReactionLevel] = None, type: Optional[ReactionType] = None, - user_id: Optional[StrictStr] = None, + user_id: Annotated[Optional[UUID], Field(description="Filter by user ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -671,19 +680,20 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[ActivityResponseDto]]: - """get_activities + """List all activities + Returns a list of activities for the selected asset or album. The activities are returned in sorted order, with the oldest activities appearing first. - :param album_id: (required) - :type album_id: str - :param asset_id: - :type asset_id: str + :param album_id: Album ID (required) + :type album_id: UUID + :param asset_id: Asset ID (if activity is for an asset) + :type asset_id: UUID :param level: :type level: ReactionLevel :param type: :type type: ReactionType - :param user_id: - :type user_id: str + :param user_id: Filter by user ID + :type user_id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -735,11 +745,11 @@ class ActivitiesApi: @validate_call def get_activities_without_preload_content( self, - album_id: StrictStr, - asset_id: Optional[StrictStr] = None, + album_id: Annotated[UUID, Field(description="Album ID")], + asset_id: Annotated[Optional[UUID], Field(description="Asset ID (if activity is for an asset)")] = None, level: Optional[ReactionLevel] = None, type: Optional[ReactionType] = None, - user_id: Optional[StrictStr] = None, + user_id: Annotated[Optional[UUID], Field(description="Filter by user ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -753,19 +763,20 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_activities + """List all activities + Returns a list of activities for the selected asset or album. The activities are returned in sorted order, with the oldest activities appearing first. - :param album_id: (required) - :type album_id: str - :param asset_id: - :type asset_id: str + :param album_id: Album ID (required) + :type album_id: UUID + :param asset_id: Asset ID (if activity is for an asset) + :type asset_id: UUID :param level: :type level: ReactionLevel :param type: :type type: ReactionType - :param user_id: - :type user_id: str + :param user_id: Filter by user ID + :type user_id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -901,8 +912,8 @@ class ActivitiesApi: @validate_call def get_activity_statistics( self, - album_id: StrictStr, - asset_id: Optional[StrictStr] = None, + album_id: Annotated[UUID, Field(description="Album ID")], + asset_id: Annotated[Optional[UUID], Field(description="Asset ID (if activity is for an asset)")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -916,13 +927,14 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ActivityStatisticsResponseDto: - """get_activity_statistics + """Retrieve activity statistics + Returns the number of likes and comments for a given album or asset in an album. - :param album_id: (required) - :type album_id: str - :param asset_id: - :type asset_id: str + :param album_id: Album ID (required) + :type album_id: UUID + :param asset_id: Asset ID (if activity is for an asset) + :type asset_id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -971,8 +983,8 @@ class ActivitiesApi: @validate_call def get_activity_statistics_with_http_info( self, - album_id: StrictStr, - asset_id: Optional[StrictStr] = None, + album_id: Annotated[UUID, Field(description="Album ID")], + asset_id: Annotated[Optional[UUID], Field(description="Asset ID (if activity is for an asset)")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -986,13 +998,14 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ActivityStatisticsResponseDto]: - """get_activity_statistics + """Retrieve activity statistics + Returns the number of likes and comments for a given album or asset in an album. - :param album_id: (required) - :type album_id: str - :param asset_id: - :type asset_id: str + :param album_id: Album ID (required) + :type album_id: UUID + :param asset_id: Asset ID (if activity is for an asset) + :type asset_id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1041,8 +1054,8 @@ class ActivitiesApi: @validate_call def get_activity_statistics_without_preload_content( self, - album_id: StrictStr, - asset_id: Optional[StrictStr] = None, + album_id: Annotated[UUID, Field(description="Album ID")], + asset_id: Annotated[Optional[UUID], Field(description="Asset ID (if activity is for an asset)")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1056,13 +1069,14 @@ class ActivitiesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_activity_statistics + """Retrieve activity statistics + Returns the number of likes and comments for a given album or asset in an album. - :param album_id: (required) - :type album_id: str - :param asset_id: - :type asset_id: str + :param album_id: Album ID (required) + :type album_id: UUID + :param asset_id: Asset ID (if activity is for an asset) + :type asset_id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of diff --git a/generated/immich/openapi_client/api/albums_api.py b/generated/immich/openapi_client/api/albums_api.py index 49b133c..5716a2e 100644 --- a/generated/immich/openapi_client/api/albums_api.py +++ b/generated/immich/openapi_client/api/albums_api.py @@ -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,12 +19,16 @@ from typing_extensions import Annotated from pydantic import Field, StrictBool, StrictStr from typing import List, Optional from typing_extensions import Annotated +from uuid import UUID from generated.immich.openapi_client.models.add_users_dto import AddUsersDto from generated.immich.openapi_client.models.album_response_dto import AlbumResponseDto from generated.immich.openapi_client.models.album_statistics_response_dto import AlbumStatisticsResponseDto +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.bulk_id_response_dto import BulkIdResponseDto from generated.immich.openapi_client.models.bulk_ids_dto import BulkIdsDto from generated.immich.openapi_client.models.create_album_dto import CreateAlbumDto +from generated.immich.openapi_client.models.map_marker_response_dto import MapMarkerResponseDto from generated.immich.openapi_client.models.update_album_dto import UpdateAlbumDto from generated.immich.openapi_client.models.update_album_user_dto import UpdateAlbumUserDto @@ -49,9 +53,8 @@ class AlbumsApi: @validate_call def add_assets_to_album( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, - key: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -65,15 +68,14 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[BulkIdResponseDto]: - """add_assets_to_album + """Add assets to an album + Add multiple assets to a specific album by its ID. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto - :param key: - :type key: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -99,7 +101,6 @@ class AlbumsApi: _param = self._add_assets_to_album_serialize( id=id, bulk_ids_dto=bulk_ids_dto, - key=key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -123,9 +124,8 @@ class AlbumsApi: @validate_call def add_assets_to_album_with_http_info( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, - key: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -139,15 +139,14 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[BulkIdResponseDto]]: - """add_assets_to_album + """Add assets to an album + Add multiple assets to a specific album by its ID. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto - :param key: - :type key: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -173,7 +172,6 @@ class AlbumsApi: _param = self._add_assets_to_album_serialize( id=id, bulk_ids_dto=bulk_ids_dto, - key=key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -197,9 +195,8 @@ class AlbumsApi: @validate_call def add_assets_to_album_without_preload_content( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, - key: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -213,15 +210,14 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """add_assets_to_album + """Add assets to an album + Add multiple assets to a specific album by its ID. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto - :param key: - :type key: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -247,7 +243,6 @@ class AlbumsApi: _param = self._add_assets_to_album_serialize( id=id, bulk_ids_dto=bulk_ids_dto, - key=key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -268,7 +263,6 @@ class AlbumsApi: self, id, bulk_ids_dto, - key, _request_auth, _content_type, _headers, @@ -293,10 +287,6 @@ class AlbumsApi: if id is not None: _path_params['id'] = id # process the query parameters - if key is not None: - - _query_params.append(('key', key)) - # process the header parameters # process the form parameters # process the body parameter @@ -351,10 +341,286 @@ class AlbumsApi: + @validate_call + def add_assets_to_albums( + self, + albums_add_assets_dto: AlbumsAddAssetsDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AlbumsAddAssetsResponseDto: + """Add assets to albums + + Send a list of asset IDs and album IDs to add each asset to each album. + + :param albums_add_assets_dto: (required) + :type albums_add_assets_dto: AlbumsAddAssetsDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_assets_to_albums_serialize( + albums_add_assets_dto=albums_add_assets_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AlbumsAddAssetsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def add_assets_to_albums_with_http_info( + self, + albums_add_assets_dto: AlbumsAddAssetsDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AlbumsAddAssetsResponseDto]: + """Add assets to albums + + Send a list of asset IDs and album IDs to add each asset to each album. + + :param albums_add_assets_dto: (required) + :type albums_add_assets_dto: AlbumsAddAssetsDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_assets_to_albums_serialize( + albums_add_assets_dto=albums_add_assets_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AlbumsAddAssetsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def add_assets_to_albums_without_preload_content( + self, + albums_add_assets_dto: AlbumsAddAssetsDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Add assets to albums + + Send a list of asset IDs and album IDs to add each asset to each album. + + :param albums_add_assets_dto: (required) + :type albums_add_assets_dto: AlbumsAddAssetsDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._add_assets_to_albums_serialize( + albums_add_assets_dto=albums_add_assets_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AlbumsAddAssetsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _add_assets_to_albums_serialize( + self, + albums_add_assets_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if albums_add_assets_dto is not None: + _body_params = albums_add_assets_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/albums/assets', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def add_users_to_album( self, - id: StrictStr, + id: UUID, add_users_dto: AddUsersDto, _request_timeout: Union[ None, @@ -369,11 +635,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AlbumResponseDto: - """add_users_to_album + """Share album with users + Share an album with multiple users. Each user can be given a specific role in the album. :param id: (required) - :type id: str + :type id: UUID :param add_users_dto: (required) :type add_users_dto: AddUsersDto :param _request_timeout: timeout setting for this request. If one @@ -424,7 +691,7 @@ class AlbumsApi: @validate_call def add_users_to_album_with_http_info( self, - id: StrictStr, + id: UUID, add_users_dto: AddUsersDto, _request_timeout: Union[ None, @@ -439,11 +706,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AlbumResponseDto]: - """add_users_to_album + """Share album with users + Share an album with multiple users. Each user can be given a specific role in the album. :param id: (required) - :type id: str + :type id: UUID :param add_users_dto: (required) :type add_users_dto: AddUsersDto :param _request_timeout: timeout setting for this request. If one @@ -494,7 +762,7 @@ class AlbumsApi: @validate_call def add_users_to_album_without_preload_content( self, - id: StrictStr, + id: UUID, add_users_dto: AddUsersDto, _request_timeout: Union[ None, @@ -509,11 +777,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """add_users_to_album + """Share album with users + Share an album with multiple users. Each user can be given a specific role in the album. :param id: (required) - :type id: str + :type id: UUID :param add_users_dto: (required) :type add_users_dto: AddUsersDto :param _request_timeout: timeout setting for this request. If one @@ -656,8 +925,9 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AlbumResponseDto: - """create_album + """Create an album + Create a new album. The album can also be created with initial users and assets. :param create_album_dto: (required) :type create_album_dto: CreateAlbumDto @@ -722,8 +992,9 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AlbumResponseDto]: - """create_album + """Create an album + Create a new album. The album can also be created with initial users and assets. :param create_album_dto: (required) :type create_album_dto: CreateAlbumDto @@ -788,8 +1059,9 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_album + """Create an album + Create a new album. The album can also be created with initial users and assets. :param create_album_dto: (required) :type create_album_dto: CreateAlbumDto @@ -915,7 +1187,7 @@ class AlbumsApi: @validate_call def delete_album( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -929,11 +1201,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_album + """Delete an album + Delete a specific album by its ID. Note the album is initially trashed and then immediately scheduled for deletion, but relies on a background job to complete the process. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -965,7 +1238,7 @@ class AlbumsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -981,7 +1254,7 @@ class AlbumsApi: @validate_call def delete_album_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -995,11 +1268,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_album + """Delete an album + Delete a specific album by its ID. Note the album is initially trashed and then immediately scheduled for deletion, but relies on a background job to complete the process. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1031,7 +1305,7 @@ class AlbumsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -1047,7 +1321,7 @@ class AlbumsApi: @validate_call def delete_album_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1061,11 +1335,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_album + """Delete an album + Delete a specific album by its ID. Note the album is initially trashed and then immediately scheduled for deletion, but relies on a background job to complete the process. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1097,7 +1372,7 @@ class AlbumsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -1168,9 +1443,9 @@ class AlbumsApi: @validate_call def get_album_info( self, - id: StrictStr, + id: UUID, key: Optional[StrictStr] = None, - without_assets: Optional[StrictBool] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1184,15 +1459,16 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AlbumResponseDto: - """get_album_info + """Retrieve an album + Retrieve information about a specific album by its ID. :param id: (required) - :type id: str + :type id: UUID :param key: :type key: str - :param without_assets: - :type without_assets: bool + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1218,7 +1494,7 @@ class AlbumsApi: _param = self._get_album_info_serialize( id=id, key=key, - without_assets=without_assets, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1242,9 +1518,9 @@ class AlbumsApi: @validate_call def get_album_info_with_http_info( self, - id: StrictStr, + id: UUID, key: Optional[StrictStr] = None, - without_assets: Optional[StrictBool] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1258,15 +1534,16 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AlbumResponseDto]: - """get_album_info + """Retrieve an album + Retrieve information about a specific album by its ID. :param id: (required) - :type id: str + :type id: UUID :param key: :type key: str - :param without_assets: - :type without_assets: bool + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1292,7 +1569,7 @@ class AlbumsApi: _param = self._get_album_info_serialize( id=id, key=key, - without_assets=without_assets, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1316,9 +1593,9 @@ class AlbumsApi: @validate_call def get_album_info_without_preload_content( self, - id: StrictStr, + id: UUID, key: Optional[StrictStr] = None, - without_assets: Optional[StrictBool] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1332,15 +1609,16 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_album_info + """Retrieve an album + Retrieve information about a specific album by its ID. :param id: (required) - :type id: str + :type id: UUID :param key: :type key: str - :param without_assets: - :type without_assets: bool + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1366,7 +1644,7 @@ class AlbumsApi: _param = self._get_album_info_serialize( id=id, key=key, - without_assets=without_assets, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1387,7 +1665,7 @@ class AlbumsApi: self, id, key, - without_assets, + slug, _request_auth, _content_type, _headers, @@ -1416,9 +1694,9 @@ class AlbumsApi: _query_params.append(('key', key)) - if without_assets is not None: + if slug is not None: - _query_params.append(('withoutAssets', without_assets)) + _query_params.append(('slug', slug)) # process the header parameters # process the form parameters @@ -1459,6 +1737,303 @@ class AlbumsApi: + @validate_call + def get_album_map_markers( + self, + id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[MapMarkerResponseDto]: + """Retrieve album map markers + + Retrieve map marker information for a specific album by its ID. + + :param id: (required) + :type id: UUID + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_album_map_markers_serialize( + id=id, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[MapMarkerResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_album_map_markers_with_http_info( + self, + id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[MapMarkerResponseDto]]: + """Retrieve album map markers + + Retrieve map marker information for a specific album by its ID. + + :param id: (required) + :type id: UUID + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_album_map_markers_serialize( + id=id, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[MapMarkerResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_album_map_markers_without_preload_content( + self, + id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve album map markers + + Retrieve map marker information for a specific album by its ID. + + :param id: (required) + :type id: UUID + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_album_map_markers_serialize( + id=id, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[MapMarkerResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_album_map_markers_serialize( + self, + id, + key, + slug, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if key is not None: + + _query_params.append(('key', key)) + + if slug is not None: + + _query_params.append(('slug', slug)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/albums/{id}/map-markers', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def get_album_statistics( self, @@ -1475,8 +2050,9 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AlbumStatisticsResponseDto: - """get_album_statistics + """Retrieve album statistics + Returns statistics about the albums available to the authenticated user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1537,8 +2113,9 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AlbumStatisticsResponseDto]: - """get_album_statistics + """Retrieve album statistics + Returns statistics about the albums available to the authenticated user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1599,8 +2176,9 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_album_statistics + """Retrieve album statistics + Returns statistics about the albums available to the authenticated user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1707,8 +2285,11 @@ class AlbumsApi: @validate_call def get_all_albums( self, - asset_id: Annotated[Optional[StrictStr], Field(description="Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums")] = None, - shared: Optional[StrictBool] = None, + asset_id: Annotated[Optional[UUID], Field(description="Filter albums containing this asset ID (ignores other parameters)")] = None, + id: Annotated[Optional[UUID], Field(description="Album ID")] = None, + is_owned: Annotated[Optional[StrictBool], Field(description="Filter by ownership: true = only owned, false = only shared-with-me, undefined = no filter")] = None, + is_shared: Annotated[Optional[StrictBool], Field(description="Filter by shared status: true = only shared, false = not shared, undefined = no filter")] = None, + name: Annotated[Optional[StrictStr], Field(description="Album name (exact match)")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1722,13 +2303,20 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[AlbumResponseDto]: - """get_all_albums + """List all albums + Retrieve a list of albums available to the authenticated user. - :param asset_id: Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums - :type asset_id: str - :param shared: - :type shared: bool + :param asset_id: Filter albums containing this asset ID (ignores other parameters) + :type asset_id: UUID + :param id: Album ID + :type id: UUID + :param is_owned: Filter by ownership: true = only owned, false = only shared-with-me, undefined = no filter + :type is_owned: bool + :param is_shared: Filter by shared status: true = only shared, false = not shared, undefined = no filter + :type is_shared: bool + :param name: Album name (exact match) + :type name: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1753,7 +2341,10 @@ class AlbumsApi: _param = self._get_all_albums_serialize( asset_id=asset_id, - shared=shared, + id=id, + is_owned=is_owned, + is_shared=is_shared, + name=name, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1777,8 +2368,11 @@ class AlbumsApi: @validate_call def get_all_albums_with_http_info( self, - asset_id: Annotated[Optional[StrictStr], Field(description="Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums")] = None, - shared: Optional[StrictBool] = None, + asset_id: Annotated[Optional[UUID], Field(description="Filter albums containing this asset ID (ignores other parameters)")] = None, + id: Annotated[Optional[UUID], Field(description="Album ID")] = None, + is_owned: Annotated[Optional[StrictBool], Field(description="Filter by ownership: true = only owned, false = only shared-with-me, undefined = no filter")] = None, + is_shared: Annotated[Optional[StrictBool], Field(description="Filter by shared status: true = only shared, false = not shared, undefined = no filter")] = None, + name: Annotated[Optional[StrictStr], Field(description="Album name (exact match)")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1792,13 +2386,20 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[AlbumResponseDto]]: - """get_all_albums + """List all albums + Retrieve a list of albums available to the authenticated user. - :param asset_id: Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums - :type asset_id: str - :param shared: - :type shared: bool + :param asset_id: Filter albums containing this asset ID (ignores other parameters) + :type asset_id: UUID + :param id: Album ID + :type id: UUID + :param is_owned: Filter by ownership: true = only owned, false = only shared-with-me, undefined = no filter + :type is_owned: bool + :param is_shared: Filter by shared status: true = only shared, false = not shared, undefined = no filter + :type is_shared: bool + :param name: Album name (exact match) + :type name: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1823,7 +2424,10 @@ class AlbumsApi: _param = self._get_all_albums_serialize( asset_id=asset_id, - shared=shared, + id=id, + is_owned=is_owned, + is_shared=is_shared, + name=name, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1847,8 +2451,11 @@ class AlbumsApi: @validate_call def get_all_albums_without_preload_content( self, - asset_id: Annotated[Optional[StrictStr], Field(description="Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums")] = None, - shared: Optional[StrictBool] = None, + asset_id: Annotated[Optional[UUID], Field(description="Filter albums containing this asset ID (ignores other parameters)")] = None, + id: Annotated[Optional[UUID], Field(description="Album ID")] = None, + is_owned: Annotated[Optional[StrictBool], Field(description="Filter by ownership: true = only owned, false = only shared-with-me, undefined = no filter")] = None, + is_shared: Annotated[Optional[StrictBool], Field(description="Filter by shared status: true = only shared, false = not shared, undefined = no filter")] = None, + name: Annotated[Optional[StrictStr], Field(description="Album name (exact match)")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1862,13 +2469,20 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_all_albums + """List all albums + Retrieve a list of albums available to the authenticated user. - :param asset_id: Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums - :type asset_id: str - :param shared: - :type shared: bool + :param asset_id: Filter albums containing this asset ID (ignores other parameters) + :type asset_id: UUID + :param id: Album ID + :type id: UUID + :param is_owned: Filter by ownership: true = only owned, false = only shared-with-me, undefined = no filter + :type is_owned: bool + :param is_shared: Filter by shared status: true = only shared, false = not shared, undefined = no filter + :type is_shared: bool + :param name: Album name (exact match) + :type name: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1893,7 +2507,10 @@ class AlbumsApi: _param = self._get_all_albums_serialize( asset_id=asset_id, - shared=shared, + id=id, + is_owned=is_owned, + is_shared=is_shared, + name=name, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1913,7 +2530,10 @@ class AlbumsApi: def _get_all_albums_serialize( self, asset_id, - shared, + id, + is_owned, + is_shared, + name, _request_auth, _content_type, _headers, @@ -1940,9 +2560,21 @@ class AlbumsApi: _query_params.append(('assetId', asset_id)) - if shared is not None: + if id is not None: - _query_params.append(('shared', shared)) + _query_params.append(('id', id)) + + if is_owned is not None: + + _query_params.append(('isOwned', is_owned)) + + if is_shared is not None: + + _query_params.append(('isShared', is_shared)) + + if name is not None: + + _query_params.append(('name', name)) # process the header parameters # process the form parameters @@ -1986,7 +2618,7 @@ class AlbumsApi: @validate_call def remove_asset_from_album( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -2001,11 +2633,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[BulkIdResponseDto]: - """remove_asset_from_album + """Remove assets from an album + Remove multiple assets from a specific album by its ID. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -2056,7 +2689,7 @@ class AlbumsApi: @validate_call def remove_asset_from_album_with_http_info( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -2071,11 +2704,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[BulkIdResponseDto]]: - """remove_asset_from_album + """Remove assets from an album + Remove multiple assets from a specific album by its ID. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -2126,7 +2760,7 @@ class AlbumsApi: @validate_call def remove_asset_from_album_without_preload_content( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -2141,11 +2775,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """remove_asset_from_album + """Remove assets from an album + Remove multiple assets from a specific album by its ID. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -2274,7 +2909,7 @@ class AlbumsApi: @validate_call def remove_user_from_album( self, - id: StrictStr, + id: UUID, user_id: StrictStr, _request_timeout: Union[ None, @@ -2289,11 +2924,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """remove_user_from_album + """Remove user from album + Remove a user from an album. Use an ID of \"me\" to leave a shared album. :param id: (required) - :type id: str + :type id: UUID :param user_id: (required) :type user_id: str :param _request_timeout: timeout setting for this request. If one @@ -2328,7 +2964,7 @@ class AlbumsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -2344,7 +2980,7 @@ class AlbumsApi: @validate_call def remove_user_from_album_with_http_info( self, - id: StrictStr, + id: UUID, user_id: StrictStr, _request_timeout: Union[ None, @@ -2359,11 +2995,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """remove_user_from_album + """Remove user from album + Remove a user from an album. Use an ID of \"me\" to leave a shared album. :param id: (required) - :type id: str + :type id: UUID :param user_id: (required) :type user_id: str :param _request_timeout: timeout setting for this request. If one @@ -2398,7 +3035,7 @@ class AlbumsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -2414,7 +3051,7 @@ class AlbumsApi: @validate_call def remove_user_from_album_without_preload_content( self, - id: StrictStr, + id: UUID, user_id: StrictStr, _request_timeout: Union[ None, @@ -2429,11 +3066,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """remove_user_from_album + """Remove user from album + Remove a user from an album. Use an ID of \"me\" to leave a shared album. :param id: (required) - :type id: str + :type id: UUID :param user_id: (required) :type user_id: str :param _request_timeout: timeout setting for this request. If one @@ -2468,7 +3106,7 @@ class AlbumsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -2542,7 +3180,7 @@ class AlbumsApi: @validate_call def update_album_info( self, - id: StrictStr, + id: UUID, update_album_dto: UpdateAlbumDto, _request_timeout: Union[ None, @@ -2557,11 +3195,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AlbumResponseDto: - """update_album_info + """Update an album + Update the information of a specific album by its ID. This endpoint can be used to update the album name, description, sort order, etc. However, it is not used to add or remove assets or users from the album. :param id: (required) - :type id: str + :type id: UUID :param update_album_dto: (required) :type update_album_dto: UpdateAlbumDto :param _request_timeout: timeout setting for this request. If one @@ -2612,7 +3251,7 @@ class AlbumsApi: @validate_call def update_album_info_with_http_info( self, - id: StrictStr, + id: UUID, update_album_dto: UpdateAlbumDto, _request_timeout: Union[ None, @@ -2627,11 +3266,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AlbumResponseDto]: - """update_album_info + """Update an album + Update the information of a specific album by its ID. This endpoint can be used to update the album name, description, sort order, etc. However, it is not used to add or remove assets or users from the album. :param id: (required) - :type id: str + :type id: UUID :param update_album_dto: (required) :type update_album_dto: UpdateAlbumDto :param _request_timeout: timeout setting for this request. If one @@ -2682,7 +3322,7 @@ class AlbumsApi: @validate_call def update_album_info_without_preload_content( self, - id: StrictStr, + id: UUID, update_album_dto: UpdateAlbumDto, _request_timeout: Union[ None, @@ -2697,11 +3337,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_album_info + """Update an album + Update the information of a specific album by its ID. This endpoint can be used to update the album name, description, sort order, etc. However, it is not used to add or remove assets or users from the album. :param id: (required) - :type id: str + :type id: UUID :param update_album_dto: (required) :type update_album_dto: UpdateAlbumDto :param _request_timeout: timeout setting for this request. If one @@ -2830,7 +3471,7 @@ class AlbumsApi: @validate_call def update_album_user( self, - id: StrictStr, + id: UUID, user_id: StrictStr, update_album_user_dto: UpdateAlbumUserDto, _request_timeout: Union[ @@ -2846,11 +3487,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """update_album_user + """Update user role + Change the role for a specific user in a specific album. :param id: (required) - :type id: str + :type id: UUID :param user_id: (required) :type user_id: str :param update_album_user_dto: (required) @@ -2888,7 +3530,7 @@ class AlbumsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -2904,7 +3546,7 @@ class AlbumsApi: @validate_call def update_album_user_with_http_info( self, - id: StrictStr, + id: UUID, user_id: StrictStr, update_album_user_dto: UpdateAlbumUserDto, _request_timeout: Union[ @@ -2920,11 +3562,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """update_album_user + """Update user role + Change the role for a specific user in a specific album. :param id: (required) - :type id: str + :type id: UUID :param user_id: (required) :type user_id: str :param update_album_user_dto: (required) @@ -2962,7 +3605,7 @@ class AlbumsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -2978,7 +3621,7 @@ class AlbumsApi: @validate_call def update_album_user_without_preload_content( self, - id: StrictStr, + id: UUID, user_id: StrictStr, update_album_user_dto: UpdateAlbumUserDto, _request_timeout: Union[ @@ -2994,11 +3637,12 @@ class AlbumsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_album_user + """Update user role + Change the role for a specific user in a specific album. :param id: (required) - :type id: str + :type id: UUID :param user_id: (required) :type user_id: str :param update_album_user_dto: (required) @@ -3036,7 +3680,7 @@ class AlbumsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, diff --git a/generated/immich/openapi_client/api/api_keys_api.py b/generated/immich/openapi_client/api/api_keys_api.py index 4b10a16..a57029c 100644 --- a/generated/immich/openapi_client/api/api_keys_api.py +++ b/generated/immich/openapi_client/api/api_keys_api.py @@ -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. @@ -16,12 +16,12 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr from typing import List -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 uuid import UUID +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.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -44,7 +44,7 @@ class APIKeysApi: @validate_call def create_api_key( self, - api_key_create_dto: APIKeyCreateDto, + api_key_create_dto: ApiKeyCreateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -57,12 +57,13 @@ class APIKeysApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> APIKeyCreateResponseDto: - """create_api_key + ) -> ApiKeyCreateResponseDto: + """Create an API key + Creates a new API key. It will be limited to the permissions specified. :param api_key_create_dto: (required) - :type api_key_create_dto: APIKeyCreateDto + :type api_key_create_dto: ApiKeyCreateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -94,7 +95,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "APIKeyCreateResponseDto", + '201': "ApiKeyCreateResponseDto", } response_data = self.api_client.call_api( *_param, @@ -110,7 +111,7 @@ class APIKeysApi: @validate_call def create_api_key_with_http_info( self, - api_key_create_dto: APIKeyCreateDto, + api_key_create_dto: ApiKeyCreateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -123,12 +124,13 @@ class APIKeysApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[APIKeyCreateResponseDto]: - """create_api_key + ) -> ApiResponse[ApiKeyCreateResponseDto]: + """Create an API key + Creates a new API key. It will be limited to the permissions specified. :param api_key_create_dto: (required) - :type api_key_create_dto: APIKeyCreateDto + :type api_key_create_dto: ApiKeyCreateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -160,7 +162,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "APIKeyCreateResponseDto", + '201': "ApiKeyCreateResponseDto", } response_data = self.api_client.call_api( *_param, @@ -176,7 +178,7 @@ class APIKeysApi: @validate_call def create_api_key_without_preload_content( self, - api_key_create_dto: APIKeyCreateDto, + api_key_create_dto: ApiKeyCreateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -190,11 +192,12 @@ class APIKeysApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_api_key + """Create an API key + Creates a new API key. It will be limited to the permissions specified. :param api_key_create_dto: (required) - :type api_key_create_dto: APIKeyCreateDto + :type api_key_create_dto: ApiKeyCreateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -226,7 +229,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "APIKeyCreateResponseDto", + '201': "ApiKeyCreateResponseDto", } response_data = self.api_client.call_api( *_param, @@ -317,7 +320,7 @@ class APIKeysApi: @validate_call def delete_api_key( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -331,11 +334,12 @@ class APIKeysApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_api_key + """Delete an API key + Deletes an API key identified by its ID. The current user must own this API key. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -383,7 +387,7 @@ class APIKeysApi: @validate_call def delete_api_key_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -397,11 +401,12 @@ class APIKeysApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_api_key + """Delete an API key + Deletes an API key identified by its ID. The current user must own this API key. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -449,7 +454,7 @@ class APIKeysApi: @validate_call def delete_api_key_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -463,11 +468,12 @@ class APIKeysApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_api_key + """Delete an API key + Deletes an API key identified by its ID. The current user must own this API key. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -570,7 +576,7 @@ class APIKeysApi: @validate_call def get_api_key( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -583,12 +589,13 @@ class APIKeysApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> APIKeyResponseDto: - """get_api_key + ) -> ApiKeyResponseDto: + """Retrieve an API key + Retrieve an API key by its ID. The current user must own this API key. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -620,7 +627,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "APIKeyResponseDto", + '200': "ApiKeyResponseDto", } response_data = self.api_client.call_api( *_param, @@ -636,7 +643,7 @@ class APIKeysApi: @validate_call def get_api_key_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -649,12 +656,13 @@ class APIKeysApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[APIKeyResponseDto]: - """get_api_key + ) -> ApiResponse[ApiKeyResponseDto]: + """Retrieve an API key + Retrieve an API key by its ID. The current user must own this API key. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -686,7 +694,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "APIKeyResponseDto", + '200': "ApiKeyResponseDto", } response_data = self.api_client.call_api( *_param, @@ -702,7 +710,7 @@ class APIKeysApi: @validate_call def get_api_key_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -716,11 +724,12 @@ class APIKeysApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_api_key + """Retrieve an API key + Retrieve an API key by its ID. The current user must own this API key. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -752,7 +761,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "APIKeyResponseDto", + '200': "ApiKeyResponseDto", } response_data = self.api_client.call_api( *_param, @@ -842,9 +851,10 @@ class APIKeysApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[APIKeyResponseDto]: - """get_api_keys + ) -> List[ApiKeyResponseDto]: + """List all API keys + Retrieve all API keys of the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -876,7 +886,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[APIKeyResponseDto]", + '200': "List[ApiKeyResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -904,9 +914,10 @@ class APIKeysApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[APIKeyResponseDto]]: - """get_api_keys + ) -> ApiResponse[List[ApiKeyResponseDto]]: + """List all API keys + Retrieve all API keys of the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -938,7 +949,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[APIKeyResponseDto]", + '200': "List[ApiKeyResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -967,8 +978,9 @@ class APIKeysApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_api_keys + """List all API keys + Retrieve all API keys of the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1000,7 +1012,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[APIKeyResponseDto]", + '200': "List[ApiKeyResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -1073,10 +1085,8 @@ class APIKeysApi: @validate_call - def update_api_key( + def get_my_api_key( self, - id: StrictStr, - api_key_update_dto: APIKeyUpdateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1089,14 +1099,11 @@ class APIKeysApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> APIKeyResponseDto: - """update_api_key + ) -> ApiKeyResponseDto: + """Retrieve the current API key + Retrieve the API key that is used to access this endpoint. - :param id: (required) - :type id: str - :param api_key_update_dto: (required) - :type api_key_update_dto: APIKeyUpdateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1119,6 +1126,261 @@ class APIKeysApi: :return: Returns the result object. """ # noqa: E501 + _param = self._get_my_api_key_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ApiKeyResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_my_api_key_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[ApiKeyResponseDto]: + """Retrieve the current API key + + Retrieve the API key that is used to access this endpoint. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_my_api_key_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ApiKeyResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_my_api_key_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve the current API key + + Retrieve the API key that is used to access this endpoint. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_my_api_key_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ApiKeyResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_my_api_key_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api-keys/me', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_api_key( + self, + id: UUID, + api_key_update_dto: ApiKeyUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiKeyResponseDto: + """(Deprecated) Update an API key + + Updates the name and permissions of an API key by its ID. The current user must own this API key. + + :param id: (required) + :type id: UUID + :param api_key_update_dto: (required) + :type api_key_update_dto: ApiKeyUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /api-keys/{id} is deprecated.", DeprecationWarning) + _param = self._update_api_key_serialize( id=id, api_key_update_dto=api_key_update_dto, @@ -1129,7 +1391,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "APIKeyResponseDto", + '200': "ApiKeyResponseDto", } response_data = self.api_client.call_api( *_param, @@ -1145,8 +1407,8 @@ class APIKeysApi: @validate_call def update_api_key_with_http_info( self, - id: StrictStr, - api_key_update_dto: APIKeyUpdateDto, + id: UUID, + api_key_update_dto: ApiKeyUpdateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1159,14 +1421,15 @@ class APIKeysApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[APIKeyResponseDto]: - """update_api_key + ) -> ApiResponse[ApiKeyResponseDto]: + """(Deprecated) Update an API key + Updates the name and permissions of an API key by its ID. The current user must own this API key. :param id: (required) - :type id: str + :type id: UUID :param api_key_update_dto: (required) - :type api_key_update_dto: APIKeyUpdateDto + :type api_key_update_dto: ApiKeyUpdateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1188,6 +1451,7 @@ class APIKeysApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /api-keys/{id} is deprecated.", DeprecationWarning) _param = self._update_api_key_serialize( id=id, @@ -1199,7 +1463,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "APIKeyResponseDto", + '200': "ApiKeyResponseDto", } response_data = self.api_client.call_api( *_param, @@ -1215,8 +1479,8 @@ class APIKeysApi: @validate_call def update_api_key_without_preload_content( self, - id: StrictStr, - api_key_update_dto: APIKeyUpdateDto, + id: UUID, + api_key_update_dto: ApiKeyUpdateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1230,13 +1494,14 @@ class APIKeysApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_api_key + """(Deprecated) Update an API key + Updates the name and permissions of an API key by its ID. The current user must own this API key. :param id: (required) - :type id: str + :type id: UUID :param api_key_update_dto: (required) - :type api_key_update_dto: APIKeyUpdateDto + :type api_key_update_dto: ApiKeyUpdateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1258,6 +1523,7 @@ class APIKeysApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /api-keys/{id} is deprecated.", DeprecationWarning) _param = self._update_api_key_serialize( id=id, @@ -1269,7 +1535,7 @@ class APIKeysApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "APIKeyResponseDto", + '200': "ApiKeyResponseDto", } response_data = self.api_client.call_api( *_param, diff --git a/generated/immich/openapi_client/api/assets_api.py b/generated/immich/openapi_client/api/assets_api.py index 5648029..48c106a 100644 --- a/generated/immich/openapi_client/api/assets_api.py +++ b/generated/immich/openapi_client/api/assets_api.py @@ -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,21 +17,30 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated from datetime import datetime -from pydantic import Field, StrictBool, StrictBytes, StrictStr +from pydantic import Field, StrictBool, StrictBytes, StrictStr, field_validator from typing import List, Optional, Tuple, Union from typing_extensions import Annotated +from uuid import UUID 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_response_dto import AssetBulkUploadCheckResponseDto +from generated.immich.openapi_client.models.asset_copy_dto import AssetCopyDto +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_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_metadata_bulk_delete_dto import AssetMetadataBulkDeleteDto +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_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_response_dto import AssetResponseDto from generated.immich.openapi_client.models.asset_stats_response_dto import AssetStatsResponseDto -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.memory_lane_response_dto import MemoryLaneResponseDto +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility from generated.immich.openapi_client.models.update_asset_dto import UpdateAssetDto from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized @@ -69,9 +78,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AssetBulkUploadCheckResponseDto: - """checkBulkUpload + """Check bulk upload - Checks if assets exist by checksums + Determine which assets have already been uploaded to the server based on their SHA1 checksums. :param asset_bulk_upload_check_dto: (required) :type asset_bulk_upload_check_dto: AssetBulkUploadCheckDto @@ -136,9 +145,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AssetBulkUploadCheckResponseDto]: - """checkBulkUpload + """Check bulk upload - Checks if assets exist by checksums + Determine which assets have already been uploaded to the server based on their SHA1 checksums. :param asset_bulk_upload_check_dto: (required) :type asset_bulk_upload_check_dto: AssetBulkUploadCheckDto @@ -203,9 +212,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """checkBulkUpload + """Check bulk upload - Checks if assets exist by checksums + Determine which assets have already been uploaded to the server based on their SHA1 checksums. :param asset_bulk_upload_check_dto: (required) :type asset_bulk_upload_check_dto: AssetBulkUploadCheckDto @@ -329,9 +338,9 @@ class AssetsApi: @validate_call - def check_existing_assets( + def copy_asset( self, - check_existing_assets_dto: CheckExistingAssetsDto, + asset_copy_dto: AssetCopyDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -344,13 +353,13 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> CheckExistingAssetsResponseDto: - """checkExistingAssets + ) -> None: + """Copy asset - Checks if multiple assets exist on the server and returns all existing - used by background backup + Copy asset information like albums, tags, etc. from one asset to another. - :param check_existing_assets_dto: (required) - :type check_existing_assets_dto: CheckExistingAssetsDto + :param asset_copy_dto: (required) + :type asset_copy_dto: AssetCopyDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -373,8 +382,8 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._check_existing_assets_serialize( - check_existing_assets_dto=check_existing_assets_dto, + _param = self._copy_asset_serialize( + asset_copy_dto=asset_copy_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -382,7 +391,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CheckExistingAssetsResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -396,9 +405,9 @@ class AssetsApi: @validate_call - def check_existing_assets_with_http_info( + def copy_asset_with_http_info( self, - check_existing_assets_dto: CheckExistingAssetsDto, + asset_copy_dto: AssetCopyDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -411,13 +420,13 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[CheckExistingAssetsResponseDto]: - """checkExistingAssets + ) -> ApiResponse[None]: + """Copy asset - Checks if multiple assets exist on the server and returns all existing - used by background backup + Copy asset information like albums, tags, etc. from one asset to another. - :param check_existing_assets_dto: (required) - :type check_existing_assets_dto: CheckExistingAssetsDto + :param asset_copy_dto: (required) + :type asset_copy_dto: AssetCopyDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -440,8 +449,8 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._check_existing_assets_serialize( - check_existing_assets_dto=check_existing_assets_dto, + _param = self._copy_asset_serialize( + asset_copy_dto=asset_copy_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -449,7 +458,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CheckExistingAssetsResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -463,9 +472,9 @@ class AssetsApi: @validate_call - def check_existing_assets_without_preload_content( + def copy_asset_without_preload_content( self, - check_existing_assets_dto: CheckExistingAssetsDto, + asset_copy_dto: AssetCopyDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -479,12 +488,12 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """checkExistingAssets + """Copy asset - Checks if multiple assets exist on the server and returns all existing - used by background backup + Copy asset information like albums, tags, etc. from one asset to another. - :param check_existing_assets_dto: (required) - :type check_existing_assets_dto: CheckExistingAssetsDto + :param asset_copy_dto: (required) + :type asset_copy_dto: AssetCopyDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -507,8 +516,8 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._check_existing_assets_serialize( - check_existing_assets_dto=check_existing_assets_dto, + _param = self._copy_asset_serialize( + asset_copy_dto=asset_copy_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -516,7 +525,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "CheckExistingAssetsResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -525,9 +534,9 @@ class AssetsApi: return response_data.response - def _check_existing_assets_serialize( + def _copy_asset_serialize( self, - check_existing_assets_dto, + asset_copy_dto, _request_auth, _content_type, _headers, @@ -553,17 +562,10 @@ class AssetsApi: # process the header parameters # process the form parameters # process the body parameter - if check_existing_assets_dto is not None: - _body_params = check_existing_assets_dto + if asset_copy_dto is not None: + _body_params = asset_copy_dto - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) # set the HTTP header `Content-Type` if _content_type: @@ -587,8 +589,279 @@ class AssetsApi: ] return self.api_client.param_serialize( - method='POST', - resource_path='/assets/exist', + method='PUT', + resource_path='/assets/copy', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_asset_metadata( + self, + id: Annotated[UUID, Field(description="Asset ID")], + key: Annotated[StrictStr, Field(description="Metadata key")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete asset metadata by key + + Delete a specific metadata key-value pair associated with the specified asset. + + :param id: Asset ID (required) + :type id: UUID + :param key: Metadata key (required) + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_asset_metadata_serialize( + id=id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_asset_metadata_with_http_info( + self, + id: Annotated[UUID, Field(description="Asset ID")], + key: Annotated[StrictStr, Field(description="Metadata key")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete asset metadata by key + + Delete a specific metadata key-value pair associated with the specified asset. + + :param id: Asset ID (required) + :type id: UUID + :param key: Metadata key (required) + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_asset_metadata_serialize( + id=id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_asset_metadata_without_preload_content( + self, + id: Annotated[UUID, Field(description="Asset ID")], + key: Annotated[StrictStr, Field(description="Metadata key")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete asset metadata by key + + Delete a specific metadata key-value pair associated with the specified asset. + + :param id: Asset ID (required) + :type id: UUID + :param key: Metadata key (required) + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_asset_metadata_serialize( + id=id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_asset_metadata_serialize( + self, + id, + key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + if key is not None: + _path_params['key'] = key + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/assets/{id}/metadata/{key}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -621,8 +894,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_assets + """Delete assets + Deletes multiple assets at the same time. :param asset_bulk_delete_dto: (required) :type asset_bulk_delete_dto: AssetBulkDeleteDto @@ -687,8 +961,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_assets + """Delete assets + Deletes multiple assets at the same time. :param asset_bulk_delete_dto: (required) :type asset_bulk_delete_dto: AssetBulkDeleteDto @@ -753,8 +1028,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_assets + """Delete assets + Deletes multiple assets at the same time. :param asset_bulk_delete_dto: (required) :type asset_bulk_delete_dto: AssetBulkDeleteDto @@ -870,11 +1146,282 @@ class AssetsApi: + @validate_call + def delete_bulk_asset_metadata( + self, + asset_metadata_bulk_delete_dto: AssetMetadataBulkDeleteDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete asset metadata + + Delete metadata key-value pairs for multiple assets. + + :param asset_metadata_bulk_delete_dto: (required) + :type asset_metadata_bulk_delete_dto: AssetMetadataBulkDeleteDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_bulk_asset_metadata_serialize( + asset_metadata_bulk_delete_dto=asset_metadata_bulk_delete_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_bulk_asset_metadata_with_http_info( + self, + asset_metadata_bulk_delete_dto: AssetMetadataBulkDeleteDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete asset metadata + + Delete metadata key-value pairs for multiple assets. + + :param asset_metadata_bulk_delete_dto: (required) + :type asset_metadata_bulk_delete_dto: AssetMetadataBulkDeleteDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_bulk_asset_metadata_serialize( + asset_metadata_bulk_delete_dto=asset_metadata_bulk_delete_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_bulk_asset_metadata_without_preload_content( + self, + asset_metadata_bulk_delete_dto: AssetMetadataBulkDeleteDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete asset metadata + + Delete metadata key-value pairs for multiple assets. + + :param asset_metadata_bulk_delete_dto: (required) + :type asset_metadata_bulk_delete_dto: AssetMetadataBulkDeleteDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_bulk_asset_metadata_serialize( + asset_metadata_bulk_delete_dto=asset_metadata_bulk_delete_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_bulk_asset_metadata_serialize( + self, + asset_metadata_bulk_delete_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if asset_metadata_bulk_delete_dto is not None: + _body_params = asset_metadata_bulk_delete_dto + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/assets/metadata', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def download_asset( self, - id: StrictStr, + id: UUID, + edited: Annotated[Optional[StrictBool], Field(description="Return edited asset if available")] = None, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -888,13 +1435,18 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> bytearray: - """download_asset + """Download original asset + Downloads the original file of the specified asset. :param id: (required) - :type id: str + :type id: UUID + :param edited: Return edited asset if available + :type edited: bool :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -919,7 +1471,9 @@ class AssetsApi: _param = self._download_asset_serialize( id=id, + edited=edited, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -943,8 +1497,10 @@ class AssetsApi: @validate_call def download_asset_with_http_info( self, - id: StrictStr, + id: UUID, + edited: Annotated[Optional[StrictBool], Field(description="Return edited asset if available")] = None, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -958,13 +1514,18 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[bytearray]: - """download_asset + """Download original asset + Downloads the original file of the specified asset. :param id: (required) - :type id: str + :type id: UUID + :param edited: Return edited asset if available + :type edited: bool :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -989,7 +1550,9 @@ class AssetsApi: _param = self._download_asset_serialize( id=id, + edited=edited, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1013,8 +1576,10 @@ class AssetsApi: @validate_call def download_asset_without_preload_content( self, - id: StrictStr, + id: UUID, + edited: Annotated[Optional[StrictBool], Field(description="Return edited asset if available")] = None, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1028,13 +1593,18 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """download_asset + """Download original asset + Downloads the original file of the specified asset. :param id: (required) - :type id: str + :type id: UUID + :param edited: Return edited asset if available + :type edited: bool :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1059,7 +1629,9 @@ class AssetsApi: _param = self._download_asset_serialize( id=id, + edited=edited, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1079,7 +1651,9 @@ class AssetsApi: def _download_asset_serialize( self, id, + edited, key, + slug, _request_auth, _content_type, _headers, @@ -1104,10 +1678,18 @@ class AssetsApi: if id is not None: _path_params['id'] = id # process the query parameters + if edited is not None: + + _query_params.append(('edited', edited)) + if key is not None: _query_params.append(('key', key)) + if slug is not None: + + _query_params.append(('slug', slug)) + # process the header parameters # process the form parameters # process the body parameter @@ -1148,9 +1730,10 @@ class AssetsApi: @validate_call - def get_all_user_assets_by_device_id( + def edit_asset( self, - device_id: StrictStr, + id: UUID, + asset_edits_create_dto: AssetEditsCreateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1163,13 +1746,15 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[str]: - """getAllUserAssetsByDeviceId + ) -> AssetEditsResponseDto: + """Apply edits to an existing asset - Get all asset of a device that are in the database, ID only. + Apply a series of edit actions (crop, rotate, mirror) to the specified asset. - :param device_id: (required) - :type device_id: str + :param id: (required) + :type id: UUID + :param asset_edits_create_dto: (required) + :type asset_edits_create_dto: AssetEditsCreateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1192,8 +1777,9 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_all_user_assets_by_device_id_serialize( - device_id=device_id, + _param = self._edit_asset_serialize( + id=id, + asset_edits_create_dto=asset_edits_create_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1201,7 +1787,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[str]", + '200': "AssetEditsResponseDto", } response_data = self.api_client.call_api( *_param, @@ -1215,9 +1801,10 @@ class AssetsApi: @validate_call - def get_all_user_assets_by_device_id_with_http_info( + def edit_asset_with_http_info( self, - device_id: StrictStr, + id: UUID, + asset_edits_create_dto: AssetEditsCreateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1230,13 +1817,15 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[str]]: - """getAllUserAssetsByDeviceId + ) -> ApiResponse[AssetEditsResponseDto]: + """Apply edits to an existing asset - Get all asset of a device that are in the database, ID only. + Apply a series of edit actions (crop, rotate, mirror) to the specified asset. - :param device_id: (required) - :type device_id: str + :param id: (required) + :type id: UUID + :param asset_edits_create_dto: (required) + :type asset_edits_create_dto: AssetEditsCreateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1259,8 +1848,9 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_all_user_assets_by_device_id_serialize( - device_id=device_id, + _param = self._edit_asset_serialize( + id=id, + asset_edits_create_dto=asset_edits_create_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1268,7 +1858,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[str]", + '200': "AssetEditsResponseDto", } response_data = self.api_client.call_api( *_param, @@ -1282,9 +1872,10 @@ class AssetsApi: @validate_call - def get_all_user_assets_by_device_id_without_preload_content( + def edit_asset_without_preload_content( self, - device_id: StrictStr, + id: UUID, + asset_edits_create_dto: AssetEditsCreateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1298,12 +1889,14 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """getAllUserAssetsByDeviceId + """Apply edits to an existing asset - Get all asset of a device that are in the database, ID only. + Apply a series of edit actions (crop, rotate, mirror) to the specified asset. - :param device_id: (required) - :type device_id: str + :param id: (required) + :type id: UUID + :param asset_edits_create_dto: (required) + :type asset_edits_create_dto: AssetEditsCreateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1326,8 +1919,9 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_all_user_assets_by_device_id_serialize( - device_id=device_id, + _param = self._edit_asset_serialize( + id=id, + asset_edits_create_dto=asset_edits_create_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1335,7 +1929,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[str]", + '200': "AssetEditsResponseDto", } response_data = self.api_client.call_api( *_param, @@ -1344,9 +1938,10 @@ class AssetsApi: return response_data.response - def _get_all_user_assets_by_device_id_serialize( + def _edit_asset_serialize( self, - device_id, + id, + asset_edits_create_dto, _request_auth, _content_type, _headers, @@ -1368,8 +1963,591 @@ class AssetsApi: _body_params: Optional[bytes] = None # process the path parameters - if device_id is not None: - _path_params['deviceId'] = device_id + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if asset_edits_create_dto is not None: + _body_params = asset_edits_create_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/assets/{id}/edits', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def end_session( + self, + id: UUID, + session_id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """End HLS streaming session + + Releases server resources for the streaming session. + + :param id: (required) + :type id: UUID + :param session_id: (required) + :type session_id: UUID + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._end_session_serialize( + id=id, + session_id=session_id, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def end_session_with_http_info( + self, + id: UUID, + session_id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """End HLS streaming session + + Releases server resources for the streaming session. + + :param id: (required) + :type id: UUID + :param session_id: (required) + :type session_id: UUID + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._end_session_serialize( + id=id, + session_id=session_id, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def end_session_without_preload_content( + self, + id: UUID, + session_id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """End HLS streaming session + + Releases server resources for the streaming session. + + :param id: (required) + :type id: UUID + :param session_id: (required) + :type session_id: UUID + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._end_session_serialize( + id=id, + session_id=session_id, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _end_session_serialize( + self, + id, + session_id, + key, + slug, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + if session_id is not None: + _path_params['sessionId'] = session_id + # process the query parameters + if key is not None: + + _query_params.append(('key', key)) + + if slug is not None: + + _query_params.append(('slug', slug)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/assets/{id}/video/stream/{sessionId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_asset_edits( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AssetEditsResponseDto: + """Retrieve edits for an existing asset + + Retrieve a series of edit actions (crop, rotate, mirror) associated with the specified asset. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_edits_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetEditsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_asset_edits_with_http_info( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AssetEditsResponseDto]: + """Retrieve edits for an existing asset + + Retrieve a series of edit actions (crop, rotate, mirror) associated with the specified asset. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_edits_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetEditsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_asset_edits_without_preload_content( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve edits for an existing asset + + Retrieve a series of edit actions (crop, rotate, mirror) associated with the specified asset. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_edits_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetEditsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_asset_edits_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id # process the query parameters # process the header parameters # process the form parameters @@ -1394,7 +2572,7 @@ class AssetsApi: return self.api_client.param_serialize( method='GET', - resource_path='/assets/device/{deviceId}', + resource_path='/assets/{id}/edits', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -1413,8 +2591,9 @@ class AssetsApi: @validate_call def get_asset_info( self, - id: StrictStr, + id: UUID, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1428,13 +2607,16 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AssetResponseDto: - """get_asset_info + """Retrieve an asset + Retrieve detailed information about a specific asset. :param id: (required) - :type id: str + :type id: UUID :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1460,6 +2642,7 @@ class AssetsApi: _param = self._get_asset_info_serialize( id=id, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1483,8 +2666,9 @@ class AssetsApi: @validate_call def get_asset_info_with_http_info( self, - id: StrictStr, + id: UUID, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1498,13 +2682,16 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AssetResponseDto]: - """get_asset_info + """Retrieve an asset + Retrieve detailed information about a specific asset. :param id: (required) - :type id: str + :type id: UUID :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1530,6 +2717,7 @@ class AssetsApi: _param = self._get_asset_info_serialize( id=id, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1553,8 +2741,9 @@ class AssetsApi: @validate_call def get_asset_info_without_preload_content( self, - id: StrictStr, + id: UUID, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1568,13 +2757,16 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_asset_info + """Retrieve an asset + Retrieve detailed information about a specific asset. :param id: (required) - :type id: str + :type id: UUID :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1600,6 +2792,7 @@ class AssetsApi: _param = self._get_asset_info_serialize( id=id, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1620,6 +2813,7 @@ class AssetsApi: self, id, key, + slug, _request_auth, _content_type, _headers, @@ -1648,6 +2842,10 @@ class AssetsApi: _query_params.append(('key', key)) + if slug is not None: + + _query_params.append(('slug', slug)) + # process the header parameters # process the form parameters # process the body parameter @@ -1687,12 +2885,816 @@ class AssetsApi: + @validate_call + def get_asset_metadata( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[AssetMetadataResponseDto]: + """Get asset metadata + + Retrieve all metadata key-value pairs associated with the specified asset. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_metadata_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetMetadataResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_asset_metadata_with_http_info( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[AssetMetadataResponseDto]]: + """Get asset metadata + + Retrieve all metadata key-value pairs associated with the specified asset. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_metadata_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetMetadataResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_asset_metadata_without_preload_content( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get asset metadata + + Retrieve all metadata key-value pairs associated with the specified asset. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_metadata_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetMetadataResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_asset_metadata_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/assets/{id}/metadata', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_asset_metadata_by_key( + self, + id: Annotated[UUID, Field(description="Asset ID")], + key: Annotated[StrictStr, Field(description="Metadata key")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AssetMetadataResponseDto: + """Retrieve asset metadata by key + + Retrieve the value of a specific metadata key associated with the specified asset. + + :param id: Asset ID (required) + :type id: UUID + :param key: Metadata key (required) + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_metadata_by_key_serialize( + id=id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetMetadataResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_asset_metadata_by_key_with_http_info( + self, + id: Annotated[UUID, Field(description="Asset ID")], + key: Annotated[StrictStr, Field(description="Metadata key")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AssetMetadataResponseDto]: + """Retrieve asset metadata by key + + Retrieve the value of a specific metadata key associated with the specified asset. + + :param id: Asset ID (required) + :type id: UUID + :param key: Metadata key (required) + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_metadata_by_key_serialize( + id=id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetMetadataResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_asset_metadata_by_key_without_preload_content( + self, + id: Annotated[UUID, Field(description="Asset ID")], + key: Annotated[StrictStr, Field(description="Metadata key")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve asset metadata by key + + Retrieve the value of a specific metadata key associated with the specified asset. + + :param id: Asset ID (required) + :type id: UUID + :param key: Metadata key (required) + :type key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_metadata_by_key_serialize( + id=id, + key=key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetMetadataResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_asset_metadata_by_key_serialize( + self, + id, + key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + if key is not None: + _path_params['key'] = key + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/assets/{id}/metadata/{key}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_asset_ocr( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[AssetOcrResponseDto]: + """Retrieve asset OCR data + + Retrieve all OCR (Optical Character Recognition) data associated with the specified asset. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_ocr_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetOcrResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_asset_ocr_with_http_info( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[AssetOcrResponseDto]]: + """Retrieve asset OCR data + + Retrieve all OCR (Optical Character Recognition) data associated with the specified asset. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_ocr_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetOcrResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_asset_ocr_without_preload_content( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve asset OCR data + + Retrieve all OCR (Optical Character Recognition) data associated with the specified asset. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_asset_ocr_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetOcrResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_asset_ocr_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/assets/{id}/ocr', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def get_asset_statistics( self, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status")] = None, + visibility: Optional[AssetVisibility] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1706,15 +3708,16 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AssetStatsResponseDto: - """get_asset_statistics + """Get asset statistics + Retrieve various statistics about the assets owned by the authenticated user. - :param is_archived: - :type is_archived: bool - :param is_favorite: + :param is_favorite: Filter by favorite status :type is_favorite: bool - :param is_trashed: + :param is_trashed: Filter by trash status :type is_trashed: bool + :param visibility: + :type visibility: AssetVisibility :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1738,9 +3741,9 @@ class AssetsApi: """ # noqa: E501 _param = self._get_asset_statistics_serialize( - is_archived=is_archived, is_favorite=is_favorite, is_trashed=is_trashed, + visibility=visibility, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1764,9 +3767,9 @@ class AssetsApi: @validate_call def get_asset_statistics_with_http_info( self, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status")] = None, + visibility: Optional[AssetVisibility] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1780,15 +3783,16 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AssetStatsResponseDto]: - """get_asset_statistics + """Get asset statistics + Retrieve various statistics about the assets owned by the authenticated user. - :param is_archived: - :type is_archived: bool - :param is_favorite: + :param is_favorite: Filter by favorite status :type is_favorite: bool - :param is_trashed: + :param is_trashed: Filter by trash status :type is_trashed: bool + :param visibility: + :type visibility: AssetVisibility :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1812,9 +3816,9 @@ class AssetsApi: """ # noqa: E501 _param = self._get_asset_statistics_serialize( - is_archived=is_archived, is_favorite=is_favorite, is_trashed=is_trashed, + visibility=visibility, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1838,9 +3842,9 @@ class AssetsApi: @validate_call def get_asset_statistics_without_preload_content( self, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status")] = None, + visibility: Optional[AssetVisibility] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1854,15 +3858,16 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_asset_statistics + """Get asset statistics + Retrieve various statistics about the assets owned by the authenticated user. - :param is_archived: - :type is_archived: bool - :param is_favorite: + :param is_favorite: Filter by favorite status :type is_favorite: bool - :param is_trashed: + :param is_trashed: Filter by trash status :type is_trashed: bool + :param visibility: + :type visibility: AssetVisibility :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1886,9 +3891,9 @@ class AssetsApi: """ # noqa: E501 _param = self._get_asset_statistics_serialize( - is_archived=is_archived, is_favorite=is_favorite, is_trashed=is_trashed, + visibility=visibility, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1907,9 +3912,9 @@ class AssetsApi: def _get_asset_statistics_serialize( self, - is_archived, is_favorite, is_trashed, + visibility, _request_auth, _content_type, _headers, @@ -1932,10 +3937,6 @@ class AssetsApi: # process the path parameters # process the query parameters - if is_archived is not None: - - _query_params.append(('isArchived', is_archived)) - if is_favorite is not None: _query_params.append(('isFavorite', is_favorite)) @@ -1944,6 +3945,10 @@ class AssetsApi: _query_params.append(('isTrashed', is_trashed)) + if visibility is not None: + + _query_params.append(('visibility', visibility.value)) + # process the header parameters # process the form parameters # process the body parameter @@ -1984,10 +3989,11 @@ class AssetsApi: @validate_call - def get_memory_lane( + def get_main_playlist( self, - day: Annotated[int, Field(le=31, strict=True, ge=1)], - month: Annotated[int, Field(le=12, strict=True, ge=1)], + id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2000,14 +4006,17 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[MemoryLaneResponseDto]: - """get_memory_lane + ) -> str: + """Get HLS main playlist + Returns an HLS main playlist with all available variants for the asset. - :param day: (required) - :type day: int - :param month: (required) - :type month: int + :param id: (required) + :type id: UUID + :param key: + :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2030,9 +4039,10 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_memory_lane_serialize( - day=day, - month=month, + _param = self._get_main_playlist_serialize( + id=id, + key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2040,7 +4050,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[MemoryLaneResponseDto]", + '200': "str", } response_data = self.api_client.call_api( *_param, @@ -2054,10 +4064,11 @@ class AssetsApi: @validate_call - def get_memory_lane_with_http_info( + def get_main_playlist_with_http_info( self, - day: Annotated[int, Field(le=31, strict=True, ge=1)], - month: Annotated[int, Field(le=12, strict=True, ge=1)], + id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2070,14 +4081,17 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[MemoryLaneResponseDto]]: - """get_memory_lane + ) -> ApiResponse[str]: + """Get HLS main playlist + Returns an HLS main playlist with all available variants for the asset. - :param day: (required) - :type day: int - :param month: (required) - :type month: int + :param id: (required) + :type id: UUID + :param key: + :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2100,9 +4114,10 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_memory_lane_serialize( - day=day, - month=month, + _param = self._get_main_playlist_serialize( + id=id, + key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2110,7 +4125,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[MemoryLaneResponseDto]", + '200': "str", } response_data = self.api_client.call_api( *_param, @@ -2124,10 +4139,11 @@ class AssetsApi: @validate_call - def get_memory_lane_without_preload_content( + def get_main_playlist_without_preload_content( self, - day: Annotated[int, Field(le=31, strict=True, ge=1)], - month: Annotated[int, Field(le=12, strict=True, ge=1)], + id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2141,13 +4157,16 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_memory_lane + """Get HLS main playlist + Returns an HLS main playlist with all available variants for the asset. - :param day: (required) - :type day: int - :param month: (required) - :type month: int + :param id: (required) + :type id: UUID + :param key: + :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2170,9 +4189,10 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_memory_lane_serialize( - day=day, - month=month, + _param = self._get_main_playlist_serialize( + id=id, + key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2180,7 +4200,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[MemoryLaneResponseDto]", + '200': "str", } response_data = self.api_client.call_api( *_param, @@ -2189,557 +4209,11 @@ class AssetsApi: return response_data.response - def _get_memory_lane_serialize( - self, - day, - month, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if day is not None: - - _query_params.append(('day', day)) - - if month is not None: - - _query_params.append(('month', month)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/assets/memory-lane', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_random( - self, - count: Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AssetResponseDto]: - """(Deprecated) get_random - - This property was deprecated in v1.116.0 - - :param count: - :type count: float - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - warnings.warn("GET /assets/random is deprecated.", DeprecationWarning) - - _param = self._get_random_serialize( - count=count, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_random_with_http_info( - self, - count: Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AssetResponseDto]]: - """(Deprecated) get_random - - This property was deprecated in v1.116.0 - - :param count: - :type count: float - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - warnings.warn("GET /assets/random is deprecated.", DeprecationWarning) - - _param = self._get_random_serialize( - count=count, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_random_without_preload_content( - self, - count: Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """(Deprecated) get_random - - This property was deprecated in v1.116.0 - - :param count: - :type count: float - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - warnings.warn("GET /assets/random is deprecated.", DeprecationWarning) - - _param = self._get_random_serialize( - count=count, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_random_serialize( - self, - count, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if count is not None: - - _query_params.append(('count', count)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/assets/random', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def play_asset_video( - self, - id: StrictStr, - key: Optional[StrictStr] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> bytearray: - """play_asset_video - - - :param id: (required) - :type id: str - :param key: - :type key: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._play_asset_video_serialize( - id=id, - key=key, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def play_asset_video_with_http_info( - self, - id: StrictStr, - key: Optional[StrictStr] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[bytearray]: - """play_asset_video - - - :param id: (required) - :type id: str - :param key: - :type key: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._play_asset_video_serialize( - id=id, - key=key, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def play_asset_video_without_preload_content( - self, - id: StrictStr, - key: Optional[StrictStr] = None, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """play_asset_video - - - :param id: (required) - :type id: str - :param key: - :type key: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._play_asset_video_serialize( - id=id, - key=key, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "bytearray", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _play_asset_video_serialize( + def _get_main_playlist_serialize( self, id, key, + slug, _request_auth, _content_type, _headers, @@ -2768,6 +4242,1006 @@ class AssetsApi: _query_params.append(('key', key)) + if slug is not None: + + _query_params.append(('slug', slug)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/vnd.apple.mpegurl' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/assets/{id}/video/stream/main.m3u8', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_media_playlist( + self, + id: UUID, + session_id: UUID, + variant_index: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)], + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + x_immich_hls_pos: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> str: + """Get HLS media playlist + + Returns an HLS media playlist for one variant of the streaming session. + + :param id: (required) + :type id: UUID + :param session_id: (required) + :type session_id: UUID + :param variant_index: (required) + :type variant_index: int + :param key: + :type key: str + :param slug: + :type slug: str + :param x_immich_hls_pos: + :type x_immich_hls_pos: float + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_media_playlist_serialize( + id=id, + session_id=session_id, + variant_index=variant_index, + key=key, + slug=slug, + x_immich_hls_pos=x_immich_hls_pos, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_media_playlist_with_http_info( + self, + id: UUID, + session_id: UUID, + variant_index: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)], + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + x_immich_hls_pos: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[str]: + """Get HLS media playlist + + Returns an HLS media playlist for one variant of the streaming session. + + :param id: (required) + :type id: UUID + :param session_id: (required) + :type session_id: UUID + :param variant_index: (required) + :type variant_index: int + :param key: + :type key: str + :param slug: + :type slug: str + :param x_immich_hls_pos: + :type x_immich_hls_pos: float + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_media_playlist_serialize( + id=id, + session_id=session_id, + variant_index=variant_index, + key=key, + slug=slug, + x_immich_hls_pos=x_immich_hls_pos, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_media_playlist_without_preload_content( + self, + id: UUID, + session_id: UUID, + variant_index: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)], + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + x_immich_hls_pos: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get HLS media playlist + + Returns an HLS media playlist for one variant of the streaming session. + + :param id: (required) + :type id: UUID + :param session_id: (required) + :type session_id: UUID + :param variant_index: (required) + :type variant_index: int + :param key: + :type key: str + :param slug: + :type slug: str + :param x_immich_hls_pos: + :type x_immich_hls_pos: float + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_media_playlist_serialize( + id=id, + session_id=session_id, + variant_index=variant_index, + key=key, + slug=slug, + x_immich_hls_pos=x_immich_hls_pos, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "str", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_media_playlist_serialize( + self, + id, + session_id, + variant_index, + key, + slug, + x_immich_hls_pos, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + if session_id is not None: + _path_params['sessionId'] = session_id + if variant_index is not None: + _path_params['variantIndex'] = variant_index + # process the query parameters + if key is not None: + + _query_params.append(('key', key)) + + if slug is not None: + + _query_params.append(('slug', slug)) + + # process the header parameters + if x_immich_hls_pos is not None: + _header_params['x-immich-hls-pos'] = x_immich_hls_pos + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/vnd.apple.mpegurl' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/assets/{id}/video/stream/{sessionId}/{variantIndex}/playlist.m3u8', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_segment( + self, + filename: Annotated[str, Field(strict=True)], + id: UUID, + session_id: UUID, + variant_index: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)], + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + x_immich_hls_msn: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> bytearray: + """Get HLS segment or init file + + Streams an HLS init segment (init.mp4) or media segment (seg_N.m4s). + + :param filename: (required) + :type filename: str + :param id: (required) + :type id: UUID + :param session_id: (required) + :type session_id: UUID + :param variant_index: (required) + :type variant_index: int + :param key: + :type key: str + :param slug: + :type slug: str + :param x_immich_hls_msn: + :type x_immich_hls_msn: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_segment_serialize( + filename=filename, + id=id, + session_id=session_id, + variant_index=variant_index, + key=key, + slug=slug, + x_immich_hls_msn=x_immich_hls_msn, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_segment_with_http_info( + self, + filename: Annotated[str, Field(strict=True)], + id: UUID, + session_id: UUID, + variant_index: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)], + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + x_immich_hls_msn: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[bytearray]: + """Get HLS segment or init file + + Streams an HLS init segment (init.mp4) or media segment (seg_N.m4s). + + :param filename: (required) + :type filename: str + :param id: (required) + :type id: UUID + :param session_id: (required) + :type session_id: UUID + :param variant_index: (required) + :type variant_index: int + :param key: + :type key: str + :param slug: + :type slug: str + :param x_immich_hls_msn: + :type x_immich_hls_msn: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_segment_serialize( + filename=filename, + id=id, + session_id=session_id, + variant_index=variant_index, + key=key, + slug=slug, + x_immich_hls_msn=x_immich_hls_msn, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_segment_without_preload_content( + self, + filename: Annotated[str, Field(strict=True)], + id: UUID, + session_id: UUID, + variant_index: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)], + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + x_immich_hls_msn: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get HLS segment or init file + + Streams an HLS init segment (init.mp4) or media segment (seg_N.m4s). + + :param filename: (required) + :type filename: str + :param id: (required) + :type id: UUID + :param session_id: (required) + :type session_id: UUID + :param variant_index: (required) + :type variant_index: int + :param key: + :type key: str + :param slug: + :type slug: str + :param x_immich_hls_msn: + :type x_immich_hls_msn: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_segment_serialize( + filename=filename, + id=id, + session_id=session_id, + variant_index=variant_index, + key=key, + slug=slug, + x_immich_hls_msn=x_immich_hls_msn, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_segment_serialize( + self, + filename, + id, + session_id, + variant_index, + key, + slug, + x_immich_hls_msn, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if filename is not None: + _path_params['filename'] = filename + if id is not None: + _path_params['id'] = id + if session_id is not None: + _path_params['sessionId'] = session_id + if variant_index is not None: + _path_params['variantIndex'] = variant_index + # process the query parameters + if key is not None: + + _query_params.append(('key', key)) + + if slug is not None: + + _query_params.append(('slug', slug)) + + # process the header parameters + if x_immich_hls_msn is not None: + _header_params['x-immich-hls-msn'] = x_immich_hls_msn + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/octet-stream' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/assets/{id}/video/stream/{sessionId}/{variantIndex}/{filename}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def play_asset_video( + self, + id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> bytearray: + """Play asset video + + Streams the video file for the specified asset. This endpoint also supports byte range requests. + + :param id: (required) + :type id: UUID + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._play_asset_video_serialize( + id=id, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def play_asset_video_with_http_info( + self, + id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[bytearray]: + """Play asset video + + Streams the video file for the specified asset. This endpoint also supports byte range requests. + + :param id: (required) + :type id: UUID + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._play_asset_video_serialize( + id=id, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def play_asset_video_without_preload_content( + self, + id: UUID, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Play asset video + + Streams the video file for the specified asset. This endpoint also supports byte range requests. + + :param id: (required) + :type id: UUID + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._play_asset_video_serialize( + id=id, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _play_asset_video_serialize( + self, + id, + key, + slug, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if key is not None: + + _query_params.append(('key', key)) + + if slug is not None: + + _query_params.append(('slug', slug)) + # process the header parameters # process the form parameters # process the body parameter @@ -2808,16 +5282,9 @@ class AssetsApi: @validate_call - def replace_asset( + def remove_asset_edits( self, - id: StrictStr, - asset_data: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], - device_asset_id: StrictStr, - device_id: StrictStr, - file_created_at: datetime, - file_modified_at: datetime, - key: Optional[StrictStr] = None, - duration: Optional[StrictStr] = None, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2830,27 +5297,13 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AssetMediaResponseDto: - """replaceAsset + ) -> None: + """Remove edits from an existing asset - Replace the asset with new file, without changing its id + Removes all edit actions (crop, rotate, mirror) associated with the specified asset. :param id: (required) - :type id: str - :param asset_data: (required) - :type asset_data: bytearray - :param device_asset_id: (required) - :type device_asset_id: str - :param device_id: (required) - :type device_id: str - :param file_created_at: (required) - :type file_created_at: datetime - :param file_modified_at: (required) - :type file_modified_at: datetime - :param key: - :type key: str - :param duration: - :type duration: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2873,15 +5326,8 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._replace_asset_serialize( + _param = self._remove_asset_edits_serialize( id=id, - asset_data=asset_data, - device_asset_id=device_asset_id, - device_id=device_id, - file_created_at=file_created_at, - file_modified_at=file_modified_at, - key=key, - duration=duration, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2889,7 +5335,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AssetMediaResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -2903,16 +5349,9 @@ class AssetsApi: @validate_call - def replace_asset_with_http_info( + def remove_asset_edits_with_http_info( self, - id: StrictStr, - asset_data: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], - device_asset_id: StrictStr, - device_id: StrictStr, - file_created_at: datetime, - file_modified_at: datetime, - key: Optional[StrictStr] = None, - duration: Optional[StrictStr] = None, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -2925,27 +5364,13 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AssetMediaResponseDto]: - """replaceAsset + ) -> ApiResponse[None]: + """Remove edits from an existing asset - Replace the asset with new file, without changing its id + Removes all edit actions (crop, rotate, mirror) associated with the specified asset. :param id: (required) - :type id: str - :param asset_data: (required) - :type asset_data: bytearray - :param device_asset_id: (required) - :type device_asset_id: str - :param device_id: (required) - :type device_id: str - :param file_created_at: (required) - :type file_created_at: datetime - :param file_modified_at: (required) - :type file_modified_at: datetime - :param key: - :type key: str - :param duration: - :type duration: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -2968,15 +5393,8 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._replace_asset_serialize( + _param = self._remove_asset_edits_serialize( id=id, - asset_data=asset_data, - device_asset_id=device_asset_id, - device_id=device_id, - file_created_at=file_created_at, - file_modified_at=file_modified_at, - key=key, - duration=duration, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2984,7 +5402,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AssetMediaResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -2998,16 +5416,9 @@ class AssetsApi: @validate_call - def replace_asset_without_preload_content( + def remove_asset_edits_without_preload_content( self, - id: StrictStr, - asset_data: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], - device_asset_id: StrictStr, - device_id: StrictStr, - file_created_at: datetime, - file_modified_at: datetime, - key: Optional[StrictStr] = None, - duration: Optional[StrictStr] = None, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -3021,26 +5432,12 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """replaceAsset + """Remove edits from an existing asset - Replace the asset with new file, without changing its id + Removes all edit actions (crop, rotate, mirror) associated with the specified asset. :param id: (required) - :type id: str - :param asset_data: (required) - :type asset_data: bytearray - :param device_asset_id: (required) - :type device_asset_id: str - :param device_id: (required) - :type device_id: str - :param file_created_at: (required) - :type file_created_at: datetime - :param file_modified_at: (required) - :type file_modified_at: datetime - :param key: - :type key: str - :param duration: - :type duration: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -3063,15 +5460,8 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._replace_asset_serialize( + _param = self._remove_asset_edits_serialize( id=id, - asset_data=asset_data, - device_asset_id=device_asset_id, - device_id=device_id, - file_created_at=file_created_at, - file_modified_at=file_modified_at, - key=key, - duration=duration, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -3079,7 +5469,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AssetMediaResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -3088,16 +5478,9 @@ class AssetsApi: return response_data.response - def _replace_asset_serialize( + def _remove_asset_edits_serialize( self, id, - asset_data, - device_asset_id, - device_id, - file_created_at, - file_modified_at, - key, - duration, _request_auth, _content_type, _headers, @@ -3122,48 +5505,12 @@ class AssetsApi: if id is not None: _path_params['id'] = id # process the query parameters - if key is not None: - - _query_params.append(('key', key)) - # process the header parameters # process the form parameters - if asset_data is not None: - _files['assetData'] = asset_data - if device_asset_id is not None: - _form_params.append(('deviceAssetId', device_asset_id)) - if device_id is not None: - _form_params.append(('deviceId', device_id)) - if duration is not None: - _form_params.append(('duration', duration)) - if file_created_at is not None: - _form_params.append(('fileCreatedAt', file_created_at)) - if file_modified_at is not None: - _form_params.append(('fileModifiedAt', file_modified_at)) # process the body parameter - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'multipart/form-data' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type # authentication setting _auth_settings: List[str] = [ @@ -3173,8 +5520,8 @@ class AssetsApi: ] return self.api_client.param_serialize( - method='PUT', - resource_path='/assets/{id}/original', + method='DELETE', + resource_path='/assets/{id}/edits', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -3207,8 +5554,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """run_asset_jobs + """Run an asset job + Run a specific job on a set of assets. :param asset_jobs_dto: (required) :type asset_jobs_dto: AssetJobsDto @@ -3273,8 +5621,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """run_asset_jobs + """Run an asset job + Run a specific job on a set of assets. :param asset_jobs_dto: (required) :type asset_jobs_dto: AssetJobsDto @@ -3339,8 +5688,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """run_asset_jobs + """Run an asset job + Run a specific job on a set of assets. :param asset_jobs_dto: (required) :type asset_jobs_dto: AssetJobsDto @@ -3459,7 +5809,7 @@ class AssetsApi: @validate_call def update_asset( self, - id: StrictStr, + id: UUID, update_asset_dto: UpdateAssetDto, _request_timeout: Union[ None, @@ -3474,11 +5824,12 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AssetResponseDto: - """update_asset + """(Deprecated) Update an asset + Update information of a specific asset. :param id: (required) - :type id: str + :type id: UUID :param update_asset_dto: (required) :type update_asset_dto: UpdateAssetDto :param _request_timeout: timeout setting for this request. If one @@ -3502,6 +5853,7 @@ class AssetsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /assets/{id} is deprecated.", DeprecationWarning) _param = self._update_asset_serialize( id=id, @@ -3529,7 +5881,7 @@ class AssetsApi: @validate_call def update_asset_with_http_info( self, - id: StrictStr, + id: UUID, update_asset_dto: UpdateAssetDto, _request_timeout: Union[ None, @@ -3544,11 +5896,12 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AssetResponseDto]: - """update_asset + """(Deprecated) Update an asset + Update information of a specific asset. :param id: (required) - :type id: str + :type id: UUID :param update_asset_dto: (required) :type update_asset_dto: UpdateAssetDto :param _request_timeout: timeout setting for this request. If one @@ -3572,6 +5925,7 @@ class AssetsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /assets/{id} is deprecated.", DeprecationWarning) _param = self._update_asset_serialize( id=id, @@ -3599,7 +5953,7 @@ class AssetsApi: @validate_call def update_asset_without_preload_content( self, - id: StrictStr, + id: UUID, update_asset_dto: UpdateAssetDto, _request_timeout: Union[ None, @@ -3614,11 +5968,12 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_asset + """(Deprecated) Update an asset + Update information of a specific asset. :param id: (required) - :type id: str + :type id: UUID :param update_asset_dto: (required) :type update_asset_dto: UpdateAssetDto :param _request_timeout: timeout setting for this request. If one @@ -3642,6 +5997,7 @@ class AssetsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /assets/{id} is deprecated.", DeprecationWarning) _param = self._update_asset_serialize( id=id, @@ -3744,6 +6100,297 @@ class AssetsApi: + @validate_call + def update_asset_metadata( + self, + id: UUID, + asset_metadata_upsert_dto: AssetMetadataUpsertDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[AssetMetadataResponseDto]: + """Update asset metadata + + Update or add metadata key-value pairs for the specified asset. + + :param id: (required) + :type id: UUID + :param asset_metadata_upsert_dto: (required) + :type asset_metadata_upsert_dto: AssetMetadataUpsertDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_asset_metadata_serialize( + id=id, + asset_metadata_upsert_dto=asset_metadata_upsert_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetMetadataResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_asset_metadata_with_http_info( + self, + id: UUID, + asset_metadata_upsert_dto: AssetMetadataUpsertDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[AssetMetadataResponseDto]]: + """Update asset metadata + + Update or add metadata key-value pairs for the specified asset. + + :param id: (required) + :type id: UUID + :param asset_metadata_upsert_dto: (required) + :type asset_metadata_upsert_dto: AssetMetadataUpsertDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_asset_metadata_serialize( + id=id, + asset_metadata_upsert_dto=asset_metadata_upsert_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetMetadataResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_asset_metadata_without_preload_content( + self, + id: UUID, + asset_metadata_upsert_dto: AssetMetadataUpsertDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update asset metadata + + Update or add metadata key-value pairs for the specified asset. + + :param id: (required) + :type id: UUID + :param asset_metadata_upsert_dto: (required) + :type asset_metadata_upsert_dto: AssetMetadataUpsertDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_asset_metadata_serialize( + id=id, + asset_metadata_upsert_dto=asset_metadata_upsert_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetMetadataResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_asset_metadata_serialize( + self, + id, + asset_metadata_upsert_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if asset_metadata_upsert_dto is not None: + _body_params = asset_metadata_upsert_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/assets/{id}/metadata', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def update_assets( self, @@ -3761,8 +6408,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """update_assets + """(Deprecated) Update assets + Updates multiple assets at the same time. :param asset_bulk_update_dto: (required) :type asset_bulk_update_dto: AssetBulkUpdateDto @@ -3787,6 +6435,7 @@ class AssetsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /assets is deprecated.", DeprecationWarning) _param = self._update_assets_serialize( asset_bulk_update_dto=asset_bulk_update_dto, @@ -3827,8 +6476,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """update_assets + """(Deprecated) Update assets + Updates multiple assets at the same time. :param asset_bulk_update_dto: (required) :type asset_bulk_update_dto: AssetBulkUpdateDto @@ -3853,6 +6503,7 @@ class AssetsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /assets is deprecated.", DeprecationWarning) _param = self._update_assets_serialize( asset_bulk_update_dto=asset_bulk_update_dto, @@ -3893,8 +6544,9 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_assets + """(Deprecated) Update assets + Updates multiple assets at the same time. :param asset_bulk_update_dto: (required) :type asset_bulk_update_dto: AssetBulkUpdateDto @@ -3919,6 +6571,7 @@ class AssetsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /assets is deprecated.", DeprecationWarning) _param = self._update_assets_serialize( asset_bulk_update_dto=asset_bulk_update_dto, @@ -4011,21 +6664,9 @@ class AssetsApi: @validate_call - def upload_asset( + def update_bulk_asset_metadata( self, - asset_data: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], - device_asset_id: StrictStr, - device_id: StrictStr, - file_created_at: datetime, - file_modified_at: datetime, - key: Optional[StrictStr] = None, - x_immich_checksum: Annotated[Optional[StrictStr], Field(description="sha1 checksum that can be used for duplicate detection before the file is uploaded")] = None, - duration: Optional[StrictStr] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_visible: Optional[StrictBool] = None, - live_photo_video_id: Optional[StrictStr] = None, - sidecar_data: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + asset_metadata_bulk_upsert_dto: AssetMetadataBulkUpsertDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4038,36 +6679,13 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AssetMediaResponseDto: - """upload_asset + ) -> List[AssetMetadataBulkResponseDto]: + """Upsert asset metadata + Upsert metadata key-value pairs for multiple assets. - :param asset_data: (required) - :type asset_data: bytearray - :param device_asset_id: (required) - :type device_asset_id: str - :param device_id: (required) - :type device_id: str - :param file_created_at: (required) - :type file_created_at: datetime - :param file_modified_at: (required) - :type file_modified_at: datetime - :param key: - :type key: str - :param x_immich_checksum: sha1 checksum that can be used for duplicate detection before the file is uploaded - :type x_immich_checksum: str - :param duration: - :type duration: str - :param is_archived: - :type is_archived: bool - :param is_favorite: - :type is_favorite: bool - :param is_visible: - :type is_visible: bool - :param live_photo_video_id: - :type live_photo_video_id: str - :param sidecar_data: - :type sidecar_data: bytearray + :param asset_metadata_bulk_upsert_dto: (required) + :type asset_metadata_bulk_upsert_dto: AssetMetadataBulkUpsertDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4090,20 +6708,8 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._upload_asset_serialize( - asset_data=asset_data, - device_asset_id=device_asset_id, - device_id=device_id, - file_created_at=file_created_at, - file_modified_at=file_modified_at, - key=key, - x_immich_checksum=x_immich_checksum, - duration=duration, - is_archived=is_archived, - is_favorite=is_favorite, - is_visible=is_visible, - live_photo_video_id=live_photo_video_id, - sidecar_data=sidecar_data, + _param = self._update_bulk_asset_metadata_serialize( + asset_metadata_bulk_upsert_dto=asset_metadata_bulk_upsert_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4111,7 +6717,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AssetMediaResponseDto", + '200': "List[AssetMetadataBulkResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -4125,21 +6731,9 @@ class AssetsApi: @validate_call - def upload_asset_with_http_info( + def update_bulk_asset_metadata_with_http_info( self, - asset_data: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], - device_asset_id: StrictStr, - device_id: StrictStr, - file_created_at: datetime, - file_modified_at: datetime, - key: Optional[StrictStr] = None, - x_immich_checksum: Annotated[Optional[StrictStr], Field(description="sha1 checksum that can be used for duplicate detection before the file is uploaded")] = None, - duration: Optional[StrictStr] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_visible: Optional[StrictBool] = None, - live_photo_video_id: Optional[StrictStr] = None, - sidecar_data: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + asset_metadata_bulk_upsert_dto: AssetMetadataBulkUpsertDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4152,36 +6746,13 @@ class AssetsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AssetMediaResponseDto]: - """upload_asset + ) -> ApiResponse[List[AssetMetadataBulkResponseDto]]: + """Upsert asset metadata + Upsert metadata key-value pairs for multiple assets. - :param asset_data: (required) - :type asset_data: bytearray - :param device_asset_id: (required) - :type device_asset_id: str - :param device_id: (required) - :type device_id: str - :param file_created_at: (required) - :type file_created_at: datetime - :param file_modified_at: (required) - :type file_modified_at: datetime - :param key: - :type key: str - :param x_immich_checksum: sha1 checksum that can be used for duplicate detection before the file is uploaded - :type x_immich_checksum: str - :param duration: - :type duration: str - :param is_archived: - :type is_archived: bool - :param is_favorite: - :type is_favorite: bool - :param is_visible: - :type is_visible: bool - :param live_photo_video_id: - :type live_photo_video_id: str - :param sidecar_data: - :type sidecar_data: bytearray + :param asset_metadata_bulk_upsert_dto: (required) + :type asset_metadata_bulk_upsert_dto: AssetMetadataBulkUpsertDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4204,20 +6775,8 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._upload_asset_serialize( - asset_data=asset_data, - device_asset_id=device_asset_id, - device_id=device_id, - file_created_at=file_created_at, - file_modified_at=file_modified_at, - key=key, - x_immich_checksum=x_immich_checksum, - duration=duration, - is_archived=is_archived, - is_favorite=is_favorite, - is_visible=is_visible, - live_photo_video_id=live_photo_video_id, - sidecar_data=sidecar_data, + _param = self._update_bulk_asset_metadata_serialize( + asset_metadata_bulk_upsert_dto=asset_metadata_bulk_upsert_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4225,7 +6784,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AssetMediaResponseDto", + '200': "List[AssetMetadataBulkResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -4239,21 +6798,9 @@ class AssetsApi: @validate_call - def upload_asset_without_preload_content( + def update_bulk_asset_metadata_without_preload_content( self, - asset_data: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], - device_asset_id: StrictStr, - device_id: StrictStr, - file_created_at: datetime, - file_modified_at: datetime, - key: Optional[StrictStr] = None, - x_immich_checksum: Annotated[Optional[StrictStr], Field(description="sha1 checksum that can be used for duplicate detection before the file is uploaded")] = None, - duration: Optional[StrictStr] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_visible: Optional[StrictBool] = None, - live_photo_video_id: Optional[StrictStr] = None, - sidecar_data: Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]] = None, + asset_metadata_bulk_upsert_dto: AssetMetadataBulkUpsertDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4267,35 +6814,12 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """upload_asset + """Upsert asset metadata + Upsert metadata key-value pairs for multiple assets. - :param asset_data: (required) - :type asset_data: bytearray - :param device_asset_id: (required) - :type device_asset_id: str - :param device_id: (required) - :type device_id: str - :param file_created_at: (required) - :type file_created_at: datetime - :param file_modified_at: (required) - :type file_modified_at: datetime - :param key: - :type key: str - :param x_immich_checksum: sha1 checksum that can be used for duplicate detection before the file is uploaded - :type x_immich_checksum: str - :param duration: - :type duration: str - :param is_archived: - :type is_archived: bool - :param is_favorite: - :type is_favorite: bool - :param is_visible: - :type is_visible: bool - :param live_photo_video_id: - :type live_photo_video_id: str - :param sidecar_data: - :type sidecar_data: bytearray + :param asset_metadata_bulk_upsert_dto: (required) + :type asset_metadata_bulk_upsert_dto: AssetMetadataBulkUpsertDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4318,20 +6842,8 @@ class AssetsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._upload_asset_serialize( - asset_data=asset_data, - device_asset_id=device_asset_id, - device_id=device_id, - file_created_at=file_created_at, - file_modified_at=file_modified_at, - key=key, - x_immich_checksum=x_immich_checksum, - duration=duration, - is_archived=is_archived, - is_favorite=is_favorite, - is_visible=is_visible, - live_photo_video_id=live_photo_video_id, - sidecar_data=sidecar_data, + _param = self._update_bulk_asset_metadata_serialize( + asset_metadata_bulk_upsert_dto=asset_metadata_bulk_upsert_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4339,7 +6851,7 @@ class AssetsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "AssetMediaResponseDto", + '200': "List[AssetMetadataBulkResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -4348,21 +6860,9 @@ class AssetsApi: return response_data.response - def _upload_asset_serialize( + def _update_bulk_asset_metadata_serialize( self, - asset_data, - device_asset_id, - device_id, - file_created_at, - file_modified_at, - key, - x_immich_checksum, - duration, - is_archived, - is_favorite, - is_visible, - live_photo_video_id, - sidecar_data, + asset_metadata_bulk_upsert_dto, _request_auth, _content_type, _headers, @@ -4383,38 +6883,476 @@ class AssetsApi: ] = {} _body_params: Optional[bytes] = None + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if asset_metadata_bulk_upsert_dto is not None: + _body_params = asset_metadata_bulk_upsert_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/assets/metadata', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def upload_asset( + self, + asset_data: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Asset file data")], + file_created_at: Annotated[datetime, Field(description="File creation date")], + file_modified_at: Annotated[datetime, Field(description="File modification date")], + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + x_immich_checksum: Annotated[Optional[StrictStr], Field(description="sha1 checksum that can be used for duplicate detection before the file is uploaded")] = None, + duration: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]], Field(description="Duration in milliseconds (for videos)")] = None, + filename: Annotated[Optional[StrictStr], Field(description="Filename")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Mark as favorite")] = None, + live_photo_video_id: Annotated[Optional[UUID], Field(description="Live photo video ID")] = None, + metadata: Annotated[Optional[List[AssetMetadataUpsertItemDto]], Field(description="Asset metadata items")] = None, + sidecar_data: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Sidecar file data")] = None, + visibility: Optional[AssetVisibility] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AssetMediaResponseDto: + """Upload asset + + Uploads a new asset to the server. + + :param asset_data: Asset file data (required) + :type asset_data: bytearray + :param file_created_at: File creation date (required) + :type file_created_at: datetime + :param file_modified_at: File modification date (required) + :type file_modified_at: datetime + :param key: + :type key: str + :param slug: + :type slug: str + :param x_immich_checksum: sha1 checksum that can be used for duplicate detection before the file is uploaded + :type x_immich_checksum: str + :param duration: Duration in milliseconds (for videos) + :type duration: int + :param filename: Filename + :type filename: str + :param is_favorite: Mark as favorite + :type is_favorite: bool + :param live_photo_video_id: Live photo video ID + :type live_photo_video_id: UUID + :param metadata: Asset metadata items + :type metadata: List[AssetMetadataUpsertItemDto] + :param sidecar_data: Sidecar file data + :type sidecar_data: bytearray + :param visibility: + :type visibility: AssetVisibility + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._upload_asset_serialize( + asset_data=asset_data, + file_created_at=file_created_at, + file_modified_at=file_modified_at, + key=key, + slug=slug, + x_immich_checksum=x_immich_checksum, + duration=duration, + filename=filename, + is_favorite=is_favorite, + live_photo_video_id=live_photo_video_id, + metadata=metadata, + sidecar_data=sidecar_data, + visibility=visibility, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetMediaResponseDto", + '201': "AssetMediaResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def upload_asset_with_http_info( + self, + asset_data: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Asset file data")], + file_created_at: Annotated[datetime, Field(description="File creation date")], + file_modified_at: Annotated[datetime, Field(description="File modification date")], + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + x_immich_checksum: Annotated[Optional[StrictStr], Field(description="sha1 checksum that can be used for duplicate detection before the file is uploaded")] = None, + duration: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]], Field(description="Duration in milliseconds (for videos)")] = None, + filename: Annotated[Optional[StrictStr], Field(description="Filename")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Mark as favorite")] = None, + live_photo_video_id: Annotated[Optional[UUID], Field(description="Live photo video ID")] = None, + metadata: Annotated[Optional[List[AssetMetadataUpsertItemDto]], Field(description="Asset metadata items")] = None, + sidecar_data: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Sidecar file data")] = None, + visibility: Optional[AssetVisibility] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AssetMediaResponseDto]: + """Upload asset + + Uploads a new asset to the server. + + :param asset_data: Asset file data (required) + :type asset_data: bytearray + :param file_created_at: File creation date (required) + :type file_created_at: datetime + :param file_modified_at: File modification date (required) + :type file_modified_at: datetime + :param key: + :type key: str + :param slug: + :type slug: str + :param x_immich_checksum: sha1 checksum that can be used for duplicate detection before the file is uploaded + :type x_immich_checksum: str + :param duration: Duration in milliseconds (for videos) + :type duration: int + :param filename: Filename + :type filename: str + :param is_favorite: Mark as favorite + :type is_favorite: bool + :param live_photo_video_id: Live photo video ID + :type live_photo_video_id: UUID + :param metadata: Asset metadata items + :type metadata: List[AssetMetadataUpsertItemDto] + :param sidecar_data: Sidecar file data + :type sidecar_data: bytearray + :param visibility: + :type visibility: AssetVisibility + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._upload_asset_serialize( + asset_data=asset_data, + file_created_at=file_created_at, + file_modified_at=file_modified_at, + key=key, + slug=slug, + x_immich_checksum=x_immich_checksum, + duration=duration, + filename=filename, + is_favorite=is_favorite, + live_photo_video_id=live_photo_video_id, + metadata=metadata, + sidecar_data=sidecar_data, + visibility=visibility, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetMediaResponseDto", + '201': "AssetMediaResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def upload_asset_without_preload_content( + self, + asset_data: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Asset file data")], + file_created_at: Annotated[datetime, Field(description="File creation date")], + file_modified_at: Annotated[datetime, Field(description="File modification date")], + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + x_immich_checksum: Annotated[Optional[StrictStr], Field(description="sha1 checksum that can be used for duplicate detection before the file is uploaded")] = None, + duration: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]], Field(description="Duration in milliseconds (for videos)")] = None, + filename: Annotated[Optional[StrictStr], Field(description="Filename")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Mark as favorite")] = None, + live_photo_video_id: Annotated[Optional[UUID], Field(description="Live photo video ID")] = None, + metadata: Annotated[Optional[List[AssetMetadataUpsertItemDto]], Field(description="Asset metadata items")] = None, + sidecar_data: Annotated[Optional[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]]], Field(description="Sidecar file data")] = None, + visibility: Optional[AssetVisibility] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Upload asset + + Uploads a new asset to the server. + + :param asset_data: Asset file data (required) + :type asset_data: bytearray + :param file_created_at: File creation date (required) + :type file_created_at: datetime + :param file_modified_at: File modification date (required) + :type file_modified_at: datetime + :param key: + :type key: str + :param slug: + :type slug: str + :param x_immich_checksum: sha1 checksum that can be used for duplicate detection before the file is uploaded + :type x_immich_checksum: str + :param duration: Duration in milliseconds (for videos) + :type duration: int + :param filename: Filename + :type filename: str + :param is_favorite: Mark as favorite + :type is_favorite: bool + :param live_photo_video_id: Live photo video ID + :type live_photo_video_id: UUID + :param metadata: Asset metadata items + :type metadata: List[AssetMetadataUpsertItemDto] + :param sidecar_data: Sidecar file data + :type sidecar_data: bytearray + :param visibility: + :type visibility: AssetVisibility + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._upload_asset_serialize( + asset_data=asset_data, + file_created_at=file_created_at, + file_modified_at=file_modified_at, + key=key, + slug=slug, + x_immich_checksum=x_immich_checksum, + duration=duration, + filename=filename, + is_favorite=is_favorite, + live_photo_video_id=live_photo_video_id, + metadata=metadata, + sidecar_data=sidecar_data, + visibility=visibility, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetMediaResponseDto", + '201': "AssetMediaResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _upload_asset_serialize( + self, + asset_data, + file_created_at, + file_modified_at, + key, + slug, + x_immich_checksum, + duration, + filename, + is_favorite, + live_photo_video_id, + metadata, + sidecar_data, + visibility, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'metadata': 'csv', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + # process the path parameters # process the query parameters if key is not None: _query_params.append(('key', key)) + if slug is not None: + + _query_params.append(('slug', slug)) + # process the header parameters if x_immich_checksum is not None: _header_params['x-immich-checksum'] = x_immich_checksum # process the form parameters if asset_data is not None: _files['assetData'] = asset_data - if device_asset_id is not None: - _form_params.append(('deviceAssetId', device_asset_id)) - if device_id is not None: - _form_params.append(('deviceId', device_id)) if duration is not None: _form_params.append(('duration', duration)) if file_created_at is not None: _form_params.append(('fileCreatedAt', file_created_at)) if file_modified_at is not None: _form_params.append(('fileModifiedAt', file_modified_at)) - if is_archived is not None: - _form_params.append(('isArchived', is_archived)) + if filename is not None: + _form_params.append(('filename', filename)) if is_favorite is not None: _form_params.append(('isFavorite', is_favorite)) - if is_visible is not None: - _form_params.append(('isVisible', is_visible)) if live_photo_video_id is not None: _form_params.append(('livePhotoVideoId', live_photo_video_id)) + if metadata is not None: + _form_params.append(('metadata', metadata)) if sidecar_data is not None: _files['sidecarData'] = sidecar_data + if visibility is not None: + _form_params.append(('visibility', visibility)) # process the body parameter @@ -4468,9 +7406,11 @@ class AssetsApi: @validate_call def view_asset( self, - id: StrictStr, + id: UUID, + edited: Annotated[Optional[StrictBool], Field(description="Return edited asset if available")] = None, key: Optional[StrictStr] = None, size: Optional[AssetMediaSize] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4484,15 +7424,20 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> bytearray: - """view_asset + """View asset thumbnail + Retrieve the thumbnail image for the specified asset. Viewing the fullsize thumbnail might redirect to downloadAsset, which requires a different permission. :param id: (required) - :type id: str + :type id: UUID + :param edited: Return edited asset if available + :type edited: bool :param key: :type key: str :param size: :type size: AssetMediaSize + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4517,8 +7462,10 @@ class AssetsApi: _param = self._view_asset_serialize( id=id, + edited=edited, key=key, size=size, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4542,9 +7489,11 @@ class AssetsApi: @validate_call def view_asset_with_http_info( self, - id: StrictStr, + id: UUID, + edited: Annotated[Optional[StrictBool], Field(description="Return edited asset if available")] = None, key: Optional[StrictStr] = None, size: Optional[AssetMediaSize] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4558,15 +7507,20 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[bytearray]: - """view_asset + """View asset thumbnail + Retrieve the thumbnail image for the specified asset. Viewing the fullsize thumbnail might redirect to downloadAsset, which requires a different permission. :param id: (required) - :type id: str + :type id: UUID + :param edited: Return edited asset if available + :type edited: bool :param key: :type key: str :param size: :type size: AssetMediaSize + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4591,8 +7545,10 @@ class AssetsApi: _param = self._view_asset_serialize( id=id, + edited=edited, key=key, size=size, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4616,9 +7572,11 @@ class AssetsApi: @validate_call def view_asset_without_preload_content( self, - id: StrictStr, + id: UUID, + edited: Annotated[Optional[StrictBool], Field(description="Return edited asset if available")] = None, key: Optional[StrictStr] = None, size: Optional[AssetMediaSize] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -4632,15 +7590,20 @@ class AssetsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """view_asset + """View asset thumbnail + Retrieve the thumbnail image for the specified asset. Viewing the fullsize thumbnail might redirect to downloadAsset, which requires a different permission. :param id: (required) - :type id: str + :type id: UUID + :param edited: Return edited asset if available + :type edited: bool :param key: :type key: str :param size: :type size: AssetMediaSize + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -4665,8 +7628,10 @@ class AssetsApi: _param = self._view_asset_serialize( id=id, + edited=edited, key=key, size=size, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -4686,8 +7651,10 @@ class AssetsApi: def _view_asset_serialize( self, id, + edited, key, size, + slug, _request_auth, _content_type, _headers, @@ -4712,6 +7679,10 @@ class AssetsApi: if id is not None: _path_params['id'] = id # process the query parameters + if edited is not None: + + _query_params.append(('edited', edited)) + if key is not None: _query_params.append(('key', key)) @@ -4720,6 +7691,10 @@ class AssetsApi: _query_params.append(('size', size.value)) + if slug is not None: + + _query_params.append(('slug', slug)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/generated/immich/openapi_client/api/authentication_api.py b/generated/immich/openapi_client/api/authentication_api.py index 99c18a0..f4ca8c2 100644 --- a/generated/immich/openapi_client/api/authentication_api.py +++ b/generated/immich/openapi_client/api/authentication_api.py @@ -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. @@ -16,10 +16,20 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated +from pydantic import Field, StrictStr +from typing_extensions import Annotated +from generated.immich.openapi_client.models.auth_status_response_dto import AuthStatusResponseDto from generated.immich.openapi_client.models.change_password_dto import ChangePasswordDto 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.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.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.session_unlock_dto import SessionUnlockDto from generated.immich.openapi_client.models.sign_up_dto import SignUpDto from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto from generated.immich.openapi_client.models.validate_access_token_response_dto import ValidateAccessTokenResponseDto @@ -59,8 +69,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserAdminResponseDto: - """change_password + """Change password + Change the password of the current user. :param change_password_dto: (required) :type change_password_dto: ChangePasswordDto @@ -125,8 +136,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserAdminResponseDto]: - """change_password + """Change password + Change the password of the current user. :param change_password_dto: (required) :type change_password_dto: ChangePasswordDto @@ -191,8 +203,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """change_password + """Change password + Change the password of the current user. :param change_password_dto: (required) :type change_password_dto: ChangePasswordDto @@ -315,6 +328,1313 @@ class AuthenticationApi: + @validate_call + def change_pin_code( + self, + pin_code_change_dto: PinCodeChangeDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Change pin code + + Change the pin code for the current user. + + :param pin_code_change_dto: (required) + :type pin_code_change_dto: PinCodeChangeDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._change_pin_code_serialize( + pin_code_change_dto=pin_code_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def change_pin_code_with_http_info( + self, + pin_code_change_dto: PinCodeChangeDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Change pin code + + Change the pin code for the current user. + + :param pin_code_change_dto: (required) + :type pin_code_change_dto: PinCodeChangeDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._change_pin_code_serialize( + pin_code_change_dto=pin_code_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def change_pin_code_without_preload_content( + self, + pin_code_change_dto: PinCodeChangeDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Change pin code + + Change the pin code for the current user. + + :param pin_code_change_dto: (required) + :type pin_code_change_dto: PinCodeChangeDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._change_pin_code_serialize( + pin_code_change_dto=pin_code_change_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _change_pin_code_serialize( + self, + pin_code_change_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if pin_code_change_dto is not None: + _body_params = pin_code_change_dto + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/auth/pin-code', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def finish_o_auth( + self, + o_auth_callback_dto: OAuthCallbackDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> LoginResponseDto: + """Finish OAuth + + Complete the OAuth authorization process by exchanging the authorization code for a session token. + + :param o_auth_callback_dto: (required) + :type o_auth_callback_dto: OAuthCallbackDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._finish_o_auth_serialize( + o_auth_callback_dto=o_auth_callback_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "LoginResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def finish_o_auth_with_http_info( + self, + o_auth_callback_dto: OAuthCallbackDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[LoginResponseDto]: + """Finish OAuth + + Complete the OAuth authorization process by exchanging the authorization code for a session token. + + :param o_auth_callback_dto: (required) + :type o_auth_callback_dto: OAuthCallbackDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._finish_o_auth_serialize( + o_auth_callback_dto=o_auth_callback_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "LoginResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def finish_o_auth_without_preload_content( + self, + o_auth_callback_dto: OAuthCallbackDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Finish OAuth + + Complete the OAuth authorization process by exchanging the authorization code for a session token. + + :param o_auth_callback_dto: (required) + :type o_auth_callback_dto: OAuthCallbackDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._finish_o_auth_serialize( + o_auth_callback_dto=o_auth_callback_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "LoginResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _finish_o_auth_serialize( + self, + o_auth_callback_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if o_auth_callback_dto is not None: + _body_params = o_auth_callback_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/oauth/callback', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_auth_status( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AuthStatusResponseDto: + """Retrieve auth status + + Get information about the current session, including whether the user has a password, and if the session can access locked assets. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_auth_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AuthStatusResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_auth_status_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AuthStatusResponseDto]: + """Retrieve auth status + + Get information about the current session, including whether the user has a password, and if the session can access locked assets. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_auth_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AuthStatusResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_auth_status_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve auth status + + Get information about the current session, including whether the user has a password, and if the session can access locked assets. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_auth_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AuthStatusResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_auth_status_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/auth/status', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def link_o_auth_account( + self, + o_auth_callback_dto: OAuthCallbackDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserAdminResponseDto: + """Link OAuth account + + Link an OAuth account to the authenticated user. + + :param o_auth_callback_dto: (required) + :type o_auth_callback_dto: OAuthCallbackDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._link_o_auth_account_serialize( + o_auth_callback_dto=o_auth_callback_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def link_o_auth_account_with_http_info( + self, + o_auth_callback_dto: OAuthCallbackDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[UserAdminResponseDto]: + """Link OAuth account + + Link an OAuth account to the authenticated user. + + :param o_auth_callback_dto: (required) + :type o_auth_callback_dto: OAuthCallbackDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._link_o_auth_account_serialize( + o_auth_callback_dto=o_auth_callback_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def link_o_auth_account_without_preload_content( + self, + o_auth_callback_dto: OAuthCallbackDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Link OAuth account + + Link an OAuth account to the authenticated user. + + :param o_auth_callback_dto: (required) + :type o_auth_callback_dto: OAuthCallbackDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._link_o_auth_account_serialize( + o_auth_callback_dto=o_auth_callback_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _link_o_auth_account_serialize( + self, + o_auth_callback_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if o_auth_callback_dto is not None: + _body_params = o_auth_callback_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/oauth/link', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def lock_auth_session( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Lock auth session + + Remove elevated access to locked assets from the current session. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._lock_auth_session_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def lock_auth_session_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Lock auth session + + Remove elevated access to locked assets from the current session. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._lock_auth_session_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def lock_auth_session_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Lock auth session + + Remove elevated access to locked assets from the current session. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._lock_auth_session_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _lock_auth_session_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/auth/session/lock', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def login( self, @@ -332,8 +1652,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LoginResponseDto: - """login + """Login + Login with username and password and receive a session token. :param login_credential_dto: (required) :type login_credential_dto: LoginCredentialDto @@ -398,8 +1719,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LoginResponseDto]: - """login + """Login + Login with username and password and receive a session token. :param login_credential_dto: (required) :type login_credential_dto: LoginCredentialDto @@ -464,8 +1786,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """login + """Login + Login with username and password and receive a session token. :param login_credential_dto: (required) :type login_credential_dto: LoginCredentialDto @@ -601,8 +1924,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LogoutResponseDto: - """logout + """Logout + Logout the current user and invalidate the session token. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -663,8 +1987,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LogoutResponseDto]: - """logout + """Logout + Logout the current user and invalidate the session token. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -725,8 +2050,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """logout + """Logout + Logout the current user and invalidate the session token. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -830,6 +2156,1048 @@ class AuthenticationApi: + @validate_call + def logout_o_auth( + self, + logout_token: Annotated[StrictStr, Field(description="OAuth logout token")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Backchannel OAuth logout + + Logout the OAuth account and invalidate the session specified by the sid claim or all sessions if the sid claim is not present. + + :param logout_token: OAuth logout token (required) + :type logout_token: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._logout_o_auth_serialize( + logout_token=logout_token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def logout_o_auth_with_http_info( + self, + logout_token: Annotated[StrictStr, Field(description="OAuth logout token")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Backchannel OAuth logout + + Logout the OAuth account and invalidate the session specified by the sid claim or all sessions if the sid claim is not present. + + :param logout_token: OAuth logout token (required) + :type logout_token: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._logout_o_auth_serialize( + logout_token=logout_token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def logout_o_auth_without_preload_content( + self, + logout_token: Annotated[StrictStr, Field(description="OAuth logout token")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Backchannel OAuth logout + + Logout the OAuth account and invalidate the session specified by the sid claim or all sessions if the sid claim is not present. + + :param logout_token: OAuth logout token (required) + :type logout_token: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._logout_o_auth_serialize( + logout_token=logout_token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _logout_o_auth_serialize( + self, + logout_token, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + if logout_token is not None: + _form_params.append(('logout_token', logout_token)) + # process the body parameter + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/x-www-form-urlencoded' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/oauth/backchannel-logout', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def redirect_o_auth_to_mobile( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Redirect OAuth to mobile + + Requests to this URL are automatically forwarded to the mobile app, and is used in some cases for OAuth redirecting. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._redirect_o_auth_to_mobile_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def redirect_o_auth_to_mobile_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Redirect OAuth to mobile + + Requests to this URL are automatically forwarded to the mobile app, and is used in some cases for OAuth redirecting. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._redirect_o_auth_to_mobile_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def redirect_o_auth_to_mobile_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Redirect OAuth to mobile + + Requests to this URL are automatically forwarded to the mobile app, and is used in some cases for OAuth redirecting. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._redirect_o_auth_to_mobile_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _redirect_o_auth_to_mobile_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/oauth/mobile-redirect', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def reset_pin_code( + self, + pin_code_reset_dto: PinCodeResetDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Reset pin code + + Reset the pin code for the current user by providing the account password + + :param pin_code_reset_dto: (required) + :type pin_code_reset_dto: PinCodeResetDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reset_pin_code_serialize( + pin_code_reset_dto=pin_code_reset_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def reset_pin_code_with_http_info( + self, + pin_code_reset_dto: PinCodeResetDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Reset pin code + + Reset the pin code for the current user by providing the account password + + :param pin_code_reset_dto: (required) + :type pin_code_reset_dto: PinCodeResetDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reset_pin_code_serialize( + pin_code_reset_dto=pin_code_reset_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def reset_pin_code_without_preload_content( + self, + pin_code_reset_dto: PinCodeResetDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Reset pin code + + Reset the pin code for the current user by providing the account password + + :param pin_code_reset_dto: (required) + :type pin_code_reset_dto: PinCodeResetDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._reset_pin_code_serialize( + pin_code_reset_dto=pin_code_reset_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _reset_pin_code_serialize( + self, + pin_code_reset_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if pin_code_reset_dto is not None: + _body_params = pin_code_reset_dto + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/auth/pin-code', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def setup_pin_code( + self, + pin_code_setup_dto: PinCodeSetupDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Setup pin code + + Setup a new pin code for the current user. + + :param pin_code_setup_dto: (required) + :type pin_code_setup_dto: PinCodeSetupDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._setup_pin_code_serialize( + pin_code_setup_dto=pin_code_setup_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def setup_pin_code_with_http_info( + self, + pin_code_setup_dto: PinCodeSetupDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Setup pin code + + Setup a new pin code for the current user. + + :param pin_code_setup_dto: (required) + :type pin_code_setup_dto: PinCodeSetupDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._setup_pin_code_serialize( + pin_code_setup_dto=pin_code_setup_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def setup_pin_code_without_preload_content( + self, + pin_code_setup_dto: PinCodeSetupDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Setup pin code + + Setup a new pin code for the current user. + + :param pin_code_setup_dto: (required) + :type pin_code_setup_dto: PinCodeSetupDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._setup_pin_code_serialize( + pin_code_setup_dto=pin_code_setup_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _setup_pin_code_serialize( + self, + pin_code_setup_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if pin_code_setup_dto is not None: + _body_params = pin_code_setup_dto + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/auth/pin-code', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def sign_up_admin( self, @@ -847,8 +3215,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserAdminResponseDto: - """sign_up_admin + """Register admin + Create the first admin user in the system. :param sign_up_dto: (required) :type sign_up_dto: SignUpDto @@ -913,8 +3282,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserAdminResponseDto]: - """sign_up_admin + """Register admin + Create the first admin user in the system. :param sign_up_dto: (required) :type sign_up_dto: SignUpDto @@ -979,8 +3349,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """sign_up_admin + """Register admin + Create the first admin user in the system. :param sign_up_dto: (required) :type sign_up_dto: SignUpDto @@ -1100,6 +3471,796 @@ class AuthenticationApi: + @validate_call + def start_o_auth( + self, + o_auth_config_dto: OAuthConfigDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> OAuthAuthorizeResponseDto: + """Start OAuth + + Initiate the OAuth authorization process. + + :param o_auth_config_dto: (required) + :type o_auth_config_dto: OAuthConfigDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_o_auth_serialize( + o_auth_config_dto=o_auth_config_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "OAuthAuthorizeResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def start_o_auth_with_http_info( + self, + o_auth_config_dto: OAuthConfigDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[OAuthAuthorizeResponseDto]: + """Start OAuth + + Initiate the OAuth authorization process. + + :param o_auth_config_dto: (required) + :type o_auth_config_dto: OAuthConfigDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_o_auth_serialize( + o_auth_config_dto=o_auth_config_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "OAuthAuthorizeResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def start_o_auth_without_preload_content( + self, + o_auth_config_dto: OAuthConfigDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Start OAuth + + Initiate the OAuth authorization process. + + :param o_auth_config_dto: (required) + :type o_auth_config_dto: OAuthConfigDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._start_o_auth_serialize( + o_auth_config_dto=o_auth_config_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "OAuthAuthorizeResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _start_o_auth_serialize( + self, + o_auth_config_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if o_auth_config_dto is not None: + _body_params = o_auth_config_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/oauth/authorize', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def unlink_o_auth_account( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserAdminResponseDto: + """Unlink OAuth account + + Unlink the OAuth account from the authenticated user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._unlink_o_auth_account_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def unlink_o_auth_account_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[UserAdminResponseDto]: + """Unlink OAuth account + + Unlink the OAuth account from the authenticated user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._unlink_o_auth_account_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def unlink_o_auth_account_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Unlink OAuth account + + Unlink the OAuth account from the authenticated user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._unlink_o_auth_account_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _unlink_o_auth_account_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/oauth/unlink', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def unlock_auth_session( + self, + session_unlock_dto: SessionUnlockDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Unlock auth session + + Temporarily grant the session elevated access to locked assets by providing the correct PIN code. + + :param session_unlock_dto: (required) + :type session_unlock_dto: SessionUnlockDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._unlock_auth_session_serialize( + session_unlock_dto=session_unlock_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def unlock_auth_session_with_http_info( + self, + session_unlock_dto: SessionUnlockDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Unlock auth session + + Temporarily grant the session elevated access to locked assets by providing the correct PIN code. + + :param session_unlock_dto: (required) + :type session_unlock_dto: SessionUnlockDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._unlock_auth_session_serialize( + session_unlock_dto=session_unlock_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def unlock_auth_session_without_preload_content( + self, + session_unlock_dto: SessionUnlockDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Unlock auth session + + Temporarily grant the session elevated access to locked assets by providing the correct PIN code. + + :param session_unlock_dto: (required) + :type session_unlock_dto: SessionUnlockDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._unlock_auth_session_serialize( + session_unlock_dto=session_unlock_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _unlock_auth_session_serialize( + self, + session_unlock_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if session_unlock_dto is not None: + _body_params = session_unlock_dto + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/auth/session/unlock', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def validate_access_token( self, @@ -1116,8 +4277,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ValidateAccessTokenResponseDto: - """validate_access_token + """Validate access token + Validate the current authorization method is still valid. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1178,8 +4340,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ValidateAccessTokenResponseDto]: - """validate_access_token + """Validate access token + Validate the current authorization method is still valid. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1240,8 +4403,9 @@ class AuthenticationApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """validate_access_token + """Validate access token + Validate the current authorization method is still valid. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request diff --git a/generated/immich/openapi_client/api/deprecated_api.py b/generated/immich/openapi_client/api/deprecated_api.py index c8b2d6b..a6fa866 100644 --- a/generated/immich/openapi_client/api/deprecated_api.py +++ b/generated/immich/openapi_client/api/deprecated_api.py @@ -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. @@ -16,10 +16,36 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import Field -from typing import List, Optional, Union -from typing_extensions import Annotated +from uuid import UUID +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_update_dto import AssetBulkUpdateDto from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto +from generated.immich.openapi_client.models.library_response_dto import LibraryResponseDto +from generated.immich.openapi_client.models.memory_response_dto import MemoryResponseDto +from generated.immich.openapi_client.models.memory_update_dto import MemoryUpdateDto +from generated.immich.openapi_client.models.partner_response_dto import PartnerResponseDto +from generated.immich.openapi_client.models.person_response_dto import PersonResponseDto +from generated.immich.openapi_client.models.person_update_dto import PersonUpdateDto +from generated.immich.openapi_client.models.queue_command_dto import QueueCommandDto +from generated.immich.openapi_client.models.queue_name import QueueName +from generated.immich.openapi_client.models.queue_response_legacy_dto import QueueResponseLegacyDto +from generated.immich.openapi_client.models.queues_response_legacy_dto import QueuesResponseLegacyDto +from generated.immich.openapi_client.models.session_response_dto import SessionResponseDto +from generated.immich.openapi_client.models.session_update_dto import SessionUpdateDto +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.tag_response_dto import TagResponseDto +from generated.immich.openapi_client.models.tag_update_dto import TagUpdateDto +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.user_admin_response_dto import UserAdminResponseDto +from generated.immich.openapi_client.models.user_admin_update_dto import UserAdminUpdateDto +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_update_me_dto import UserUpdateMeDto +from generated.immich.openapi_client.models.workflow_response_dto import WorkflowResponseDto +from generated.immich.openapi_client.models.workflow_update_dto import WorkflowUpdateDto from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -40,9 +66,9 @@ class DeprecatedApi: @validate_call - def get_random( + def create_partner_deprecated( self, - count: Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]] = None, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -55,13 +81,13 @@ class DeprecatedApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AssetResponseDto]: - """(Deprecated) get_random + ) -> PartnerResponseDto: + """(Deprecated) Create a partner - This property was deprecated in v1.116.0 + Create a new partner to share assets with. - :param count: - :type count: float + :param id: (required) + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -83,10 +109,10 @@ class DeprecatedApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("GET /assets/random is deprecated.", DeprecationWarning) + warnings.warn("POST /partners/{id} is deprecated.", DeprecationWarning) - _param = self._get_random_serialize( - count=count, + _param = self._create_partner_deprecated_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -94,7 +120,7 @@ class DeprecatedApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", + '201': "PartnerResponseDto", } response_data = self.api_client.call_api( *_param, @@ -108,9 +134,9 @@ class DeprecatedApi: @validate_call - def get_random_with_http_info( + def create_partner_deprecated_with_http_info( self, - count: Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]] = None, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -123,13 +149,13 @@ class DeprecatedApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AssetResponseDto]]: - """(Deprecated) get_random + ) -> ApiResponse[PartnerResponseDto]: + """(Deprecated) Create a partner - This property was deprecated in v1.116.0 + Create a new partner to share assets with. - :param count: - :type count: float + :param id: (required) + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -151,10 +177,10 @@ class DeprecatedApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("GET /assets/random is deprecated.", DeprecationWarning) + warnings.warn("POST /partners/{id} is deprecated.", DeprecationWarning) - _param = self._get_random_serialize( - count=count, + _param = self._create_partner_deprecated_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -162,7 +188,7 @@ class DeprecatedApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", + '201': "PartnerResponseDto", } response_data = self.api_client.call_api( *_param, @@ -176,9 +202,9 @@ class DeprecatedApi: @validate_call - def get_random_without_preload_content( + def create_partner_deprecated_without_preload_content( self, - count: Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]] = None, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -192,12 +218,12 @@ class DeprecatedApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """(Deprecated) get_random + """(Deprecated) Create a partner - This property was deprecated in v1.116.0 + Create a new partner to share assets with. - :param count: - :type count: float + :param id: (required) + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -219,10 +245,10 @@ class DeprecatedApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 - warnings.warn("GET /assets/random is deprecated.", DeprecationWarning) + warnings.warn("POST /partners/{id} is deprecated.", DeprecationWarning) - _param = self._get_random_serialize( - count=count, + _param = self._create_partner_deprecated_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -230,7 +256,7 @@ class DeprecatedApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", + '201': "PartnerResponseDto", } response_data = self.api_client.call_api( *_param, @@ -239,9 +265,262 @@ class DeprecatedApi: return response_data.response - def _get_random_serialize( + def _create_partner_deprecated_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/partners/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_queues_legacy( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> QueuesResponseLegacyDto: + """(Deprecated) Retrieve queue counts and status + + Retrieve the counts of the current queue, as well as the current status. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("GET /jobs is deprecated.", DeprecationWarning) + + _param = self._get_queues_legacy_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QueuesResponseLegacyDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_queues_legacy_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[QueuesResponseLegacyDto]: + """(Deprecated) Retrieve queue counts and status + + Retrieve the counts of the current queue, as well as the current status. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("GET /jobs is deprecated.", DeprecationWarning) + + _param = self._get_queues_legacy_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QueuesResponseLegacyDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_queues_legacy_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Retrieve queue counts and status + + Retrieve the counts of the current queue, as well as the current status. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("GET /jobs is deprecated.", DeprecationWarning) + + _param = self._get_queues_legacy_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QueuesResponseLegacyDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_queues_legacy_serialize( self, - count, _request_auth, _content_type, _headers, @@ -264,10 +543,6 @@ class DeprecatedApi: # process the path parameters # process the query parameters - if count is not None: - - _query_params.append(('count', count)) - # process the header parameters # process the form parameters # process the body parameter @@ -291,7 +566,4365 @@ class DeprecatedApi: return self.api_client.param_serialize( method='GET', - resource_path='/assets/random', + resource_path='/jobs', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def run_queue_command_legacy( + self, + name: QueueName, + queue_command_dto: QueueCommandDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> QueueResponseLegacyDto: + """(Deprecated) Run jobs + + Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets. + + :param name: (required) + :type name: QueueName + :param queue_command_dto: (required) + :type queue_command_dto: QueueCommandDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /jobs/{name} is deprecated.", DeprecationWarning) + + _param = self._run_queue_command_legacy_serialize( + name=name, + queue_command_dto=queue_command_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QueueResponseLegacyDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def run_queue_command_legacy_with_http_info( + self, + name: QueueName, + queue_command_dto: QueueCommandDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[QueueResponseLegacyDto]: + """(Deprecated) Run jobs + + Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets. + + :param name: (required) + :type name: QueueName + :param queue_command_dto: (required) + :type queue_command_dto: QueueCommandDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /jobs/{name} is deprecated.", DeprecationWarning) + + _param = self._run_queue_command_legacy_serialize( + name=name, + queue_command_dto=queue_command_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QueueResponseLegacyDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def run_queue_command_legacy_without_preload_content( + self, + name: QueueName, + queue_command_dto: QueueCommandDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Run jobs + + Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets. + + :param name: (required) + :type name: QueueName + :param queue_command_dto: (required) + :type queue_command_dto: QueueCommandDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /jobs/{name} is deprecated.", DeprecationWarning) + + _param = self._run_queue_command_legacy_serialize( + name=name, + queue_command_dto=queue_command_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "QueueResponseLegacyDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _run_queue_command_legacy_serialize( + self, + name, + queue_command_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if name is not None: + _path_params['name'] = name.value + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if queue_command_dto is not None: + _body_params = queue_command_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/jobs/{name}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_api_key( + self, + id: UUID, + api_key_update_dto: ApiKeyUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiKeyResponseDto: + """(Deprecated) Update an API key + + Updates the name and permissions of an API key by its ID. The current user must own this API key. + + :param id: (required) + :type id: UUID + :param api_key_update_dto: (required) + :type api_key_update_dto: ApiKeyUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /api-keys/{id} is deprecated.", DeprecationWarning) + + _param = self._update_api_key_serialize( + id=id, + api_key_update_dto=api_key_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ApiKeyResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_api_key_with_http_info( + self, + id: UUID, + api_key_update_dto: ApiKeyUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[ApiKeyResponseDto]: + """(Deprecated) Update an API key + + Updates the name and permissions of an API key by its ID. The current user must own this API key. + + :param id: (required) + :type id: UUID + :param api_key_update_dto: (required) + :type api_key_update_dto: ApiKeyUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /api-keys/{id} is deprecated.", DeprecationWarning) + + _param = self._update_api_key_serialize( + id=id, + api_key_update_dto=api_key_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ApiKeyResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_api_key_without_preload_content( + self, + id: UUID, + api_key_update_dto: ApiKeyUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update an API key + + Updates the name and permissions of an API key by its ID. The current user must own this API key. + + :param id: (required) + :type id: UUID + :param api_key_update_dto: (required) + :type api_key_update_dto: ApiKeyUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /api-keys/{id} is deprecated.", DeprecationWarning) + + _param = self._update_api_key_serialize( + id=id, + api_key_update_dto=api_key_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ApiKeyResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_api_key_serialize( + self, + id, + api_key_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if api_key_update_dto is not None: + _body_params = api_key_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api-keys/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_asset( + self, + id: UUID, + update_asset_dto: UpdateAssetDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AssetResponseDto: + """(Deprecated) Update an asset + + Update information of a specific asset. + + :param id: (required) + :type id: UUID + :param update_asset_dto: (required) + :type update_asset_dto: UpdateAssetDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /assets/{id} is deprecated.", DeprecationWarning) + + _param = self._update_asset_serialize( + id=id, + update_asset_dto=update_asset_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_asset_with_http_info( + self, + id: UUID, + update_asset_dto: UpdateAssetDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AssetResponseDto]: + """(Deprecated) Update an asset + + Update information of a specific asset. + + :param id: (required) + :type id: UUID + :param update_asset_dto: (required) + :type update_asset_dto: UpdateAssetDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /assets/{id} is deprecated.", DeprecationWarning) + + _param = self._update_asset_serialize( + id=id, + update_asset_dto=update_asset_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_asset_without_preload_content( + self, + id: UUID, + update_asset_dto: UpdateAssetDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update an asset + + Update information of a specific asset. + + :param id: (required) + :type id: UUID + :param update_asset_dto: (required) + :type update_asset_dto: UpdateAssetDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /assets/{id} is deprecated.", DeprecationWarning) + + _param = self._update_asset_serialize( + id=id, + update_asset_dto=update_asset_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_asset_serialize( + self, + id, + update_asset_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if update_asset_dto is not None: + _body_params = update_asset_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/assets/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_assets( + self, + asset_bulk_update_dto: AssetBulkUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """(Deprecated) Update assets + + Updates multiple assets at the same time. + + :param asset_bulk_update_dto: (required) + :type asset_bulk_update_dto: AssetBulkUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /assets is deprecated.", DeprecationWarning) + + _param = self._update_assets_serialize( + asset_bulk_update_dto=asset_bulk_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_assets_with_http_info( + self, + asset_bulk_update_dto: AssetBulkUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """(Deprecated) Update assets + + Updates multiple assets at the same time. + + :param asset_bulk_update_dto: (required) + :type asset_bulk_update_dto: AssetBulkUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /assets is deprecated.", DeprecationWarning) + + _param = self._update_assets_serialize( + asset_bulk_update_dto=asset_bulk_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_assets_without_preload_content( + self, + asset_bulk_update_dto: AssetBulkUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update assets + + Updates multiple assets at the same time. + + :param asset_bulk_update_dto: (required) + :type asset_bulk_update_dto: AssetBulkUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /assets is deprecated.", DeprecationWarning) + + _param = self._update_assets_serialize( + asset_bulk_update_dto=asset_bulk_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_assets_serialize( + self, + asset_bulk_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if asset_bulk_update_dto is not None: + _body_params = asset_bulk_update_dto + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/assets', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_library( + self, + id: UUID, + update_library_dto: UpdateLibraryDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> LibraryResponseDto: + """(Deprecated) Update a library + + Update an existing external library. + + :param id: (required) + :type id: UUID + :param update_library_dto: (required) + :type update_library_dto: UpdateLibraryDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /libraries/{id} is deprecated.", DeprecationWarning) + + _param = self._update_library_serialize( + id=id, + update_library_dto=update_library_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LibraryResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_library_with_http_info( + self, + id: UUID, + update_library_dto: UpdateLibraryDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[LibraryResponseDto]: + """(Deprecated) Update a library + + Update an existing external library. + + :param id: (required) + :type id: UUID + :param update_library_dto: (required) + :type update_library_dto: UpdateLibraryDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /libraries/{id} is deprecated.", DeprecationWarning) + + _param = self._update_library_serialize( + id=id, + update_library_dto=update_library_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LibraryResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_library_without_preload_content( + self, + id: UUID, + update_library_dto: UpdateLibraryDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update a library + + Update an existing external library. + + :param id: (required) + :type id: UUID + :param update_library_dto: (required) + :type update_library_dto: UpdateLibraryDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /libraries/{id} is deprecated.", DeprecationWarning) + + _param = self._update_library_serialize( + id=id, + update_library_dto=update_library_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LibraryResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_library_serialize( + self, + id, + update_library_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if update_library_dto is not None: + _body_params = update_library_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/libraries/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_memory( + self, + id: UUID, + memory_update_dto: MemoryUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> MemoryResponseDto: + """(Deprecated) Update a memory + + Update an existing memory by its ID. + + :param id: (required) + :type id: UUID + :param memory_update_dto: (required) + :type memory_update_dto: MemoryUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /memories/{id} is deprecated.", DeprecationWarning) + + _param = self._update_memory_serialize( + id=id, + memory_update_dto=memory_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MemoryResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_memory_with_http_info( + self, + id: UUID, + memory_update_dto: MemoryUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[MemoryResponseDto]: + """(Deprecated) Update a memory + + Update an existing memory by its ID. + + :param id: (required) + :type id: UUID + :param memory_update_dto: (required) + :type memory_update_dto: MemoryUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /memories/{id} is deprecated.", DeprecationWarning) + + _param = self._update_memory_serialize( + id=id, + memory_update_dto=memory_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MemoryResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_memory_without_preload_content( + self, + id: UUID, + memory_update_dto: MemoryUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update a memory + + Update an existing memory by its ID. + + :param id: (required) + :type id: UUID + :param memory_update_dto: (required) + :type memory_update_dto: MemoryUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /memories/{id} is deprecated.", DeprecationWarning) + + _param = self._update_memory_serialize( + id=id, + memory_update_dto=memory_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MemoryResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_memory_serialize( + self, + id, + memory_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if memory_update_dto is not None: + _body_params = memory_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/memories/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_my_preferences( + self, + user_preferences_update_dto: UserPreferencesUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserPreferencesResponseDto: + """(Deprecated) Update my preferences + + Update the preferences of the current user. + + :param user_preferences_update_dto: (required) + :type user_preferences_update_dto: UserPreferencesUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /users/me/preferences is deprecated.", DeprecationWarning) + + _param = self._update_my_preferences_serialize( + user_preferences_update_dto=user_preferences_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserPreferencesResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_my_preferences_with_http_info( + self, + user_preferences_update_dto: UserPreferencesUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[UserPreferencesResponseDto]: + """(Deprecated) Update my preferences + + Update the preferences of the current user. + + :param user_preferences_update_dto: (required) + :type user_preferences_update_dto: UserPreferencesUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /users/me/preferences is deprecated.", DeprecationWarning) + + _param = self._update_my_preferences_serialize( + user_preferences_update_dto=user_preferences_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserPreferencesResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_my_preferences_without_preload_content( + self, + user_preferences_update_dto: UserPreferencesUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update my preferences + + Update the preferences of the current user. + + :param user_preferences_update_dto: (required) + :type user_preferences_update_dto: UserPreferencesUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /users/me/preferences is deprecated.", DeprecationWarning) + + _param = self._update_my_preferences_serialize( + user_preferences_update_dto=user_preferences_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserPreferencesResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_my_preferences_serialize( + self, + user_preferences_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if user_preferences_update_dto is not None: + _body_params = user_preferences_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/users/me/preferences', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_my_user( + self, + user_update_me_dto: UserUpdateMeDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserAdminResponseDto: + """(Deprecated) Update current user + + Update the current user making the API request. + + :param user_update_me_dto: (required) + :type user_update_me_dto: UserUpdateMeDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /users/me is deprecated.", DeprecationWarning) + + _param = self._update_my_user_serialize( + user_update_me_dto=user_update_me_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_my_user_with_http_info( + self, + user_update_me_dto: UserUpdateMeDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[UserAdminResponseDto]: + """(Deprecated) Update current user + + Update the current user making the API request. + + :param user_update_me_dto: (required) + :type user_update_me_dto: UserUpdateMeDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /users/me is deprecated.", DeprecationWarning) + + _param = self._update_my_user_serialize( + user_update_me_dto=user_update_me_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_my_user_without_preload_content( + self, + user_update_me_dto: UserUpdateMeDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update current user + + Update the current user making the API request. + + :param user_update_me_dto: (required) + :type user_update_me_dto: UserUpdateMeDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /users/me is deprecated.", DeprecationWarning) + + _param = self._update_my_user_serialize( + user_update_me_dto=user_update_me_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_my_user_serialize( + self, + user_update_me_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if user_update_me_dto is not None: + _body_params = user_update_me_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/users/me', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_person( + self, + id: UUID, + person_update_dto: PersonUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PersonResponseDto: + """(Deprecated) Update person + + Update an individual person. + + :param id: (required) + :type id: UUID + :param person_update_dto: (required) + :type person_update_dto: PersonUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /people/{id} is deprecated.", DeprecationWarning) + + _param = self._update_person_serialize( + id=id, + person_update_dto=person_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PersonResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_person_with_http_info( + self, + id: UUID, + person_update_dto: PersonUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PersonResponseDto]: + """(Deprecated) Update person + + Update an individual person. + + :param id: (required) + :type id: UUID + :param person_update_dto: (required) + :type person_update_dto: PersonUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /people/{id} is deprecated.", DeprecationWarning) + + _param = self._update_person_serialize( + id=id, + person_update_dto=person_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PersonResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_person_without_preload_content( + self, + id: UUID, + person_update_dto: PersonUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update person + + Update an individual person. + + :param id: (required) + :type id: UUID + :param person_update_dto: (required) + :type person_update_dto: PersonUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /people/{id} is deprecated.", DeprecationWarning) + + _param = self._update_person_serialize( + id=id, + person_update_dto=person_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PersonResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_person_serialize( + self, + id, + person_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if person_update_dto is not None: + _body_params = person_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/people/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_session( + self, + id: UUID, + session_update_dto: SessionUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SessionResponseDto: + """(Deprecated) Update a session + + Update a specific session identified by id. + + :param id: (required) + :type id: UUID + :param session_update_dto: (required) + :type session_update_dto: SessionUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /sessions/{id} is deprecated.", DeprecationWarning) + + _param = self._update_session_serialize( + id=id, + session_update_dto=session_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SessionResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_session_with_http_info( + self, + id: UUID, + session_update_dto: SessionUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SessionResponseDto]: + """(Deprecated) Update a session + + Update a specific session identified by id. + + :param id: (required) + :type id: UUID + :param session_update_dto: (required) + :type session_update_dto: SessionUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /sessions/{id} is deprecated.", DeprecationWarning) + + _param = self._update_session_serialize( + id=id, + session_update_dto=session_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SessionResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_session_without_preload_content( + self, + id: UUID, + session_update_dto: SessionUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update a session + + Update a specific session identified by id. + + :param id: (required) + :type id: UUID + :param session_update_dto: (required) + :type session_update_dto: SessionUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /sessions/{id} is deprecated.", DeprecationWarning) + + _param = self._update_session_serialize( + id=id, + session_update_dto=session_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SessionResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_session_serialize( + self, + id, + session_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if session_update_dto is not None: + _body_params = session_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/sessions/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_stack( + self, + id: UUID, + stack_update_dto: StackUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> StackResponseDto: + """(Deprecated) Update a stack + + Update an existing stack by its ID. + + :param id: (required) + :type id: UUID + :param stack_update_dto: (required) + :type stack_update_dto: StackUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /stacks/{id} is deprecated.", DeprecationWarning) + + _param = self._update_stack_serialize( + id=id, + stack_update_dto=stack_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StackResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_stack_with_http_info( + self, + id: UUID, + stack_update_dto: StackUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[StackResponseDto]: + """(Deprecated) Update a stack + + Update an existing stack by its ID. + + :param id: (required) + :type id: UUID + :param stack_update_dto: (required) + :type stack_update_dto: StackUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /stacks/{id} is deprecated.", DeprecationWarning) + + _param = self._update_stack_serialize( + id=id, + stack_update_dto=stack_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StackResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_stack_without_preload_content( + self, + id: UUID, + stack_update_dto: StackUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update a stack + + Update an existing stack by its ID. + + :param id: (required) + :type id: UUID + :param stack_update_dto: (required) + :type stack_update_dto: StackUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /stacks/{id} is deprecated.", DeprecationWarning) + + _param = self._update_stack_serialize( + id=id, + stack_update_dto=stack_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "StackResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_stack_serialize( + self, + id, + stack_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if stack_update_dto is not None: + _body_params = stack_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/stacks/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_tag( + self, + id: UUID, + tag_update_dto: TagUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TagResponseDto: + """(Deprecated) Update a tag + + Update an existing tag identified by its ID. + + :param id: (required) + :type id: UUID + :param tag_update_dto: (required) + :type tag_update_dto: TagUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /tags/{id} is deprecated.", DeprecationWarning) + + _param = self._update_tag_serialize( + id=id, + tag_update_dto=tag_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_tag_with_http_info( + self, + id: UUID, + tag_update_dto: TagUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TagResponseDto]: + """(Deprecated) Update a tag + + Update an existing tag identified by its ID. + + :param id: (required) + :type id: UUID + :param tag_update_dto: (required) + :type tag_update_dto: TagUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /tags/{id} is deprecated.", DeprecationWarning) + + _param = self._update_tag_serialize( + id=id, + tag_update_dto=tag_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_tag_without_preload_content( + self, + id: UUID, + tag_update_dto: TagUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update a tag + + Update an existing tag identified by its ID. + + :param id: (required) + :type id: UUID + :param tag_update_dto: (required) + :type tag_update_dto: TagUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /tags/{id} is deprecated.", DeprecationWarning) + + _param = self._update_tag_serialize( + id=id, + tag_update_dto=tag_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_tag_serialize( + self, + id, + tag_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag_update_dto is not None: + _body_params = tag_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/tags/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_user_admin( + self, + id: UUID, + user_admin_update_dto: UserAdminUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserAdminResponseDto: + """(Deprecated) Update a user + + Update an existing user. + + :param id: (required) + :type id: UUID + :param user_admin_update_dto: (required) + :type user_admin_update_dto: UserAdminUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /admin/users/{id} is deprecated.", DeprecationWarning) + + _param = self._update_user_admin_serialize( + id=id, + user_admin_update_dto=user_admin_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_user_admin_with_http_info( + self, + id: UUID, + user_admin_update_dto: UserAdminUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[UserAdminResponseDto]: + """(Deprecated) Update a user + + Update an existing user. + + :param id: (required) + :type id: UUID + :param user_admin_update_dto: (required) + :type user_admin_update_dto: UserAdminUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /admin/users/{id} is deprecated.", DeprecationWarning) + + _param = self._update_user_admin_serialize( + id=id, + user_admin_update_dto=user_admin_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_user_admin_without_preload_content( + self, + id: UUID, + user_admin_update_dto: UserAdminUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update a user + + Update an existing user. + + :param id: (required) + :type id: UUID + :param user_admin_update_dto: (required) + :type user_admin_update_dto: UserAdminUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /admin/users/{id} is deprecated.", DeprecationWarning) + + _param = self._update_user_admin_serialize( + id=id, + user_admin_update_dto=user_admin_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserAdminResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_user_admin_serialize( + self, + id, + user_admin_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if user_admin_update_dto is not None: + _body_params = user_admin_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/admin/users/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_user_preferences_admin( + self, + id: UUID, + user_preferences_update_dto: UserPreferencesUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> UserPreferencesResponseDto: + """(Deprecated) Update user preferences + + Update the preferences of a specific user. + + :param id: (required) + :type id: UUID + :param user_preferences_update_dto: (required) + :type user_preferences_update_dto: UserPreferencesUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /admin/users/{id}/preferences is deprecated.", DeprecationWarning) + + _param = self._update_user_preferences_admin_serialize( + id=id, + user_preferences_update_dto=user_preferences_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserPreferencesResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_user_preferences_admin_with_http_info( + self, + id: UUID, + user_preferences_update_dto: UserPreferencesUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[UserPreferencesResponseDto]: + """(Deprecated) Update user preferences + + Update the preferences of a specific user. + + :param id: (required) + :type id: UUID + :param user_preferences_update_dto: (required) + :type user_preferences_update_dto: UserPreferencesUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /admin/users/{id}/preferences is deprecated.", DeprecationWarning) + + _param = self._update_user_preferences_admin_serialize( + id=id, + user_preferences_update_dto=user_preferences_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserPreferencesResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_user_preferences_admin_without_preload_content( + self, + id: UUID, + user_preferences_update_dto: UserPreferencesUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update user preferences + + Update the preferences of a specific user. + + :param id: (required) + :type id: UUID + :param user_preferences_update_dto: (required) + :type user_preferences_update_dto: UserPreferencesUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /admin/users/{id}/preferences is deprecated.", DeprecationWarning) + + _param = self._update_user_preferences_admin_serialize( + id=id, + user_preferences_update_dto=user_preferences_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "UserPreferencesResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_user_preferences_admin_serialize( + self, + id, + user_preferences_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if user_preferences_update_dto is not None: + _body_params = user_preferences_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/admin/users/{id}/preferences', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_workflow( + self, + id: UUID, + workflow_update_dto: WorkflowUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> WorkflowResponseDto: + """(Deprecated) Update a workflow + + Update the information of a specific workflow by its ID. This endpoint can be used to update the workflow name, description, trigger type, filters and actions order, etc. + + :param id: (required) + :type id: UUID + :param workflow_update_dto: (required) + :type workflow_update_dto: WorkflowUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /workflows/{id} is deprecated.", DeprecationWarning) + + _param = self._update_workflow_serialize( + id=id, + workflow_update_dto=workflow_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "WorkflowResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_workflow_with_http_info( + self, + id: UUID, + workflow_update_dto: WorkflowUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[WorkflowResponseDto]: + """(Deprecated) Update a workflow + + Update the information of a specific workflow by its ID. This endpoint can be used to update the workflow name, description, trigger type, filters and actions order, etc. + + :param id: (required) + :type id: UUID + :param workflow_update_dto: (required) + :type workflow_update_dto: WorkflowUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /workflows/{id} is deprecated.", DeprecationWarning) + + _param = self._update_workflow_serialize( + id=id, + workflow_update_dto=workflow_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "WorkflowResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_workflow_without_preload_content( + self, + id: UUID, + workflow_update_dto: WorkflowUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update a workflow + + Update the information of a specific workflow by its ID. This endpoint can be used to update the workflow name, description, trigger type, filters and actions order, etc. + + :param id: (required) + :type id: UUID + :param workflow_update_dto: (required) + :type workflow_update_dto: WorkflowUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /workflows/{id} is deprecated.", DeprecationWarning) + + _param = self._update_workflow_serialize( + id=id, + workflow_update_dto=workflow_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "WorkflowResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_workflow_serialize( + self, + id, + workflow_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if workflow_update_dto is not None: + _body_params = workflow_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/workflows/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/generated/immich/openapi_client/api/download_api.py b/generated/immich/openapi_client/api/download_api.py index bc98328..ef2ecc6 100644 --- a/generated/immich/openapi_client/api/download_api.py +++ b/generated/immich/openapi_client/api/download_api.py @@ -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 @@ from typing_extensions import Annotated from pydantic import StrictBytes, StrictStr from typing import Optional, Tuple, Union -from generated.immich.openapi_client.models.asset_ids_dto import AssetIdsDto +from generated.immich.openapi_client.models.download_archive_dto import DownloadArchiveDto from generated.immich.openapi_client.models.download_info_dto import DownloadInfoDto from generated.immich.openapi_client.models.download_response_dto import DownloadResponseDto @@ -43,8 +43,9 @@ class DownloadApi: @validate_call def download_archive( self, - asset_ids_dto: AssetIdsDto, + download_archive_dto: DownloadArchiveDto, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -58,13 +59,16 @@ class DownloadApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> bytearray: - """download_archive + """Download asset archive + Download a ZIP archive containing the specified assets. The assets must have been previously requested via the \"getDownloadInfo\" endpoint. - :param asset_ids_dto: (required) - :type asset_ids_dto: AssetIdsDto + :param download_archive_dto: (required) + :type download_archive_dto: DownloadArchiveDto :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -88,8 +92,9 @@ class DownloadApi: """ # noqa: E501 _param = self._download_archive_serialize( - asset_ids_dto=asset_ids_dto, + download_archive_dto=download_archive_dto, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -113,8 +118,9 @@ class DownloadApi: @validate_call def download_archive_with_http_info( self, - asset_ids_dto: AssetIdsDto, + download_archive_dto: DownloadArchiveDto, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -128,13 +134,16 @@ class DownloadApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[bytearray]: - """download_archive + """Download asset archive + Download a ZIP archive containing the specified assets. The assets must have been previously requested via the \"getDownloadInfo\" endpoint. - :param asset_ids_dto: (required) - :type asset_ids_dto: AssetIdsDto + :param download_archive_dto: (required) + :type download_archive_dto: DownloadArchiveDto :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -158,8 +167,9 @@ class DownloadApi: """ # noqa: E501 _param = self._download_archive_serialize( - asset_ids_dto=asset_ids_dto, + download_archive_dto=download_archive_dto, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -183,8 +193,9 @@ class DownloadApi: @validate_call def download_archive_without_preload_content( self, - asset_ids_dto: AssetIdsDto, + download_archive_dto: DownloadArchiveDto, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -198,13 +209,16 @@ class DownloadApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """download_archive + """Download asset archive + Download a ZIP archive containing the specified assets. The assets must have been previously requested via the \"getDownloadInfo\" endpoint. - :param asset_ids_dto: (required) - :type asset_ids_dto: AssetIdsDto + :param download_archive_dto: (required) + :type download_archive_dto: DownloadArchiveDto :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -228,8 +242,9 @@ class DownloadApi: """ # noqa: E501 _param = self._download_archive_serialize( - asset_ids_dto=asset_ids_dto, + download_archive_dto=download_archive_dto, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -248,8 +263,9 @@ class DownloadApi: def _download_archive_serialize( self, - asset_ids_dto, + download_archive_dto, key, + slug, _request_auth, _content_type, _headers, @@ -276,11 +292,15 @@ class DownloadApi: _query_params.append(('key', key)) + if slug is not None: + + _query_params.append(('slug', slug)) + # process the header parameters # process the form parameters # process the body parameter - if asset_ids_dto is not None: - _body_params = asset_ids_dto + if download_archive_dto is not None: + _body_params = download_archive_dto # set the HTTP header `Accept` @@ -335,6 +355,7 @@ class DownloadApi: self, download_info_dto: DownloadInfoDto, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -348,13 +369,16 @@ class DownloadApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> DownloadResponseDto: - """get_download_info + """Retrieve download information + Retrieve information about how to request a download for the specified assets or album. The response includes groups of assets that can be downloaded together. :param download_info_dto: (required) :type download_info_dto: DownloadInfoDto :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -380,6 +404,7 @@ class DownloadApi: _param = self._get_download_info_serialize( download_info_dto=download_info_dto, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -405,6 +430,7 @@ class DownloadApi: self, download_info_dto: DownloadInfoDto, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -418,13 +444,16 @@ class DownloadApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[DownloadResponseDto]: - """get_download_info + """Retrieve download information + Retrieve information about how to request a download for the specified assets or album. The response includes groups of assets that can be downloaded together. :param download_info_dto: (required) :type download_info_dto: DownloadInfoDto :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -450,6 +479,7 @@ class DownloadApi: _param = self._get_download_info_serialize( download_info_dto=download_info_dto, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -475,6 +505,7 @@ class DownloadApi: self, download_info_dto: DownloadInfoDto, key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -488,13 +519,16 @@ class DownloadApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_download_info + """Retrieve download information + Retrieve information about how to request a download for the specified assets or album. The response includes groups of assets that can be downloaded together. :param download_info_dto: (required) :type download_info_dto: DownloadInfoDto :param key: :type key: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -520,6 +554,7 @@ class DownloadApi: _param = self._get_download_info_serialize( download_info_dto=download_info_dto, key=key, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -540,6 +575,7 @@ class DownloadApi: self, download_info_dto, key, + slug, _request_auth, _content_type, _headers, @@ -566,6 +602,10 @@ class DownloadApi: _query_params.append(('key', key)) + if slug is not None: + + _query_params.append(('slug', slug)) + # process the header parameters # process the form parameters # process the body parameter diff --git a/generated/immich/openapi_client/api/duplicates_api.py b/generated/immich/openapi_client/api/duplicates_api.py index 67317a7..349c53e 100644 --- a/generated/immich/openapi_client/api/duplicates_api.py +++ b/generated/immich/openapi_client/api/duplicates_api.py @@ -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,6 +17,10 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated from typing import List +from uuid import UUID +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.duplicate_resolve_dto import DuplicateResolveDto from generated.immich.openapi_client.models.duplicate_response_dto import DuplicateResponseDto from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized @@ -37,6 +41,531 @@ class DuplicatesApi: self.api_client = api_client + @validate_call + def delete_duplicate( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Dismiss a duplicate group + + Dismiss a duplicate group by its ID, unlinking all assets in the group without deleting them. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_duplicate_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_duplicate_with_http_info( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Dismiss a duplicate group + + Dismiss a duplicate group by its ID, unlinking all assets in the group without deleting them. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_duplicate_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_duplicate_without_preload_content( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Dismiss a duplicate group + + Dismiss a duplicate group by its ID, unlinking all assets in the group without deleting them. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_duplicate_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_duplicate_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/duplicates/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_duplicates( + self, + bulk_ids_dto: BulkIdsDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete duplicates + + Delete multiple duplicate assets specified by their IDs. + + :param bulk_ids_dto: (required) + :type bulk_ids_dto: BulkIdsDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_duplicates_serialize( + bulk_ids_dto=bulk_ids_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_duplicates_with_http_info( + self, + bulk_ids_dto: BulkIdsDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete duplicates + + Delete multiple duplicate assets specified by their IDs. + + :param bulk_ids_dto: (required) + :type bulk_ids_dto: BulkIdsDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_duplicates_serialize( + bulk_ids_dto=bulk_ids_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_duplicates_without_preload_content( + self, + bulk_ids_dto: BulkIdsDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete duplicates + + Delete multiple duplicate assets specified by their IDs. + + :param bulk_ids_dto: (required) + :type bulk_ids_dto: BulkIdsDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_duplicates_serialize( + bulk_ids_dto=bulk_ids_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_duplicates_serialize( + self, + bulk_ids_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if bulk_ids_dto is not None: + _body_params = bulk_ids_dto + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/duplicates', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def get_asset_duplicates( self, @@ -53,8 +582,9 @@ class DuplicatesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[DuplicateResponseDto]: - """get_asset_duplicates + """Retrieve duplicates + Retrieve a list of duplicate assets available to the authenticated user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -115,8 +645,9 @@ class DuplicatesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[DuplicateResponseDto]]: - """get_asset_duplicates + """Retrieve duplicates + Retrieve a list of duplicate assets available to the authenticated user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -177,8 +708,9 @@ class DuplicatesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_asset_duplicates + """Retrieve duplicates + Retrieve a list of duplicate assets available to the authenticated user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -280,3 +812,279 @@ class DuplicatesApi: ) + + + @validate_call + def resolve_duplicates( + self, + duplicate_resolve_dto: DuplicateResolveDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[BulkIdResponseDto]: + """Resolve duplicate groups + + Resolve duplicate groups by synchronizing metadata across assets and deleting/trashing duplicates. + + :param duplicate_resolve_dto: (required) + :type duplicate_resolve_dto: DuplicateResolveDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resolve_duplicates_serialize( + duplicate_resolve_dto=duplicate_resolve_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[BulkIdResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def resolve_duplicates_with_http_info( + self, + duplicate_resolve_dto: DuplicateResolveDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[BulkIdResponseDto]]: + """Resolve duplicate groups + + Resolve duplicate groups by synchronizing metadata across assets and deleting/trashing duplicates. + + :param duplicate_resolve_dto: (required) + :type duplicate_resolve_dto: DuplicateResolveDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resolve_duplicates_serialize( + duplicate_resolve_dto=duplicate_resolve_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[BulkIdResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def resolve_duplicates_without_preload_content( + self, + duplicate_resolve_dto: DuplicateResolveDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Resolve duplicate groups + + Resolve duplicate groups by synchronizing metadata across assets and deleting/trashing duplicates. + + :param duplicate_resolve_dto: (required) + :type duplicate_resolve_dto: DuplicateResolveDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._resolve_duplicates_serialize( + duplicate_resolve_dto=duplicate_resolve_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[BulkIdResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _resolve_duplicates_serialize( + self, + duplicate_resolve_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if duplicate_resolve_dto is not None: + _body_params = duplicate_resolve_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/duplicates/resolve', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/generated/immich/openapi_client/api/faces_api.py b/generated/immich/openapi_client/api/faces_api.py index b4b0de1..2c9fb34 100644 --- a/generated/immich/openapi_client/api/faces_api.py +++ b/generated/immich/openapi_client/api/faces_api.py @@ -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. @@ -16,8 +16,10 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr +from pydantic import Field from typing import List +from typing_extensions import Annotated +from uuid import UUID 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 @@ -59,8 +61,9 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """create_face + """Create a face + Create a new face that has not been discovered by facial recognition. The content of the bounding box is considered a face. :param asset_face_create_dto: (required) :type asset_face_create_dto: AssetFaceCreateDto @@ -125,8 +128,9 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """create_face + """Create a face + Create a new face that has not been discovered by facial recognition. The content of the bounding box is considered a face. :param asset_face_create_dto: (required) :type asset_face_create_dto: AssetFaceCreateDto @@ -191,8 +195,9 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_face + """Create a face + Create a new face that has not been discovered by facial recognition. The content of the bounding box is considered a face. :param asset_face_create_dto: (required) :type asset_face_create_dto: AssetFaceCreateDto @@ -311,7 +316,7 @@ class FacesApi: @validate_call def delete_face( self, - id: StrictStr, + id: UUID, asset_face_delete_dto: AssetFaceDeleteDto, _request_timeout: Union[ None, @@ -326,11 +331,12 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_face + """Delete a face + Delete a face identified by the id. Optionally can be force deleted. :param id: (required) - :type id: str + :type id: UUID :param asset_face_delete_dto: (required) :type asset_face_delete_dto: AssetFaceDeleteDto :param _request_timeout: timeout setting for this request. If one @@ -365,7 +371,7 @@ class FacesApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -381,7 +387,7 @@ class FacesApi: @validate_call def delete_face_with_http_info( self, - id: StrictStr, + id: UUID, asset_face_delete_dto: AssetFaceDeleteDto, _request_timeout: Union[ None, @@ -396,11 +402,12 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_face + """Delete a face + Delete a face identified by the id. Optionally can be force deleted. :param id: (required) - :type id: str + :type id: UUID :param asset_face_delete_dto: (required) :type asset_face_delete_dto: AssetFaceDeleteDto :param _request_timeout: timeout setting for this request. If one @@ -435,7 +442,7 @@ class FacesApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -451,7 +458,7 @@ class FacesApi: @validate_call def delete_face_without_preload_content( self, - id: StrictStr, + id: UUID, asset_face_delete_dto: AssetFaceDeleteDto, _request_timeout: Union[ None, @@ -466,11 +473,12 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_face + """Delete a face + Delete a face identified by the id. Optionally can be force deleted. :param id: (required) - :type id: str + :type id: UUID :param asset_face_delete_dto: (required) :type asset_face_delete_dto: AssetFaceDeleteDto :param _request_timeout: timeout setting for this request. If one @@ -505,7 +513,7 @@ class FacesApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -592,7 +600,7 @@ class FacesApi: @validate_call def get_faces( self, - id: StrictStr, + id: Annotated[UUID, Field(description="Face ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -606,11 +614,12 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[AssetFaceResponseDto]: - """get_faces + """Retrieve faces for asset + Retrieve all faces belonging to an asset. - :param id: (required) - :type id: str + :param id: Face ID (required) + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -658,7 +667,7 @@ class FacesApi: @validate_call def get_faces_with_http_info( self, - id: StrictStr, + id: Annotated[UUID, Field(description="Face ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -672,11 +681,12 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[AssetFaceResponseDto]]: - """get_faces + """Retrieve faces for asset + Retrieve all faces belonging to an asset. - :param id: (required) - :type id: str + :param id: Face ID (required) + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -724,7 +734,7 @@ class FacesApi: @validate_call def get_faces_without_preload_content( self, - id: StrictStr, + id: Annotated[UUID, Field(description="Face ID")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -738,11 +748,12 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_faces + """Retrieve faces for asset + Retrieve all faces belonging to an asset. - :param id: (required) - :type id: str + :param id: Face ID (required) + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -854,7 +865,7 @@ class FacesApi: @validate_call def reassign_faces_by_id( self, - id: StrictStr, + id: UUID, face_dto: FaceDto, _request_timeout: Union[ None, @@ -869,11 +880,12 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PersonResponseDto: - """reassign_faces_by_id + """Re-assign a face to another person + Re-assign the face provided in the body to the person identified by the id in the path parameter. :param id: (required) - :type id: str + :type id: UUID :param face_dto: (required) :type face_dto: FaceDto :param _request_timeout: timeout setting for this request. If one @@ -924,7 +936,7 @@ class FacesApi: @validate_call def reassign_faces_by_id_with_http_info( self, - id: StrictStr, + id: UUID, face_dto: FaceDto, _request_timeout: Union[ None, @@ -939,11 +951,12 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PersonResponseDto]: - """reassign_faces_by_id + """Re-assign a face to another person + Re-assign the face provided in the body to the person identified by the id in the path parameter. :param id: (required) - :type id: str + :type id: UUID :param face_dto: (required) :type face_dto: FaceDto :param _request_timeout: timeout setting for this request. If one @@ -994,7 +1007,7 @@ class FacesApi: @validate_call def reassign_faces_by_id_without_preload_content( self, - id: StrictStr, + id: UUID, face_dto: FaceDto, _request_timeout: Union[ None, @@ -1009,11 +1022,12 @@ class FacesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """reassign_faces_by_id + """Re-assign a face to another person + Re-assign the face provided in the body to the person identified by the id in the path parameter. :param id: (required) - :type id: str + :type id: UUID :param face_dto: (required) :type face_dto: FaceDto :param _request_timeout: timeout setting for this request. If one diff --git a/generated/immich/openapi_client/api/file_reports_api.py b/generated/immich/openapi_client/api/file_reports_api.py deleted file mode 100644 index a0944a1..0000000 --- a/generated/immich/openapi_client/api/file_reports_api.py +++ /dev/null @@ -1,824 +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 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from typing import List -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.api_client import ApiClient, RequestSerialized -from generated.immich.openapi_client.api_response import ApiResponse -from generated.immich.openapi_client.rest import RESTResponseType - - -class FileReportsApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call - def fix_audit_files( - self, - file_report_fix_dto: FileReportFixDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """fix_audit_files - - - :param file_report_fix_dto: (required) - :type file_report_fix_dto: FileReportFixDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._fix_audit_files_serialize( - file_report_fix_dto=file_report_fix_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def fix_audit_files_with_http_info( - self, - file_report_fix_dto: FileReportFixDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """fix_audit_files - - - :param file_report_fix_dto: (required) - :type file_report_fix_dto: FileReportFixDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._fix_audit_files_serialize( - file_report_fix_dto=file_report_fix_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def fix_audit_files_without_preload_content( - self, - file_report_fix_dto: FileReportFixDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """fix_audit_files - - - :param file_report_fix_dto: (required) - :type file_report_fix_dto: FileReportFixDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._fix_audit_files_serialize( - file_report_fix_dto=file_report_fix_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _fix_audit_files_serialize( - self, - file_report_fix_dto, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if file_report_fix_dto is not None: - _body_params = file_report_fix_dto - - - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/reports/fix', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_audit_files( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> FileReportDto: - """get_audit_files - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_audit_files_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "FileReportDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_audit_files_with_http_info( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[FileReportDto]: - """get_audit_files - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_audit_files_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "FileReportDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_audit_files_without_preload_content( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """get_audit_files - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_audit_files_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "FileReportDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_audit_files_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/reports', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_file_checksums( - self, - file_checksum_dto: FileChecksumDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[FileChecksumResponseDto]: - """get_file_checksums - - - :param file_checksum_dto: (required) - :type file_checksum_dto: FileChecksumDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_file_checksums_serialize( - file_checksum_dto=file_checksum_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "List[FileChecksumResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_file_checksums_with_http_info( - self, - file_checksum_dto: FileChecksumDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[FileChecksumResponseDto]]: - """get_file_checksums - - - :param file_checksum_dto: (required) - :type file_checksum_dto: FileChecksumDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_file_checksums_serialize( - file_checksum_dto=file_checksum_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "List[FileChecksumResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_file_checksums_without_preload_content( - self, - file_checksum_dto: FileChecksumDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """get_file_checksums - - - :param file_checksum_dto: (required) - :type file_checksum_dto: FileChecksumDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_file_checksums_serialize( - file_checksum_dto=file_checksum_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "List[FileChecksumResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_file_checksums_serialize( - self, - file_checksum_dto, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if file_checksum_dto is not None: - _body_params = file_checksum_dto - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/reports/checksum', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - diff --git a/generated/immich/openapi_client/api/jobs_api.py b/generated/immich/openapi_client/api/jobs_api.py index 4c56d55..a0cfe83 100644 --- a/generated/immich/openapi_client/api/jobs_api.py +++ b/generated/immich/openapi_client/api/jobs_api.py @@ -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. @@ -16,11 +16,11 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from generated.immich.openapi_client.models.all_job_status_response_dto import AllJobStatusResponseDto -from generated.immich.openapi_client.models.job_command_dto import JobCommandDto 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_status_dto import JobStatusDto +from generated.immich.openapi_client.models.queue_command_dto import QueueCommandDto +from generated.immich.openapi_client.models.queue_name import QueueName +from generated.immich.openapi_client.models.queue_response_legacy_dto import QueueResponseLegacyDto +from generated.immich.openapi_client.models.queues_response_legacy_dto import QueuesResponseLegacyDto from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -57,8 +57,9 @@ class JobsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """create_job + """Create a manual job + Run a specific job. Most jobs are queued automatically, but this endpoint allows for manual creation of a handful of jobs, including various cleanup tasks, as well as creating a new database backup. :param job_create_dto: (required) :type job_create_dto: JobCreateDto @@ -93,7 +94,7 @@ class JobsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -123,8 +124,9 @@ class JobsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """create_job + """Create a manual job + Run a specific job. Most jobs are queued automatically, but this endpoint allows for manual creation of a handful of jobs, including various cleanup tasks, as well as creating a new database backup. :param job_create_dto: (required) :type job_create_dto: JobCreateDto @@ -159,7 +161,7 @@ class JobsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -189,8 +191,9 @@ class JobsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_job + """Create a manual job + Run a specific job. Most jobs are queued automatically, but this endpoint allows for manual creation of a handful of jobs, including various cleanup tasks, as well as creating a new database backup. :param job_create_dto: (required) :type job_create_dto: JobCreateDto @@ -225,7 +228,7 @@ class JobsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -307,7 +310,7 @@ class JobsApi: @validate_call - def get_all_jobs_status( + def get_queues_legacy( self, _request_timeout: Union[ None, @@ -321,9 +324,10 @@ class JobsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AllJobStatusResponseDto: - """get_all_jobs_status + ) -> QueuesResponseLegacyDto: + """(Deprecated) Retrieve queue counts and status + Retrieve the counts of the current queue, as well as the current status. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -346,8 +350,9 @@ class JobsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("GET /jobs is deprecated.", DeprecationWarning) - _param = self._get_all_jobs_status_serialize( + _param = self._get_queues_legacy_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -355,7 +360,7 @@ class JobsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AllJobStatusResponseDto", + '200': "QueuesResponseLegacyDto", } response_data = self.api_client.call_api( *_param, @@ -369,7 +374,7 @@ class JobsApi: @validate_call - def get_all_jobs_status_with_http_info( + def get_queues_legacy_with_http_info( self, _request_timeout: Union[ None, @@ -383,9 +388,10 @@ class JobsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AllJobStatusResponseDto]: - """get_all_jobs_status + ) -> ApiResponse[QueuesResponseLegacyDto]: + """(Deprecated) Retrieve queue counts and status + Retrieve the counts of the current queue, as well as the current status. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -408,8 +414,9 @@ class JobsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("GET /jobs is deprecated.", DeprecationWarning) - _param = self._get_all_jobs_status_serialize( + _param = self._get_queues_legacy_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -417,7 +424,7 @@ class JobsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AllJobStatusResponseDto", + '200': "QueuesResponseLegacyDto", } response_data = self.api_client.call_api( *_param, @@ -431,7 +438,7 @@ class JobsApi: @validate_call - def get_all_jobs_status_without_preload_content( + def get_queues_legacy_without_preload_content( self, _request_timeout: Union[ None, @@ -446,8 +453,9 @@ class JobsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_all_jobs_status + """(Deprecated) Retrieve queue counts and status + Retrieve the counts of the current queue, as well as the current status. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -470,8 +478,9 @@ class JobsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("GET /jobs is deprecated.", DeprecationWarning) - _param = self._get_all_jobs_status_serialize( + _param = self._get_queues_legacy_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -479,7 +488,7 @@ class JobsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "AllJobStatusResponseDto", + '200': "QueuesResponseLegacyDto", } response_data = self.api_client.call_api( *_param, @@ -488,7 +497,7 @@ class JobsApi: return response_data.response - def _get_all_jobs_status_serialize( + def _get_queues_legacy_serialize( self, _request_auth, _content_type, @@ -552,10 +561,10 @@ class JobsApi: @validate_call - def send_job_command( + def run_queue_command_legacy( self, - id: JobName, - job_command_dto: JobCommandDto, + name: QueueName, + queue_command_dto: QueueCommandDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -568,14 +577,15 @@ class JobsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> JobStatusDto: - """send_job_command + ) -> QueueResponseLegacyDto: + """(Deprecated) Run jobs + Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets. - :param id: (required) - :type id: JobName - :param job_command_dto: (required) - :type job_command_dto: JobCommandDto + :param name: (required) + :type name: QueueName + :param queue_command_dto: (required) + :type queue_command_dto: QueueCommandDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -597,10 +607,11 @@ class JobsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /jobs/{name} is deprecated.", DeprecationWarning) - _param = self._send_job_command_serialize( - id=id, - job_command_dto=job_command_dto, + _param = self._run_queue_command_legacy_serialize( + name=name, + queue_command_dto=queue_command_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -608,7 +619,7 @@ class JobsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "JobStatusDto", + '200': "QueueResponseLegacyDto", } response_data = self.api_client.call_api( *_param, @@ -622,10 +633,10 @@ class JobsApi: @validate_call - def send_job_command_with_http_info( + def run_queue_command_legacy_with_http_info( self, - id: JobName, - job_command_dto: JobCommandDto, + name: QueueName, + queue_command_dto: QueueCommandDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -638,14 +649,15 @@ class JobsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[JobStatusDto]: - """send_job_command + ) -> ApiResponse[QueueResponseLegacyDto]: + """(Deprecated) Run jobs + Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets. - :param id: (required) - :type id: JobName - :param job_command_dto: (required) - :type job_command_dto: JobCommandDto + :param name: (required) + :type name: QueueName + :param queue_command_dto: (required) + :type queue_command_dto: QueueCommandDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -667,10 +679,11 @@ class JobsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /jobs/{name} is deprecated.", DeprecationWarning) - _param = self._send_job_command_serialize( - id=id, - job_command_dto=job_command_dto, + _param = self._run_queue_command_legacy_serialize( + name=name, + queue_command_dto=queue_command_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -678,7 +691,7 @@ class JobsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "JobStatusDto", + '200': "QueueResponseLegacyDto", } response_data = self.api_client.call_api( *_param, @@ -692,10 +705,10 @@ class JobsApi: @validate_call - def send_job_command_without_preload_content( + def run_queue_command_legacy_without_preload_content( self, - id: JobName, - job_command_dto: JobCommandDto, + name: QueueName, + queue_command_dto: QueueCommandDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -709,13 +722,14 @@ class JobsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """send_job_command + """(Deprecated) Run jobs + Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets. - :param id: (required) - :type id: JobName - :param job_command_dto: (required) - :type job_command_dto: JobCommandDto + :param name: (required) + :type name: QueueName + :param queue_command_dto: (required) + :type queue_command_dto: QueueCommandDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -737,10 +751,11 @@ class JobsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /jobs/{name} is deprecated.", DeprecationWarning) - _param = self._send_job_command_serialize( - id=id, - job_command_dto=job_command_dto, + _param = self._run_queue_command_legacy_serialize( + name=name, + queue_command_dto=queue_command_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -748,7 +763,7 @@ class JobsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "JobStatusDto", + '200': "QueueResponseLegacyDto", } response_data = self.api_client.call_api( *_param, @@ -757,10 +772,10 @@ class JobsApi: return response_data.response - def _send_job_command_serialize( + def _run_queue_command_legacy_serialize( self, - id, - job_command_dto, + name, + queue_command_dto, _request_auth, _content_type, _headers, @@ -782,14 +797,14 @@ class JobsApi: _body_params: Optional[bytes] = None # process the path parameters - if id is not None: - _path_params['id'] = id.value + if name is not None: + _path_params['name'] = name.value # process the query parameters # process the header parameters # process the form parameters # process the body parameter - if job_command_dto is not None: - _body_params = job_command_dto + if queue_command_dto is not None: + _body_params = queue_command_dto # set the HTTP header `Accept` @@ -823,7 +838,7 @@ class JobsApi: return self.api_client.param_serialize( method='PUT', - resource_path='/jobs/{id}', + resource_path='/jobs/{name}', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/generated/immich/openapi_client/api/libraries_api.py b/generated/immich/openapi_client/api/libraries_api.py index 9fc46f2..8e0ddcc 100644 --- a/generated/immich/openapi_client/api/libraries_api.py +++ b/generated/immich/openapi_client/api/libraries_api.py @@ -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. @@ -16,8 +16,8 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr from typing import List +from uuid import UUID from generated.immich.openapi_client.models.create_library_dto import CreateLibraryDto from generated.immich.openapi_client.models.library_response_dto import LibraryResponseDto from generated.immich.openapi_client.models.library_stats_response_dto import LibraryStatsResponseDto @@ -60,8 +60,9 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LibraryResponseDto: - """create_library + """Create a library + Create a new external library. :param create_library_dto: (required) :type create_library_dto: CreateLibraryDto @@ -126,8 +127,9 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LibraryResponseDto]: - """create_library + """Create a library + Create a new external library. :param create_library_dto: (required) :type create_library_dto: CreateLibraryDto @@ -192,8 +194,9 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_library + """Create a library + Create a new external library. :param create_library_dto: (required) :type create_library_dto: CreateLibraryDto @@ -319,7 +322,7 @@ class LibrariesApi: @validate_call def delete_library( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -333,11 +336,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_library + """Delete a library + Delete an external library by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -385,7 +389,7 @@ class LibrariesApi: @validate_call def delete_library_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -399,11 +403,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_library + """Delete a library + Delete an external library by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -451,7 +456,7 @@ class LibrariesApi: @validate_call def delete_library_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -465,11 +470,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_library + """Delete a library + Delete an external library by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -585,8 +591,9 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[LibraryResponseDto]: - """get_all_libraries + """Retrieve libraries + Retrieve a list of external libraries. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -647,8 +654,9 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[LibraryResponseDto]]: - """get_all_libraries + """Retrieve libraries + Retrieve a list of external libraries. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -709,8 +717,9 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_all_libraries + """Retrieve libraries + Retrieve a list of external libraries. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -817,7 +826,7 @@ class LibrariesApi: @validate_call def get_library( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -831,11 +840,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LibraryResponseDto: - """get_library + """Retrieve a library + Retrieve an external library by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -883,7 +893,7 @@ class LibrariesApi: @validate_call def get_library_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -897,11 +907,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LibraryResponseDto]: - """get_library + """Retrieve a library + Retrieve an external library by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -949,7 +960,7 @@ class LibrariesApi: @validate_call def get_library_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -963,11 +974,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_library + """Retrieve a library + Retrieve an external library by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1077,7 +1089,7 @@ class LibrariesApi: @validate_call def get_library_statistics( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1091,11 +1103,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LibraryStatsResponseDto: - """get_library_statistics + """Retrieve library statistics + Retrieve statistics for a specific external library, including number of videos, images, and storage usage. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1143,7 +1156,7 @@ class LibrariesApi: @validate_call def get_library_statistics_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1157,11 +1170,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LibraryStatsResponseDto]: - """get_library_statistics + """Retrieve library statistics + Retrieve statistics for a specific external library, including number of videos, images, and storage usage. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1209,7 +1223,7 @@ class LibrariesApi: @validate_call def get_library_statistics_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1223,11 +1237,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_library_statistics + """Retrieve library statistics + Retrieve statistics for a specific external library, including number of videos, images, and storage usage. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1337,7 +1352,7 @@ class LibrariesApi: @validate_call def scan_library( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1351,11 +1366,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """scan_library + """Scan a library + Queue a scan for the external library to find and import new assets. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1403,7 +1419,7 @@ class LibrariesApi: @validate_call def scan_library_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1417,11 +1433,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """scan_library + """Scan a library + Queue a scan for the external library to find and import new assets. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1469,7 +1486,7 @@ class LibrariesApi: @validate_call def scan_library_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1483,11 +1500,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """scan_library + """Scan a library + Queue a scan for the external library to find and import new assets. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1590,7 +1608,7 @@ class LibrariesApi: @validate_call def update_library( self, - id: StrictStr, + id: UUID, update_library_dto: UpdateLibraryDto, _request_timeout: Union[ None, @@ -1605,11 +1623,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> LibraryResponseDto: - """update_library + """(Deprecated) Update a library + Update an existing external library. :param id: (required) - :type id: str + :type id: UUID :param update_library_dto: (required) :type update_library_dto: UpdateLibraryDto :param _request_timeout: timeout setting for this request. If one @@ -1633,6 +1652,7 @@ class LibrariesApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /libraries/{id} is deprecated.", DeprecationWarning) _param = self._update_library_serialize( id=id, @@ -1660,7 +1680,7 @@ class LibrariesApi: @validate_call def update_library_with_http_info( self, - id: StrictStr, + id: UUID, update_library_dto: UpdateLibraryDto, _request_timeout: Union[ None, @@ -1675,11 +1695,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[LibraryResponseDto]: - """update_library + """(Deprecated) Update a library + Update an existing external library. :param id: (required) - :type id: str + :type id: UUID :param update_library_dto: (required) :type update_library_dto: UpdateLibraryDto :param _request_timeout: timeout setting for this request. If one @@ -1703,6 +1724,7 @@ class LibrariesApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /libraries/{id} is deprecated.", DeprecationWarning) _param = self._update_library_serialize( id=id, @@ -1730,7 +1752,7 @@ class LibrariesApi: @validate_call def update_library_without_preload_content( self, - id: StrictStr, + id: UUID, update_library_dto: UpdateLibraryDto, _request_timeout: Union[ None, @@ -1745,11 +1767,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_library + """(Deprecated) Update a library + Update an existing external library. :param id: (required) - :type id: str + :type id: UUID :param update_library_dto: (required) :type update_library_dto: UpdateLibraryDto :param _request_timeout: timeout setting for this request. If one @@ -1773,6 +1796,7 @@ class LibrariesApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /libraries/{id} is deprecated.", DeprecationWarning) _param = self._update_library_serialize( id=id, @@ -1878,7 +1902,7 @@ class LibrariesApi: @validate_call def validate( self, - id: StrictStr, + id: UUID, validate_library_dto: ValidateLibraryDto, _request_timeout: Union[ None, @@ -1893,11 +1917,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ValidateLibraryResponseDto: - """validate + """Validate library settings + Validate the settings of an external library. :param id: (required) - :type id: str + :type id: UUID :param validate_library_dto: (required) :type validate_library_dto: ValidateLibraryDto :param _request_timeout: timeout setting for this request. If one @@ -1948,7 +1973,7 @@ class LibrariesApi: @validate_call def validate_with_http_info( self, - id: StrictStr, + id: UUID, validate_library_dto: ValidateLibraryDto, _request_timeout: Union[ None, @@ -1963,11 +1988,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ValidateLibraryResponseDto]: - """validate + """Validate library settings + Validate the settings of an external library. :param id: (required) - :type id: str + :type id: UUID :param validate_library_dto: (required) :type validate_library_dto: ValidateLibraryDto :param _request_timeout: timeout setting for this request. If one @@ -2018,7 +2044,7 @@ class LibrariesApi: @validate_call def validate_without_preload_content( self, - id: StrictStr, + id: UUID, validate_library_dto: ValidateLibraryDto, _request_timeout: Union[ None, @@ -2033,11 +2059,12 @@ class LibrariesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """validate + """Validate library settings + Validate the settings of an external library. :param id: (required) - :type id: str + :type id: UUID :param validate_library_dto: (required) :type validate_library_dto: ValidateLibraryDto :param _request_timeout: timeout setting for this request. If one diff --git a/generated/immich/openapi_client/api/map_api.py b/generated/immich/openapi_client/api/map_api.py index 313d2c3..edfb737 100644 --- a/generated/immich/openapi_client/api/map_api.py +++ b/generated/immich/openapi_client/api/map_api.py @@ -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 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated from datetime import datetime -from pydantic import StrictBool, StrictFloat, StrictInt +from pydantic import Field, StrictBool, StrictFloat, StrictInt from typing import List, Optional, Union +from typing_extensions import Annotated 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 @@ -43,12 +44,12 @@ class MapApi: @validate_call def get_map_markers( self, - file_created_after: Optional[datetime] = None, - file_created_before: Optional[datetime] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - with_partners: Optional[StrictBool] = None, - with_shared_albums: Optional[StrictBool] = None, + file_created_after: Annotated[Optional[datetime], Field(description="Filter assets created after this date")] = None, + file_created_before: Annotated[Optional[datetime], Field(description="Filter assets created before this date")] = None, + is_archived: Annotated[Optional[StrictBool], Field(description="Filter by archived status")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + with_partners: Annotated[Optional[StrictBool], Field(description="Include partner assets")] = None, + with_shared_albums: Annotated[Optional[StrictBool], Field(description="Include shared album assets")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -62,20 +63,21 @@ class MapApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[MapMarkerResponseDto]: - """get_map_markers + """Retrieve map markers + Retrieve a list of latitude and longitude coordinates for every asset with location data. - :param file_created_after: + :param file_created_after: Filter assets created after this date :type file_created_after: datetime - :param file_created_before: + :param file_created_before: Filter assets created before this date :type file_created_before: datetime - :param is_archived: + :param is_archived: Filter by archived status :type is_archived: bool - :param is_favorite: + :param is_favorite: Filter by favorite status :type is_favorite: bool - :param with_partners: + :param with_partners: Include partner assets :type with_partners: bool - :param with_shared_albums: + :param with_shared_albums: Include shared album assets :type with_shared_albums: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -129,12 +131,12 @@ class MapApi: @validate_call def get_map_markers_with_http_info( self, - file_created_after: Optional[datetime] = None, - file_created_before: Optional[datetime] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - with_partners: Optional[StrictBool] = None, - with_shared_albums: Optional[StrictBool] = None, + file_created_after: Annotated[Optional[datetime], Field(description="Filter assets created after this date")] = None, + file_created_before: Annotated[Optional[datetime], Field(description="Filter assets created before this date")] = None, + is_archived: Annotated[Optional[StrictBool], Field(description="Filter by archived status")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + with_partners: Annotated[Optional[StrictBool], Field(description="Include partner assets")] = None, + with_shared_albums: Annotated[Optional[StrictBool], Field(description="Include shared album assets")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -148,20 +150,21 @@ class MapApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[MapMarkerResponseDto]]: - """get_map_markers + """Retrieve map markers + Retrieve a list of latitude and longitude coordinates for every asset with location data. - :param file_created_after: + :param file_created_after: Filter assets created after this date :type file_created_after: datetime - :param file_created_before: + :param file_created_before: Filter assets created before this date :type file_created_before: datetime - :param is_archived: + :param is_archived: Filter by archived status :type is_archived: bool - :param is_favorite: + :param is_favorite: Filter by favorite status :type is_favorite: bool - :param with_partners: + :param with_partners: Include partner assets :type with_partners: bool - :param with_shared_albums: + :param with_shared_albums: Include shared album assets :type with_shared_albums: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -215,12 +218,12 @@ class MapApi: @validate_call def get_map_markers_without_preload_content( self, - file_created_after: Optional[datetime] = None, - file_created_before: Optional[datetime] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - with_partners: Optional[StrictBool] = None, - with_shared_albums: Optional[StrictBool] = None, + file_created_after: Annotated[Optional[datetime], Field(description="Filter assets created after this date")] = None, + file_created_before: Annotated[Optional[datetime], Field(description="Filter assets created before this date")] = None, + is_archived: Annotated[Optional[StrictBool], Field(description="Filter by archived status")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + with_partners: Annotated[Optional[StrictBool], Field(description="Include partner assets")] = None, + with_shared_albums: Annotated[Optional[StrictBool], Field(description="Include shared album assets")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -234,20 +237,21 @@ class MapApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_map_markers + """Retrieve map markers + Retrieve a list of latitude and longitude coordinates for every asset with location data. - :param file_created_after: + :param file_created_after: Filter assets created after this date :type file_created_after: datetime - :param file_created_before: + :param file_created_before: Filter assets created before this date :type file_created_before: datetime - :param is_archived: + :param is_archived: Filter by archived status :type is_archived: bool - :param is_favorite: + :param is_favorite: Filter by favorite status :type is_favorite: bool - :param with_partners: + :param with_partners: Include partner assets :type with_partners: bool - :param with_shared_albums: + :param with_shared_albums: Include shared album assets :type with_shared_albums: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -408,8 +412,8 @@ class MapApi: @validate_call def reverse_geocode( self, - lat: Union[StrictFloat, StrictInt], - lon: Union[StrictFloat, StrictInt], + lat: Annotated[Union[StrictFloat, StrictInt], Field(description="Latitude (-90 to 90)")], + lon: Annotated[Union[StrictFloat, StrictInt], Field(description="Longitude (-180 to 180)")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -423,12 +427,13 @@ class MapApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[MapReverseGeocodeResponseDto]: - """reverse_geocode + """Reverse geocode coordinates + Retrieve location information (e.g., city, country) for given latitude and longitude coordinates. - :param lat: (required) + :param lat: Latitude (-90 to 90) (required) :type lat: float - :param lon: (required) + :param lon: Longitude (-180 to 180) (required) :type lon: float :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -478,8 +483,8 @@ class MapApi: @validate_call def reverse_geocode_with_http_info( self, - lat: Union[StrictFloat, StrictInt], - lon: Union[StrictFloat, StrictInt], + lat: Annotated[Union[StrictFloat, StrictInt], Field(description="Latitude (-90 to 90)")], + lon: Annotated[Union[StrictFloat, StrictInt], Field(description="Longitude (-180 to 180)")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -493,12 +498,13 @@ class MapApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[MapReverseGeocodeResponseDto]]: - """reverse_geocode + """Reverse geocode coordinates + Retrieve location information (e.g., city, country) for given latitude and longitude coordinates. - :param lat: (required) + :param lat: Latitude (-90 to 90) (required) :type lat: float - :param lon: (required) + :param lon: Longitude (-180 to 180) (required) :type lon: float :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -548,8 +554,8 @@ class MapApi: @validate_call def reverse_geocode_without_preload_content( self, - lat: Union[StrictFloat, StrictInt], - lon: Union[StrictFloat, StrictInt], + lat: Annotated[Union[StrictFloat, StrictInt], Field(description="Latitude (-90 to 90)")], + lon: Annotated[Union[StrictFloat, StrictInt], Field(description="Longitude (-180 to 180)")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -563,12 +569,13 @@ class MapApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """reverse_geocode + """Reverse geocode coordinates + Retrieve location information (e.g., city, country) for given latitude and longitude coordinates. - :param lat: (required) + :param lat: Latitude (-90 to 90) (required) :type lat: float - :param lon: (required) + :param lon: Longitude (-180 to 180) (required) :type lon: float :param _request_timeout: timeout setting for this request. If one number provided, it will be total request diff --git a/generated/immich/openapi_client/api/memories_api.py b/generated/immich/openapi_client/api/memories_api.py index 71fa427..3dd67d1 100644 --- a/generated/immich/openapi_client/api/memories_api.py +++ b/generated/immich/openapi_client/api/memories_api.py @@ -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,12 +17,16 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated from datetime import datetime -from pydantic import StrictBool, StrictStr +from pydantic import Field, StrictBool from typing import List, Optional +from typing_extensions import Annotated +from uuid import UUID 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.memory_create_dto import MemoryCreateDto 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 @@ -47,7 +51,7 @@ class MemoriesApi: @validate_call def add_memory_assets( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -62,11 +66,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[BulkIdResponseDto]: - """add_memory_assets + """Add assets to a memory + Add a list of asset IDs to a specific memory. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -117,7 +122,7 @@ class MemoriesApi: @validate_call def add_memory_assets_with_http_info( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -132,11 +137,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[BulkIdResponseDto]]: - """add_memory_assets + """Add assets to a memory + Add a list of asset IDs to a specific memory. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -187,7 +193,7 @@ class MemoriesApi: @validate_call def add_memory_assets_without_preload_content( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -202,11 +208,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """add_memory_assets + """Add assets to a memory + Add a list of asset IDs to a specific memory. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -349,8 +356,9 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> MemoryResponseDto: - """create_memory + """Create a memory + Create a new memory by providing a name, description, and a list of asset IDs to include in the memory. :param memory_create_dto: (required) :type memory_create_dto: MemoryCreateDto @@ -415,8 +423,9 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[MemoryResponseDto]: - """create_memory + """Create a memory + Create a new memory by providing a name, description, and a list of asset IDs to include in the memory. :param memory_create_dto: (required) :type memory_create_dto: MemoryCreateDto @@ -481,8 +490,9 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_memory + """Create a memory + Create a new memory by providing a name, description, and a list of asset IDs to include in the memory. :param memory_create_dto: (required) :type memory_create_dto: MemoryCreateDto @@ -608,7 +618,7 @@ class MemoriesApi: @validate_call def delete_memory( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -622,11 +632,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_memory + """Delete a memory + Delete a specific memory by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -674,7 +685,7 @@ class MemoriesApi: @validate_call def delete_memory_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -688,11 +699,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_memory + """Delete a memory + Delete a specific memory by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -740,7 +752,7 @@ class MemoriesApi: @validate_call def delete_memory_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -754,11 +766,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_memory + """Delete a memory + Delete a specific memory by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -861,7 +874,7 @@ class MemoriesApi: @validate_call def get_memory( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -875,11 +888,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> MemoryResponseDto: - """get_memory + """Retrieve a memory + Retrieve a specific memory by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -927,7 +941,7 @@ class MemoriesApi: @validate_call def get_memory_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -941,11 +955,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[MemoryResponseDto]: - """get_memory + """Retrieve a memory + Retrieve a specific memory by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -993,7 +1008,7 @@ class MemoriesApi: @validate_call def get_memory_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1007,11 +1022,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_memory + """Retrieve a memory + Retrieve a specific memory by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1118,10 +1134,369 @@ class MemoriesApi: + @validate_call + def memories_statistics( + self, + var_for: Annotated[Optional[datetime], Field(description="Filter by date")] = None, + is_saved: Annotated[Optional[StrictBool], Field(description="Filter by saved status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Include trashed memories")] = None, + order: Optional[MemorySearchOrder] = None, + size: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]], Field(description="Number of memories to return")] = None, + type: Optional[MemoryType] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> MemoryStatisticsResponseDto: + """Retrieve memories statistics + + Retrieve statistics about memories, such as total count and other relevant metrics. + + :param var_for: Filter by date + :type var_for: datetime + :param is_saved: Filter by saved status + :type is_saved: bool + :param is_trashed: Include trashed memories + :type is_trashed: bool + :param order: + :type order: MemorySearchOrder + :param size: Number of memories to return + :type size: int + :param type: + :type type: MemoryType + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._memories_statistics_serialize( + var_for=var_for, + is_saved=is_saved, + is_trashed=is_trashed, + order=order, + size=size, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MemoryStatisticsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def memories_statistics_with_http_info( + self, + var_for: Annotated[Optional[datetime], Field(description="Filter by date")] = None, + is_saved: Annotated[Optional[StrictBool], Field(description="Filter by saved status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Include trashed memories")] = None, + order: Optional[MemorySearchOrder] = None, + size: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]], Field(description="Number of memories to return")] = None, + type: Optional[MemoryType] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[MemoryStatisticsResponseDto]: + """Retrieve memories statistics + + Retrieve statistics about memories, such as total count and other relevant metrics. + + :param var_for: Filter by date + :type var_for: datetime + :param is_saved: Filter by saved status + :type is_saved: bool + :param is_trashed: Include trashed memories + :type is_trashed: bool + :param order: + :type order: MemorySearchOrder + :param size: Number of memories to return + :type size: int + :param type: + :type type: MemoryType + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._memories_statistics_serialize( + var_for=var_for, + is_saved=is_saved, + is_trashed=is_trashed, + order=order, + size=size, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MemoryStatisticsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def memories_statistics_without_preload_content( + self, + var_for: Annotated[Optional[datetime], Field(description="Filter by date")] = None, + is_saved: Annotated[Optional[StrictBool], Field(description="Filter by saved status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Include trashed memories")] = None, + order: Optional[MemorySearchOrder] = None, + size: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]], Field(description="Number of memories to return")] = None, + type: Optional[MemoryType] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve memories statistics + + Retrieve statistics about memories, such as total count and other relevant metrics. + + :param var_for: Filter by date + :type var_for: datetime + :param is_saved: Filter by saved status + :type is_saved: bool + :param is_trashed: Include trashed memories + :type is_trashed: bool + :param order: + :type order: MemorySearchOrder + :param size: Number of memories to return + :type size: int + :param type: + :type type: MemoryType + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._memories_statistics_serialize( + var_for=var_for, + is_saved=is_saved, + is_trashed=is_trashed, + order=order, + size=size, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "MemoryStatisticsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _memories_statistics_serialize( + self, + var_for, + is_saved, + is_trashed, + order, + size, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if var_for is not None: + if isinstance(var_for, datetime): + _query_params.append( + ( + 'for', + var_for.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('for', var_for)) + + if is_saved is not None: + + _query_params.append(('isSaved', is_saved)) + + if is_trashed is not None: + + _query_params.append(('isTrashed', is_trashed)) + + if order is not None: + + _query_params.append(('order', order.value)) + + if size is not None: + + _query_params.append(('size', size)) + + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/memories/statistics', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def remove_memory_assets( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -1136,11 +1511,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[BulkIdResponseDto]: - """remove_memory_assets + """Remove assets from a memory + Remove a list of asset IDs from a specific memory. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -1191,7 +1567,7 @@ class MemoriesApi: @validate_call def remove_memory_assets_with_http_info( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -1206,11 +1582,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[BulkIdResponseDto]]: - """remove_memory_assets + """Remove assets from a memory + Remove a list of asset IDs from a specific memory. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -1261,7 +1638,7 @@ class MemoriesApi: @validate_call def remove_memory_assets_without_preload_content( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -1276,11 +1653,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """remove_memory_assets + """Remove assets from a memory + Remove a list of asset IDs from a specific memory. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -1409,9 +1787,11 @@ class MemoriesApi: @validate_call def search_memories( self, - var_for: Optional[datetime] = None, - is_saved: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + var_for: Annotated[Optional[datetime], Field(description="Filter by date")] = None, + is_saved: Annotated[Optional[StrictBool], Field(description="Filter by saved status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Include trashed memories")] = None, + order: Optional[MemorySearchOrder] = None, + size: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]], Field(description="Number of memories to return")] = None, type: Optional[MemoryType] = None, _request_timeout: Union[ None, @@ -1426,15 +1806,20 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[MemoryResponseDto]: - """search_memories + """Retrieve memories + Retrieve a list of memories. Memories are sorted descending by creation date by default, although they can also be sorted in ascending order, or randomly. - :param var_for: + :param var_for: Filter by date :type var_for: datetime - :param is_saved: + :param is_saved: Filter by saved status :type is_saved: bool - :param is_trashed: + :param is_trashed: Include trashed memories :type is_trashed: bool + :param order: + :type order: MemorySearchOrder + :param size: Number of memories to return + :type size: int :param type: :type type: MemoryType :param _request_timeout: timeout setting for this request. If one @@ -1463,6 +1848,8 @@ class MemoriesApi: var_for=var_for, is_saved=is_saved, is_trashed=is_trashed, + order=order, + size=size, type=type, _request_auth=_request_auth, _content_type=_content_type, @@ -1487,9 +1874,11 @@ class MemoriesApi: @validate_call def search_memories_with_http_info( self, - var_for: Optional[datetime] = None, - is_saved: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + var_for: Annotated[Optional[datetime], Field(description="Filter by date")] = None, + is_saved: Annotated[Optional[StrictBool], Field(description="Filter by saved status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Include trashed memories")] = None, + order: Optional[MemorySearchOrder] = None, + size: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]], Field(description="Number of memories to return")] = None, type: Optional[MemoryType] = None, _request_timeout: Union[ None, @@ -1504,15 +1893,20 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[MemoryResponseDto]]: - """search_memories + """Retrieve memories + Retrieve a list of memories. Memories are sorted descending by creation date by default, although they can also be sorted in ascending order, or randomly. - :param var_for: + :param var_for: Filter by date :type var_for: datetime - :param is_saved: + :param is_saved: Filter by saved status :type is_saved: bool - :param is_trashed: + :param is_trashed: Include trashed memories :type is_trashed: bool + :param order: + :type order: MemorySearchOrder + :param size: Number of memories to return + :type size: int :param type: :type type: MemoryType :param _request_timeout: timeout setting for this request. If one @@ -1541,6 +1935,8 @@ class MemoriesApi: var_for=var_for, is_saved=is_saved, is_trashed=is_trashed, + order=order, + size=size, type=type, _request_auth=_request_auth, _content_type=_content_type, @@ -1565,9 +1961,11 @@ class MemoriesApi: @validate_call def search_memories_without_preload_content( self, - var_for: Optional[datetime] = None, - is_saved: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + var_for: Annotated[Optional[datetime], Field(description="Filter by date")] = None, + is_saved: Annotated[Optional[StrictBool], Field(description="Filter by saved status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Include trashed memories")] = None, + order: Optional[MemorySearchOrder] = None, + size: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]], Field(description="Number of memories to return")] = None, type: Optional[MemoryType] = None, _request_timeout: Union[ None, @@ -1582,15 +1980,20 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """search_memories + """Retrieve memories + Retrieve a list of memories. Memories are sorted descending by creation date by default, although they can also be sorted in ascending order, or randomly. - :param var_for: + :param var_for: Filter by date :type var_for: datetime - :param is_saved: + :param is_saved: Filter by saved status :type is_saved: bool - :param is_trashed: + :param is_trashed: Include trashed memories :type is_trashed: bool + :param order: + :type order: MemorySearchOrder + :param size: Number of memories to return + :type size: int :param type: :type type: MemoryType :param _request_timeout: timeout setting for this request. If one @@ -1619,6 +2022,8 @@ class MemoriesApi: var_for=var_for, is_saved=is_saved, is_trashed=is_trashed, + order=order, + size=size, type=type, _request_auth=_request_auth, _content_type=_content_type, @@ -1641,6 +2046,8 @@ class MemoriesApi: var_for, is_saved, is_trashed, + order, + size, type, _request_auth, _content_type, @@ -1685,6 +2092,14 @@ class MemoriesApi: _query_params.append(('isTrashed', is_trashed)) + if order is not None: + + _query_params.append(('order', order.value)) + + if size is not None: + + _query_params.append(('size', size)) + if type is not None: _query_params.append(('type', type.value)) @@ -1731,7 +2146,7 @@ class MemoriesApi: @validate_call def update_memory( self, - id: StrictStr, + id: UUID, memory_update_dto: MemoryUpdateDto, _request_timeout: Union[ None, @@ -1746,11 +2161,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> MemoryResponseDto: - """update_memory + """(Deprecated) Update a memory + Update an existing memory by its ID. :param id: (required) - :type id: str + :type id: UUID :param memory_update_dto: (required) :type memory_update_dto: MemoryUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1774,6 +2190,7 @@ class MemoriesApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /memories/{id} is deprecated.", DeprecationWarning) _param = self._update_memory_serialize( id=id, @@ -1801,7 +2218,7 @@ class MemoriesApi: @validate_call def update_memory_with_http_info( self, - id: StrictStr, + id: UUID, memory_update_dto: MemoryUpdateDto, _request_timeout: Union[ None, @@ -1816,11 +2233,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[MemoryResponseDto]: - """update_memory + """(Deprecated) Update a memory + Update an existing memory by its ID. :param id: (required) - :type id: str + :type id: UUID :param memory_update_dto: (required) :type memory_update_dto: MemoryUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1844,6 +2262,7 @@ class MemoriesApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /memories/{id} is deprecated.", DeprecationWarning) _param = self._update_memory_serialize( id=id, @@ -1871,7 +2290,7 @@ class MemoriesApi: @validate_call def update_memory_without_preload_content( self, - id: StrictStr, + id: UUID, memory_update_dto: MemoryUpdateDto, _request_timeout: Union[ None, @@ -1886,11 +2305,12 @@ class MemoriesApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_memory + """(Deprecated) Update a memory + Update an existing memory by its ID. :param id: (required) - :type id: str + :type id: UUID :param memory_update_dto: (required) :type memory_update_dto: MemoryUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1914,6 +2334,7 @@ class MemoriesApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /memories/{id} is deprecated.", DeprecationWarning) _param = self._update_memory_serialize( id=id, diff --git a/generated/immich/openapi_client/api/notifications_api.py b/generated/immich/openapi_client/api/notifications_api.py index 049c1d1..fad20e1 100644 --- a/generated/immich/openapi_client/api/notifications_api.py +++ b/generated/immich/openapi_client/api/notifications_api.py @@ -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. @@ -16,11 +16,16 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr -from generated.immich.openapi_client.models.system_config_smtp_dto import SystemConfigSmtpDto -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 pydantic import Field, StrictBool +from typing import List, Optional +from typing_extensions import Annotated +from uuid import UUID +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.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -41,10 +46,9 @@ class NotificationsApi: @validate_call - def get_notification_template( + def delete_notification( self, - name: StrictStr, - template_dto: TemplateDto, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -57,14 +61,13 @@ class NotificationsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TemplateResponseDto: - """get_notification_template + ) -> None: + """Delete a notification + Delete a specific notification. - :param name: (required) - :type name: str - :param template_dto: (required) - :type template_dto: TemplateDto + :param id: (required) + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -87,9 +90,8 @@ class NotificationsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_notification_template_serialize( - name=name, - template_dto=template_dto, + _param = self._delete_notification_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -97,7 +99,7 @@ class NotificationsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TemplateResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -111,10 +113,9 @@ class NotificationsApi: @validate_call - def get_notification_template_with_http_info( + def delete_notification_with_http_info( self, - name: StrictStr, - template_dto: TemplateDto, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -127,14 +128,13 @@ class NotificationsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TemplateResponseDto]: - """get_notification_template + ) -> ApiResponse[None]: + """Delete a notification + Delete a specific notification. - :param name: (required) - :type name: str - :param template_dto: (required) - :type template_dto: TemplateDto + :param id: (required) + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -157,9 +157,8 @@ class NotificationsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_notification_template_serialize( - name=name, - template_dto=template_dto, + _param = self._delete_notification_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -167,7 +166,7 @@ class NotificationsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TemplateResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -181,10 +180,9 @@ class NotificationsApi: @validate_call - def get_notification_template_without_preload_content( + def delete_notification_without_preload_content( self, - name: StrictStr, - template_dto: TemplateDto, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -198,13 +196,12 @@ class NotificationsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_notification_template + """Delete a notification + Delete a specific notification. - :param name: (required) - :type name: str - :param template_dto: (required) - :type template_dto: TemplateDto + :param id: (required) + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -227,9 +224,8 @@ class NotificationsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_notification_template_serialize( - name=name, - template_dto=template_dto, + _param = self._delete_notification_serialize( + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -237,7 +233,7 @@ class NotificationsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TemplateResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -246,10 +242,9 @@ class NotificationsApi: return response_data.response - def _get_notification_template_serialize( + def _delete_notification_serialize( self, - name, - template_dto, + id, _request_auth, _content_type, _headers, @@ -271,14 +266,1131 @@ class NotificationsApi: _body_params: Optional[bytes] = None # process the path parameters - if name is not None: - _path_params['name'] = name + if id is not None: + _path_params['id'] = id # process the query parameters # process the header parameters # process the form parameters # process the body parameter - if template_dto is not None: - _body_params = template_dto + + + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/notifications/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_notifications( + self, + notification_delete_all_dto: NotificationDeleteAllDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete notifications + + Delete a list of notifications at once. + + :param notification_delete_all_dto: (required) + :type notification_delete_all_dto: NotificationDeleteAllDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_notifications_serialize( + notification_delete_all_dto=notification_delete_all_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_notifications_with_http_info( + self, + notification_delete_all_dto: NotificationDeleteAllDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete notifications + + Delete a list of notifications at once. + + :param notification_delete_all_dto: (required) + :type notification_delete_all_dto: NotificationDeleteAllDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_notifications_serialize( + notification_delete_all_dto=notification_delete_all_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_notifications_without_preload_content( + self, + notification_delete_all_dto: NotificationDeleteAllDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete notifications + + Delete a list of notifications at once. + + :param notification_delete_all_dto: (required) + :type notification_delete_all_dto: NotificationDeleteAllDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_notifications_serialize( + notification_delete_all_dto=notification_delete_all_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_notifications_serialize( + self, + notification_delete_all_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if notification_delete_all_dto is not None: + _body_params = notification_delete_all_dto + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/notifications', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_notification( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> NotificationDto: + """Get a notification + + Retrieve a specific notification identified by id. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_notification_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NotificationDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_notification_with_http_info( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[NotificationDto]: + """Get a notification + + Retrieve a specific notification identified by id. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_notification_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NotificationDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_notification_without_preload_content( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get a notification + + Retrieve a specific notification identified by id. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_notification_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NotificationDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_notification_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/notifications/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_notifications( + self, + id: Annotated[Optional[UUID], Field(description="Filter by notification ID")] = None, + level: Optional[NotificationLevel] = None, + type: Optional[NotificationType] = None, + unread: Annotated[Optional[StrictBool], Field(description="Filter by unread status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[NotificationDto]: + """Retrieve notifications + + Retrieve a list of notifications. + + :param id: Filter by notification ID + :type id: UUID + :param level: + :type level: NotificationLevel + :param type: + :type type: NotificationType + :param unread: Filter by unread status + :type unread: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_notifications_serialize( + id=id, + level=level, + type=type, + unread=unread, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[NotificationDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_notifications_with_http_info( + self, + id: Annotated[Optional[UUID], Field(description="Filter by notification ID")] = None, + level: Optional[NotificationLevel] = None, + type: Optional[NotificationType] = None, + unread: Annotated[Optional[StrictBool], Field(description="Filter by unread status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[NotificationDto]]: + """Retrieve notifications + + Retrieve a list of notifications. + + :param id: Filter by notification ID + :type id: UUID + :param level: + :type level: NotificationLevel + :param type: + :type type: NotificationType + :param unread: Filter by unread status + :type unread: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_notifications_serialize( + id=id, + level=level, + type=type, + unread=unread, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[NotificationDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_notifications_without_preload_content( + self, + id: Annotated[Optional[UUID], Field(description="Filter by notification ID")] = None, + level: Optional[NotificationLevel] = None, + type: Optional[NotificationType] = None, + unread: Annotated[Optional[StrictBool], Field(description="Filter by unread status")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve notifications + + Retrieve a list of notifications. + + :param id: Filter by notification ID + :type id: UUID + :param level: + :type level: NotificationLevel + :param type: + :type type: NotificationType + :param unread: Filter by unread status + :type unread: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_notifications_serialize( + id=id, + level=level, + type=type, + unread=unread, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[NotificationDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_notifications_serialize( + self, + id, + level, + type, + unread, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if id is not None: + + _query_params.append(('id', id)) + + if level is not None: + + _query_params.append(('level', level.value)) + + if type is not None: + + _query_params.append(('type', type.value)) + + if unread is not None: + + _query_params.append(('unread', unread)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/notifications', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_notification( + self, + id: UUID, + notification_update_dto: NotificationUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> NotificationDto: + """Update a notification + + Update a specific notification to set its read status. + + :param id: (required) + :type id: UUID + :param notification_update_dto: (required) + :type notification_update_dto: NotificationUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_notification_serialize( + id=id, + notification_update_dto=notification_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NotificationDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_notification_with_http_info( + self, + id: UUID, + notification_update_dto: NotificationUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[NotificationDto]: + """Update a notification + + Update a specific notification to set its read status. + + :param id: (required) + :type id: UUID + :param notification_update_dto: (required) + :type notification_update_dto: NotificationUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_notification_serialize( + id=id, + notification_update_dto=notification_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NotificationDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_notification_without_preload_content( + self, + id: UUID, + notification_update_dto: NotificationUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update a notification + + Update a specific notification to set its read status. + + :param id: (required) + :type id: UUID + :param notification_update_dto: (required) + :type notification_update_dto: NotificationUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_notification_serialize( + id=id, + notification_update_dto=notification_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NotificationDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_notification_serialize( + self, + id, + notification_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if notification_update_dto is not None: + _body_params = notification_update_dto # set the HTTP header `Accept` @@ -311,8 +1423,8 @@ class NotificationsApi: ] return self.api_client.param_serialize( - method='POST', - resource_path='/notifications/templates/{name}', + method='PUT', + resource_path='/notifications/{id}', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -329,9 +1441,9 @@ class NotificationsApi: @validate_call - def send_test_email( + def update_notifications( self, - system_config_smtp_dto: SystemConfigSmtpDto, + notification_update_all_dto: NotificationUpdateAllDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -344,12 +1456,13 @@ class NotificationsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> TestEmailResponseDto: - """send_test_email + ) -> None: + """Update notifications + Update a list of notifications. Allows to bulk-set the read status of notifications. - :param system_config_smtp_dto: (required) - :type system_config_smtp_dto: SystemConfigSmtpDto + :param notification_update_all_dto: (required) + :type notification_update_all_dto: NotificationUpdateAllDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -372,8 +1485,8 @@ class NotificationsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._send_test_email_serialize( - system_config_smtp_dto=system_config_smtp_dto, + _param = self._update_notifications_serialize( + notification_update_all_dto=notification_update_all_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -381,7 +1494,7 @@ class NotificationsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TestEmailResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -395,9 +1508,9 @@ class NotificationsApi: @validate_call - def send_test_email_with_http_info( + def update_notifications_with_http_info( self, - system_config_smtp_dto: SystemConfigSmtpDto, + notification_update_all_dto: NotificationUpdateAllDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -410,12 +1523,13 @@ class NotificationsApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[TestEmailResponseDto]: - """send_test_email + ) -> ApiResponse[None]: + """Update notifications + Update a list of notifications. Allows to bulk-set the read status of notifications. - :param system_config_smtp_dto: (required) - :type system_config_smtp_dto: SystemConfigSmtpDto + :param notification_update_all_dto: (required) + :type notification_update_all_dto: NotificationUpdateAllDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -438,8 +1552,8 @@ class NotificationsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._send_test_email_serialize( - system_config_smtp_dto=system_config_smtp_dto, + _param = self._update_notifications_serialize( + notification_update_all_dto=notification_update_all_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -447,7 +1561,7 @@ class NotificationsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TestEmailResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -461,9 +1575,9 @@ class NotificationsApi: @validate_call - def send_test_email_without_preload_content( + def update_notifications_without_preload_content( self, - system_config_smtp_dto: SystemConfigSmtpDto, + notification_update_all_dto: NotificationUpdateAllDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -477,11 +1591,12 @@ class NotificationsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """send_test_email + """Update notifications + Update a list of notifications. Allows to bulk-set the read status of notifications. - :param system_config_smtp_dto: (required) - :type system_config_smtp_dto: SystemConfigSmtpDto + :param notification_update_all_dto: (required) + :type notification_update_all_dto: NotificationUpdateAllDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -504,8 +1619,8 @@ class NotificationsApi: :return: Returns the result object. """ # noqa: E501 - _param = self._send_test_email_serialize( - system_config_smtp_dto=system_config_smtp_dto, + _param = self._update_notifications_serialize( + notification_update_all_dto=notification_update_all_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -513,7 +1628,7 @@ class NotificationsApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "TestEmailResponseDto", + '204': None, } response_data = self.api_client.call_api( *_param, @@ -522,9 +1637,9 @@ class NotificationsApi: return response_data.response - def _send_test_email_serialize( + def _update_notifications_serialize( self, - system_config_smtp_dto, + notification_update_all_dto, _request_auth, _content_type, _headers, @@ -550,17 +1665,10 @@ class NotificationsApi: # process the header parameters # process the form parameters # process the body parameter - if system_config_smtp_dto is not None: - _body_params = system_config_smtp_dto + if notification_update_all_dto is not None: + _body_params = notification_update_all_dto - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) # set the HTTP header `Content-Type` if _content_type: @@ -584,8 +1692,8 @@ class NotificationsApi: ] return self.api_client.param_serialize( - method='POST', - resource_path='/notifications/test-email', + method='PUT', + resource_path='/notifications', path_params=_path_params, query_params=_query_params, header_params=_header_params, diff --git a/generated/immich/openapi_client/api/o_auth_api.py b/generated/immich/openapi_client/api/o_auth_api.py deleted file mode 100644 index c3ef7e2..0000000 --- a/generated/immich/openapi_client/api/o_auth_api.py +++ /dev/null @@ -1,1333 +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 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from generated.immich.openapi_client.models.login_response_dto import LoginResponseDto -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.user_admin_response_dto import UserAdminResponseDto - -from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized -from generated.immich.openapi_client.api_response import ApiResponse -from generated.immich.openapi_client.rest import RESTResponseType - - -class OAuthApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call - def finish_o_auth( - self, - o_auth_callback_dto: OAuthCallbackDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> LoginResponseDto: - """finish_o_auth - - - :param o_auth_callback_dto: (required) - :type o_auth_callback_dto: OAuthCallbackDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._finish_o_auth_serialize( - o_auth_callback_dto=o_auth_callback_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LoginResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def finish_o_auth_with_http_info( - self, - o_auth_callback_dto: OAuthCallbackDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[LoginResponseDto]: - """finish_o_auth - - - :param o_auth_callback_dto: (required) - :type o_auth_callback_dto: OAuthCallbackDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._finish_o_auth_serialize( - o_auth_callback_dto=o_auth_callback_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LoginResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def finish_o_auth_without_preload_content( - self, - o_auth_callback_dto: OAuthCallbackDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """finish_o_auth - - - :param o_auth_callback_dto: (required) - :type o_auth_callback_dto: OAuthCallbackDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._finish_o_auth_serialize( - o_auth_callback_dto=o_auth_callback_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "LoginResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _finish_o_auth_serialize( - self, - o_auth_callback_dto, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if o_auth_callback_dto is not None: - _body_params = o_auth_callback_dto - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/oauth/callback', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def link_o_auth_account( - self, - o_auth_callback_dto: OAuthCallbackDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> UserAdminResponseDto: - """link_o_auth_account - - - :param o_auth_callback_dto: (required) - :type o_auth_callback_dto: OAuthCallbackDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._link_o_auth_account_serialize( - o_auth_callback_dto=o_auth_callback_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "UserAdminResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def link_o_auth_account_with_http_info( - self, - o_auth_callback_dto: OAuthCallbackDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[UserAdminResponseDto]: - """link_o_auth_account - - - :param o_auth_callback_dto: (required) - :type o_auth_callback_dto: OAuthCallbackDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._link_o_auth_account_serialize( - o_auth_callback_dto=o_auth_callback_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "UserAdminResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def link_o_auth_account_without_preload_content( - self, - o_auth_callback_dto: OAuthCallbackDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """link_o_auth_account - - - :param o_auth_callback_dto: (required) - :type o_auth_callback_dto: OAuthCallbackDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._link_o_auth_account_serialize( - o_auth_callback_dto=o_auth_callback_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "UserAdminResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _link_o_auth_account_serialize( - self, - o_auth_callback_dto, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if o_auth_callback_dto is not None: - _body_params = o_auth_callback_dto - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/oauth/link', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def redirect_o_auth_to_mobile( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> None: - """redirect_o_auth_to_mobile - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._redirect_o_auth_to_mobile_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def redirect_o_auth_to_mobile_with_http_info( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[None]: - """redirect_o_auth_to_mobile - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._redirect_o_auth_to_mobile_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def redirect_o_auth_to_mobile_without_preload_content( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """redirect_o_auth_to_mobile - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._redirect_o_auth_to_mobile_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': None, - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _redirect_o_auth_to_mobile_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/oauth/mobile-redirect', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def start_o_auth( - self, - o_auth_config_dto: OAuthConfigDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> OAuthAuthorizeResponseDto: - """start_o_auth - - - :param o_auth_config_dto: (required) - :type o_auth_config_dto: OAuthConfigDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._start_o_auth_serialize( - o_auth_config_dto=o_auth_config_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "OAuthAuthorizeResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def start_o_auth_with_http_info( - self, - o_auth_config_dto: OAuthConfigDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[OAuthAuthorizeResponseDto]: - """start_o_auth - - - :param o_auth_config_dto: (required) - :type o_auth_config_dto: OAuthConfigDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._start_o_auth_serialize( - o_auth_config_dto=o_auth_config_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "OAuthAuthorizeResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def start_o_auth_without_preload_content( - self, - o_auth_config_dto: OAuthConfigDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """start_o_auth - - - :param o_auth_config_dto: (required) - :type o_auth_config_dto: OAuthConfigDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._start_o_auth_serialize( - o_auth_config_dto=o_auth_config_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '201': "OAuthAuthorizeResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _start_o_auth_serialize( - self, - o_auth_config_dto, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if o_auth_config_dto is not None: - _body_params = o_auth_config_dto - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/oauth/authorize', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def unlink_o_auth_account( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> UserAdminResponseDto: - """unlink_o_auth_account - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._unlink_o_auth_account_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "UserAdminResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def unlink_o_auth_account_with_http_info( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[UserAdminResponseDto]: - """unlink_o_auth_account - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._unlink_o_auth_account_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "UserAdminResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def unlink_o_auth_account_without_preload_content( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """unlink_o_auth_account - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._unlink_o_auth_account_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "UserAdminResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _unlink_o_auth_account_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/oauth/unlink', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - diff --git a/generated/immich/openapi_client/api/partners_api.py b/generated/immich/openapi_client/api/partners_api.py index fac76ce..8ceb41f 100644 --- a/generated/immich/openapi_client/api/partners_api.py +++ b/generated/immich/openapi_client/api/partners_api.py @@ -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. @@ -16,11 +16,12 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr from typing import List +from uuid import UUID +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.update_partner_dto import UpdatePartnerDto +from generated.immich.openapi_client.models.partner_update_dto import PartnerUpdateDto from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -43,7 +44,7 @@ class PartnersApi: @validate_call def create_partner( self, - id: StrictStr, + partner_create_dto: PartnerCreateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -57,11 +58,12 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PartnerResponseDto: - """create_partner + """Create a partner + Create a new partner to share assets with. - :param id: (required) - :type id: str + :param partner_create_dto: (required) + :type partner_create_dto: PartnerCreateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -85,7 +87,7 @@ class PartnersApi: """ # noqa: E501 _param = self._create_partner_serialize( - id=id, + partner_create_dto=partner_create_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -109,7 +111,7 @@ class PartnersApi: @validate_call def create_partner_with_http_info( self, - id: StrictStr, + partner_create_dto: PartnerCreateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -123,11 +125,12 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PartnerResponseDto]: - """create_partner + """Create a partner + Create a new partner to share assets with. - :param id: (required) - :type id: str + :param partner_create_dto: (required) + :type partner_create_dto: PartnerCreateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -151,7 +154,7 @@ class PartnersApi: """ # noqa: E501 _param = self._create_partner_serialize( - id=id, + partner_create_dto=partner_create_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -175,7 +178,7 @@ class PartnersApi: @validate_call def create_partner_without_preload_content( self, - id: StrictStr, + partner_create_dto: PartnerCreateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -189,11 +192,12 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_partner + """Create a partner + Create a new partner to share assets with. - :param id: (required) - :type id: str + :param partner_create_dto: (required) + :type partner_create_dto: PartnerCreateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -217,7 +221,7 @@ class PartnersApi: """ # noqa: E501 _param = self._create_partner_serialize( - id=id, + partner_create_dto=partner_create_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -235,6 +239,285 @@ class PartnersApi: def _create_partner_serialize( + self, + partner_create_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if partner_create_dto is not None: + _body_params = partner_create_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/partners', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_partner_deprecated( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PartnerResponseDto: + """(Deprecated) Create a partner + + Create a new partner to share assets with. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("POST /partners/{id} is deprecated.", DeprecationWarning) + + _param = self._create_partner_deprecated_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "PartnerResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_partner_deprecated_with_http_info( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PartnerResponseDto]: + """(Deprecated) Create a partner + + Create a new partner to share assets with. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("POST /partners/{id} is deprecated.", DeprecationWarning) + + _param = self._create_partner_deprecated_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "PartnerResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_partner_deprecated_without_preload_content( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Create a partner + + Create a new partner to share assets with. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("POST /partners/{id} is deprecated.", DeprecationWarning) + + _param = self._create_partner_deprecated_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "PartnerResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_partner_deprecated_serialize( self, id, _request_auth, @@ -317,8 +600,9 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[PartnerResponseDto]: - """get_partners + """Retrieve partners + Retrieve a list of partners with whom assets are shared. :param direction: (required) :type direction: PartnerDirection @@ -383,8 +667,9 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[PartnerResponseDto]]: - """get_partners + """Retrieve partners + Retrieve a list of partners with whom assets are shared. :param direction: (required) :type direction: PartnerDirection @@ -449,8 +734,9 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_partners + """Retrieve partners + Retrieve a list of partners with whom assets are shared. :param direction: (required) :type direction: PartnerDirection @@ -565,7 +851,7 @@ class PartnersApi: @validate_call def remove_partner( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -579,11 +865,12 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """remove_partner + """Remove a partner + Stop sharing assets with a partner. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -615,7 +902,7 @@ class PartnersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -631,7 +918,7 @@ class PartnersApi: @validate_call def remove_partner_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -645,11 +932,12 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """remove_partner + """Remove a partner + Stop sharing assets with a partner. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -681,7 +969,7 @@ class PartnersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -697,7 +985,7 @@ class PartnersApi: @validate_call def remove_partner_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -711,11 +999,12 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """remove_partner + """Remove a partner + Stop sharing assets with a partner. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -747,7 +1036,7 @@ class PartnersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -818,8 +1107,8 @@ class PartnersApi: @validate_call def update_partner( self, - id: StrictStr, - update_partner_dto: UpdatePartnerDto, + id: UUID, + partner_update_dto: PartnerUpdateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -833,13 +1122,14 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PartnerResponseDto: - """update_partner + """Update a partner + Specify whether a partner's assets should appear in the user's timeline. :param id: (required) - :type id: str - :param update_partner_dto: (required) - :type update_partner_dto: UpdatePartnerDto + :type id: UUID + :param partner_update_dto: (required) + :type partner_update_dto: PartnerUpdateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -864,7 +1154,7 @@ class PartnersApi: _param = self._update_partner_serialize( id=id, - update_partner_dto=update_partner_dto, + partner_update_dto=partner_update_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -888,8 +1178,8 @@ class PartnersApi: @validate_call def update_partner_with_http_info( self, - id: StrictStr, - update_partner_dto: UpdatePartnerDto, + id: UUID, + partner_update_dto: PartnerUpdateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -903,13 +1193,14 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PartnerResponseDto]: - """update_partner + """Update a partner + Specify whether a partner's assets should appear in the user's timeline. :param id: (required) - :type id: str - :param update_partner_dto: (required) - :type update_partner_dto: UpdatePartnerDto + :type id: UUID + :param partner_update_dto: (required) + :type partner_update_dto: PartnerUpdateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -934,7 +1225,7 @@ class PartnersApi: _param = self._update_partner_serialize( id=id, - update_partner_dto=update_partner_dto, + partner_update_dto=partner_update_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -958,8 +1249,8 @@ class PartnersApi: @validate_call def update_partner_without_preload_content( self, - id: StrictStr, - update_partner_dto: UpdatePartnerDto, + id: UUID, + partner_update_dto: PartnerUpdateDto, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -973,13 +1264,14 @@ class PartnersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_partner + """Update a partner + Specify whether a partner's assets should appear in the user's timeline. :param id: (required) - :type id: str - :param update_partner_dto: (required) - :type update_partner_dto: UpdatePartnerDto + :type id: UUID + :param partner_update_dto: (required) + :type partner_update_dto: PartnerUpdateDto :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1004,7 +1296,7 @@ class PartnersApi: _param = self._update_partner_serialize( id=id, - update_partner_dto=update_partner_dto, + partner_update_dto=partner_update_dto, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1024,7 +1316,7 @@ class PartnersApi: def _update_partner_serialize( self, id, - update_partner_dto, + partner_update_dto, _request_auth, _content_type, _headers, @@ -1052,8 +1344,8 @@ class PartnersApi: # process the header parameters # process the form parameters # process the body parameter - if update_partner_dto is not None: - _body_params = update_partner_dto + if partner_update_dto is not None: + _body_params = partner_update_dto # set the HTTP header `Accept` diff --git a/generated/immich/openapi_client/api/people_api.py b/generated/immich/openapi_client/api/people_api.py index 0cb0678..ce8b2e9 100644 --- a/generated/immich/openapi_client/api/people_api.py +++ b/generated/immich/openapi_client/api/people_api.py @@ -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,8 +19,10 @@ from typing_extensions import Annotated from pydantic import Field, StrictBool, StrictBytes, StrictStr from typing import List, Optional, Tuple, Union from typing_extensions import Annotated +from uuid import UUID from generated.immich.openapi_client.models.asset_face_update_dto import AssetFaceUpdateDto 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.merge_person_dto import MergePersonDto from generated.immich.openapi_client.models.people_response_dto import PeopleResponseDto from generated.immich.openapi_client.models.people_update_dto import PeopleUpdateDto @@ -64,8 +66,9 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PersonResponseDto: - """create_person + """Create a person + Create a new person that can have multiple faces assigned to them. :param person_create_dto: (required) :type person_create_dto: PersonCreateDto @@ -130,8 +133,9 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PersonResponseDto]: - """create_person + """Create a person + Create a new person that can have multiple faces assigned to them. :param person_create_dto: (required) :type person_create_dto: PersonCreateDto @@ -196,8 +200,9 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_person + """Create a person + Create a new person that can have multiple faces assigned to them. :param person_create_dto: (required) :type person_create_dto: PersonCreateDto @@ -320,14 +325,539 @@ class PeopleApi: + @validate_call + def delete_people( + self, + bulk_ids_dto: BulkIdsDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete people + + Bulk delete a list of people at once. + + :param bulk_ids_dto: (required) + :type bulk_ids_dto: BulkIdsDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_people_serialize( + bulk_ids_dto=bulk_ids_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_people_with_http_info( + self, + bulk_ids_dto: BulkIdsDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete people + + Bulk delete a list of people at once. + + :param bulk_ids_dto: (required) + :type bulk_ids_dto: BulkIdsDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_people_serialize( + bulk_ids_dto=bulk_ids_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_people_without_preload_content( + self, + bulk_ids_dto: BulkIdsDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete people + + Bulk delete a list of people at once. + + :param bulk_ids_dto: (required) + :type bulk_ids_dto: BulkIdsDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_people_serialize( + bulk_ids_dto=bulk_ids_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_people_serialize( + self, + bulk_ids_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if bulk_ids_dto is not None: + _body_params = bulk_ids_dto + + + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/people', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_person( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete person + + Delete an individual person. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_person_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_person_with_http_info( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete person + + Delete an individual person. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_person_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_person_without_preload_content( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete person + + Delete an individual person. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_person_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_person_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/people/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def get_all_people( self, - closest_asset_id: Optional[StrictStr] = None, - closest_person_id: Optional[StrictStr] = None, - page: Annotated[Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]], Field(description="Page number for pagination")] = None, - size: Annotated[Optional[Union[Annotated[float, Field(le=1000, strict=True, ge=1)], Annotated[int, Field(le=1000, strict=True, ge=1)]]], Field(description="Number of items per page")] = None, - with_hidden: Optional[StrictBool] = None, + closest_asset_id: Annotated[Optional[UUID], Field(description="Closest asset ID for similarity search")] = None, + closest_person_id: Annotated[Optional[UUID], Field(description="Closest person ID for similarity search")] = None, + page: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]], Field(description="Page number for pagination")] = None, + size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="Number of items per page")] = None, + with_hidden: Annotated[Optional[StrictBool], Field(description="Include hidden people")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -341,18 +871,19 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PeopleResponseDto: - """get_all_people + """Get all people + Retrieve a list of all people. - :param closest_asset_id: - :type closest_asset_id: str - :param closest_person_id: - :type closest_person_id: str + :param closest_asset_id: Closest asset ID for similarity search + :type closest_asset_id: UUID + :param closest_person_id: Closest person ID for similarity search + :type closest_person_id: UUID :param page: Page number for pagination - :type page: float + :type page: int :param size: Number of items per page - :type size: float - :param with_hidden: + :type size: int + :param with_hidden: Include hidden people :type with_hidden: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -405,11 +936,11 @@ class PeopleApi: @validate_call def get_all_people_with_http_info( self, - closest_asset_id: Optional[StrictStr] = None, - closest_person_id: Optional[StrictStr] = None, - page: Annotated[Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]], Field(description="Page number for pagination")] = None, - size: Annotated[Optional[Union[Annotated[float, Field(le=1000, strict=True, ge=1)], Annotated[int, Field(le=1000, strict=True, ge=1)]]], Field(description="Number of items per page")] = None, - with_hidden: Optional[StrictBool] = None, + closest_asset_id: Annotated[Optional[UUID], Field(description="Closest asset ID for similarity search")] = None, + closest_person_id: Annotated[Optional[UUID], Field(description="Closest person ID for similarity search")] = None, + page: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]], Field(description="Page number for pagination")] = None, + size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="Number of items per page")] = None, + with_hidden: Annotated[Optional[StrictBool], Field(description="Include hidden people")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -423,18 +954,19 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PeopleResponseDto]: - """get_all_people + """Get all people + Retrieve a list of all people. - :param closest_asset_id: - :type closest_asset_id: str - :param closest_person_id: - :type closest_person_id: str + :param closest_asset_id: Closest asset ID for similarity search + :type closest_asset_id: UUID + :param closest_person_id: Closest person ID for similarity search + :type closest_person_id: UUID :param page: Page number for pagination - :type page: float + :type page: int :param size: Number of items per page - :type size: float - :param with_hidden: + :type size: int + :param with_hidden: Include hidden people :type with_hidden: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -487,11 +1019,11 @@ class PeopleApi: @validate_call def get_all_people_without_preload_content( self, - closest_asset_id: Optional[StrictStr] = None, - closest_person_id: Optional[StrictStr] = None, - page: Annotated[Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]], Field(description="Page number for pagination")] = None, - size: Annotated[Optional[Union[Annotated[float, Field(le=1000, strict=True, ge=1)], Annotated[int, Field(le=1000, strict=True, ge=1)]]], Field(description="Number of items per page")] = None, - with_hidden: Optional[StrictBool] = None, + closest_asset_id: Annotated[Optional[UUID], Field(description="Closest asset ID for similarity search")] = None, + closest_person_id: Annotated[Optional[UUID], Field(description="Closest person ID for similarity search")] = None, + page: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]], Field(description="Page number for pagination")] = None, + size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="Number of items per page")] = None, + with_hidden: Annotated[Optional[StrictBool], Field(description="Include hidden people")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -505,18 +1037,19 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_all_people + """Get all people + Retrieve a list of all people. - :param closest_asset_id: - :type closest_asset_id: str - :param closest_person_id: - :type closest_person_id: str + :param closest_asset_id: Closest asset ID for similarity search + :type closest_asset_id: UUID + :param closest_person_id: Closest person ID for similarity search + :type closest_person_id: UUID :param page: Page number for pagination - :type page: float + :type page: int :param size: Number of items per page - :type size: float - :param with_hidden: + :type size: int + :param with_hidden: Include hidden people :type with_hidden: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -653,7 +1186,7 @@ class PeopleApi: @validate_call def get_person( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -667,11 +1200,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PersonResponseDto: - """get_person + """Get a person + Retrieve a person by id. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -719,7 +1253,7 @@ class PeopleApi: @validate_call def get_person_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -733,11 +1267,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PersonResponseDto]: - """get_person + """Get a person + Retrieve a person by id. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -785,7 +1320,7 @@ class PeopleApi: @validate_call def get_person_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -799,11 +1334,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_person + """Get a person + Retrieve a person by id. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -913,7 +1449,7 @@ class PeopleApi: @validate_call def get_person_statistics( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -927,11 +1463,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PersonStatisticsResponseDto: - """get_person_statistics + """Get person statistics + Retrieve statistics about a specific person. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -979,7 +1516,7 @@ class PeopleApi: @validate_call def get_person_statistics_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -993,11 +1530,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PersonStatisticsResponseDto]: - """get_person_statistics + """Get person statistics + Retrieve statistics about a specific person. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1045,7 +1583,7 @@ class PeopleApi: @validate_call def get_person_statistics_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1059,11 +1597,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_person_statistics + """Get person statistics + Retrieve statistics about a specific person. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1173,7 +1712,7 @@ class PeopleApi: @validate_call def get_person_thumbnail( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1187,11 +1726,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> bytearray: - """get_person_thumbnail + """Get person thumbnail + Retrieve the thumbnail file for a person. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1239,7 +1779,7 @@ class PeopleApi: @validate_call def get_person_thumbnail_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1253,11 +1793,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[bytearray]: - """get_person_thumbnail + """Get person thumbnail + Retrieve the thumbnail file for a person. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1305,7 +1846,7 @@ class PeopleApi: @validate_call def get_person_thumbnail_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1319,11 +1860,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_person_thumbnail + """Get person thumbnail + Retrieve the thumbnail file for a person. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1433,7 +1975,7 @@ class PeopleApi: @validate_call def merge_person( self, - id: StrictStr, + id: UUID, merge_person_dto: MergePersonDto, _request_timeout: Union[ None, @@ -1448,11 +1990,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[BulkIdResponseDto]: - """merge_person + """Merge people + Merge a list of people into the person specified in the path parameter. :param id: (required) - :type id: str + :type id: UUID :param merge_person_dto: (required) :type merge_person_dto: MergePersonDto :param _request_timeout: timeout setting for this request. If one @@ -1487,7 +2030,7 @@ class PeopleApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "List[BulkIdResponseDto]", + '200': "List[BulkIdResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -1503,7 +2046,7 @@ class PeopleApi: @validate_call def merge_person_with_http_info( self, - id: StrictStr, + id: UUID, merge_person_dto: MergePersonDto, _request_timeout: Union[ None, @@ -1518,11 +2061,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[BulkIdResponseDto]]: - """merge_person + """Merge people + Merge a list of people into the person specified in the path parameter. :param id: (required) - :type id: str + :type id: UUID :param merge_person_dto: (required) :type merge_person_dto: MergePersonDto :param _request_timeout: timeout setting for this request. If one @@ -1557,7 +2101,7 @@ class PeopleApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "List[BulkIdResponseDto]", + '200': "List[BulkIdResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -1573,7 +2117,7 @@ class PeopleApi: @validate_call def merge_person_without_preload_content( self, - id: StrictStr, + id: UUID, merge_person_dto: MergePersonDto, _request_timeout: Union[ None, @@ -1588,11 +2132,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """merge_person + """Merge people + Merge a list of people into the person specified in the path parameter. :param id: (required) - :type id: str + :type id: UUID :param merge_person_dto: (required) :type merge_person_dto: MergePersonDto :param _request_timeout: timeout setting for this request. If one @@ -1627,7 +2172,7 @@ class PeopleApi: ) _response_types_map: Dict[str, Optional[str]] = { - '201': "List[BulkIdResponseDto]", + '200': "List[BulkIdResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -1721,7 +2266,7 @@ class PeopleApi: @validate_call def reassign_faces( self, - id: StrictStr, + id: UUID, asset_face_update_dto: AssetFaceUpdateDto, _request_timeout: Union[ None, @@ -1736,11 +2281,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[PersonResponseDto]: - """reassign_faces + """Reassign faces + Bulk reassign a list of faces to a different person. :param id: (required) - :type id: str + :type id: UUID :param asset_face_update_dto: (required) :type asset_face_update_dto: AssetFaceUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1791,7 +2337,7 @@ class PeopleApi: @validate_call def reassign_faces_with_http_info( self, - id: StrictStr, + id: UUID, asset_face_update_dto: AssetFaceUpdateDto, _request_timeout: Union[ None, @@ -1806,11 +2352,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[PersonResponseDto]]: - """reassign_faces + """Reassign faces + Bulk reassign a list of faces to a different person. :param id: (required) - :type id: str + :type id: UUID :param asset_face_update_dto: (required) :type asset_face_update_dto: AssetFaceUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1861,7 +2408,7 @@ class PeopleApi: @validate_call def reassign_faces_without_preload_content( self, - id: StrictStr, + id: UUID, asset_face_update_dto: AssetFaceUpdateDto, _request_timeout: Union[ None, @@ -1876,11 +2423,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """reassign_faces + """Reassign faces + Bulk reassign a list of faces to a different person. :param id: (required) - :type id: str + :type id: UUID :param asset_face_update_dto: (required) :type asset_face_update_dto: AssetFaceUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -2023,8 +2571,9 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[BulkIdResponseDto]: - """update_people + """Update people + Bulk update multiple people at once. :param people_update_dto: (required) :type people_update_dto: PeopleUpdateDto @@ -2089,8 +2638,9 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[BulkIdResponseDto]]: - """update_people + """Update people + Bulk update multiple people at once. :param people_update_dto: (required) :type people_update_dto: PeopleUpdateDto @@ -2155,8 +2705,9 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_people + """Update people + Bulk update multiple people at once. :param people_update_dto: (required) :type people_update_dto: PeopleUpdateDto @@ -2282,7 +2833,7 @@ class PeopleApi: @validate_call def update_person( self, - id: StrictStr, + id: UUID, person_update_dto: PersonUpdateDto, _request_timeout: Union[ None, @@ -2297,11 +2848,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PersonResponseDto: - """update_person + """(Deprecated) Update person + Update an individual person. :param id: (required) - :type id: str + :type id: UUID :param person_update_dto: (required) :type person_update_dto: PersonUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -2325,6 +2877,7 @@ class PeopleApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /people/{id} is deprecated.", DeprecationWarning) _param = self._update_person_serialize( id=id, @@ -2352,7 +2905,7 @@ class PeopleApi: @validate_call def update_person_with_http_info( self, - id: StrictStr, + id: UUID, person_update_dto: PersonUpdateDto, _request_timeout: Union[ None, @@ -2367,11 +2920,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PersonResponseDto]: - """update_person + """(Deprecated) Update person + Update an individual person. :param id: (required) - :type id: str + :type id: UUID :param person_update_dto: (required) :type person_update_dto: PersonUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -2395,6 +2949,7 @@ class PeopleApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /people/{id} is deprecated.", DeprecationWarning) _param = self._update_person_serialize( id=id, @@ -2422,7 +2977,7 @@ class PeopleApi: @validate_call def update_person_without_preload_content( self, - id: StrictStr, + id: UUID, person_update_dto: PersonUpdateDto, _request_timeout: Union[ None, @@ -2437,11 +2992,12 @@ class PeopleApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_person + """(Deprecated) Update person + Update an individual person. :param id: (required) - :type id: str + :type id: UUID :param person_update_dto: (required) :type person_update_dto: PersonUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -2465,6 +3021,7 @@ class PeopleApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /people/{id} is deprecated.", DeprecationWarning) _param = self._update_person_serialize( id=id, diff --git a/generated/immich/openapi_client/api/search_api.py b/generated/immich/openapi_client/api/search_api.py index be14575..bd52c47 100644 --- a/generated/immich/openapi_client/api/search_api.py +++ b/generated/immich/openapi_client/api/search_api.py @@ -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. @@ -16,18 +16,24 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated +from datetime import datetime from pydantic import Field, StrictBool, StrictStr from typing import List, Optional from typing_extensions import Annotated +from uuid import UUID from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto +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.metadata_search_dto import MetadataSearchDto from generated.immich.openapi_client.models.person_response_dto import PersonResponseDto from generated.immich.openapi_client.models.places_response_dto import PlacesResponseDto from generated.immich.openapi_client.models.random_search_dto import RandomSearchDto from generated.immich.openapi_client.models.search_explore_response_dto import SearchExploreResponseDto 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.smart_search_dto import SmartSearchDto +from generated.immich.openapi_client.models.statistics_search_dto import StatisticsSearchDto from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -63,8 +69,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[AssetResponseDto]: - """get_assets_by_city + """Retrieve assets by city + Retrieve a list of assets with each asset belonging to a different city. This endpoint is used on the places pages to show a single thumbnail for each city the user has assets in. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -125,8 +132,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[AssetResponseDto]]: - """get_assets_by_city + """Retrieve assets by city + Retrieve a list of assets with each asset belonging to a different city. This endpoint is used on the places pages to show a single thumbnail for each city the user has assets in. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -187,8 +195,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_assets_by_city + """Retrieve assets by city + Retrieve a list of assets with each asset belonging to a different city. This endpoint is used on the places pages to show a single thumbnail for each city the user has assets in. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -308,8 +317,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[SearchExploreResponseDto]: - """get_explore_data + """Retrieve explore data + Retrieve data for the explore section, such as popular people and places. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -370,8 +380,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[SearchExploreResponseDto]]: - """get_explore_data + """Retrieve explore data + Retrieve data for the explore section, such as popular people and places. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -432,8 +443,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_explore_data + """Retrieve explore data + Retrieve data for the explore section, such as popular people and places. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -541,11 +553,12 @@ class SearchApi: def get_search_suggestions( self, type: SearchSuggestionType, - country: Optional[StrictStr] = None, - include_null: Annotated[Optional[StrictBool], Field(description="This property was added in v111.0.0")] = None, - make: Optional[StrictStr] = None, - model: Optional[StrictStr] = None, - state: Optional[StrictStr] = None, + country: Annotated[Optional[StrictStr], Field(description="Filter by country")] = None, + include_null: Annotated[Optional[StrictBool], Field(description="Include null values in suggestions")] = None, + lens_model: Annotated[Optional[StrictStr], Field(description="Filter by lens model")] = None, + make: Annotated[Optional[StrictStr], Field(description="Filter by camera make")] = None, + model: Annotated[Optional[StrictStr], Field(description="Filter by camera model")] = None, + state: Annotated[Optional[StrictStr], Field(description="Filter by state/province")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -559,20 +572,23 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[str]: - """get_search_suggestions + """Retrieve search suggestions + Retrieve search suggestions based on partial input. This endpoint is used for typeahead search features. :param type: (required) :type type: SearchSuggestionType - :param country: + :param country: Filter by country :type country: str - :param include_null: This property was added in v111.0.0 + :param include_null: Include null values in suggestions :type include_null: bool - :param make: + :param lens_model: Filter by lens model + :type lens_model: str + :param make: Filter by camera make :type make: str - :param model: + :param model: Filter by camera model :type model: str - :param state: + :param state: Filter by state/province :type state: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -600,6 +616,7 @@ class SearchApi: type=type, country=country, include_null=include_null, + lens_model=lens_model, make=make, model=model, state=state, @@ -627,11 +644,12 @@ class SearchApi: def get_search_suggestions_with_http_info( self, type: SearchSuggestionType, - country: Optional[StrictStr] = None, - include_null: Annotated[Optional[StrictBool], Field(description="This property was added in v111.0.0")] = None, - make: Optional[StrictStr] = None, - model: Optional[StrictStr] = None, - state: Optional[StrictStr] = None, + country: Annotated[Optional[StrictStr], Field(description="Filter by country")] = None, + include_null: Annotated[Optional[StrictBool], Field(description="Include null values in suggestions")] = None, + lens_model: Annotated[Optional[StrictStr], Field(description="Filter by lens model")] = None, + make: Annotated[Optional[StrictStr], Field(description="Filter by camera make")] = None, + model: Annotated[Optional[StrictStr], Field(description="Filter by camera model")] = None, + state: Annotated[Optional[StrictStr], Field(description="Filter by state/province")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -645,20 +663,23 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[str]]: - """get_search_suggestions + """Retrieve search suggestions + Retrieve search suggestions based on partial input. This endpoint is used for typeahead search features. :param type: (required) :type type: SearchSuggestionType - :param country: + :param country: Filter by country :type country: str - :param include_null: This property was added in v111.0.0 + :param include_null: Include null values in suggestions :type include_null: bool - :param make: + :param lens_model: Filter by lens model + :type lens_model: str + :param make: Filter by camera make :type make: str - :param model: + :param model: Filter by camera model :type model: str - :param state: + :param state: Filter by state/province :type state: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -686,6 +707,7 @@ class SearchApi: type=type, country=country, include_null=include_null, + lens_model=lens_model, make=make, model=model, state=state, @@ -713,11 +735,12 @@ class SearchApi: def get_search_suggestions_without_preload_content( self, type: SearchSuggestionType, - country: Optional[StrictStr] = None, - include_null: Annotated[Optional[StrictBool], Field(description="This property was added in v111.0.0")] = None, - make: Optional[StrictStr] = None, - model: Optional[StrictStr] = None, - state: Optional[StrictStr] = None, + country: Annotated[Optional[StrictStr], Field(description="Filter by country")] = None, + include_null: Annotated[Optional[StrictBool], Field(description="Include null values in suggestions")] = None, + lens_model: Annotated[Optional[StrictStr], Field(description="Filter by lens model")] = None, + make: Annotated[Optional[StrictStr], Field(description="Filter by camera make")] = None, + model: Annotated[Optional[StrictStr], Field(description="Filter by camera model")] = None, + state: Annotated[Optional[StrictStr], Field(description="Filter by state/province")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -731,20 +754,23 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_search_suggestions + """Retrieve search suggestions + Retrieve search suggestions based on partial input. This endpoint is used for typeahead search features. :param type: (required) :type type: SearchSuggestionType - :param country: + :param country: Filter by country :type country: str - :param include_null: This property was added in v111.0.0 + :param include_null: Include null values in suggestions :type include_null: bool - :param make: + :param lens_model: Filter by lens model + :type lens_model: str + :param make: Filter by camera make :type make: str - :param model: + :param model: Filter by camera model :type model: str - :param state: + :param state: Filter by state/province :type state: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -772,6 +798,7 @@ class SearchApi: type=type, country=country, include_null=include_null, + lens_model=lens_model, make=make, model=model, state=state, @@ -796,6 +823,7 @@ class SearchApi: type, country, include_null, + lens_model, make, model, state, @@ -829,6 +857,10 @@ class SearchApi: _query_params.append(('includeNull', include_null)) + if lens_model is not None: + + _query_params.append(('lensModel', lens_model)) + if make is not None: _query_params.append(('make', make)) @@ -884,6 +916,282 @@ class SearchApi: + @validate_call + def search_asset_statistics( + self, + statistics_search_dto: StatisticsSearchDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SearchStatisticsResponseDto: + """Search asset statistics + + Retrieve statistical data about assets based on search criteria, such as the total matching count. + + :param statistics_search_dto: (required) + :type statistics_search_dto: StatisticsSearchDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_asset_statistics_serialize( + statistics_search_dto=statistics_search_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchStatisticsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def search_asset_statistics_with_http_info( + self, + statistics_search_dto: StatisticsSearchDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SearchStatisticsResponseDto]: + """Search asset statistics + + Retrieve statistical data about assets based on search criteria, such as the total matching count. + + :param statistics_search_dto: (required) + :type statistics_search_dto: StatisticsSearchDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_asset_statistics_serialize( + statistics_search_dto=statistics_search_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchStatisticsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def search_asset_statistics_without_preload_content( + self, + statistics_search_dto: StatisticsSearchDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Search asset statistics + + Retrieve statistical data about assets based on search criteria, such as the total matching count. + + :param statistics_search_dto: (required) + :type statistics_search_dto: StatisticsSearchDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_asset_statistics_serialize( + statistics_search_dto=statistics_search_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchStatisticsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_asset_statistics_serialize( + self, + statistics_search_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if statistics_search_dto is not None: + _body_params = statistics_search_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/search/statistics', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def search_assets( self, @@ -901,8 +1209,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SearchResponseDto: - """search_assets + """Search assets by metadata + Search for assets based on various metadata criteria. :param metadata_search_dto: (required) :type metadata_search_dto: MetadataSearchDto @@ -967,8 +1276,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SearchResponseDto]: - """search_assets + """Search assets by metadata + Search for assets based on various metadata criteria. :param metadata_search_dto: (required) :type metadata_search_dto: MetadataSearchDto @@ -1033,8 +1343,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """search_assets + """Search assets by metadata + Search for assets based on various metadata criteria. :param metadata_search_dto: (required) :type metadata_search_dto: MetadataSearchDto @@ -1157,11 +1468,861 @@ class SearchApi: + @validate_call + def search_large_assets( + self, + album_ids: Annotated[Optional[List[UUID]], Field(description="Filter by album IDs")] = None, + city: Annotated[Optional[StrictStr], Field(description="Filter by city name")] = None, + country: Annotated[Optional[StrictStr], Field(description="Filter by country name")] = None, + created_after: Annotated[Optional[datetime], Field(description="Filter by creation date (after)")] = None, + created_before: Annotated[Optional[datetime], Field(description="Filter by creation date (before)")] = None, + is_encoded: Annotated[Optional[StrictBool], Field(description="Filter by encoded status")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + is_motion: Annotated[Optional[StrictBool], Field(description="Filter by motion photo status")] = None, + is_not_in_album: Annotated[Optional[StrictBool], Field(description="Filter assets not in any album")] = None, + is_offline: Annotated[Optional[StrictBool], Field(description="Filter by offline status")] = None, + lens_model: Annotated[Optional[StrictStr], Field(description="Filter by lens model")] = None, + library_id: Annotated[Optional[UUID], Field(description="Library ID to filter by")] = None, + make: Annotated[Optional[StrictStr], Field(description="Filter by camera make")] = None, + min_file_size: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]], Field(description="Minimum file size in bytes")] = None, + model: Annotated[Optional[StrictStr], Field(description="Filter by camera model")] = None, + ocr: Annotated[Optional[StrictStr], Field(description="Filter by OCR text content")] = None, + person_ids: Annotated[Optional[List[UUID]], Field(description="Filter by person IDs")] = None, + rating: Annotated[Optional[Annotated[int, Field(le=5, strict=True, ge=1)]], Field(description="Filter by rating [1-5], or null for unrated")] = None, + size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="Number of results to return")] = None, + state: Annotated[Optional[StrictStr], Field(description="Filter by state/province name")] = None, + tag_ids: Annotated[Optional[List[UUID]], Field(description="Filter by tag IDs")] = None, + taken_after: Annotated[Optional[datetime], Field(description="Filter by taken date (after)")] = None, + taken_before: Annotated[Optional[datetime], Field(description="Filter by taken date (before)")] = None, + trashed_after: Annotated[Optional[datetime], Field(description="Filter by trash date (after)")] = None, + trashed_before: Annotated[Optional[datetime], Field(description="Filter by trash date (before)")] = None, + type: Optional[AssetTypeEnum] = None, + updated_after: Annotated[Optional[datetime], Field(description="Filter by update date (after)")] = None, + updated_before: Annotated[Optional[datetime], Field(description="Filter by update date (before)")] = None, + visibility: Optional[AssetVisibility] = None, + with_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted assets")] = None, + with_exif: Annotated[Optional[StrictBool], Field(description="Include EXIF data in response")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[AssetResponseDto]: + """Search large assets + + Search for assets that are considered large based on specified criteria. + + :param album_ids: Filter by album IDs + :type album_ids: List[UUID] + :param city: Filter by city name + :type city: str + :param country: Filter by country name + :type country: str + :param created_after: Filter by creation date (after) + :type created_after: datetime + :param created_before: Filter by creation date (before) + :type created_before: datetime + :param is_encoded: Filter by encoded status + :type is_encoded: bool + :param is_favorite: Filter by favorite status + :type is_favorite: bool + :param is_motion: Filter by motion photo status + :type is_motion: bool + :param is_not_in_album: Filter assets not in any album + :type is_not_in_album: bool + :param is_offline: Filter by offline status + :type is_offline: bool + :param lens_model: Filter by lens model + :type lens_model: str + :param library_id: Library ID to filter by + :type library_id: UUID + :param make: Filter by camera make + :type make: str + :param min_file_size: Minimum file size in bytes + :type min_file_size: int + :param model: Filter by camera model + :type model: str + :param ocr: Filter by OCR text content + :type ocr: str + :param person_ids: Filter by person IDs + :type person_ids: List[UUID] + :param rating: Filter by rating [1-5], or null for unrated + :type rating: int + :param size: Number of results to return + :type size: int + :param state: Filter by state/province name + :type state: str + :param tag_ids: Filter by tag IDs + :type tag_ids: List[UUID] + :param taken_after: Filter by taken date (after) + :type taken_after: datetime + :param taken_before: Filter by taken date (before) + :type taken_before: datetime + :param trashed_after: Filter by trash date (after) + :type trashed_after: datetime + :param trashed_before: Filter by trash date (before) + :type trashed_before: datetime + :param type: + :type type: AssetTypeEnum + :param updated_after: Filter by update date (after) + :type updated_after: datetime + :param updated_before: Filter by update date (before) + :type updated_before: datetime + :param visibility: + :type visibility: AssetVisibility + :param with_deleted: Include deleted assets + :type with_deleted: bool + :param with_exif: Include EXIF data in response + :type with_exif: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_large_assets_serialize( + album_ids=album_ids, + city=city, + country=country, + created_after=created_after, + created_before=created_before, + is_encoded=is_encoded, + is_favorite=is_favorite, + is_motion=is_motion, + is_not_in_album=is_not_in_album, + is_offline=is_offline, + lens_model=lens_model, + library_id=library_id, + make=make, + min_file_size=min_file_size, + model=model, + ocr=ocr, + person_ids=person_ids, + rating=rating, + size=size, + state=state, + tag_ids=tag_ids, + taken_after=taken_after, + taken_before=taken_before, + trashed_after=trashed_after, + trashed_before=trashed_before, + type=type, + updated_after=updated_after, + updated_before=updated_before, + visibility=visibility, + with_deleted=with_deleted, + with_exif=with_exif, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def search_large_assets_with_http_info( + self, + album_ids: Annotated[Optional[List[UUID]], Field(description="Filter by album IDs")] = None, + city: Annotated[Optional[StrictStr], Field(description="Filter by city name")] = None, + country: Annotated[Optional[StrictStr], Field(description="Filter by country name")] = None, + created_after: Annotated[Optional[datetime], Field(description="Filter by creation date (after)")] = None, + created_before: Annotated[Optional[datetime], Field(description="Filter by creation date (before)")] = None, + is_encoded: Annotated[Optional[StrictBool], Field(description="Filter by encoded status")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + is_motion: Annotated[Optional[StrictBool], Field(description="Filter by motion photo status")] = None, + is_not_in_album: Annotated[Optional[StrictBool], Field(description="Filter assets not in any album")] = None, + is_offline: Annotated[Optional[StrictBool], Field(description="Filter by offline status")] = None, + lens_model: Annotated[Optional[StrictStr], Field(description="Filter by lens model")] = None, + library_id: Annotated[Optional[UUID], Field(description="Library ID to filter by")] = None, + make: Annotated[Optional[StrictStr], Field(description="Filter by camera make")] = None, + min_file_size: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]], Field(description="Minimum file size in bytes")] = None, + model: Annotated[Optional[StrictStr], Field(description="Filter by camera model")] = None, + ocr: Annotated[Optional[StrictStr], Field(description="Filter by OCR text content")] = None, + person_ids: Annotated[Optional[List[UUID]], Field(description="Filter by person IDs")] = None, + rating: Annotated[Optional[Annotated[int, Field(le=5, strict=True, ge=1)]], Field(description="Filter by rating [1-5], or null for unrated")] = None, + size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="Number of results to return")] = None, + state: Annotated[Optional[StrictStr], Field(description="Filter by state/province name")] = None, + tag_ids: Annotated[Optional[List[UUID]], Field(description="Filter by tag IDs")] = None, + taken_after: Annotated[Optional[datetime], Field(description="Filter by taken date (after)")] = None, + taken_before: Annotated[Optional[datetime], Field(description="Filter by taken date (before)")] = None, + trashed_after: Annotated[Optional[datetime], Field(description="Filter by trash date (after)")] = None, + trashed_before: Annotated[Optional[datetime], Field(description="Filter by trash date (before)")] = None, + type: Optional[AssetTypeEnum] = None, + updated_after: Annotated[Optional[datetime], Field(description="Filter by update date (after)")] = None, + updated_before: Annotated[Optional[datetime], Field(description="Filter by update date (before)")] = None, + visibility: Optional[AssetVisibility] = None, + with_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted assets")] = None, + with_exif: Annotated[Optional[StrictBool], Field(description="Include EXIF data in response")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[AssetResponseDto]]: + """Search large assets + + Search for assets that are considered large based on specified criteria. + + :param album_ids: Filter by album IDs + :type album_ids: List[UUID] + :param city: Filter by city name + :type city: str + :param country: Filter by country name + :type country: str + :param created_after: Filter by creation date (after) + :type created_after: datetime + :param created_before: Filter by creation date (before) + :type created_before: datetime + :param is_encoded: Filter by encoded status + :type is_encoded: bool + :param is_favorite: Filter by favorite status + :type is_favorite: bool + :param is_motion: Filter by motion photo status + :type is_motion: bool + :param is_not_in_album: Filter assets not in any album + :type is_not_in_album: bool + :param is_offline: Filter by offline status + :type is_offline: bool + :param lens_model: Filter by lens model + :type lens_model: str + :param library_id: Library ID to filter by + :type library_id: UUID + :param make: Filter by camera make + :type make: str + :param min_file_size: Minimum file size in bytes + :type min_file_size: int + :param model: Filter by camera model + :type model: str + :param ocr: Filter by OCR text content + :type ocr: str + :param person_ids: Filter by person IDs + :type person_ids: List[UUID] + :param rating: Filter by rating [1-5], or null for unrated + :type rating: int + :param size: Number of results to return + :type size: int + :param state: Filter by state/province name + :type state: str + :param tag_ids: Filter by tag IDs + :type tag_ids: List[UUID] + :param taken_after: Filter by taken date (after) + :type taken_after: datetime + :param taken_before: Filter by taken date (before) + :type taken_before: datetime + :param trashed_after: Filter by trash date (after) + :type trashed_after: datetime + :param trashed_before: Filter by trash date (before) + :type trashed_before: datetime + :param type: + :type type: AssetTypeEnum + :param updated_after: Filter by update date (after) + :type updated_after: datetime + :param updated_before: Filter by update date (before) + :type updated_before: datetime + :param visibility: + :type visibility: AssetVisibility + :param with_deleted: Include deleted assets + :type with_deleted: bool + :param with_exif: Include EXIF data in response + :type with_exif: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_large_assets_serialize( + album_ids=album_ids, + city=city, + country=country, + created_after=created_after, + created_before=created_before, + is_encoded=is_encoded, + is_favorite=is_favorite, + is_motion=is_motion, + is_not_in_album=is_not_in_album, + is_offline=is_offline, + lens_model=lens_model, + library_id=library_id, + make=make, + min_file_size=min_file_size, + model=model, + ocr=ocr, + person_ids=person_ids, + rating=rating, + size=size, + state=state, + tag_ids=tag_ids, + taken_after=taken_after, + taken_before=taken_before, + trashed_after=trashed_after, + trashed_before=trashed_before, + type=type, + updated_after=updated_after, + updated_before=updated_before, + visibility=visibility, + with_deleted=with_deleted, + with_exif=with_exif, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def search_large_assets_without_preload_content( + self, + album_ids: Annotated[Optional[List[UUID]], Field(description="Filter by album IDs")] = None, + city: Annotated[Optional[StrictStr], Field(description="Filter by city name")] = None, + country: Annotated[Optional[StrictStr], Field(description="Filter by country name")] = None, + created_after: Annotated[Optional[datetime], Field(description="Filter by creation date (after)")] = None, + created_before: Annotated[Optional[datetime], Field(description="Filter by creation date (before)")] = None, + is_encoded: Annotated[Optional[StrictBool], Field(description="Filter by encoded status")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + is_motion: Annotated[Optional[StrictBool], Field(description="Filter by motion photo status")] = None, + is_not_in_album: Annotated[Optional[StrictBool], Field(description="Filter assets not in any album")] = None, + is_offline: Annotated[Optional[StrictBool], Field(description="Filter by offline status")] = None, + lens_model: Annotated[Optional[StrictStr], Field(description="Filter by lens model")] = None, + library_id: Annotated[Optional[UUID], Field(description="Library ID to filter by")] = None, + make: Annotated[Optional[StrictStr], Field(description="Filter by camera make")] = None, + min_file_size: Annotated[Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]], Field(description="Minimum file size in bytes")] = None, + model: Annotated[Optional[StrictStr], Field(description="Filter by camera model")] = None, + ocr: Annotated[Optional[StrictStr], Field(description="Filter by OCR text content")] = None, + person_ids: Annotated[Optional[List[UUID]], Field(description="Filter by person IDs")] = None, + rating: Annotated[Optional[Annotated[int, Field(le=5, strict=True, ge=1)]], Field(description="Filter by rating [1-5], or null for unrated")] = None, + size: Annotated[Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]], Field(description="Number of results to return")] = None, + state: Annotated[Optional[StrictStr], Field(description="Filter by state/province name")] = None, + tag_ids: Annotated[Optional[List[UUID]], Field(description="Filter by tag IDs")] = None, + taken_after: Annotated[Optional[datetime], Field(description="Filter by taken date (after)")] = None, + taken_before: Annotated[Optional[datetime], Field(description="Filter by taken date (before)")] = None, + trashed_after: Annotated[Optional[datetime], Field(description="Filter by trash date (after)")] = None, + trashed_before: Annotated[Optional[datetime], Field(description="Filter by trash date (before)")] = None, + type: Optional[AssetTypeEnum] = None, + updated_after: Annotated[Optional[datetime], Field(description="Filter by update date (after)")] = None, + updated_before: Annotated[Optional[datetime], Field(description="Filter by update date (before)")] = None, + visibility: Optional[AssetVisibility] = None, + with_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted assets")] = None, + with_exif: Annotated[Optional[StrictBool], Field(description="Include EXIF data in response")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Search large assets + + Search for assets that are considered large based on specified criteria. + + :param album_ids: Filter by album IDs + :type album_ids: List[UUID] + :param city: Filter by city name + :type city: str + :param country: Filter by country name + :type country: str + :param created_after: Filter by creation date (after) + :type created_after: datetime + :param created_before: Filter by creation date (before) + :type created_before: datetime + :param is_encoded: Filter by encoded status + :type is_encoded: bool + :param is_favorite: Filter by favorite status + :type is_favorite: bool + :param is_motion: Filter by motion photo status + :type is_motion: bool + :param is_not_in_album: Filter assets not in any album + :type is_not_in_album: bool + :param is_offline: Filter by offline status + :type is_offline: bool + :param lens_model: Filter by lens model + :type lens_model: str + :param library_id: Library ID to filter by + :type library_id: UUID + :param make: Filter by camera make + :type make: str + :param min_file_size: Minimum file size in bytes + :type min_file_size: int + :param model: Filter by camera model + :type model: str + :param ocr: Filter by OCR text content + :type ocr: str + :param person_ids: Filter by person IDs + :type person_ids: List[UUID] + :param rating: Filter by rating [1-5], or null for unrated + :type rating: int + :param size: Number of results to return + :type size: int + :param state: Filter by state/province name + :type state: str + :param tag_ids: Filter by tag IDs + :type tag_ids: List[UUID] + :param taken_after: Filter by taken date (after) + :type taken_after: datetime + :param taken_before: Filter by taken date (before) + :type taken_before: datetime + :param trashed_after: Filter by trash date (after) + :type trashed_after: datetime + :param trashed_before: Filter by trash date (before) + :type trashed_before: datetime + :param type: + :type type: AssetTypeEnum + :param updated_after: Filter by update date (after) + :type updated_after: datetime + :param updated_before: Filter by update date (before) + :type updated_before: datetime + :param visibility: + :type visibility: AssetVisibility + :param with_deleted: Include deleted assets + :type with_deleted: bool + :param with_exif: Include EXIF data in response + :type with_exif: bool + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_large_assets_serialize( + album_ids=album_ids, + city=city, + country=country, + created_after=created_after, + created_before=created_before, + is_encoded=is_encoded, + is_favorite=is_favorite, + is_motion=is_motion, + is_not_in_album=is_not_in_album, + is_offline=is_offline, + lens_model=lens_model, + library_id=library_id, + make=make, + min_file_size=min_file_size, + model=model, + ocr=ocr, + person_ids=person_ids, + rating=rating, + size=size, + state=state, + tag_ids=tag_ids, + taken_after=taken_after, + taken_before=taken_before, + trashed_after=trashed_after, + trashed_before=trashed_before, + type=type, + updated_after=updated_after, + updated_before=updated_before, + visibility=visibility, + with_deleted=with_deleted, + with_exif=with_exif, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[AssetResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_large_assets_serialize( + self, + album_ids, + city, + country, + created_after, + created_before, + is_encoded, + is_favorite, + is_motion, + is_not_in_album, + is_offline, + lens_model, + library_id, + make, + min_file_size, + model, + ocr, + person_ids, + rating, + size, + state, + tag_ids, + taken_after, + taken_before, + trashed_after, + trashed_before, + type, + updated_after, + updated_before, + visibility, + with_deleted, + with_exif, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'albumIds': 'multi', + 'personIds': 'multi', + 'tagIds': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if album_ids is not None: + + _query_params.append(('albumIds', album_ids)) + + if city is not None: + + _query_params.append(('city', city)) + + if country is not None: + + _query_params.append(('country', country)) + + if created_after is not None: + if isinstance(created_after, datetime): + _query_params.append( + ( + 'createdAfter', + created_after.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('createdAfter', created_after)) + + if created_before is not None: + if isinstance(created_before, datetime): + _query_params.append( + ( + 'createdBefore', + created_before.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('createdBefore', created_before)) + + if is_encoded is not None: + + _query_params.append(('isEncoded', is_encoded)) + + if is_favorite is not None: + + _query_params.append(('isFavorite', is_favorite)) + + if is_motion is not None: + + _query_params.append(('isMotion', is_motion)) + + if is_not_in_album is not None: + + _query_params.append(('isNotInAlbum', is_not_in_album)) + + if is_offline is not None: + + _query_params.append(('isOffline', is_offline)) + + if lens_model is not None: + + _query_params.append(('lensModel', lens_model)) + + if library_id is not None: + + _query_params.append(('libraryId', library_id)) + + if make is not None: + + _query_params.append(('make', make)) + + if min_file_size is not None: + + _query_params.append(('minFileSize', min_file_size)) + + if model is not None: + + _query_params.append(('model', model)) + + if ocr is not None: + + _query_params.append(('ocr', ocr)) + + if person_ids is not None: + + _query_params.append(('personIds', person_ids)) + + if rating is not None: + + _query_params.append(('rating', rating)) + + if size is not None: + + _query_params.append(('size', size)) + + if state is not None: + + _query_params.append(('state', state)) + + if tag_ids is not None: + + _query_params.append(('tagIds', tag_ids)) + + if taken_after is not None: + if isinstance(taken_after, datetime): + _query_params.append( + ( + 'takenAfter', + taken_after.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('takenAfter', taken_after)) + + if taken_before is not None: + if isinstance(taken_before, datetime): + _query_params.append( + ( + 'takenBefore', + taken_before.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('takenBefore', taken_before)) + + if trashed_after is not None: + if isinstance(trashed_after, datetime): + _query_params.append( + ( + 'trashedAfter', + trashed_after.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('trashedAfter', trashed_after)) + + if trashed_before is not None: + if isinstance(trashed_before, datetime): + _query_params.append( + ( + 'trashedBefore', + trashed_before.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('trashedBefore', trashed_before)) + + if type is not None: + + _query_params.append(('type', type.value)) + + if updated_after is not None: + if isinstance(updated_after, datetime): + _query_params.append( + ( + 'updatedAfter', + updated_after.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('updatedAfter', updated_after)) + + if updated_before is not None: + if isinstance(updated_before, datetime): + _query_params.append( + ( + 'updatedBefore', + updated_before.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('updatedBefore', updated_before)) + + if visibility is not None: + + _query_params.append(('visibility', visibility.value)) + + if with_deleted is not None: + + _query_params.append(('withDeleted', with_deleted)) + + if with_exif is not None: + + _query_params.append(('withExif', with_exif)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/search/large-assets', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def search_person( self, - name: StrictStr, - with_hidden: Optional[StrictBool] = None, + name: Annotated[StrictStr, Field(description="Person name to search for")], + with_hidden: Annotated[Optional[StrictBool], Field(description="Include hidden people")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1175,12 +2336,13 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[PersonResponseDto]: - """search_person + """Search people + Search for people by name. - :param name: (required) + :param name: Person name to search for (required) :type name: str - :param with_hidden: + :param with_hidden: Include hidden people :type with_hidden: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1230,8 +2392,8 @@ class SearchApi: @validate_call def search_person_with_http_info( self, - name: StrictStr, - with_hidden: Optional[StrictBool] = None, + name: Annotated[StrictStr, Field(description="Person name to search for")], + with_hidden: Annotated[Optional[StrictBool], Field(description="Include hidden people")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1245,12 +2407,13 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[PersonResponseDto]]: - """search_person + """Search people + Search for people by name. - :param name: (required) + :param name: Person name to search for (required) :type name: str - :param with_hidden: + :param with_hidden: Include hidden people :type with_hidden: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1300,8 +2463,8 @@ class SearchApi: @validate_call def search_person_without_preload_content( self, - name: StrictStr, - with_hidden: Optional[StrictBool] = None, + name: Annotated[StrictStr, Field(description="Person name to search for")], + with_hidden: Annotated[Optional[StrictBool], Field(description="Include hidden people")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1315,12 +2478,13 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """search_person + """Search people + Search for people by name. - :param name: (required) + :param name: Person name to search for (required) :type name: str - :param with_hidden: + :param with_hidden: Include hidden people :type with_hidden: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1439,7 +2603,7 @@ class SearchApi: @validate_call def search_places( self, - name: StrictStr, + name: Annotated[StrictStr, Field(description="Place name to search for")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1453,10 +2617,11 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[PlacesResponseDto]: - """search_places + """Search places + Search for places by name. - :param name: (required) + :param name: Place name to search for (required) :type name: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1505,7 +2670,7 @@ class SearchApi: @validate_call def search_places_with_http_info( self, - name: StrictStr, + name: Annotated[StrictStr, Field(description="Place name to search for")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1519,10 +2684,11 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[PlacesResponseDto]]: - """search_places + """Search places + Search for places by name. - :param name: (required) + :param name: Place name to search for (required) :type name: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1571,7 +2737,7 @@ class SearchApi: @validate_call def search_places_without_preload_content( self, - name: StrictStr, + name: Annotated[StrictStr, Field(description="Place name to search for")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1585,10 +2751,11 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """search_places + """Search places + Search for places by name. - :param name: (required) + :param name: Place name to search for (required) :type name: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1715,8 +2882,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[AssetResponseDto]: - """search_random + """Search random assets + Retrieve a random selection of assets based on the provided criteria. :param random_search_dto: (required) :type random_search_dto: RandomSearchDto @@ -1781,8 +2949,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[AssetResponseDto]]: - """search_random + """Search random assets + Retrieve a random selection of assets based on the provided criteria. :param random_search_dto: (required) :type random_search_dto: RandomSearchDto @@ -1847,8 +3016,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """search_random + """Search random assets + Retrieve a random selection of assets based on the provided criteria. :param random_search_dto: (required) :type random_search_dto: RandomSearchDto @@ -1988,8 +3158,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SearchResponseDto: - """search_smart + """Smart asset search + Perform a smart search for assets by using machine learning vectors to determine relevance. :param smart_search_dto: (required) :type smart_search_dto: SmartSearchDto @@ -2054,8 +3225,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SearchResponseDto]: - """search_smart + """Smart asset search + Perform a smart search for assets by using machine learning vectors to determine relevance. :param smart_search_dto: (required) :type smart_search_dto: SmartSearchDto @@ -2120,8 +3292,9 @@ class SearchApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """search_smart + """Smart asset search + Perform a smart search for assets by using machine learning vectors to determine relevance. :param smart_search_dto: (required) :type smart_search_dto: SmartSearchDto diff --git a/generated/immich/openapi_client/api/server_api.py b/generated/immich/openapi_client/api/server_api.py index 5df43e0..08c5886 100644 --- a/generated/immich/openapi_client/api/server_api.py +++ b/generated/immich/openapi_client/api/server_api.py @@ -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,17 +18,18 @@ from typing_extensions import Annotated from typing import List 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.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.user_license import UserLicense +from generated.immich.openapi_client.models.version_check_state_response_dto import VersionCheckStateResponseDto from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -64,8 +65,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_server_license + """Delete server product key + Delete the currently set server product key. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -97,7 +99,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -126,8 +128,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_server_license + """Delete server product key + Delete the currently set server product key. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -159,7 +162,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -188,8 +191,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_server_license + """Delete server product key + Delete the currently set server product key. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -221,7 +225,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -302,8 +306,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ServerAboutResponseDto: - """get_about_info + """Get server information + Retrieve a list of information about the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -364,8 +369,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ServerAboutResponseDto]: - """get_about_info + """Get server information + Retrieve a list of information about the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -426,8 +432,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_about_info + """Get server information + Retrieve a list of information about the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -531,6 +538,254 @@ class ServerApi: + @validate_call + def get_apk_links( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ServerApkLinksDto: + """Get APK links + + Retrieve links to the APKs for the current server version. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_apk_links_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServerApkLinksDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_apk_links_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[ServerApkLinksDto]: + """Get APK links + + Retrieve links to the APKs for the current server version. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_apk_links_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServerApkLinksDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_apk_links_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get APK links + + Retrieve links to the APKs for the current server version. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_apk_links_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServerApkLinksDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_apk_links_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/server/apk-links', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def get_server_config( self, @@ -547,8 +802,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ServerConfigDto: - """get_server_config + """Get config + Retrieve the current server configuration. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -609,8 +865,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ServerConfigDto]: - """get_server_config + """Get config + Retrieve the current server configuration. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -671,8 +928,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_server_config + """Get config + Retrieve the current server configuration. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -789,8 +1047,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ServerFeaturesDto: - """get_server_features + """Get features + Retrieve available features supported by this server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -851,8 +1110,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ServerFeaturesDto]: - """get_server_features + """Get features + Retrieve available features supported by this server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -913,8 +1173,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_server_features + """Get features + Retrieve available features supported by this server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1030,9 +1291,10 @@ class ServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> LicenseResponseDto: - """get_server_license + ) -> UserLicense: + """Get product key + Retrieve information about whether the server currently has a product key registered. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1064,7 +1326,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", '404': None, } response_data = self.api_client.call_api( @@ -1093,9 +1355,10 @@ class ServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[LicenseResponseDto]: - """get_server_license + ) -> ApiResponse[UserLicense]: + """Get product key + Retrieve information about whether the server currently has a product key registered. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1127,7 +1390,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", '404': None, } response_data = self.api_client.call_api( @@ -1157,8 +1420,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_server_license + """Get product key + Retrieve information about whether the server currently has a product key registered. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1190,7 +1454,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", '404': None, } response_data = self.api_client.call_api( @@ -1279,8 +1543,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ServerStatsResponseDto: - """get_server_statistics + """Get statistics + Retrieve statistics about the entire Immich instance such as asset counts. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1341,8 +1606,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ServerStatsResponseDto]: - """get_server_statistics + """Get statistics + Retrieve statistics about the entire Immich instance such as asset counts. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1403,8 +1669,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_server_statistics + """Get statistics + Retrieve statistics about the entire Immich instance such as asset counts. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1524,8 +1791,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ServerVersionResponseDto: - """get_server_version + """Get server version + Retrieve the current server version in semantic versioning (semver) format. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1586,8 +1854,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ServerVersionResponseDto]: - """get_server_version + """Get server version + Retrieve the current server version in semantic versioning (semver) format. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1648,8 +1917,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_server_version + """Get server version + Retrieve the current server version in semantic versioning (semver) format. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1766,8 +2036,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ServerStorageResponseDto: - """get_storage + """Get storage + Retrieve the current storage utilization information of the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1828,8 +2099,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ServerStorageResponseDto]: - """get_storage + """Get storage + Retrieve the current storage utilization information of the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1890,8 +2162,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_storage + """Get storage + Retrieve the current storage utilization information of the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2011,8 +2284,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ServerMediaTypesResponseDto: - """get_supported_media_types + """Get supported media types + Retrieve all media types supported by the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2073,8 +2347,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ServerMediaTypesResponseDto]: - """get_supported_media_types + """Get supported media types + Retrieve all media types supported by the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2135,8 +2410,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_supported_media_types + """Get supported media types + Retrieve all media types supported by the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2238,7 +2514,7 @@ class ServerApi: @validate_call - def get_theme( + def get_version_check( self, _request_timeout: Union[ None, @@ -2252,9 +2528,10 @@ class ServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ServerThemeDto: - """get_theme + ) -> VersionCheckStateResponseDto: + """Get version check status + Retrieve information about the last time the version check ran. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2278,7 +2555,7 @@ class ServerApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_theme_serialize( + _param = self._get_version_check_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2286,7 +2563,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ServerThemeDto", + '200': "VersionCheckStateResponseDto", } response_data = self.api_client.call_api( *_param, @@ -2300,7 +2577,7 @@ class ServerApi: @validate_call - def get_theme_with_http_info( + def get_version_check_with_http_info( self, _request_timeout: Union[ None, @@ -2314,9 +2591,10 @@ class ServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[ServerThemeDto]: - """get_theme + ) -> ApiResponse[VersionCheckStateResponseDto]: + """Get version check status + Retrieve information about the last time the version check ran. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2340,7 +2618,7 @@ class ServerApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_theme_serialize( + _param = self._get_version_check_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2348,7 +2626,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ServerThemeDto", + '200': "VersionCheckStateResponseDto", } response_data = self.api_client.call_api( *_param, @@ -2362,7 +2640,7 @@ class ServerApi: @validate_call - def get_theme_without_preload_content( + def get_version_check_without_preload_content( self, _request_timeout: Union[ None, @@ -2377,8 +2655,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_theme + """Get version check status + Retrieve information about the last time the version check ran. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2402,7 +2681,7 @@ class ServerApi: :return: Returns the result object. """ # noqa: E501 - _param = self._get_theme_serialize( + _param = self._get_version_check_serialize( _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -2410,7 +2689,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "ServerThemeDto", + '200': "VersionCheckStateResponseDto", } response_data = self.api_client.call_api( *_param, @@ -2419,7 +2698,7 @@ class ServerApi: return response_data.response - def _get_theme_serialize( + def _get_version_check_serialize( self, _request_auth, _content_type, @@ -2459,11 +2738,14 @@ class ServerApi: # authentication setting _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' ] return self.api_client.param_serialize( method='GET', - resource_path='/server/theme', + resource_path='/server/version-check', path_params=_path_params, query_params=_query_params, header_params=_header_params, @@ -2495,8 +2777,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[ServerVersionHistoryResponseDto]: - """get_version_history + """Get version history + Retrieve a list of past versions the server has been on. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2557,8 +2840,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[ServerVersionHistoryResponseDto]]: - """get_version_history + """Get version history + Retrieve a list of past versions the server has been on. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2619,8 +2903,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_version_history + """Get version history + Retrieve a list of past versions the server has been on. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2737,8 +3022,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ServerPingResponse: - """ping_server + """Ping + Pong :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2799,8 +3085,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ServerPingResponse]: - """ping_server + """Ping + Pong :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2861,8 +3148,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """ping_server + """Ping + Pong :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2979,9 +3267,10 @@ class ServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> LicenseResponseDto: - """set_server_license + ) -> UserLicense: + """Set server product key + Validate and set the server product key if successful. :param license_key_dto: (required) :type license_key_dto: LicenseKeyDto @@ -3016,7 +3305,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", } response_data = self.api_client.call_api( *_param, @@ -3045,9 +3334,10 @@ class ServerApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[LicenseResponseDto]: - """set_server_license + ) -> ApiResponse[UserLicense]: + """Set server product key + Validate and set the server product key if successful. :param license_key_dto: (required) :type license_key_dto: LicenseKeyDto @@ -3082,7 +3372,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", } response_data = self.api_client.call_api( *_param, @@ -3112,8 +3402,9 @@ class ServerApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """set_server_license + """Set server product key + Validate and set the server product key if successful. :param license_key_dto: (required) :type license_key_dto: LicenseKeyDto @@ -3148,7 +3439,7 @@ class ServerApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", } response_data = self.api_client.call_api( *_param, diff --git a/generated/immich/openapi_client/api/sessions_api.py b/generated/immich/openapi_client/api/sessions_api.py index be1c640..60ddcbf 100644 --- a/generated/immich/openapi_client/api/sessions_api.py +++ b/generated/immich/openapi_client/api/sessions_api.py @@ -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. @@ -16,9 +16,12 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr from typing import List +from uuid import UUID +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_update_dto import SessionUpdateDto from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -38,6 +41,282 @@ class SessionsApi: self.api_client = api_client + @validate_call + def create_session( + self, + session_create_dto: SessionCreateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SessionCreateResponseDto: + """Create a session + + Create a session as a child to the current session. This endpoint is used for casting. + + :param session_create_dto: (required) + :type session_create_dto: SessionCreateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_session_serialize( + session_create_dto=session_create_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SessionCreateResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_session_with_http_info( + self, + session_create_dto: SessionCreateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SessionCreateResponseDto]: + """Create a session + + Create a session as a child to the current session. This endpoint is used for casting. + + :param session_create_dto: (required) + :type session_create_dto: SessionCreateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_session_serialize( + session_create_dto=session_create_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SessionCreateResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_session_without_preload_content( + self, + session_create_dto: SessionCreateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a session + + Create a session as a child to the current session. This endpoint is used for casting. + + :param session_create_dto: (required) + :type session_create_dto: SessionCreateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_session_serialize( + session_create_dto=session_create_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SessionCreateResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_session_serialize( + self, + session_create_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if session_create_dto is not None: + _body_params = session_create_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/sessions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def delete_all_sessions( self, @@ -54,8 +333,9 @@ class SessionsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_all_sessions + """Delete all sessions + Delete all sessions for the user. This will not delete the current session. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -116,8 +396,9 @@ class SessionsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_all_sessions + """Delete all sessions + Delete all sessions for the user. This will not delete the current session. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -178,8 +459,9 @@ class SessionsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_all_sessions + """Delete all sessions + Delete all sessions for the user. This will not delete the current session. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -279,7 +561,7 @@ class SessionsApi: @validate_call def delete_session( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -293,11 +575,12 @@ class SessionsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_session + """Delete a session + Delete a specific session by id. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -345,7 +628,7 @@ class SessionsApi: @validate_call def delete_session_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -359,11 +642,12 @@ class SessionsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_session + """Delete a session + Delete a specific session by id. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -411,7 +695,7 @@ class SessionsApi: @validate_call def delete_session_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -425,11 +709,12 @@ class SessionsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_session + """Delete a session + Delete a specific session by id. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -545,8 +830,9 @@ class SessionsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[SessionResponseDto]: - """get_sessions + """Retrieve sessions + Retrieve a list of sessions for the user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -607,8 +893,9 @@ class SessionsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[SessionResponseDto]]: - """get_sessions + """Retrieve sessions + Retrieve a list of sessions for the user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -669,8 +956,9 @@ class SessionsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_sessions + """Retrieve sessions + Retrieve a list of sessions for the user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -772,3 +1060,553 @@ class SessionsApi: ) + + + @validate_call + def lock_session( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Lock a session + + Lock a specific session by id. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._lock_session_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def lock_session_with_http_info( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Lock a session + + Lock a specific session by id. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._lock_session_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def lock_session_without_preload_content( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Lock a session + + Lock a specific session by id. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._lock_session_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _lock_session_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/sessions/{id}/lock', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def update_session( + self, + id: UUID, + session_update_dto: SessionUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SessionResponseDto: + """(Deprecated) Update a session + + Update a specific session identified by id. + + :param id: (required) + :type id: UUID + :param session_update_dto: (required) + :type session_update_dto: SessionUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /sessions/{id} is deprecated.", DeprecationWarning) + + _param = self._update_session_serialize( + id=id, + session_update_dto=session_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SessionResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def update_session_with_http_info( + self, + id: UUID, + session_update_dto: SessionUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SessionResponseDto]: + """(Deprecated) Update a session + + Update a specific session identified by id. + + :param id: (required) + :type id: UUID + :param session_update_dto: (required) + :type session_update_dto: SessionUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /sessions/{id} is deprecated.", DeprecationWarning) + + _param = self._update_session_serialize( + id=id, + session_update_dto=session_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SessionResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def update_session_without_preload_content( + self, + id: UUID, + session_update_dto: SessionUpdateDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """(Deprecated) Update a session + + Update a specific session identified by id. + + :param id: (required) + :type id: UUID + :param session_update_dto: (required) + :type session_update_dto: SessionUpdateDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + warnings.warn("PUT /sessions/{id} is deprecated.", DeprecationWarning) + + _param = self._update_session_serialize( + id=id, + session_update_dto=session_update_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SessionResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_session_serialize( + self, + id, + session_update_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if session_update_dto is not None: + _body_params = session_update_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/sessions/{id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/generated/immich/openapi_client/api/shared_links_api.py b/generated/immich/openapi_client/api/shared_links_api.py index 4cdca95..6816b73 100644 --- a/generated/immich/openapi_client/api/shared_links_api.py +++ b/generated/immich/openapi_client/api/shared_links_api.py @@ -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. @@ -16,12 +16,15 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr +from pydantic import Field, StrictStr from typing import List, Optional +from typing_extensions import Annotated +from uuid import UUID 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.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.api_client import ApiClient, RequestSerialized @@ -45,9 +48,8 @@ class SharedLinksApi: @validate_call def add_shared_link_assets( self, - id: StrictStr, + id: UUID, asset_ids_dto: AssetIdsDto, - key: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -61,15 +63,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[AssetIdsResponseDto]: - """add_shared_link_assets + """Add assets to a shared link + Add assets to a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. :param id: (required) - :type id: str + :type id: UUID :param asset_ids_dto: (required) :type asset_ids_dto: AssetIdsDto - :param key: - :type key: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -95,7 +96,6 @@ class SharedLinksApi: _param = self._add_shared_link_assets_serialize( id=id, asset_ids_dto=asset_ids_dto, - key=key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -119,9 +119,8 @@ class SharedLinksApi: @validate_call def add_shared_link_assets_with_http_info( self, - id: StrictStr, + id: UUID, asset_ids_dto: AssetIdsDto, - key: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -135,15 +134,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[AssetIdsResponseDto]]: - """add_shared_link_assets + """Add assets to a shared link + Add assets to a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. :param id: (required) - :type id: str + :type id: UUID :param asset_ids_dto: (required) :type asset_ids_dto: AssetIdsDto - :param key: - :type key: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -169,7 +167,6 @@ class SharedLinksApi: _param = self._add_shared_link_assets_serialize( id=id, asset_ids_dto=asset_ids_dto, - key=key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -193,9 +190,8 @@ class SharedLinksApi: @validate_call def add_shared_link_assets_without_preload_content( self, - id: StrictStr, + id: UUID, asset_ids_dto: AssetIdsDto, - key: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -209,15 +205,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """add_shared_link_assets + """Add assets to a shared link + Add assets to a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. :param id: (required) - :type id: str + :type id: UUID :param asset_ids_dto: (required) :type asset_ids_dto: AssetIdsDto - :param key: - :type key: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -243,7 +238,6 @@ class SharedLinksApi: _param = self._add_shared_link_assets_serialize( id=id, asset_ids_dto=asset_ids_dto, - key=key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -264,7 +258,6 @@ class SharedLinksApi: self, id, asset_ids_dto, - key, _request_auth, _content_type, _headers, @@ -289,10 +282,6 @@ class SharedLinksApi: if id is not None: _path_params['id'] = id # process the query parameters - if key is not None: - - _query_params.append(('key', key)) - # process the header parameters # process the form parameters # process the body parameter @@ -364,8 +353,9 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SharedLinkResponseDto: - """create_shared_link + """Create a shared link + Create a new shared link. :param shared_link_create_dto: (required) :type shared_link_create_dto: SharedLinkCreateDto @@ -430,8 +420,9 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SharedLinkResponseDto]: - """create_shared_link + """Create a shared link + Create a new shared link. :param shared_link_create_dto: (required) :type shared_link_create_dto: SharedLinkCreateDto @@ -496,8 +487,9 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_shared_link + """Create a shared link + Create a new shared link. :param shared_link_create_dto: (required) :type shared_link_create_dto: SharedLinkCreateDto @@ -623,7 +615,8 @@ class SharedLinksApi: @validate_call def get_all_shared_links( self, - album_id: Optional[StrictStr] = None, + album_id: Annotated[Optional[UUID], Field(description="Filter by album ID")] = None, + id: Annotated[Optional[UUID], Field(description="Filter by shared link ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -637,11 +630,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[SharedLinkResponseDto]: - """get_all_shared_links + """Retrieve all shared links + Retrieve a list of all shared links. - :param album_id: - :type album_id: str + :param album_id: Filter by album ID + :type album_id: UUID + :param id: Filter by shared link ID + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -666,6 +662,7 @@ class SharedLinksApi: _param = self._get_all_shared_links_serialize( album_id=album_id, + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -689,7 +686,8 @@ class SharedLinksApi: @validate_call def get_all_shared_links_with_http_info( self, - album_id: Optional[StrictStr] = None, + album_id: Annotated[Optional[UUID], Field(description="Filter by album ID")] = None, + id: Annotated[Optional[UUID], Field(description="Filter by shared link ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -703,11 +701,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[SharedLinkResponseDto]]: - """get_all_shared_links + """Retrieve all shared links + Retrieve a list of all shared links. - :param album_id: - :type album_id: str + :param album_id: Filter by album ID + :type album_id: UUID + :param id: Filter by shared link ID + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -732,6 +733,7 @@ class SharedLinksApi: _param = self._get_all_shared_links_serialize( album_id=album_id, + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -755,7 +757,8 @@ class SharedLinksApi: @validate_call def get_all_shared_links_without_preload_content( self, - album_id: Optional[StrictStr] = None, + album_id: Annotated[Optional[UUID], Field(description="Filter by album ID")] = None, + id: Annotated[Optional[UUID], Field(description="Filter by shared link ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -769,11 +772,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_all_shared_links + """Retrieve all shared links + Retrieve a list of all shared links. - :param album_id: - :type album_id: str + :param album_id: Filter by album ID + :type album_id: UUID + :param id: Filter by shared link ID + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -798,6 +804,7 @@ class SharedLinksApi: _param = self._get_all_shared_links_serialize( album_id=album_id, + id=id, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -817,6 +824,7 @@ class SharedLinksApi: def _get_all_shared_links_serialize( self, album_id, + id, _request_auth, _content_type, _headers, @@ -843,6 +851,10 @@ class SharedLinksApi: _query_params.append(('albumId', album_id)) + if id is not None: + + _query_params.append(('id', id)) + # process the header parameters # process the form parameters # process the body parameter @@ -886,8 +898,7 @@ class SharedLinksApi: def get_my_shared_link( self, key: Optional[StrictStr] = None, - password: Optional[StrictStr] = None, - token: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -901,15 +912,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SharedLinkResponseDto: - """get_my_shared_link + """Retrieve current shared link + Retrieve the current shared link associated with authentication method. :param key: :type key: str - :param password: - :type password: str - :param token: - :type token: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -934,8 +944,7 @@ class SharedLinksApi: _param = self._get_my_shared_link_serialize( key=key, - password=password, - token=token, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -960,8 +969,7 @@ class SharedLinksApi: def get_my_shared_link_with_http_info( self, key: Optional[StrictStr] = None, - password: Optional[StrictStr] = None, - token: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -975,15 +983,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SharedLinkResponseDto]: - """get_my_shared_link + """Retrieve current shared link + Retrieve the current shared link associated with authentication method. :param key: :type key: str - :param password: - :type password: str - :param token: - :type token: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1008,8 +1015,7 @@ class SharedLinksApi: _param = self._get_my_shared_link_serialize( key=key, - password=password, - token=token, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1034,8 +1040,7 @@ class SharedLinksApi: def get_my_shared_link_without_preload_content( self, key: Optional[StrictStr] = None, - password: Optional[StrictStr] = None, - token: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1049,15 +1054,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_my_shared_link + """Retrieve current shared link + Retrieve the current shared link associated with authentication method. :param key: :type key: str - :param password: - :type password: str - :param token: - :type token: str + :param slug: + :type slug: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1082,8 +1086,7 @@ class SharedLinksApi: _param = self._get_my_shared_link_serialize( key=key, - password=password, - token=token, + slug=slug, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1103,8 +1106,7 @@ class SharedLinksApi: def _get_my_shared_link_serialize( self, key, - password, - token, + slug, _request_auth, _content_type, _headers, @@ -1131,13 +1133,9 @@ class SharedLinksApi: _query_params.append(('key', key)) - if password is not None: + if slug is not None: - _query_params.append(('password', password)) - - if token is not None: - - _query_params.append(('token', token)) + _query_params.append(('slug', slug)) # process the header parameters # process the form parameters @@ -1181,7 +1179,7 @@ class SharedLinksApi: @validate_call def get_shared_link_by_id( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1195,11 +1193,12 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SharedLinkResponseDto: - """get_shared_link_by_id + """Retrieve a shared link + Retrieve a specific shared link by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1247,7 +1246,7 @@ class SharedLinksApi: @validate_call def get_shared_link_by_id_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1261,11 +1260,12 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SharedLinkResponseDto]: - """get_shared_link_by_id + """Retrieve a shared link + Retrieve a specific shared link by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1313,7 +1313,7 @@ class SharedLinksApi: @validate_call def get_shared_link_by_id_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1327,11 +1327,12 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_shared_link_by_id + """Retrieve a shared link + Retrieve a specific shared link by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1441,7 +1442,7 @@ class SharedLinksApi: @validate_call def remove_shared_link( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1455,11 +1456,12 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """remove_shared_link + """Delete a shared link + Delete a specific shared link by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1491,7 +1493,7 @@ class SharedLinksApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -1507,7 +1509,7 @@ class SharedLinksApi: @validate_call def remove_shared_link_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1521,11 +1523,12 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """remove_shared_link + """Delete a shared link + Delete a specific shared link by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1557,7 +1560,7 @@ class SharedLinksApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -1573,7 +1576,7 @@ class SharedLinksApi: @validate_call def remove_shared_link_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1587,11 +1590,12 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """remove_shared_link + """Delete a shared link + Delete a specific shared link by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1623,7 +1627,7 @@ class SharedLinksApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -1694,9 +1698,8 @@ class SharedLinksApi: @validate_call def remove_shared_link_assets( self, - id: StrictStr, + id: UUID, asset_ids_dto: AssetIdsDto, - key: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1710,15 +1713,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[AssetIdsResponseDto]: - """remove_shared_link_assets + """Remove assets from a shared link + Remove assets from a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. :param id: (required) - :type id: str + :type id: UUID :param asset_ids_dto: (required) :type asset_ids_dto: AssetIdsDto - :param key: - :type key: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1744,7 +1746,6 @@ class SharedLinksApi: _param = self._remove_shared_link_assets_serialize( id=id, asset_ids_dto=asset_ids_dto, - key=key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1768,9 +1769,8 @@ class SharedLinksApi: @validate_call def remove_shared_link_assets_with_http_info( self, - id: StrictStr, + id: UUID, asset_ids_dto: AssetIdsDto, - key: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1784,15 +1784,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[AssetIdsResponseDto]]: - """remove_shared_link_assets + """Remove assets from a shared link + Remove assets from a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. :param id: (required) - :type id: str + :type id: UUID :param asset_ids_dto: (required) :type asset_ids_dto: AssetIdsDto - :param key: - :type key: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1818,7 +1817,6 @@ class SharedLinksApi: _param = self._remove_shared_link_assets_serialize( id=id, asset_ids_dto=asset_ids_dto, - key=key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1842,9 +1840,8 @@ class SharedLinksApi: @validate_call def remove_shared_link_assets_without_preload_content( self, - id: StrictStr, + id: UUID, asset_ids_dto: AssetIdsDto, - key: Optional[StrictStr] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1858,15 +1855,14 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """remove_shared_link_assets + """Remove assets from a shared link + Remove assets from a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. :param id: (required) - :type id: str + :type id: UUID :param asset_ids_dto: (required) :type asset_ids_dto: AssetIdsDto - :param key: - :type key: str :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1892,7 +1888,6 @@ class SharedLinksApi: _param = self._remove_shared_link_assets_serialize( id=id, asset_ids_dto=asset_ids_dto, - key=key, _request_auth=_request_auth, _content_type=_content_type, _headers=_headers, @@ -1913,7 +1908,6 @@ class SharedLinksApi: self, id, asset_ids_dto, - key, _request_auth, _content_type, _headers, @@ -1938,10 +1932,6 @@ class SharedLinksApi: if id is not None: _path_params['id'] = id # process the query parameters - if key is not None: - - _query_params.append(('key', key)) - # process the header parameters # process the form parameters # process the body parameter @@ -1996,10 +1986,320 @@ class SharedLinksApi: + @validate_call + def shared_link_login( + self, + shared_link_login_dto: SharedLinkLoginDto, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SharedLinkResponseDto: + """Shared link login + + Login to a password protected shared link + + :param shared_link_login_dto: (required) + :type shared_link_login_dto: SharedLinkLoginDto + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._shared_link_login_serialize( + shared_link_login_dto=shared_link_login_dto, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SharedLinkResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def shared_link_login_with_http_info( + self, + shared_link_login_dto: SharedLinkLoginDto, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SharedLinkResponseDto]: + """Shared link login + + Login to a password protected shared link + + :param shared_link_login_dto: (required) + :type shared_link_login_dto: SharedLinkLoginDto + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._shared_link_login_serialize( + shared_link_login_dto=shared_link_login_dto, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SharedLinkResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def shared_link_login_without_preload_content( + self, + shared_link_login_dto: SharedLinkLoginDto, + key: Optional[StrictStr] = None, + slug: Optional[StrictStr] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Shared link login + + Login to a password protected shared link + + :param shared_link_login_dto: (required) + :type shared_link_login_dto: SharedLinkLoginDto + :param key: + :type key: str + :param slug: + :type slug: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._shared_link_login_serialize( + shared_link_login_dto=shared_link_login_dto, + key=key, + slug=slug, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SharedLinkResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _shared_link_login_serialize( + self, + shared_link_login_dto, + key, + slug, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if key is not None: + + _query_params.append(('key', key)) + + if slug is not None: + + _query_params.append(('slug', slug)) + + # process the header parameters + # process the form parameters + # process the body parameter + if shared_link_login_dto is not None: + _body_params = shared_link_login_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/shared-links/login', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def update_shared_link( self, - id: StrictStr, + id: UUID, shared_link_edit_dto: SharedLinkEditDto, _request_timeout: Union[ None, @@ -2014,11 +2314,12 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SharedLinkResponseDto: - """update_shared_link + """Update a shared link + Update an existing shared link by its ID. :param id: (required) - :type id: str + :type id: UUID :param shared_link_edit_dto: (required) :type shared_link_edit_dto: SharedLinkEditDto :param _request_timeout: timeout setting for this request. If one @@ -2069,7 +2370,7 @@ class SharedLinksApi: @validate_call def update_shared_link_with_http_info( self, - id: StrictStr, + id: UUID, shared_link_edit_dto: SharedLinkEditDto, _request_timeout: Union[ None, @@ -2084,11 +2385,12 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SharedLinkResponseDto]: - """update_shared_link + """Update a shared link + Update an existing shared link by its ID. :param id: (required) - :type id: str + :type id: UUID :param shared_link_edit_dto: (required) :type shared_link_edit_dto: SharedLinkEditDto :param _request_timeout: timeout setting for this request. If one @@ -2139,7 +2441,7 @@ class SharedLinksApi: @validate_call def update_shared_link_without_preload_content( self, - id: StrictStr, + id: UUID, shared_link_edit_dto: SharedLinkEditDto, _request_timeout: Union[ None, @@ -2154,11 +2456,12 @@ class SharedLinksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_shared_link + """Update a shared link + Update an existing shared link by its ID. :param id: (required) - :type id: str + :type id: UUID :param shared_link_edit_dto: (required) :type shared_link_edit_dto: SharedLinkEditDto :param _request_timeout: timeout setting for this request. If one diff --git a/generated/immich/openapi_client/api/stacks_api.py b/generated/immich/openapi_client/api/stacks_api.py index cc0b326..d107fe3 100644 --- a/generated/immich/openapi_client/api/stacks_api.py +++ b/generated/immich/openapi_client/api/stacks_api.py @@ -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. @@ -16,8 +16,10 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr +from pydantic import Field from typing import List, Optional +from typing_extensions import Annotated +from uuid import UUID from generated.immich.openapi_client.models.bulk_ids_dto import BulkIdsDto from generated.immich.openapi_client.models.stack_create_dto import StackCreateDto from generated.immich.openapi_client.models.stack_response_dto import StackResponseDto @@ -58,8 +60,9 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> StackResponseDto: - """create_stack + """Create a stack + Create a new stack by providing a name and a list of asset IDs to include in the stack. If any of the provided asset IDs are primary assets of an existing stack, the existing stack will be merged into the newly created stack. :param stack_create_dto: (required) :type stack_create_dto: StackCreateDto @@ -124,8 +127,9 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[StackResponseDto]: - """create_stack + """Create a stack + Create a new stack by providing a name and a list of asset IDs to include in the stack. If any of the provided asset IDs are primary assets of an existing stack, the existing stack will be merged into the newly created stack. :param stack_create_dto: (required) :type stack_create_dto: StackCreateDto @@ -190,8 +194,9 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_stack + """Create a stack + Create a new stack by providing a name and a list of asset IDs to include in the stack. If any of the provided asset IDs are primary assets of an existing stack, the existing stack will be merged into the newly created stack. :param stack_create_dto: (required) :type stack_create_dto: StackCreateDto @@ -317,7 +322,7 @@ class StacksApi: @validate_call def delete_stack( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -331,11 +336,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_stack + """Delete a stack + Delete a specific stack by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -383,7 +389,7 @@ class StacksApi: @validate_call def delete_stack_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -397,11 +403,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_stack + """Delete a stack + Delete a specific stack by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -449,7 +456,7 @@ class StacksApi: @validate_call def delete_stack_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -463,11 +470,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_stack + """Delete a stack + Delete a specific stack by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -584,8 +592,9 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_stacks + """Delete stacks + Delete multiple stacks by providing a list of stack IDs. :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto @@ -650,8 +659,9 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_stacks + """Delete stacks + Delete multiple stacks by providing a list of stack IDs. :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto @@ -716,8 +726,9 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_stacks + """Delete stacks + Delete multiple stacks by providing a list of stack IDs. :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto @@ -836,7 +847,7 @@ class StacksApi: @validate_call def get_stack( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -850,11 +861,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> StackResponseDto: - """get_stack + """Retrieve a stack + Retrieve a specific stack by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -902,7 +914,7 @@ class StacksApi: @validate_call def get_stack_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -916,11 +928,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[StackResponseDto]: - """get_stack + """Retrieve a stack + Retrieve a specific stack by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -968,7 +981,7 @@ class StacksApi: @validate_call def get_stack_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -982,11 +995,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_stack + """Retrieve a stack + Retrieve a specific stack by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1093,10 +1107,281 @@ class StacksApi: + @validate_call + def remove_asset_from_stack( + self, + asset_id: UUID, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Remove an asset from a stack + + Remove a specific asset from a stack by providing the stack ID and asset ID. + + :param asset_id: (required) + :type asset_id: UUID + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_asset_from_stack_serialize( + asset_id=asset_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def remove_asset_from_stack_with_http_info( + self, + asset_id: UUID, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Remove an asset from a stack + + Remove a specific asset from a stack by providing the stack ID and asset ID. + + :param asset_id: (required) + :type asset_id: UUID + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_asset_from_stack_serialize( + asset_id=asset_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def remove_asset_from_stack_without_preload_content( + self, + asset_id: UUID, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Remove an asset from a stack + + Remove a specific asset from a stack by providing the stack ID and asset ID. + + :param asset_id: (required) + :type asset_id: UUID + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._remove_asset_from_stack_serialize( + asset_id=asset_id, + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _remove_asset_from_stack_serialize( + self, + asset_id, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if asset_id is not None: + _path_params['assetId'] = asset_id + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/stacks/{id}/assets/{assetId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def search_stacks( self, - primary_asset_id: Optional[StrictStr] = None, + primary_asset_id: Annotated[Optional[UUID], Field(description="Filter by primary asset ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1110,11 +1395,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[StackResponseDto]: - """search_stacks + """Retrieve stacks + Retrieve a list of stacks. - :param primary_asset_id: - :type primary_asset_id: str + :param primary_asset_id: Filter by primary asset ID + :type primary_asset_id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1162,7 +1448,7 @@ class StacksApi: @validate_call def search_stacks_with_http_info( self, - primary_asset_id: Optional[StrictStr] = None, + primary_asset_id: Annotated[Optional[UUID], Field(description="Filter by primary asset ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1176,11 +1462,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[StackResponseDto]]: - """search_stacks + """Retrieve stacks + Retrieve a list of stacks. - :param primary_asset_id: - :type primary_asset_id: str + :param primary_asset_id: Filter by primary asset ID + :type primary_asset_id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1228,7 +1515,7 @@ class StacksApi: @validate_call def search_stacks_without_preload_content( self, - primary_asset_id: Optional[StrictStr] = None, + primary_asset_id: Annotated[Optional[UUID], Field(description="Filter by primary asset ID")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1242,11 +1529,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """search_stacks + """Retrieve stacks + Retrieve a list of stacks. - :param primary_asset_id: - :type primary_asset_id: str + :param primary_asset_id: Filter by primary asset ID + :type primary_asset_id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1358,7 +1646,7 @@ class StacksApi: @validate_call def update_stack( self, - id: StrictStr, + id: UUID, stack_update_dto: StackUpdateDto, _request_timeout: Union[ None, @@ -1373,11 +1661,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> StackResponseDto: - """update_stack + """(Deprecated) Update a stack + Update an existing stack by its ID. :param id: (required) - :type id: str + :type id: UUID :param stack_update_dto: (required) :type stack_update_dto: StackUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1401,6 +1690,7 @@ class StacksApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /stacks/{id} is deprecated.", DeprecationWarning) _param = self._update_stack_serialize( id=id, @@ -1428,7 +1718,7 @@ class StacksApi: @validate_call def update_stack_with_http_info( self, - id: StrictStr, + id: UUID, stack_update_dto: StackUpdateDto, _request_timeout: Union[ None, @@ -1443,11 +1733,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[StackResponseDto]: - """update_stack + """(Deprecated) Update a stack + Update an existing stack by its ID. :param id: (required) - :type id: str + :type id: UUID :param stack_update_dto: (required) :type stack_update_dto: StackUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1471,6 +1762,7 @@ class StacksApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /stacks/{id} is deprecated.", DeprecationWarning) _param = self._update_stack_serialize( id=id, @@ -1498,7 +1790,7 @@ class StacksApi: @validate_call def update_stack_without_preload_content( self, - id: StrictStr, + id: UUID, stack_update_dto: StackUpdateDto, _request_timeout: Union[ None, @@ -1513,11 +1805,12 @@ class StacksApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_stack + """(Deprecated) Update a stack + Update an existing stack by its ID. :param id: (required) - :type id: str + :type id: UUID :param stack_update_dto: (required) :type stack_update_dto: StackUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1541,6 +1834,7 @@ class StacksApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /stacks/{id} is deprecated.", DeprecationWarning) _param = self._update_stack_serialize( id=id, diff --git a/generated/immich/openapi_client/api/sync_api.py b/generated/immich/openapi_client/api/sync_api.py index 078a2e9..820d157 100644 --- a/generated/immich/openapi_client/api/sync_api.py +++ b/generated/immich/openapi_client/api/sync_api.py @@ -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,10 +17,6 @@ from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated from typing import List -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_full_sync_dto import AssetFullSyncDto -from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto 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 @@ -61,8 +57,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_sync_ack + """Delete acknowledgements + Delete specific synchronization acknowledgments. :param sync_ack_delete_dto: (required) :type sync_ack_delete_dto: SyncAckDeleteDto @@ -127,8 +124,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_sync_ack + """Delete acknowledgements + Delete specific synchronization acknowledgments. :param sync_ack_delete_dto: (required) :type sync_ack_delete_dto: SyncAckDeleteDto @@ -193,8 +191,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_sync_ack + """Delete acknowledgements + Delete specific synchronization acknowledgments. :param sync_ack_delete_dto: (required) :type sync_ack_delete_dto: SyncAckDeleteDto @@ -310,552 +309,6 @@ class SyncApi: - @validate_call - def get_delta_sync( - self, - asset_delta_sync_dto: AssetDeltaSyncDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> AssetDeltaSyncResponseDto: - """get_delta_sync - - - :param asset_delta_sync_dto: (required) - :type asset_delta_sync_dto: AssetDeltaSyncDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_delta_sync_serialize( - asset_delta_sync_dto=asset_delta_sync_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "AssetDeltaSyncResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_delta_sync_with_http_info( - self, - asset_delta_sync_dto: AssetDeltaSyncDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[AssetDeltaSyncResponseDto]: - """get_delta_sync - - - :param asset_delta_sync_dto: (required) - :type asset_delta_sync_dto: AssetDeltaSyncDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_delta_sync_serialize( - asset_delta_sync_dto=asset_delta_sync_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "AssetDeltaSyncResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_delta_sync_without_preload_content( - self, - asset_delta_sync_dto: AssetDeltaSyncDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """get_delta_sync - - - :param asset_delta_sync_dto: (required) - :type asset_delta_sync_dto: AssetDeltaSyncDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_delta_sync_serialize( - asset_delta_sync_dto=asset_delta_sync_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "AssetDeltaSyncResponseDto", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_delta_sync_serialize( - self, - asset_delta_sync_dto, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if asset_delta_sync_dto is not None: - _body_params = asset_delta_sync_dto - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/sync/delta-sync', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_full_sync_for_user( - self, - asset_full_sync_dto: AssetFullSyncDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AssetResponseDto]: - """get_full_sync_for_user - - - :param asset_full_sync_dto: (required) - :type asset_full_sync_dto: AssetFullSyncDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_full_sync_for_user_serialize( - asset_full_sync_dto=asset_full_sync_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_full_sync_for_user_with_http_info( - self, - asset_full_sync_dto: AssetFullSyncDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AssetResponseDto]]: - """get_full_sync_for_user - - - :param asset_full_sync_dto: (required) - :type asset_full_sync_dto: AssetFullSyncDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_full_sync_for_user_serialize( - asset_full_sync_dto=asset_full_sync_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_full_sync_for_user_without_preload_content( - self, - asset_full_sync_dto: AssetFullSyncDto, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """get_full_sync_for_user - - - :param asset_full_sync_dto: (required) - :type asset_full_sync_dto: AssetFullSyncDto - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_full_sync_for_user_serialize( - asset_full_sync_dto=asset_full_sync_dto, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_full_sync_for_user_serialize( - self, - asset_full_sync_dto, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - if asset_full_sync_dto is not None: - _body_params = asset_full_sync_dto - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - # set the HTTP header `Content-Type` - if _content_type: - _header_params['Content-Type'] = _content_type - else: - _default_content_type = ( - self.api_client.select_header_content_type( - [ - 'application/json' - ] - ) - ) - if _default_content_type is not None: - _header_params['Content-Type'] = _default_content_type - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='POST', - resource_path='/sync/full-sync', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - @validate_call def get_sync_ack( self, @@ -872,8 +325,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[SyncAckDto]: - """get_sync_ack + """Retrieve acknowledgements + Retrieve the synchronization acknowledgments for the current session. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -934,8 +388,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[SyncAckDto]]: - """get_sync_ack + """Retrieve acknowledgements + Retrieve the synchronization acknowledgments for the current session. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -996,8 +451,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_sync_ack + """Retrieve acknowledgements + Retrieve the synchronization acknowledgments for the current session. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1118,8 +574,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """get_sync_stream + """Stream sync changes + Retrieve a JSON lines streamed response of changes for synchronization. This endpoint is used by the mobile app to efficiently stay up to date with changes. :param sync_stream_dto: (required) :type sync_stream_dto: SyncStreamDto @@ -1184,8 +641,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """get_sync_stream + """Stream sync changes + Retrieve a JSON lines streamed response of changes for synchronization. This endpoint is used by the mobile app to efficiently stay up to date with changes. :param sync_stream_dto: (required) :type sync_stream_dto: SyncStreamDto @@ -1250,8 +708,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_sync_stream + """Stream sync changes + Retrieve a JSON lines streamed response of changes for synchronization. This endpoint is used by the mobile app to efficiently stay up to date with changes. :param sync_stream_dto: (required) :type sync_stream_dto: SyncStreamDto @@ -1384,8 +843,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """send_sync_ack + """Acknowledge changes + Send a list of synchronization acknowledgements to confirm that the latest changes have been received. :param sync_ack_set_dto: (required) :type sync_ack_set_dto: SyncAckSetDto @@ -1450,8 +910,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """send_sync_ack + """Acknowledge changes + Send a list of synchronization acknowledgements to confirm that the latest changes have been received. :param sync_ack_set_dto: (required) :type sync_ack_set_dto: SyncAckSetDto @@ -1516,8 +977,9 @@ class SyncApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """send_sync_ack + """Acknowledge changes + Send a list of synchronization acknowledgements to confirm that the latest changes have been received. :param sync_ack_set_dto: (required) :type sync_ack_set_dto: SyncAckSetDto diff --git a/generated/immich/openapi_client/api/system_config_api.py b/generated/immich/openapi_client/api/system_config_api.py index 97f4e66..80fc0c5 100644 --- a/generated/immich/openapi_client/api/system_config_api.py +++ b/generated/immich/openapi_client/api/system_config_api.py @@ -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. @@ -53,8 +53,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SystemConfigDto: - """get_config + """Get system configuration + Retrieve the current system configuration. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -115,8 +116,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SystemConfigDto]: - """get_config + """Get system configuration + Retrieve the current system configuration. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -177,8 +179,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_config + """Get system configuration + Retrieve the current system configuration. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -298,8 +301,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SystemConfigDto: - """get_config_defaults + """Get system configuration defaults + Retrieve the default values for the system configuration. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -360,8 +364,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SystemConfigDto]: - """get_config_defaults + """Get system configuration defaults + Retrieve the default values for the system configuration. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -422,8 +427,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_config_defaults + """Get system configuration defaults + Retrieve the default values for the system configuration. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -543,8 +549,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SystemConfigTemplateStorageOptionDto: - """get_storage_template_options + """Get storage template options + Retrieve exemplary storage template options. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -605,8 +612,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SystemConfigTemplateStorageOptionDto]: - """get_storage_template_options + """Get storage template options + Retrieve exemplary storage template options. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -667,8 +675,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_storage_template_options + """Get storage template options + Retrieve exemplary storage template options. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -789,8 +798,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SystemConfigDto: - """update_config + """Update system configuration + Update the system configuration with a new system configuration. :param system_config_dto: (required) :type system_config_dto: SystemConfigDto @@ -855,8 +865,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SystemConfigDto]: - """update_config + """Update system configuration + Update the system configuration with a new system configuration. :param system_config_dto: (required) :type system_config_dto: SystemConfigDto @@ -921,8 +932,9 @@ class SystemConfigApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_config + """Update system configuration + Update the system configuration with a new system configuration. :param system_config_dto: (required) :type system_config_dto: SystemConfigDto diff --git a/generated/immich/openapi_client/api/system_metadata_api.py b/generated/immich/openapi_client/api/system_metadata_api.py index f5ab473..abed451 100644 --- a/generated/immich/openapi_client/api/system_metadata_api.py +++ b/generated/immich/openapi_client/api/system_metadata_api.py @@ -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,6 +18,7 @@ from typing_extensions import Annotated from generated.immich.openapi_client.models.admin_onboarding_update_dto import AdminOnboardingUpdateDto from generated.immich.openapi_client.models.reverse_geocoding_state_response_dto import ReverseGeocodingStateResponseDto +from generated.immich.openapi_client.models.version_check_state_response_dto import VersionCheckStateResponseDto from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -53,8 +54,9 @@ class SystemMetadataApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> AdminOnboardingUpdateDto: - """get_admin_onboarding + """Retrieve admin onboarding + Retrieve the current admin onboarding status. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -115,8 +117,9 @@ class SystemMetadataApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[AdminOnboardingUpdateDto]: - """get_admin_onboarding + """Retrieve admin onboarding + Retrieve the current admin onboarding status. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -177,8 +180,9 @@ class SystemMetadataApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_admin_onboarding + """Retrieve admin onboarding + Retrieve the current admin onboarding status. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -298,8 +302,9 @@ class SystemMetadataApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ReverseGeocodingStateResponseDto: - """get_reverse_geocoding_state + """Retrieve reverse geocoding state + Retrieve the current state of the reverse geocoding import. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -360,8 +365,9 @@ class SystemMetadataApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[ReverseGeocodingStateResponseDto]: - """get_reverse_geocoding_state + """Retrieve reverse geocoding state + Retrieve the current state of the reverse geocoding import. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -422,8 +428,9 @@ class SystemMetadataApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_reverse_geocoding_state + """Retrieve reverse geocoding state + Retrieve the current state of the reverse geocoding import. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -527,6 +534,254 @@ class SystemMetadataApi: + @validate_call + def get_version_check_state( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> VersionCheckStateResponseDto: + """Retrieve version check state + + Retrieve the current state of the version check process. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_version_check_state_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VersionCheckStateResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_version_check_state_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[VersionCheckStateResponseDto]: + """Retrieve version check state + + Retrieve the current state of the version check process. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_version_check_state_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VersionCheckStateResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_version_check_state_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve version check state + + Retrieve the current state of the version check process. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_version_check_state_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "VersionCheckStateResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_version_check_state_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/system-metadata/version-check-state', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def update_admin_onboarding( self, @@ -544,8 +799,9 @@ class SystemMetadataApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """update_admin_onboarding + """Update admin onboarding + Update the admin onboarding status. :param admin_onboarding_update_dto: (required) :type admin_onboarding_update_dto: AdminOnboardingUpdateDto @@ -610,8 +866,9 @@ class SystemMetadataApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """update_admin_onboarding + """Update admin onboarding + Update the admin onboarding status. :param admin_onboarding_update_dto: (required) :type admin_onboarding_update_dto: AdminOnboardingUpdateDto @@ -676,8 +933,9 @@ class SystemMetadataApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_admin_onboarding + """Update admin onboarding + Update the admin onboarding status. :param admin_onboarding_update_dto: (required) :type admin_onboarding_update_dto: AdminOnboardingUpdateDto diff --git a/generated/immich/openapi_client/api/tags_api.py b/generated/immich/openapi_client/api/tags_api.py index 1006e81..6a3cd9f 100644 --- a/generated/immich/openapi_client/api/tags_api.py +++ b/generated/immich/openapi_client/api/tags_api.py @@ -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. @@ -16,8 +16,8 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictStr from typing import List +from uuid import UUID 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.tag_bulk_assets_dto import TagBulkAssetsDto @@ -62,8 +62,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> TagBulkAssetsResponseDto: - """bulk_tag_assets + """Tag assets + Add multiple tags to multiple assets in a single request. :param tag_bulk_assets_dto: (required) :type tag_bulk_assets_dto: TagBulkAssetsDto @@ -128,8 +129,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[TagBulkAssetsResponseDto]: - """bulk_tag_assets + """Tag assets + Add multiple tags to multiple assets in a single request. :param tag_bulk_assets_dto: (required) :type tag_bulk_assets_dto: TagBulkAssetsDto @@ -194,8 +196,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """bulk_tag_assets + """Tag assets + Add multiple tags to multiple assets in a single request. :param tag_bulk_assets_dto: (required) :type tag_bulk_assets_dto: TagBulkAssetsDto @@ -335,8 +338,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> TagResponseDto: - """create_tag + """Create a tag + Create a new tag by providing a name and optional color. :param tag_create_dto: (required) :type tag_create_dto: TagCreateDto @@ -401,8 +405,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[TagResponseDto]: - """create_tag + """Create a tag + Create a new tag by providing a name and optional color. :param tag_create_dto: (required) :type tag_create_dto: TagCreateDto @@ -467,8 +472,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_tag + """Create a tag + Create a new tag by providing a name and optional color. :param tag_create_dto: (required) :type tag_create_dto: TagCreateDto @@ -594,7 +600,7 @@ class TagsApi: @validate_call def delete_tag( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -608,11 +614,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_tag + """Delete a tag + Delete a specific tag by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -660,7 +667,7 @@ class TagsApi: @validate_call def delete_tag_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -674,11 +681,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_tag + """Delete a tag + Delete a specific tag by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -726,7 +734,7 @@ class TagsApi: @validate_call def delete_tag_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -740,11 +748,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_tag + """Delete a tag + Delete a specific tag by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -860,8 +869,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[TagResponseDto]: - """get_all_tags + """Retrieve tags + Retrieve a list of all tags. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -922,8 +932,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[TagResponseDto]]: - """get_all_tags + """Retrieve tags + Retrieve a list of all tags. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -984,8 +995,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_all_tags + """Retrieve tags + Retrieve a list of all tags. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1092,7 +1104,7 @@ class TagsApi: @validate_call def get_tag_by_id( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1106,11 +1118,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> TagResponseDto: - """get_tag_by_id + """Retrieve a tag + Retrieve a specific tag by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1158,7 +1171,7 @@ class TagsApi: @validate_call def get_tag_by_id_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1172,11 +1185,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[TagResponseDto]: - """get_tag_by_id + """Retrieve a tag + Retrieve a specific tag by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1224,7 +1238,7 @@ class TagsApi: @validate_call def get_tag_by_id_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1238,11 +1252,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_tag_by_id + """Retrieve a tag + Retrieve a specific tag by its ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1352,7 +1367,7 @@ class TagsApi: @validate_call def tag_assets( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -1367,11 +1382,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[BulkIdResponseDto]: - """tag_assets + """Tag assets + Add a tag to all the specified assets. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -1422,7 +1438,7 @@ class TagsApi: @validate_call def tag_assets_with_http_info( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -1437,11 +1453,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[BulkIdResponseDto]]: - """tag_assets + """Tag assets + Add a tag to all the specified assets. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -1492,7 +1509,7 @@ class TagsApi: @validate_call def tag_assets_without_preload_content( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -1507,11 +1524,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """tag_assets + """Tag assets + Add a tag to all the specified assets. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -1640,7 +1658,7 @@ class TagsApi: @validate_call def untag_assets( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -1655,11 +1673,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[BulkIdResponseDto]: - """untag_assets + """Untag assets + Remove a tag from all the specified assets. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -1710,7 +1729,7 @@ class TagsApi: @validate_call def untag_assets_with_http_info( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -1725,11 +1744,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[BulkIdResponseDto]]: - """untag_assets + """Untag assets + Remove a tag from all the specified assets. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -1780,7 +1800,7 @@ class TagsApi: @validate_call def untag_assets_without_preload_content( self, - id: StrictStr, + id: UUID, bulk_ids_dto: BulkIdsDto, _request_timeout: Union[ None, @@ -1795,11 +1815,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """untag_assets + """Untag assets + Remove a tag from all the specified assets. :param id: (required) - :type id: str + :type id: UUID :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto :param _request_timeout: timeout setting for this request. If one @@ -1928,7 +1949,7 @@ class TagsApi: @validate_call def update_tag( self, - id: StrictStr, + id: UUID, tag_update_dto: TagUpdateDto, _request_timeout: Union[ None, @@ -1943,11 +1964,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> TagResponseDto: - """update_tag + """(Deprecated) Update a tag + Update an existing tag identified by its ID. :param id: (required) - :type id: str + :type id: UUID :param tag_update_dto: (required) :type tag_update_dto: TagUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1971,6 +1993,7 @@ class TagsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /tags/{id} is deprecated.", DeprecationWarning) _param = self._update_tag_serialize( id=id, @@ -1998,7 +2021,7 @@ class TagsApi: @validate_call def update_tag_with_http_info( self, - id: StrictStr, + id: UUID, tag_update_dto: TagUpdateDto, _request_timeout: Union[ None, @@ -2013,11 +2036,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[TagResponseDto]: - """update_tag + """(Deprecated) Update a tag + Update an existing tag identified by its ID. :param id: (required) - :type id: str + :type id: UUID :param tag_update_dto: (required) :type tag_update_dto: TagUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -2041,6 +2065,7 @@ class TagsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /tags/{id} is deprecated.", DeprecationWarning) _param = self._update_tag_serialize( id=id, @@ -2068,7 +2093,7 @@ class TagsApi: @validate_call def update_tag_without_preload_content( self, - id: StrictStr, + id: UUID, tag_update_dto: TagUpdateDto, _request_timeout: Union[ None, @@ -2083,11 +2108,12 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_tag + """(Deprecated) Update a tag + Update an existing tag identified by its ID. :param id: (required) - :type id: str + :type id: UUID :param tag_update_dto: (required) :type tag_update_dto: TagUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -2111,6 +2137,7 @@ class TagsApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /tags/{id} is deprecated.", DeprecationWarning) _param = self._update_tag_serialize( id=id, @@ -2230,8 +2257,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[TagResponseDto]: - """upsert_tags + """Upsert tags + Create or update multiple tags in a single request. :param tag_upsert_dto: (required) :type tag_upsert_dto: TagUpsertDto @@ -2296,8 +2324,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[TagResponseDto]]: - """upsert_tags + """Upsert tags + Create or update multiple tags in a single request. :param tag_upsert_dto: (required) :type tag_upsert_dto: TagUpsertDto @@ -2362,8 +2391,9 @@ class TagsApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """upsert_tags + """Upsert tags + Create or update multiple tags in a single request. :param tag_upsert_dto: (required) :type tag_upsert_dto: TagUpsertDto diff --git a/generated/immich/openapi_client/api/timeline_api.py b/generated/immich/openapi_client/api/timeline_api.py index f43d76d..d79f14d 100644 --- a/generated/immich/openapi_client/api/timeline_api.py +++ b/generated/immich/openapi_client/api/timeline_api.py @@ -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. @@ -16,12 +16,15 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictBool, StrictStr +from pydantic import Field, StrictBool, StrictStr from typing import List, Optional +from typing_extensions import Annotated +from uuid import UUID 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.time_bucket_response_dto import TimeBucketResponseDto -from generated.immich.openapi_client.models.time_bucket_size import TimeBucketSize +from generated.immich.openapi_client.models.asset_order_by import AssetOrderBy +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility +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.api_client import ApiClient, RequestSerialized from generated.immich.openapi_client.api_response import ApiResponse @@ -44,19 +47,22 @@ class TimelineApi: @validate_call def get_time_bucket( self, - size: TimeBucketSize, - time_bucket: StrictStr, - album_id: Optional[StrictStr] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + time_bucket: Annotated[StrictStr, Field(description="Time bucket identifier in YYYY-MM-DD format")], + album_id: Annotated[Optional[UUID], Field(description="Filter assets belonging to a specific album")] = None, + bbox: Annotated[Optional[StrictStr], Field(description="Bounding box coordinates as west,south,east,north (WGS84)")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status (true for favorites only, false for non-favorites only)")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status (true for trashed assets only, false for non-trashed only)")] = None, key: Optional[StrictStr] = None, - order: Optional[AssetOrder] = None, - person_id: Optional[StrictStr] = None, - tag_id: Optional[StrictStr] = None, - user_id: Optional[StrictStr] = None, - with_partners: Optional[StrictBool] = None, - with_stacked: Optional[StrictBool] = None, + order: Annotated[Optional[AssetOrder], Field(description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)")] = None, + order_by: Annotated[Optional[AssetOrderBy], Field(description="Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich)")] = None, + person_id: Annotated[Optional[UUID], Field(description="Filter assets containing a specific person (face recognition)")] = None, + slug: Optional[StrictStr] = None, + tag_id: Annotated[Optional[UUID], Field(description="Filter assets with a specific tag")] = None, + user_id: Annotated[Optional[UUID], Field(description="Filter assets by specific user ID")] = None, + visibility: Annotated[Optional[AssetVisibility], Field(description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)")] = None, + with_coordinates: Annotated[Optional[StrictBool], Field(description="Include location data in the response")] = None, + with_partners: Annotated[Optional[StrictBool], Field(description="Include assets shared by partners")] = None, + with_stacked: Annotated[Optional[StrictBool], Field(description="Include stacked assets in the response. When true, only primary assets from stacks are returned.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -69,35 +75,42 @@ class TimelineApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AssetResponseDto]: - """get_time_bucket + ) -> TimeBucketAssetResponseDto: + """Get time bucket + Retrieve a string of all asset ids in a given time bucket. - :param size: (required) - :type size: TimeBucketSize - :param time_bucket: (required) + :param time_bucket: Time bucket identifier in YYYY-MM-DD format (required) :type time_bucket: str - :param album_id: - :type album_id: str - :param is_archived: - :type is_archived: bool - :param is_favorite: + :param album_id: Filter assets belonging to a specific album + :type album_id: UUID + :param bbox: Bounding box coordinates as west,south,east,north (WGS84) + :type bbox: str + :param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only) :type is_favorite: bool - :param is_trashed: + :param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only) :type is_trashed: bool :param key: :type key: str - :param order: + :param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) :type order: AssetOrder - :param person_id: - :type person_id: str - :param tag_id: - :type tag_id: str - :param user_id: - :type user_id: str - :param with_partners: + :param order_by: Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) + :type order_by: AssetOrderBy + :param person_id: Filter assets containing a specific person (face recognition) + :type person_id: UUID + :param slug: + :type slug: str + :param tag_id: Filter assets with a specific tag + :type tag_id: UUID + :param user_id: Filter assets by specific user ID + :type user_id: UUID + :param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) + :type visibility: AssetVisibility + :param with_coordinates: Include location data in the response + :type with_coordinates: bool + :param with_partners: Include assets shared by partners :type with_partners: bool - :param with_stacked: + :param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned. :type with_stacked: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -122,17 +135,20 @@ class TimelineApi: """ # noqa: E501 _param = self._get_time_bucket_serialize( - size=size, time_bucket=time_bucket, album_id=album_id, - is_archived=is_archived, + bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, + order_by=order_by, person_id=person_id, + slug=slug, tag_id=tag_id, user_id=user_id, + visibility=visibility, + with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked, _request_auth=_request_auth, @@ -142,7 +158,7 @@ class TimelineApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", + '200': "TimeBucketAssetResponseDto", } response_data = self.api_client.call_api( *_param, @@ -158,19 +174,22 @@ class TimelineApi: @validate_call def get_time_bucket_with_http_info( self, - size: TimeBucketSize, - time_bucket: StrictStr, - album_id: Optional[StrictStr] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + time_bucket: Annotated[StrictStr, Field(description="Time bucket identifier in YYYY-MM-DD format")], + album_id: Annotated[Optional[UUID], Field(description="Filter assets belonging to a specific album")] = None, + bbox: Annotated[Optional[StrictStr], Field(description="Bounding box coordinates as west,south,east,north (WGS84)")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status (true for favorites only, false for non-favorites only)")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status (true for trashed assets only, false for non-trashed only)")] = None, key: Optional[StrictStr] = None, - order: Optional[AssetOrder] = None, - person_id: Optional[StrictStr] = None, - tag_id: Optional[StrictStr] = None, - user_id: Optional[StrictStr] = None, - with_partners: Optional[StrictBool] = None, - with_stacked: Optional[StrictBool] = None, + order: Annotated[Optional[AssetOrder], Field(description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)")] = None, + order_by: Annotated[Optional[AssetOrderBy], Field(description="Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich)")] = None, + person_id: Annotated[Optional[UUID], Field(description="Filter assets containing a specific person (face recognition)")] = None, + slug: Optional[StrictStr] = None, + tag_id: Annotated[Optional[UUID], Field(description="Filter assets with a specific tag")] = None, + user_id: Annotated[Optional[UUID], Field(description="Filter assets by specific user ID")] = None, + visibility: Annotated[Optional[AssetVisibility], Field(description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)")] = None, + with_coordinates: Annotated[Optional[StrictBool], Field(description="Include location data in the response")] = None, + with_partners: Annotated[Optional[StrictBool], Field(description="Include assets shared by partners")] = None, + with_stacked: Annotated[Optional[StrictBool], Field(description="Include stacked assets in the response. When true, only primary assets from stacks are returned.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -183,35 +202,42 @@ class TimelineApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AssetResponseDto]]: - """get_time_bucket + ) -> ApiResponse[TimeBucketAssetResponseDto]: + """Get time bucket + Retrieve a string of all asset ids in a given time bucket. - :param size: (required) - :type size: TimeBucketSize - :param time_bucket: (required) + :param time_bucket: Time bucket identifier in YYYY-MM-DD format (required) :type time_bucket: str - :param album_id: - :type album_id: str - :param is_archived: - :type is_archived: bool - :param is_favorite: + :param album_id: Filter assets belonging to a specific album + :type album_id: UUID + :param bbox: Bounding box coordinates as west,south,east,north (WGS84) + :type bbox: str + :param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only) :type is_favorite: bool - :param is_trashed: + :param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only) :type is_trashed: bool :param key: :type key: str - :param order: + :param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) :type order: AssetOrder - :param person_id: - :type person_id: str - :param tag_id: - :type tag_id: str - :param user_id: - :type user_id: str - :param with_partners: + :param order_by: Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) + :type order_by: AssetOrderBy + :param person_id: Filter assets containing a specific person (face recognition) + :type person_id: UUID + :param slug: + :type slug: str + :param tag_id: Filter assets with a specific tag + :type tag_id: UUID + :param user_id: Filter assets by specific user ID + :type user_id: UUID + :param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) + :type visibility: AssetVisibility + :param with_coordinates: Include location data in the response + :type with_coordinates: bool + :param with_partners: Include assets shared by partners :type with_partners: bool - :param with_stacked: + :param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned. :type with_stacked: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -236,17 +262,20 @@ class TimelineApi: """ # noqa: E501 _param = self._get_time_bucket_serialize( - size=size, time_bucket=time_bucket, album_id=album_id, - is_archived=is_archived, + bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, + order_by=order_by, person_id=person_id, + slug=slug, tag_id=tag_id, user_id=user_id, + visibility=visibility, + with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked, _request_auth=_request_auth, @@ -256,7 +285,7 @@ class TimelineApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", + '200': "TimeBucketAssetResponseDto", } response_data = self.api_client.call_api( *_param, @@ -272,19 +301,22 @@ class TimelineApi: @validate_call def get_time_bucket_without_preload_content( self, - size: TimeBucketSize, - time_bucket: StrictStr, - album_id: Optional[StrictStr] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + time_bucket: Annotated[StrictStr, Field(description="Time bucket identifier in YYYY-MM-DD format")], + album_id: Annotated[Optional[UUID], Field(description="Filter assets belonging to a specific album")] = None, + bbox: Annotated[Optional[StrictStr], Field(description="Bounding box coordinates as west,south,east,north (WGS84)")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status (true for favorites only, false for non-favorites only)")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status (true for trashed assets only, false for non-trashed only)")] = None, key: Optional[StrictStr] = None, - order: Optional[AssetOrder] = None, - person_id: Optional[StrictStr] = None, - tag_id: Optional[StrictStr] = None, - user_id: Optional[StrictStr] = None, - with_partners: Optional[StrictBool] = None, - with_stacked: Optional[StrictBool] = None, + order: Annotated[Optional[AssetOrder], Field(description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)")] = None, + order_by: Annotated[Optional[AssetOrderBy], Field(description="Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich)")] = None, + person_id: Annotated[Optional[UUID], Field(description="Filter assets containing a specific person (face recognition)")] = None, + slug: Optional[StrictStr] = None, + tag_id: Annotated[Optional[UUID], Field(description="Filter assets with a specific tag")] = None, + user_id: Annotated[Optional[UUID], Field(description="Filter assets by specific user ID")] = None, + visibility: Annotated[Optional[AssetVisibility], Field(description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)")] = None, + with_coordinates: Annotated[Optional[StrictBool], Field(description="Include location data in the response")] = None, + with_partners: Annotated[Optional[StrictBool], Field(description="Include assets shared by partners")] = None, + with_stacked: Annotated[Optional[StrictBool], Field(description="Include stacked assets in the response. When true, only primary assets from stacks are returned.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -298,34 +330,41 @@ class TimelineApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_time_bucket + """Get time bucket + Retrieve a string of all asset ids in a given time bucket. - :param size: (required) - :type size: TimeBucketSize - :param time_bucket: (required) + :param time_bucket: Time bucket identifier in YYYY-MM-DD format (required) :type time_bucket: str - :param album_id: - :type album_id: str - :param is_archived: - :type is_archived: bool - :param is_favorite: + :param album_id: Filter assets belonging to a specific album + :type album_id: UUID + :param bbox: Bounding box coordinates as west,south,east,north (WGS84) + :type bbox: str + :param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only) :type is_favorite: bool - :param is_trashed: + :param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only) :type is_trashed: bool :param key: :type key: str - :param order: + :param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) :type order: AssetOrder - :param person_id: - :type person_id: str - :param tag_id: - :type tag_id: str - :param user_id: - :type user_id: str - :param with_partners: + :param order_by: Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) + :type order_by: AssetOrderBy + :param person_id: Filter assets containing a specific person (face recognition) + :type person_id: UUID + :param slug: + :type slug: str + :param tag_id: Filter assets with a specific tag + :type tag_id: UUID + :param user_id: Filter assets by specific user ID + :type user_id: UUID + :param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) + :type visibility: AssetVisibility + :param with_coordinates: Include location data in the response + :type with_coordinates: bool + :param with_partners: Include assets shared by partners :type with_partners: bool - :param with_stacked: + :param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned. :type with_stacked: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -350,17 +389,20 @@ class TimelineApi: """ # noqa: E501 _param = self._get_time_bucket_serialize( - size=size, time_bucket=time_bucket, album_id=album_id, - is_archived=is_archived, + bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, + order_by=order_by, person_id=person_id, + slug=slug, tag_id=tag_id, user_id=user_id, + visibility=visibility, + with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked, _request_auth=_request_auth, @@ -370,7 +412,7 @@ class TimelineApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", + '200': "TimeBucketAssetResponseDto", } response_data = self.api_client.call_api( *_param, @@ -381,17 +423,20 @@ class TimelineApi: def _get_time_bucket_serialize( self, - size, time_bucket, album_id, - is_archived, + bbox, is_favorite, is_trashed, key, order, + order_by, person_id, + slug, tag_id, user_id, + visibility, + with_coordinates, with_partners, with_stacked, _request_auth, @@ -420,9 +465,9 @@ class TimelineApi: _query_params.append(('albumId', album_id)) - if is_archived is not None: + if bbox is not None: - _query_params.append(('isArchived', is_archived)) + _query_params.append(('bbox', bbox)) if is_favorite is not None: @@ -440,13 +485,17 @@ class TimelineApi: _query_params.append(('order', order.value)) + if order_by is not None: + + _query_params.append(('orderBy', order_by.value)) + if person_id is not None: _query_params.append(('personId', person_id)) - if size is not None: + if slug is not None: - _query_params.append(('size', size.value)) + _query_params.append(('slug', slug)) if tag_id is not None: @@ -460,6 +509,14 @@ class TimelineApi: _query_params.append(('userId', user_id)) + if visibility is not None: + + _query_params.append(('visibility', visibility.value)) + + if with_coordinates is not None: + + _query_params.append(('withCoordinates', with_coordinates)) + if with_partners is not None: _query_params.append(('withPartners', with_partners)) @@ -510,18 +567,21 @@ class TimelineApi: @validate_call def get_time_buckets( self, - size: TimeBucketSize, - album_id: Optional[StrictStr] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + album_id: Annotated[Optional[UUID], Field(description="Filter assets belonging to a specific album")] = None, + bbox: Annotated[Optional[StrictStr], Field(description="Bounding box coordinates as west,south,east,north (WGS84)")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status (true for favorites only, false for non-favorites only)")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status (true for trashed assets only, false for non-trashed only)")] = None, key: Optional[StrictStr] = None, - order: Optional[AssetOrder] = None, - person_id: Optional[StrictStr] = None, - tag_id: Optional[StrictStr] = None, - user_id: Optional[StrictStr] = None, - with_partners: Optional[StrictBool] = None, - with_stacked: Optional[StrictBool] = None, + order: Annotated[Optional[AssetOrder], Field(description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)")] = None, + order_by: Annotated[Optional[AssetOrderBy], Field(description="Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich)")] = None, + person_id: Annotated[Optional[UUID], Field(description="Filter assets containing a specific person (face recognition)")] = None, + slug: Optional[StrictStr] = None, + tag_id: Annotated[Optional[UUID], Field(description="Filter assets with a specific tag")] = None, + user_id: Annotated[Optional[UUID], Field(description="Filter assets by specific user ID")] = None, + visibility: Annotated[Optional[AssetVisibility], Field(description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)")] = None, + with_coordinates: Annotated[Optional[StrictBool], Field(description="Include location data in the response")] = None, + with_partners: Annotated[Optional[StrictBool], Field(description="Include assets shared by partners")] = None, + with_stacked: Annotated[Optional[StrictBool], Field(description="Include stacked assets in the response. When true, only primary assets from stacks are returned.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -534,33 +594,40 @@ class TimelineApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[TimeBucketResponseDto]: - """get_time_buckets + ) -> List[TimeBucketsResponseDto]: + """Get time buckets + Retrieve a list of all minimal time buckets. - :param size: (required) - :type size: TimeBucketSize - :param album_id: - :type album_id: str - :param is_archived: - :type is_archived: bool - :param is_favorite: + :param album_id: Filter assets belonging to a specific album + :type album_id: UUID + :param bbox: Bounding box coordinates as west,south,east,north (WGS84) + :type bbox: str + :param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only) :type is_favorite: bool - :param is_trashed: + :param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only) :type is_trashed: bool :param key: :type key: str - :param order: + :param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) :type order: AssetOrder - :param person_id: - :type person_id: str - :param tag_id: - :type tag_id: str - :param user_id: - :type user_id: str - :param with_partners: + :param order_by: Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) + :type order_by: AssetOrderBy + :param person_id: Filter assets containing a specific person (face recognition) + :type person_id: UUID + :param slug: + :type slug: str + :param tag_id: Filter assets with a specific tag + :type tag_id: UUID + :param user_id: Filter assets by specific user ID + :type user_id: UUID + :param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) + :type visibility: AssetVisibility + :param with_coordinates: Include location data in the response + :type with_coordinates: bool + :param with_partners: Include assets shared by partners :type with_partners: bool - :param with_stacked: + :param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned. :type with_stacked: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -585,16 +652,19 @@ class TimelineApi: """ # noqa: E501 _param = self._get_time_buckets_serialize( - size=size, album_id=album_id, - is_archived=is_archived, + bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, + order_by=order_by, person_id=person_id, + slug=slug, tag_id=tag_id, user_id=user_id, + visibility=visibility, + with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked, _request_auth=_request_auth, @@ -604,7 +674,7 @@ class TimelineApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[TimeBucketResponseDto]", + '200': "List[TimeBucketsResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -620,18 +690,21 @@ class TimelineApi: @validate_call def get_time_buckets_with_http_info( self, - size: TimeBucketSize, - album_id: Optional[StrictStr] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + album_id: Annotated[Optional[UUID], Field(description="Filter assets belonging to a specific album")] = None, + bbox: Annotated[Optional[StrictStr], Field(description="Bounding box coordinates as west,south,east,north (WGS84)")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status (true for favorites only, false for non-favorites only)")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status (true for trashed assets only, false for non-trashed only)")] = None, key: Optional[StrictStr] = None, - order: Optional[AssetOrder] = None, - person_id: Optional[StrictStr] = None, - tag_id: Optional[StrictStr] = None, - user_id: Optional[StrictStr] = None, - with_partners: Optional[StrictBool] = None, - with_stacked: Optional[StrictBool] = None, + order: Annotated[Optional[AssetOrder], Field(description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)")] = None, + order_by: Annotated[Optional[AssetOrderBy], Field(description="Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich)")] = None, + person_id: Annotated[Optional[UUID], Field(description="Filter assets containing a specific person (face recognition)")] = None, + slug: Optional[StrictStr] = None, + tag_id: Annotated[Optional[UUID], Field(description="Filter assets with a specific tag")] = None, + user_id: Annotated[Optional[UUID], Field(description="Filter assets by specific user ID")] = None, + visibility: Annotated[Optional[AssetVisibility], Field(description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)")] = None, + with_coordinates: Annotated[Optional[StrictBool], Field(description="Include location data in the response")] = None, + with_partners: Annotated[Optional[StrictBool], Field(description="Include assets shared by partners")] = None, + with_stacked: Annotated[Optional[StrictBool], Field(description="Include stacked assets in the response. When true, only primary assets from stacks are returned.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -644,33 +717,40 @@ class TimelineApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[TimeBucketResponseDto]]: - """get_time_buckets + ) -> ApiResponse[List[TimeBucketsResponseDto]]: + """Get time buckets + Retrieve a list of all minimal time buckets. - :param size: (required) - :type size: TimeBucketSize - :param album_id: - :type album_id: str - :param is_archived: - :type is_archived: bool - :param is_favorite: + :param album_id: Filter assets belonging to a specific album + :type album_id: UUID + :param bbox: Bounding box coordinates as west,south,east,north (WGS84) + :type bbox: str + :param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only) :type is_favorite: bool - :param is_trashed: + :param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only) :type is_trashed: bool :param key: :type key: str - :param order: + :param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) :type order: AssetOrder - :param person_id: - :type person_id: str - :param tag_id: - :type tag_id: str - :param user_id: - :type user_id: str - :param with_partners: + :param order_by: Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) + :type order_by: AssetOrderBy + :param person_id: Filter assets containing a specific person (face recognition) + :type person_id: UUID + :param slug: + :type slug: str + :param tag_id: Filter assets with a specific tag + :type tag_id: UUID + :param user_id: Filter assets by specific user ID + :type user_id: UUID + :param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) + :type visibility: AssetVisibility + :param with_coordinates: Include location data in the response + :type with_coordinates: bool + :param with_partners: Include assets shared by partners :type with_partners: bool - :param with_stacked: + :param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned. :type with_stacked: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -695,16 +775,19 @@ class TimelineApi: """ # noqa: E501 _param = self._get_time_buckets_serialize( - size=size, album_id=album_id, - is_archived=is_archived, + bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, + order_by=order_by, person_id=person_id, + slug=slug, tag_id=tag_id, user_id=user_id, + visibility=visibility, + with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked, _request_auth=_request_auth, @@ -714,7 +797,7 @@ class TimelineApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[TimeBucketResponseDto]", + '200': "List[TimeBucketsResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -730,18 +813,21 @@ class TimelineApi: @validate_call def get_time_buckets_without_preload_content( self, - size: TimeBucketSize, - album_id: Optional[StrictStr] = None, - is_archived: Optional[StrictBool] = None, - is_favorite: Optional[StrictBool] = None, - is_trashed: Optional[StrictBool] = None, + album_id: Annotated[Optional[UUID], Field(description="Filter assets belonging to a specific album")] = None, + bbox: Annotated[Optional[StrictStr], Field(description="Bounding box coordinates as west,south,east,north (WGS84)")] = None, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status (true for favorites only, false for non-favorites only)")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status (true for trashed assets only, false for non-trashed only)")] = None, key: Optional[StrictStr] = None, - order: Optional[AssetOrder] = None, - person_id: Optional[StrictStr] = None, - tag_id: Optional[StrictStr] = None, - user_id: Optional[StrictStr] = None, - with_partners: Optional[StrictBool] = None, - with_stacked: Optional[StrictBool] = None, + order: Annotated[Optional[AssetOrder], Field(description="Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)")] = None, + order_by: Annotated[Optional[AssetOrderBy], Field(description="Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich)")] = None, + person_id: Annotated[Optional[UUID], Field(description="Filter assets containing a specific person (face recognition)")] = None, + slug: Optional[StrictStr] = None, + tag_id: Annotated[Optional[UUID], Field(description="Filter assets with a specific tag")] = None, + user_id: Annotated[Optional[UUID], Field(description="Filter assets by specific user ID")] = None, + visibility: Annotated[Optional[AssetVisibility], Field(description="Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)")] = None, + with_coordinates: Annotated[Optional[StrictBool], Field(description="Include location data in the response")] = None, + with_partners: Annotated[Optional[StrictBool], Field(description="Include assets shared by partners")] = None, + with_stacked: Annotated[Optional[StrictBool], Field(description="Include stacked assets in the response. When true, only primary assets from stacks are returned.")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -755,32 +841,39 @@ class TimelineApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_time_buckets + """Get time buckets + Retrieve a list of all minimal time buckets. - :param size: (required) - :type size: TimeBucketSize - :param album_id: - :type album_id: str - :param is_archived: - :type is_archived: bool - :param is_favorite: + :param album_id: Filter assets belonging to a specific album + :type album_id: UUID + :param bbox: Bounding box coordinates as west,south,east,north (WGS84) + :type bbox: str + :param is_favorite: Filter by favorite status (true for favorites only, false for non-favorites only) :type is_favorite: bool - :param is_trashed: + :param is_trashed: Filter by trash status (true for trashed assets only, false for non-trashed only) :type is_trashed: bool :param key: :type key: str - :param order: + :param order: Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) :type order: AssetOrder - :param person_id: - :type person_id: str - :param tag_id: - :type tag_id: str - :param user_id: - :type user_id: str - :param with_partners: + :param order_by: Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) + :type order_by: AssetOrderBy + :param person_id: Filter assets containing a specific person (face recognition) + :type person_id: UUID + :param slug: + :type slug: str + :param tag_id: Filter assets with a specific tag + :type tag_id: UUID + :param user_id: Filter assets by specific user ID + :type user_id: UUID + :param visibility: Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) + :type visibility: AssetVisibility + :param with_coordinates: Include location data in the response + :type with_coordinates: bool + :param with_partners: Include assets shared by partners :type with_partners: bool - :param with_stacked: + :param with_stacked: Include stacked assets in the response. When true, only primary assets from stacks are returned. :type with_stacked: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -805,16 +898,19 @@ class TimelineApi: """ # noqa: E501 _param = self._get_time_buckets_serialize( - size=size, album_id=album_id, - is_archived=is_archived, + bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, + order_by=order_by, person_id=person_id, + slug=slug, tag_id=tag_id, user_id=user_id, + visibility=visibility, + with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked, _request_auth=_request_auth, @@ -824,7 +920,7 @@ class TimelineApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "List[TimeBucketResponseDto]", + '200': "List[TimeBucketsResponseDto]", } response_data = self.api_client.call_api( *_param, @@ -835,16 +931,19 @@ class TimelineApi: def _get_time_buckets_serialize( self, - size, album_id, - is_archived, + bbox, is_favorite, is_trashed, key, order, + order_by, person_id, + slug, tag_id, user_id, + visibility, + with_coordinates, with_partners, with_stacked, _request_auth, @@ -873,9 +972,9 @@ class TimelineApi: _query_params.append(('albumId', album_id)) - if is_archived is not None: + if bbox is not None: - _query_params.append(('isArchived', is_archived)) + _query_params.append(('bbox', bbox)) if is_favorite is not None: @@ -893,13 +992,17 @@ class TimelineApi: _query_params.append(('order', order.value)) + if order_by is not None: + + _query_params.append(('orderBy', order_by.value)) + if person_id is not None: _query_params.append(('personId', person_id)) - if size is not None: + if slug is not None: - _query_params.append(('size', size.value)) + _query_params.append(('slug', slug)) if tag_id is not None: @@ -909,6 +1012,14 @@ class TimelineApi: _query_params.append(('userId', user_id)) + if visibility is not None: + + _query_params.append(('visibility', visibility.value)) + + if with_coordinates is not None: + + _query_params.append(('withCoordinates', with_coordinates)) + if with_partners is not None: _query_params.append(('withPartners', with_partners)) diff --git a/generated/immich/openapi_client/api/trash_api.py b/generated/immich/openapi_client/api/trash_api.py index 86b2762..dc4edb2 100644 --- a/generated/immich/openapi_client/api/trash_api.py +++ b/generated/immich/openapi_client/api/trash_api.py @@ -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. @@ -53,8 +53,9 @@ class TrashApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> TrashResponseDto: - """empty_trash + """Empty trash + Permanently delete all items in the trash. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -115,8 +116,9 @@ class TrashApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[TrashResponseDto]: - """empty_trash + """Empty trash + Permanently delete all items in the trash. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -177,8 +179,9 @@ class TrashApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """empty_trash + """Empty trash + Permanently delete all items in the trash. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -299,8 +302,9 @@ class TrashApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> TrashResponseDto: - """restore_assets + """Restore assets + Restore specific assets from the trash. :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto @@ -365,8 +369,9 @@ class TrashApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[TrashResponseDto]: - """restore_assets + """Restore assets + Restore specific assets from the trash. :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto @@ -431,8 +436,9 @@ class TrashApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """restore_assets + """Restore assets + Restore specific assets from the trash. :param bulk_ids_dto: (required) :type bulk_ids_dto: BulkIdsDto @@ -571,8 +577,9 @@ class TrashApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> TrashResponseDto: - """restore_trash + """Restore trash + Restore all items in the trash. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -633,8 +640,9 @@ class TrashApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[TrashResponseDto]: - """restore_trash + """Restore trash + Restore all items in the trash. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -695,8 +703,9 @@ class TrashApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """restore_trash + """Restore trash + Restore all items in the trash. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request diff --git a/generated/immich/openapi_client/api/users_admin_api.py b/generated/immich/openapi_client/api/users_admin_api.py index c9849b8..cbca9b5 100644 --- a/generated/immich/openapi_client/api/users_admin_api.py +++ b/generated/immich/openapi_client/api/users_admin_api.py @@ -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. @@ -16,8 +16,16 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictBool, StrictStr +from datetime import date +from pydantic import Field, StrictBool from typing import List, Optional +from typing_extensions import Annotated +from uuid import UUID +from generated.immich.openapi_client.models.asset_stats_response_dto import AssetStatsResponseDto +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility +from generated.immich.openapi_client.models.calendar_heatmap_response_dto import CalendarHeatmapResponseDto +from generated.immich.openapi_client.models.calendar_heatmap_type import CalendarHeatmapType +from generated.immich.openapi_client.models.session_response_dto import SessionResponseDto from generated.immich.openapi_client.models.user_admin_create_dto import UserAdminCreateDto from generated.immich.openapi_client.models.user_admin_delete_dto import UserAdminDeleteDto from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto @@ -60,8 +68,9 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserAdminResponseDto: - """create_user_admin + """Create a user + Create a new user. :param user_admin_create_dto: (required) :type user_admin_create_dto: UserAdminCreateDto @@ -126,8 +135,9 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserAdminResponseDto]: - """create_user_admin + """Create a user + Create a new user. :param user_admin_create_dto: (required) :type user_admin_create_dto: UserAdminCreateDto @@ -192,8 +202,9 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_user_admin + """Create a user + Create a new user. :param user_admin_create_dto: (required) :type user_admin_create_dto: UserAdminCreateDto @@ -319,7 +330,7 @@ class UsersAdminApi: @validate_call def delete_user_admin( self, - id: StrictStr, + id: UUID, user_admin_delete_dto: UserAdminDeleteDto, _request_timeout: Union[ None, @@ -334,11 +345,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserAdminResponseDto: - """delete_user_admin + """Delete a user + Delete a user. :param id: (required) - :type id: str + :type id: UUID :param user_admin_delete_dto: (required) :type user_admin_delete_dto: UserAdminDeleteDto :param _request_timeout: timeout setting for this request. If one @@ -389,7 +401,7 @@ class UsersAdminApi: @validate_call def delete_user_admin_with_http_info( self, - id: StrictStr, + id: UUID, user_admin_delete_dto: UserAdminDeleteDto, _request_timeout: Union[ None, @@ -404,11 +416,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserAdminResponseDto]: - """delete_user_admin + """Delete a user + Delete a user. :param id: (required) - :type id: str + :type id: UUID :param user_admin_delete_dto: (required) :type user_admin_delete_dto: UserAdminDeleteDto :param _request_timeout: timeout setting for this request. If one @@ -459,7 +472,7 @@ class UsersAdminApi: @validate_call def delete_user_admin_without_preload_content( self, - id: StrictStr, + id: UUID, user_admin_delete_dto: UserAdminDeleteDto, _request_timeout: Union[ None, @@ -474,11 +487,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_user_admin + """Delete a user + Delete a user. :param id: (required) - :type id: str + :type id: UUID :param user_admin_delete_dto: (required) :type user_admin_delete_dto: UserAdminDeleteDto :param _request_timeout: timeout setting for this request. If one @@ -607,7 +621,7 @@ class UsersAdminApi: @validate_call def get_user_admin( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -621,11 +635,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserAdminResponseDto: - """get_user_admin + """Retrieve a user + Retrieve a specific user by their ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -673,7 +688,7 @@ class UsersAdminApi: @validate_call def get_user_admin_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -687,11 +702,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserAdminResponseDto]: - """get_user_admin + """Retrieve a user + Retrieve a specific user by their ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -739,7 +755,7 @@ class UsersAdminApi: @validate_call def get_user_admin_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -753,11 +769,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_user_admin + """Retrieve a user + Retrieve a specific user by their ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -864,10 +881,342 @@ class UsersAdminApi: + @validate_call + def get_user_calendar_heatmap_admin( + self, + id: UUID, + var_from: Annotated[Optional[date], Field(description="Start date in UTC")] = None, + to: Annotated[Optional[date], Field(description="End date in UTC")] = None, + type: Optional[CalendarHeatmapType] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CalendarHeatmapResponseDto: + """Retrieve calendar heatmap activity + + Retrieve activity counts for a specified period, in a calendar heatmap format. + + :param id: (required) + :type id: UUID + :param var_from: Start date in UTC + :type var_from: date + :param to: End date in UTC + :type to: date + :param type: + :type type: CalendarHeatmapType + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_calendar_heatmap_admin_serialize( + id=id, + var_from=var_from, + to=to, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalendarHeatmapResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_calendar_heatmap_admin_with_http_info( + self, + id: UUID, + var_from: Annotated[Optional[date], Field(description="Start date in UTC")] = None, + to: Annotated[Optional[date], Field(description="End date in UTC")] = None, + type: Optional[CalendarHeatmapType] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CalendarHeatmapResponseDto]: + """Retrieve calendar heatmap activity + + Retrieve activity counts for a specified period, in a calendar heatmap format. + + :param id: (required) + :type id: UUID + :param var_from: Start date in UTC + :type var_from: date + :param to: End date in UTC + :type to: date + :param type: + :type type: CalendarHeatmapType + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_calendar_heatmap_admin_serialize( + id=id, + var_from=var_from, + to=to, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalendarHeatmapResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_calendar_heatmap_admin_without_preload_content( + self, + id: UUID, + var_from: Annotated[Optional[date], Field(description="Start date in UTC")] = None, + to: Annotated[Optional[date], Field(description="End date in UTC")] = None, + type: Optional[CalendarHeatmapType] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve calendar heatmap activity + + Retrieve activity counts for a specified period, in a calendar heatmap format. + + :param id: (required) + :type id: UUID + :param var_from: Start date in UTC + :type var_from: date + :param to: End date in UTC + :type to: date + :param type: + :type type: CalendarHeatmapType + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_calendar_heatmap_admin_serialize( + id=id, + var_from=var_from, + to=to, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalendarHeatmapResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_calendar_heatmap_admin_serialize( + self, + id, + var_from, + to, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if var_from is not None: + if isinstance(var_from, date): + _query_params.append( + ( + 'from', + var_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('from', var_from)) + + if to is not None: + if isinstance(to, date): + _query_params.append( + ( + 'to', + to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('to', to)) + + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/admin/users/{id}/calendar-heatmap', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def get_user_preferences_admin( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -881,11 +1230,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserPreferencesResponseDto: - """get_user_preferences_admin + """Retrieve user preferences + Retrieve the preferences of a specific user. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -933,7 +1283,7 @@ class UsersAdminApi: @validate_call def get_user_preferences_admin_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -947,11 +1297,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserPreferencesResponseDto]: - """get_user_preferences_admin + """Retrieve user preferences + Retrieve the preferences of a specific user. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -999,7 +1350,7 @@ class UsersAdminApi: @validate_call def get_user_preferences_admin_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1013,11 +1364,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_user_preferences_admin + """Retrieve user preferences + Retrieve the preferences of a specific user. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1124,10 +1476,587 @@ class UsersAdminApi: + @validate_call + def get_user_sessions_admin( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> List[SessionResponseDto]: + """Retrieve user sessions + + Retrieve all sessions for a specific user. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_sessions_admin_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[SessionResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_sessions_admin_with_http_info( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[List[SessionResponseDto]]: + """Retrieve user sessions + + Retrieve all sessions for a specific user. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_sessions_admin_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[SessionResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_sessions_admin_without_preload_content( + self, + id: UUID, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve user sessions + + Retrieve all sessions for a specific user. + + :param id: (required) + :type id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_sessions_admin_serialize( + id=id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "List[SessionResponseDto]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_sessions_admin_serialize( + self, + id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/admin/users/{id}/sessions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_user_statistics_admin( + self, + id: UUID, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status")] = None, + visibility: Optional[AssetVisibility] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AssetStatsResponseDto: + """Retrieve user statistics + + Retrieve asset statistics for a specific user. + + :param id: (required) + :type id: UUID + :param is_favorite: Filter by favorite status + :type is_favorite: bool + :param is_trashed: Filter by trash status + :type is_trashed: bool + :param visibility: + :type visibility: AssetVisibility + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_statistics_admin_serialize( + id=id, + is_favorite=is_favorite, + is_trashed=is_trashed, + visibility=visibility, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetStatsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_statistics_admin_with_http_info( + self, + id: UUID, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status")] = None, + visibility: Optional[AssetVisibility] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AssetStatsResponseDto]: + """Retrieve user statistics + + Retrieve asset statistics for a specific user. + + :param id: (required) + :type id: UUID + :param is_favorite: Filter by favorite status + :type is_favorite: bool + :param is_trashed: Filter by trash status + :type is_trashed: bool + :param visibility: + :type visibility: AssetVisibility + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_statistics_admin_serialize( + id=id, + is_favorite=is_favorite, + is_trashed=is_trashed, + visibility=visibility, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetStatsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_statistics_admin_without_preload_content( + self, + id: UUID, + is_favorite: Annotated[Optional[StrictBool], Field(description="Filter by favorite status")] = None, + is_trashed: Annotated[Optional[StrictBool], Field(description="Filter by trash status")] = None, + visibility: Optional[AssetVisibility] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve user statistics + + Retrieve asset statistics for a specific user. + + :param id: (required) + :type id: UUID + :param is_favorite: Filter by favorite status + :type is_favorite: bool + :param is_trashed: Filter by trash status + :type is_trashed: bool + :param visibility: + :type visibility: AssetVisibility + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_statistics_admin_serialize( + id=id, + is_favorite=is_favorite, + is_trashed=is_trashed, + visibility=visibility, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AssetStatsResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_statistics_admin_serialize( + self, + id, + is_favorite, + is_trashed, + visibility, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if id is not None: + _path_params['id'] = id + # process the query parameters + if is_favorite is not None: + + _query_params.append(('isFavorite', is_favorite)) + + if is_trashed is not None: + + _query_params.append(('isTrashed', is_trashed)) + + if visibility is not None: + + _query_params.append(('visibility', visibility.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/admin/users/{id}/statistics', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def restore_user_admin( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1141,11 +2070,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserAdminResponseDto: - """restore_user_admin + """Restore a deleted user + Restore a previously deleted user. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1193,7 +2123,7 @@ class UsersAdminApi: @validate_call def restore_user_admin_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1207,11 +2137,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserAdminResponseDto]: - """restore_user_admin + """Restore a deleted user + Restore a previously deleted user. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1259,7 +2190,7 @@ class UsersAdminApi: @validate_call def restore_user_admin_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1273,11 +2204,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """restore_user_admin + """Restore a deleted user + Restore a previously deleted user. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1387,7 +2319,8 @@ class UsersAdminApi: @validate_call def search_users_admin( self, - with_deleted: Optional[StrictBool] = None, + id: Annotated[Optional[UUID], Field(description="User ID filter")] = None, + with_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted users")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1401,10 +2334,13 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[UserAdminResponseDto]: - """search_users_admin + """Search users + Search for users. - :param with_deleted: + :param id: User ID filter + :type id: UUID + :param with_deleted: Include deleted users :type with_deleted: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1429,6 +2365,7 @@ class UsersAdminApi: """ # noqa: E501 _param = self._search_users_admin_serialize( + id=id, with_deleted=with_deleted, _request_auth=_request_auth, _content_type=_content_type, @@ -1453,7 +2390,8 @@ class UsersAdminApi: @validate_call def search_users_admin_with_http_info( self, - with_deleted: Optional[StrictBool] = None, + id: Annotated[Optional[UUID], Field(description="User ID filter")] = None, + with_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted users")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1467,10 +2405,13 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[UserAdminResponseDto]]: - """search_users_admin + """Search users + Search for users. - :param with_deleted: + :param id: User ID filter + :type id: UUID + :param with_deleted: Include deleted users :type with_deleted: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1495,6 +2436,7 @@ class UsersAdminApi: """ # noqa: E501 _param = self._search_users_admin_serialize( + id=id, with_deleted=with_deleted, _request_auth=_request_auth, _content_type=_content_type, @@ -1519,7 +2461,8 @@ class UsersAdminApi: @validate_call def search_users_admin_without_preload_content( self, - with_deleted: Optional[StrictBool] = None, + id: Annotated[Optional[UUID], Field(description="User ID filter")] = None, + with_deleted: Annotated[Optional[StrictBool], Field(description="Include deleted users")] = None, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1533,10 +2476,13 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """search_users_admin + """Search users + Search for users. - :param with_deleted: + :param id: User ID filter + :type id: UUID + :param with_deleted: Include deleted users :type with_deleted: bool :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1561,6 +2507,7 @@ class UsersAdminApi: """ # noqa: E501 _param = self._search_users_admin_serialize( + id=id, with_deleted=with_deleted, _request_auth=_request_auth, _content_type=_content_type, @@ -1580,6 +2527,7 @@ class UsersAdminApi: def _search_users_admin_serialize( self, + id, with_deleted, _request_auth, _content_type, @@ -1603,6 +2551,10 @@ class UsersAdminApi: # process the path parameters # process the query parameters + if id is not None: + + _query_params.append(('id', id)) + if with_deleted is not None: _query_params.append(('withDeleted', with_deleted)) @@ -1649,7 +2601,7 @@ class UsersAdminApi: @validate_call def update_user_admin( self, - id: StrictStr, + id: UUID, user_admin_update_dto: UserAdminUpdateDto, _request_timeout: Union[ None, @@ -1664,11 +2616,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserAdminResponseDto: - """update_user_admin + """(Deprecated) Update a user + Update an existing user. :param id: (required) - :type id: str + :type id: UUID :param user_admin_update_dto: (required) :type user_admin_update_dto: UserAdminUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1692,6 +2645,7 @@ class UsersAdminApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /admin/users/{id} is deprecated.", DeprecationWarning) _param = self._update_user_admin_serialize( id=id, @@ -1719,7 +2673,7 @@ class UsersAdminApi: @validate_call def update_user_admin_with_http_info( self, - id: StrictStr, + id: UUID, user_admin_update_dto: UserAdminUpdateDto, _request_timeout: Union[ None, @@ -1734,11 +2688,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserAdminResponseDto]: - """update_user_admin + """(Deprecated) Update a user + Update an existing user. :param id: (required) - :type id: str + :type id: UUID :param user_admin_update_dto: (required) :type user_admin_update_dto: UserAdminUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1762,6 +2717,7 @@ class UsersAdminApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /admin/users/{id} is deprecated.", DeprecationWarning) _param = self._update_user_admin_serialize( id=id, @@ -1789,7 +2745,7 @@ class UsersAdminApi: @validate_call def update_user_admin_without_preload_content( self, - id: StrictStr, + id: UUID, user_admin_update_dto: UserAdminUpdateDto, _request_timeout: Union[ None, @@ -1804,11 +2760,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_user_admin + """(Deprecated) Update a user + Update an existing user. :param id: (required) - :type id: str + :type id: UUID :param user_admin_update_dto: (required) :type user_admin_update_dto: UserAdminUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1832,6 +2789,7 @@ class UsersAdminApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /admin/users/{id} is deprecated.", DeprecationWarning) _param = self._update_user_admin_serialize( id=id, @@ -1937,7 +2895,7 @@ class UsersAdminApi: @validate_call def update_user_preferences_admin( self, - id: StrictStr, + id: UUID, user_preferences_update_dto: UserPreferencesUpdateDto, _request_timeout: Union[ None, @@ -1952,11 +2910,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserPreferencesResponseDto: - """update_user_preferences_admin + """(Deprecated) Update user preferences + Update the preferences of a specific user. :param id: (required) - :type id: str + :type id: UUID :param user_preferences_update_dto: (required) :type user_preferences_update_dto: UserPreferencesUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -1980,6 +2939,7 @@ class UsersAdminApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /admin/users/{id}/preferences is deprecated.", DeprecationWarning) _param = self._update_user_preferences_admin_serialize( id=id, @@ -2007,7 +2967,7 @@ class UsersAdminApi: @validate_call def update_user_preferences_admin_with_http_info( self, - id: StrictStr, + id: UUID, user_preferences_update_dto: UserPreferencesUpdateDto, _request_timeout: Union[ None, @@ -2022,11 +2982,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserPreferencesResponseDto]: - """update_user_preferences_admin + """(Deprecated) Update user preferences + Update the preferences of a specific user. :param id: (required) - :type id: str + :type id: UUID :param user_preferences_update_dto: (required) :type user_preferences_update_dto: UserPreferencesUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -2050,6 +3011,7 @@ class UsersAdminApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /admin/users/{id}/preferences is deprecated.", DeprecationWarning) _param = self._update_user_preferences_admin_serialize( id=id, @@ -2077,7 +3039,7 @@ class UsersAdminApi: @validate_call def update_user_preferences_admin_without_preload_content( self, - id: StrictStr, + id: UUID, user_preferences_update_dto: UserPreferencesUpdateDto, _request_timeout: Union[ None, @@ -2092,11 +3054,12 @@ class UsersAdminApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_user_preferences_admin + """(Deprecated) Update user preferences + Update the preferences of a specific user. :param id: (required) - :type id: str + :type id: UUID :param user_preferences_update_dto: (required) :type user_preferences_update_dto: UserPreferencesUpdateDto :param _request_timeout: timeout setting for this request. If one @@ -2120,6 +3083,7 @@ class UsersAdminApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /admin/users/{id}/preferences is deprecated.", DeprecationWarning) _param = self._update_user_preferences_admin_serialize( id=id, diff --git a/generated/immich/openapi_client/api/users_api.py b/generated/immich/openapi_client/api/users_api.py index ec4614f..bb55934 100644 --- a/generated/immich/openapi_client/api/users_api.py +++ b/generated/immich/openapi_client/api/users_api.py @@ -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. @@ -16,12 +16,19 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt from typing import Any, Dict, List, Optional, Tuple, Union from typing_extensions import Annotated -from pydantic import StrictBytes, StrictStr -from typing import List, Tuple, Union +from datetime import date +from pydantic import Field, StrictBytes, StrictStr +from typing import List, Optional, Tuple, Union +from typing_extensions import Annotated +from uuid import UUID +from generated.immich.openapi_client.models.calendar_heatmap_response_dto import CalendarHeatmapResponseDto +from generated.immich.openapi_client.models.calendar_heatmap_type import CalendarHeatmapType from generated.immich.openapi_client.models.create_profile_image_response_dto import CreateProfileImageResponseDto 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.onboarding_dto import OnboardingDto +from generated.immich.openapi_client.models.onboarding_response_dto import OnboardingResponseDto from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto +from generated.immich.openapi_client.models.user_license import UserLicense 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 @@ -48,7 +55,7 @@ class UsersApi: @validate_call def create_profile_image( self, - file: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], + file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Profile image file")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -62,10 +69,11 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> CreateProfileImageResponseDto: - """create_profile_image + """Create user profile image + Upload and set a new profile image for the current user. - :param file: (required) + :param file: Profile image file (required) :type file: bytearray :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -114,7 +122,7 @@ class UsersApi: @validate_call def create_profile_image_with_http_info( self, - file: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], + file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Profile image file")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -128,10 +136,11 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[CreateProfileImageResponseDto]: - """create_profile_image + """Create user profile image + Upload and set a new profile image for the current user. - :param file: (required) + :param file: Profile image file (required) :type file: bytearray :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -180,7 +189,7 @@ class UsersApi: @validate_call def create_profile_image_without_preload_content( self, - file: Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], + file: Annotated[Union[StrictBytes, StrictStr, Tuple[StrictStr, StrictBytes]], Field(description="Profile image file")], _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -194,10 +203,11 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """create_profile_image + """Create user profile image + Upload and set a new profile image for the current user. - :param file: (required) + :param file: Profile image file (required) :type file: bytearray :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -334,8 +344,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_profile_image + """Delete user profile image + Delete the profile image of the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -396,8 +407,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_profile_image + """Delete user profile image + Delete the profile image of the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -458,8 +470,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_profile_image + """Delete user profile image + Delete the profile image of the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -572,8 +585,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> None: - """delete_user_license + """Delete user product key + Delete the registered product key for the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -605,7 +619,7 @@ class UsersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -634,8 +648,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[None]: - """delete_user_license + """Delete user product key + Delete the registered product key for the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -667,7 +682,7 @@ class UsersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -696,8 +711,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """delete_user_license + """Delete user product key + Delete the registered product key for the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -729,7 +745,7 @@ class UsersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': None, + '204': None, } response_data = self.api_client.call_api( *_param, @@ -794,6 +810,564 @@ class UsersApi: + @validate_call + def delete_user_onboarding( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Delete user onboarding + + Delete the onboarding status of the current user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_onboarding_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_user_onboarding_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Delete user onboarding + + Delete the onboarding status of the current user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_onboarding_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_user_onboarding_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete user onboarding + + Delete the onboarding status of the current user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_user_onboarding_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_user_onboarding_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/users/me/onboarding', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_my_calendar_heatmap( + self, + var_from: Annotated[Optional[date], Field(description="Start date in UTC")] = None, + to: Annotated[Optional[date], Field(description="End date in UTC")] = None, + type: Optional[CalendarHeatmapType] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CalendarHeatmapResponseDto: + """Retrieve calendar heatmap activity + + Retrieve activity counts for a specified period, in a calendar heatmap format. + + :param var_from: Start date in UTC + :type var_from: date + :param to: End date in UTC + :type to: date + :param type: + :type type: CalendarHeatmapType + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_my_calendar_heatmap_serialize( + var_from=var_from, + to=to, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalendarHeatmapResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_my_calendar_heatmap_with_http_info( + self, + var_from: Annotated[Optional[date], Field(description="Start date in UTC")] = None, + to: Annotated[Optional[date], Field(description="End date in UTC")] = None, + type: Optional[CalendarHeatmapType] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CalendarHeatmapResponseDto]: + """Retrieve calendar heatmap activity + + Retrieve activity counts for a specified period, in a calendar heatmap format. + + :param var_from: Start date in UTC + :type var_from: date + :param to: End date in UTC + :type to: date + :param type: + :type type: CalendarHeatmapType + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_my_calendar_heatmap_serialize( + var_from=var_from, + to=to, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalendarHeatmapResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_my_calendar_heatmap_without_preload_content( + self, + var_from: Annotated[Optional[date], Field(description="Start date in UTC")] = None, + to: Annotated[Optional[date], Field(description="End date in UTC")] = None, + type: Optional[CalendarHeatmapType] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve calendar heatmap activity + + Retrieve activity counts for a specified period, in a calendar heatmap format. + + :param var_from: Start date in UTC + :type var_from: date + :param to: End date in UTC + :type to: date + :param type: + :type type: CalendarHeatmapType + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_my_calendar_heatmap_serialize( + var_from=var_from, + to=to, + type=type, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CalendarHeatmapResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_my_calendar_heatmap_serialize( + self, + var_from, + to, + type, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if var_from is not None: + if isinstance(var_from, date): + _query_params.append( + ( + 'from', + var_from.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('from', var_from)) + + if to is not None: + if isinstance(to, date): + _query_params.append( + ( + 'to', + to.strftime( + self.api_client.configuration.date_format + ) + ) + ) + else: + _query_params.append(('to', to)) + + if type is not None: + + _query_params.append(('type', type.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/users/me/calendar-heatmap', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def get_my_preferences( self, @@ -810,8 +1384,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserPreferencesResponseDto: - """get_my_preferences + """Get my preferences + Retrieve the preferences for the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -872,8 +1447,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserPreferencesResponseDto]: - """get_my_preferences + """Get my preferences + Retrieve the preferences for the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -934,8 +1510,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_my_preferences + """Get my preferences + Retrieve the preferences for the current user. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1055,8 +1632,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserAdminResponseDto: - """get_my_user + """Get current user + Retrieve information about the user making the API request. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1117,8 +1695,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserAdminResponseDto]: - """get_my_user + """Get current user + Retrieve information about the user making the API request. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1179,8 +1758,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_my_user + """Get current user + Retrieve information about the user making the API request. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1287,7 +1867,7 @@ class UsersApi: @validate_call def get_profile_image( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1301,11 +1881,12 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> bytearray: - """get_profile_image + """Retrieve user profile image + Retrieve the profile image file for a user. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1353,7 +1934,7 @@ class UsersApi: @validate_call def get_profile_image_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1367,11 +1948,12 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[bytearray]: - """get_profile_image + """Retrieve user profile image + Retrieve the profile image file for a user. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1419,7 +2001,7 @@ class UsersApi: @validate_call def get_profile_image_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1433,11 +2015,12 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_profile_image + """Retrieve user profile image + Retrieve the profile image file for a user. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1547,7 +2130,7 @@ class UsersApi: @validate_call def get_user( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1561,11 +2144,12 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserResponseDto: - """get_user + """Retrieve a user + Retrieve a specific user by their ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1613,7 +2197,7 @@ class UsersApi: @validate_call def get_user_with_http_info( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1627,11 +2211,12 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserResponseDto]: - """get_user + """Retrieve a user + Retrieve a specific user by their ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1679,7 +2264,7 @@ class UsersApi: @validate_call def get_user_without_preload_content( self, - id: StrictStr, + id: UUID, _request_timeout: Union[ None, Annotated[StrictFloat, Field(gt=0)], @@ -1693,11 +2278,12 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_user + """Retrieve a user + Retrieve a specific user by their ID. :param id: (required) - :type id: str + :type id: UUID :param _request_timeout: timeout setting for this request. If one number provided, it will be total request timeout. It can also be a pair (tuple) of @@ -1819,9 +2405,10 @@ class UsersApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> LicenseResponseDto: - """get_user_license + ) -> UserLicense: + """Retrieve user product key + Retrieve information about whether the current user has a registered product key. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1853,7 +2440,7 @@ class UsersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", } response_data = self.api_client.call_api( *_param, @@ -1881,9 +2468,10 @@ class UsersApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[LicenseResponseDto]: - """get_user_license + ) -> ApiResponse[UserLicense]: + """Retrieve user product key + Retrieve information about whether the current user has a registered product key. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1915,7 +2503,7 @@ class UsersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", } response_data = self.api_client.call_api( *_param, @@ -1944,8 +2532,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """get_user_license + """Retrieve user product key + Retrieve information about whether the current user has a registered product key. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -1977,7 +2566,7 @@ class UsersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", } response_data = self.api_client.call_api( *_param, @@ -2049,6 +2638,254 @@ class UsersApi: + @validate_call + def get_user_onboarding( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> OnboardingResponseDto: + """Retrieve user onboarding + + Retrieve the onboarding status of the current user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_onboarding_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OnboardingResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_user_onboarding_with_http_info( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[OnboardingResponseDto]: + """Retrieve user onboarding + + Retrieve the onboarding status of the current user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_onboarding_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OnboardingResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_user_onboarding_without_preload_content( + self, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retrieve user onboarding + + Retrieve the onboarding status of the current user. + + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_user_onboarding_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OnboardingResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_user_onboarding_serialize( + self, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/users/me/onboarding', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def search_users( self, @@ -2065,8 +2902,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> List[UserResponseDto]: - """search_users + """Get all users + Retrieve a list of all users on the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2127,8 +2965,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[List[UserResponseDto]]: - """search_users + """Get all users + Retrieve a list of all users on the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2189,8 +3028,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """search_users + """Get all users + Retrieve a list of all users on the server. :param _request_timeout: timeout setting for this request. If one number provided, it will be total request @@ -2310,9 +3150,10 @@ class UsersApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> LicenseResponseDto: - """set_user_license + ) -> UserLicense: + """Set user product key + Register a product key for the current user. :param license_key_dto: (required) :type license_key_dto: LicenseKeyDto @@ -2347,7 +3188,7 @@ class UsersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", } response_data = self.api_client.call_api( *_param, @@ -2376,9 +3217,10 @@ class UsersApi: _content_type: Optional[StrictStr] = None, _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[LicenseResponseDto]: - """set_user_license + ) -> ApiResponse[UserLicense]: + """Set user product key + Register a product key for the current user. :param license_key_dto: (required) :type license_key_dto: LicenseKeyDto @@ -2413,7 +3255,7 @@ class UsersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", } response_data = self.api_client.call_api( *_param, @@ -2443,8 +3285,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """set_user_license + """Set user product key + Register a product key for the current user. :param license_key_dto: (required) :type license_key_dto: LicenseKeyDto @@ -2479,7 +3322,7 @@ class UsersApi: ) _response_types_map: Dict[str, Optional[str]] = { - '200': "LicenseResponseDto", + '200': "UserLicense", } response_data = self.api_client.call_api( *_param, @@ -2567,6 +3410,282 @@ class UsersApi: + @validate_call + def set_user_onboarding( + self, + onboarding_dto: OnboardingDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> OnboardingResponseDto: + """Update user onboarding + + Update the onboarding status of the current user. + + :param onboarding_dto: (required) + :type onboarding_dto: OnboardingDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._set_user_onboarding_serialize( + onboarding_dto=onboarding_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OnboardingResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def set_user_onboarding_with_http_info( + self, + onboarding_dto: OnboardingDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[OnboardingResponseDto]: + """Update user onboarding + + Update the onboarding status of the current user. + + :param onboarding_dto: (required) + :type onboarding_dto: OnboardingDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._set_user_onboarding_serialize( + onboarding_dto=onboarding_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OnboardingResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def set_user_onboarding_without_preload_content( + self, + onboarding_dto: OnboardingDto, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Update user onboarding + + Update the onboarding status of the current user. + + :param onboarding_dto: (required) + :type onboarding_dto: OnboardingDto + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._set_user_onboarding_serialize( + onboarding_dto=onboarding_dto, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "OnboardingResponseDto", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _set_user_onboarding_serialize( + self, + onboarding_dto, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if onboarding_dto is not None: + _body_params = onboarding_dto + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'cookie', + 'api_key', + 'bearer' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/users/me/onboarding', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def update_my_preferences( self, @@ -2584,8 +3703,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserPreferencesResponseDto: - """update_my_preferences + """(Deprecated) Update my preferences + Update the preferences of the current user. :param user_preferences_update_dto: (required) :type user_preferences_update_dto: UserPreferencesUpdateDto @@ -2610,6 +3730,7 @@ class UsersApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /users/me/preferences is deprecated.", DeprecationWarning) _param = self._update_my_preferences_serialize( user_preferences_update_dto=user_preferences_update_dto, @@ -2650,8 +3771,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserPreferencesResponseDto]: - """update_my_preferences + """(Deprecated) Update my preferences + Update the preferences of the current user. :param user_preferences_update_dto: (required) :type user_preferences_update_dto: UserPreferencesUpdateDto @@ -2676,6 +3798,7 @@ class UsersApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /users/me/preferences is deprecated.", DeprecationWarning) _param = self._update_my_preferences_serialize( user_preferences_update_dto=user_preferences_update_dto, @@ -2716,8 +3839,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_my_preferences + """(Deprecated) Update my preferences + Update the preferences of the current user. :param user_preferences_update_dto: (required) :type user_preferences_update_dto: UserPreferencesUpdateDto @@ -2742,6 +3866,7 @@ class UsersApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /users/me/preferences is deprecated.", DeprecationWarning) _param = self._update_my_preferences_serialize( user_preferences_update_dto=user_preferences_update_dto, @@ -2857,8 +3982,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> UserAdminResponseDto: - """update_my_user + """(Deprecated) Update current user + Update the current user making the API request. :param user_update_me_dto: (required) :type user_update_me_dto: UserUpdateMeDto @@ -2883,6 +4009,7 @@ class UsersApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /users/me is deprecated.", DeprecationWarning) _param = self._update_my_user_serialize( user_update_me_dto=user_update_me_dto, @@ -2923,8 +4050,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[UserAdminResponseDto]: - """update_my_user + """(Deprecated) Update current user + Update the current user making the API request. :param user_update_me_dto: (required) :type user_update_me_dto: UserUpdateMeDto @@ -2949,6 +4077,7 @@ class UsersApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /users/me is deprecated.", DeprecationWarning) _param = self._update_my_user_serialize( user_update_me_dto=user_update_me_dto, @@ -2989,8 +4118,9 @@ class UsersApi: _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """update_my_user + """(Deprecated) Update current user + Update the current user making the API request. :param user_update_me_dto: (required) :type user_update_me_dto: UserUpdateMeDto @@ -3015,6 +4145,7 @@ class UsersApi: :type _host_index: int, optional :return: Returns the result object. """ # noqa: E501 + warnings.warn("PUT /users/me is deprecated.", DeprecationWarning) _param = self._update_my_user_serialize( user_update_me_dto=user_update_me_dto, diff --git a/generated/immich/openapi_client/api/view_api.py b/generated/immich/openapi_client/api/view_api.py deleted file mode 100644 index c824cca..0000000 --- a/generated/immich/openapi_client/api/view_api.py +++ /dev/null @@ -1,545 +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 - -import warnings -from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt -from typing import Any, Dict, List, Optional, Tuple, Union -from typing_extensions import Annotated - -from pydantic import StrictStr -from typing import List -from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto - -from generated.immich.openapi_client.api_client import ApiClient, RequestSerialized -from generated.immich.openapi_client.api_response import ApiResponse -from generated.immich.openapi_client.rest import RESTResponseType - - -class ViewApi: - """NOTE: This class is auto generated by OpenAPI Generator - Ref: https://openapi-generator.tech - - Do not edit the class manually. - """ - - def __init__(self, api_client=None) -> None: - if api_client is None: - api_client = ApiClient.get_default() - self.api_client = api_client - - - @validate_call - def get_assets_by_original_path( - self, - path: StrictStr, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[AssetResponseDto]: - """get_assets_by_original_path - - - :param path: (required) - :type path: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_assets_by_original_path_serialize( - path=path, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_assets_by_original_path_with_http_info( - self, - path: StrictStr, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[AssetResponseDto]]: - """get_assets_by_original_path - - - :param path: (required) - :type path: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_assets_by_original_path_serialize( - path=path, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_assets_by_original_path_without_preload_content( - self, - path: StrictStr, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """get_assets_by_original_path - - - :param path: (required) - :type path: str - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_assets_by_original_path_serialize( - path=path, - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[AssetResponseDto]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_assets_by_original_path_serialize( - self, - path, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - if path is not None: - - _query_params.append(('path', path)) - - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/view/folder', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - - - - @validate_call - def get_unique_original_paths( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> List[str]: - """get_unique_original_paths - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_unique_original_paths_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ).data - - - @validate_call - def get_unique_original_paths_with_http_info( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> ApiResponse[List[str]]: - """get_unique_original_paths - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_unique_original_paths_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - response_data.read() - return self.api_client.response_deserialize( - response_data=response_data, - response_types_map=_response_types_map, - ) - - - @validate_call - def get_unique_original_paths_without_preload_content( - self, - _request_timeout: Union[ - None, - Annotated[StrictFloat, Field(gt=0)], - Tuple[ - Annotated[StrictFloat, Field(gt=0)], - Annotated[StrictFloat, Field(gt=0)] - ] - ] = None, - _request_auth: Optional[Dict[StrictStr, Any]] = None, - _content_type: Optional[StrictStr] = None, - _headers: Optional[Dict[StrictStr, Any]] = None, - _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, - ) -> RESTResponseType: - """get_unique_original_paths - - - :param _request_timeout: timeout setting for this request. If one - number provided, it will be total request - timeout. It can also be a pair (tuple) of - (connection, read) timeouts. - :type _request_timeout: int, tuple(int, int), optional - :param _request_auth: set to override the auth_settings for an a single - request; this effectively ignores the - authentication in the spec for a single request. - :type _request_auth: dict, optional - :param _content_type: force content-type for the request. - :type _content_type: str, Optional - :param _headers: set to override the headers for a single - request; this effectively ignores the headers - in the spec for a single request. - :type _headers: dict, optional - :param _host_index: set to override the host_index for a single - request; this effectively ignores the host_index - in the spec for a single request. - :type _host_index: int, optional - :return: Returns the result object. - """ # noqa: E501 - - _param = self._get_unique_original_paths_serialize( - _request_auth=_request_auth, - _content_type=_content_type, - _headers=_headers, - _host_index=_host_index - ) - - _response_types_map: Dict[str, Optional[str]] = { - '200': "List[str]", - } - response_data = self.api_client.call_api( - *_param, - _request_timeout=_request_timeout - ) - return response_data.response - - - def _get_unique_original_paths_serialize( - self, - _request_auth, - _content_type, - _headers, - _host_index, - ) -> RequestSerialized: - - _host = None - - _collection_formats: Dict[str, str] = { - } - - _path_params: Dict[str, str] = {} - _query_params: List[Tuple[str, str]] = [] - _header_params: Dict[str, Optional[str]] = _headers or {} - _form_params: List[Tuple[str, str]] = [] - _files: Dict[ - str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] - ] = {} - _body_params: Optional[bytes] = None - - # process the path parameters - # process the query parameters - # process the header parameters - # process the form parameters - # process the body parameter - - - # set the HTTP header `Accept` - if 'Accept' not in _header_params: - _header_params['Accept'] = self.api_client.select_header_accept( - [ - 'application/json' - ] - ) - - - # authentication setting - _auth_settings: List[str] = [ - 'cookie', - 'api_key', - 'bearer' - ] - - return self.api_client.param_serialize( - method='GET', - resource_path='/view/folder/unique-paths', - path_params=_path_params, - query_params=_query_params, - header_params=_header_params, - body=_body_params, - post_params=_form_params, - files=_files, - auth_settings=_auth_settings, - collection_formats=_collection_formats, - _host=_host, - _request_auth=_request_auth - ) - - diff --git a/generated/immich/openapi_client/api_client.py b/generated/immich/openapi_client/api_client.py index efa90a4..215ba34 100644 --- a/generated/immich/openapi_client/api_client.py +++ b/generated/immich/openapi_client/api_client.py @@ -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. @@ -21,6 +21,7 @@ import mimetypes import os import re import tempfile +import uuid from urllib.parse import quote from typing import Tuple, Optional, List, Dict, Union @@ -311,7 +312,7 @@ class ApiClient: return_data = self.__deserialize_file(response_data) elif response_type is not None: match = None - content_type = response_data.getheader('content-type') + content_type = response_data.headers.get('content-type') if content_type is not None: match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) encoding = match.group(1) if match else "utf-8" @@ -328,7 +329,7 @@ class ApiClient: return ApiResponse( status_code = response_data.status, data = return_data, - headers = response_data.getheaders(), + headers = response_data.headers, raw_data = response_data.data ) @@ -356,6 +357,8 @@ class ApiClient: return obj.get_secret_value() elif isinstance(obj, self.PRIMITIVE_TYPES): return obj + elif isinstance(obj, uuid.UUID): + return str(obj) elif isinstance(obj, list): return [ self.sanitize_for_serialization(sub_obj) for sub_obj in obj @@ -382,6 +385,10 @@ class ApiClient: else: obj_dict = obj.__dict__ + if isinstance(obj_dict, list): + # here we handle instances that can either be a list or something else, and only became a real list by calling to_dict() + return self.sanitize_for_serialization(obj_dict) + return { key: self.sanitize_for_serialization(val) for key, val in obj_dict.items() @@ -404,7 +411,7 @@ class ApiClient: data = json.loads(response_text) except ValueError: data = response_text - elif re.match(r'^application/(json|[\w!#$&.+-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE): + elif re.match(r'^application/(json|[\w!#$&.+\-^_]+\+json)\s*(;|$)', content_type, re.IGNORECASE): if response_text == "": data = "" else: @@ -453,13 +460,13 @@ class ApiClient: if klass in self.PRIMITIVE_TYPES: return self.__deserialize_primitive(data, klass) - elif klass == object: + elif klass is object: return self.__deserialize_object(data) - elif klass == datetime.date: + elif klass is datetime.date: return self.__deserialize_date(data) - elif klass == datetime.datetime: + elif klass is datetime.datetime: return self.__deserialize_datetime(data) - elif klass == decimal.Decimal: + elif klass is decimal.Decimal: return decimal.Decimal(data) elif issubclass(klass, Enum): return self.__deserialize_enum(data, klass) @@ -694,7 +701,7 @@ class ApiClient: os.close(fd) os.remove(path) - content_disposition = response.getheader("Content-Disposition") + content_disposition = response.headers.get("Content-Disposition") if content_disposition: m = re.search( r'filename=[\'"]?([^\'"\s]+)[\'"]?', diff --git a/generated/immich/openapi_client/configuration.py b/generated/immich/openapi_client/configuration.py index bc78f4b..6389e2f 100644 --- a/generated/immich/openapi_client/configuration.py +++ b/generated/immich/openapi_client/configuration.py @@ -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. @@ -165,6 +165,8 @@ class Configuration: :param retries: Number of retries for API requests. :param ca_cert_data: verify the peer using concatenated CA certificate data in PEM (str) or DER (bytes) format. + :param cert_file: the path to a client certificate file, for mTLS. + :param key_file: the path to a client key file, for mTLS. :Example: @@ -206,6 +208,8 @@ conf = generated.immich.openapi_client.Configuration( ssl_ca_cert: Optional[str]=None, retries: Optional[int] = None, ca_cert_data: Optional[Union[str, bytes]] = None, + cert_file: Optional[str]=None, + key_file: Optional[str]=None, *, debug: Optional[bool] = None, ) -> None: @@ -287,10 +291,10 @@ conf = generated.immich.openapi_client.Configuration( """Set this to verify the peer using PEM (str) or DER (bytes) certificate data. """ - self.cert_file = None + self.cert_file = cert_file """client certificate file """ - self.key_file = None + self.key_file = key_file """client key file """ self.assert_hostname = None @@ -503,6 +507,7 @@ conf = generated.immich.openapi_client.Configuration( password = "" if self.password is not None: password = self.password + return urllib3.util.make_headers( basic_auth=username + ':' + password ).get('authorization') @@ -549,7 +554,7 @@ conf = generated.immich.openapi_client.Configuration( return "Python SDK Debug Report:\n"\ "OS: {env}\n"\ "Python Version: {pyversion}\n"\ - "Version of the API: 1.131.3\n"\ + "Version of the API: 3.0.1\n"\ "SDK Package Version: 1.0.0".\ format(env=sys.platform, pyversion=sys.version) @@ -598,6 +603,7 @@ conf = generated.immich.openapi_client.Configuration( variable_name, variable['default_value']) if 'enum_values' in variable \ + and variable['enum_values'] \ and used_value not in variable['enum_values']: raise ValueError( "The variable `{0}` in the host URL has invalid value " diff --git a/generated/immich/openapi_client/docs/APIKeyCreateDto.md b/generated/immich/openapi_client/docs/APIKeyCreateDto.md deleted file mode 100644 index 35ca571..0000000 --- a/generated/immich/openapi_client/docs/APIKeyCreateDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# APIKeyCreateDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **str** | | [optional] -**permissions** | [**List[Permission]**](Permission.md) | | - -## Example - -```python -from generated.immich.openapi_client.models.api_key_create_dto import APIKeyCreateDto - -# TODO update the JSON string below -json = "{}" -# create an instance of APIKeyCreateDto from a JSON string -api_key_create_dto_instance = APIKeyCreateDto.from_json(json) -# print the JSON string representation of the object -print(APIKeyCreateDto.to_json()) - -# convert the object into a dict -api_key_create_dto_dict = api_key_create_dto_instance.to_dict() -# create an instance of APIKeyCreateDto from a dict -api_key_create_dto_from_dict = APIKeyCreateDto.from_dict(api_key_create_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/APIKeyCreateResponseDto.md b/generated/immich/openapi_client/docs/APIKeyCreateResponseDto.md deleted file mode 100644 index 19dacd8..0000000 --- a/generated/immich/openapi_client/docs/APIKeyCreateResponseDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# APIKeyCreateResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**api_key** | [**APIKeyResponseDto**](APIKeyResponseDto.md) | | -**secret** | **str** | | - -## Example - -```python -from generated.immich.openapi_client.models.api_key_create_response_dto import APIKeyCreateResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of APIKeyCreateResponseDto from a JSON string -api_key_create_response_dto_instance = APIKeyCreateResponseDto.from_json(json) -# print the JSON string representation of the object -print(APIKeyCreateResponseDto.to_json()) - -# convert the object into a dict -api_key_create_response_dto_dict = api_key_create_response_dto_instance.to_dict() -# create an instance of APIKeyCreateResponseDto from a dict -api_key_create_response_dto_from_dict = APIKeyCreateResponseDto.from_dict(api_key_create_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/APIKeyResponseDto.md b/generated/immich/openapi_client/docs/APIKeyResponseDto.md deleted file mode 100644 index 296f8ce..0000000 --- a/generated/immich/openapi_client/docs/APIKeyResponseDto.md +++ /dev/null @@ -1,33 +0,0 @@ -# APIKeyResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**created_at** | **datetime** | | -**id** | **str** | | -**name** | **str** | | -**permissions** | [**List[Permission]**](Permission.md) | | -**updated_at** | **datetime** | | - -## Example - -```python -from generated.immich.openapi_client.models.api_key_response_dto import APIKeyResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of APIKeyResponseDto from a JSON string -api_key_response_dto_instance = APIKeyResponseDto.from_json(json) -# print the JSON string representation of the object -print(APIKeyResponseDto.to_json()) - -# convert the object into a dict -api_key_response_dto_dict = api_key_response_dto_instance.to_dict() -# create an instance of APIKeyResponseDto from a dict -api_key_response_dto_from_dict = APIKeyResponseDto.from_dict(api_key_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/APIKeyUpdateDto.md b/generated/immich/openapi_client/docs/APIKeyUpdateDto.md deleted file mode 100644 index 92a54a7..0000000 --- a/generated/immich/openapi_client/docs/APIKeyUpdateDto.md +++ /dev/null @@ -1,29 +0,0 @@ -# APIKeyUpdateDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**name** | **str** | | - -## Example - -```python -from generated.immich.openapi_client.models.api_key_update_dto import APIKeyUpdateDto - -# TODO update the JSON string below -json = "{}" -# create an instance of APIKeyUpdateDto from a JSON string -api_key_update_dto_instance = APIKeyUpdateDto.from_json(json) -# print the JSON string representation of the object -print(APIKeyUpdateDto.to_json()) - -# convert the object into a dict -api_key_update_dto_dict = api_key_update_dto_instance.to_dict() -# create an instance of APIKeyUpdateDto from a dict -api_key_update_dto_from_dict = APIKeyUpdateDto.from_dict(api_key_update_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/APIKeysApi.md b/generated/immich/openapi_client/docs/APIKeysApi.md index 7343715..1013d9d 100644 --- a/generated/immich/openapi_client/docs/APIKeysApi.md +++ b/generated/immich/openapi_client/docs/APIKeysApi.md @@ -4,15 +4,20 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_api_key**](APIKeysApi.md#create_api_key) | **POST** /api-keys | -[**delete_api_key**](APIKeysApi.md#delete_api_key) | **DELETE** /api-keys/{id} | -[**get_api_key**](APIKeysApi.md#get_api_key) | **GET** /api-keys/{id} | -[**get_api_keys**](APIKeysApi.md#get_api_keys) | **GET** /api-keys | -[**update_api_key**](APIKeysApi.md#update_api_key) | **PUT** /api-keys/{id} | +[**create_api_key**](APIKeysApi.md#create_api_key) | **POST** /api-keys | Create an API key +[**delete_api_key**](APIKeysApi.md#delete_api_key) | **DELETE** /api-keys/{id} | Delete an API key +[**get_api_key**](APIKeysApi.md#get_api_key) | **GET** /api-keys/{id} | Retrieve an API key +[**get_api_keys**](APIKeysApi.md#get_api_keys) | **GET** /api-keys | List all API keys +[**get_my_api_key**](APIKeysApi.md#get_my_api_key) | **GET** /api-keys/me | Retrieve the current API key +[**update_api_key**](APIKeysApi.md#update_api_key) | **PUT** /api-keys/{id} | Update an API key # **create_api_key** -> APIKeyCreateResponseDto create_api_key(api_key_create_dto) +> ApiKeyCreateResponseDto create_api_key(api_key_create_dto) + +Create an API key + +Creates a new API key. It will be limited to the permissions specified. ### Example @@ -22,8 +27,8 @@ Method | HTTP request | Description ```python import generated.immich.openapi_client -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_create_dto import ApiKeyCreateDto +from generated.immich.openapi_client.models.api_key_create_response_dto import ApiKeyCreateResponseDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -59,9 +64,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.APIKeysApi(api_client) - api_key_create_dto = generated.immich.openapi_client.APIKeyCreateDto() # APIKeyCreateDto | + api_key_create_dto = generated.immich.openapi_client.ApiKeyCreateDto() # ApiKeyCreateDto | try: + # Create an API key api_response = api_instance.create_api_key(api_key_create_dto) print("The response of APIKeysApi->create_api_key:\n") pprint(api_response) @@ -76,11 +82,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **api_key_create_dto** | [**APIKeyCreateDto**](APIKeyCreateDto.md)| | + **api_key_create_dto** | [**ApiKeyCreateDto**](ApiKeyCreateDto.md)| | ### Return type -[**APIKeyCreateResponseDto**](APIKeyCreateResponseDto.md) +[**ApiKeyCreateResponseDto**](ApiKeyCreateResponseDto.md) ### Authorization @@ -102,6 +108,10 @@ Name | Type | Description | Notes # **delete_api_key** > delete_api_key(id) +Delete an API key + +Deletes an API key identified by its ID. The current user must own this API key. + ### Example * Api Key Authentication (cookie): @@ -145,9 +155,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.APIKeysApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Delete an API key api_instance.delete_api_key(id) except Exception as e: print("Exception when calling APIKeysApi->delete_api_key: %s\n" % e) @@ -160,7 +171,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -184,7 +195,11 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_api_key** -> APIKeyResponseDto get_api_key(id) +> ApiKeyResponseDto get_api_key(id) + +Retrieve an API key + +Retrieve an API key by its ID. The current user must own this API key. ### Example @@ -194,7 +209,7 @@ void (empty response body) ```python import generated.immich.openapi_client -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 generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -230,9 +245,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.APIKeysApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve an API key api_response = api_instance.get_api_key(id) print("The response of APIKeysApi->get_api_key:\n") pprint(api_response) @@ -247,11 +263,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type -[**APIKeyResponseDto**](APIKeyResponseDto.md) +[**ApiKeyResponseDto**](ApiKeyResponseDto.md) ### Authorization @@ -271,7 +287,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_api_keys** -> List[APIKeyResponseDto] get_api_keys() +> List[ApiKeyResponseDto] get_api_keys() + +List all API keys + +Retrieve all API keys of the current user. ### Example @@ -281,7 +301,7 @@ Name | Type | Description | Notes ```python import generated.immich.openapi_client -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 generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -319,6 +339,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.APIKeysApi(api_client) try: + # List all API keys api_response = api_instance.get_api_keys() print("The response of APIKeysApi->get_api_keys:\n") pprint(api_response) @@ -334,7 +355,95 @@ This endpoint does not need any parameter. ### Return type -[**List[APIKeyResponseDto]**](APIKeyResponseDto.md) +[**List[ApiKeyResponseDto]**](ApiKeyResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_my_api_key** +> ApiKeyResponseDto get_my_api_key() + +Retrieve the current API key + +Retrieve the API key that is used to access this endpoint. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.api_key_response_dto import ApiKeyResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.APIKeysApi(api_client) + + try: + # Retrieve the current API key + api_response = api_instance.get_my_api_key() + print("The response of APIKeysApi->get_my_api_key:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling APIKeysApi->get_my_api_key: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ApiKeyResponseDto**](ApiKeyResponseDto.md) ### Authorization @@ -354,7 +463,11 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_api_key** -> APIKeyResponseDto update_api_key(id, api_key_update_dto) +> ApiKeyResponseDto update_api_key(id, api_key_update_dto) + +Update an API key + +Updates the name and permissions of an API key by its ID. The current user must own this API key. ### Example @@ -364,8 +477,8 @@ This endpoint does not need any parameter. ```python import generated.immich.openapi_client -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.api_key_response_dto import ApiKeyResponseDto +from generated.immich.openapi_client.models.api_key_update_dto import ApiKeyUpdateDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -401,10 +514,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.APIKeysApi(api_client) - id = 'id_example' # str | - api_key_update_dto = generated.immich.openapi_client.APIKeyUpdateDto() # APIKeyUpdateDto | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + api_key_update_dto = generated.immich.openapi_client.ApiKeyUpdateDto() # ApiKeyUpdateDto | try: + # Update an API key api_response = api_instance.update_api_key(id, api_key_update_dto) print("The response of APIKeysApi->update_api_key:\n") pprint(api_response) @@ -419,12 +533,12 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | - **api_key_update_dto** | [**APIKeyUpdateDto**](APIKeyUpdateDto.md)| | + **id** | **UUID**| | + **api_key_update_dto** | [**ApiKeyUpdateDto**](ApiKeyUpdateDto.md)| | ### Return type -[**APIKeyResponseDto**](APIKeyResponseDto.md) +[**ApiKeyResponseDto**](ApiKeyResponseDto.md) ### Authorization diff --git a/generated/immich/openapi_client/docs/ActivitiesApi.md b/generated/immich/openapi_client/docs/ActivitiesApi.md index a1c4446..6d616cc 100644 --- a/generated/immich/openapi_client/docs/ActivitiesApi.md +++ b/generated/immich/openapi_client/docs/ActivitiesApi.md @@ -4,15 +4,19 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_activity**](ActivitiesApi.md#create_activity) | **POST** /activities | -[**delete_activity**](ActivitiesApi.md#delete_activity) | **DELETE** /activities/{id} | -[**get_activities**](ActivitiesApi.md#get_activities) | **GET** /activities | -[**get_activity_statistics**](ActivitiesApi.md#get_activity_statistics) | **GET** /activities/statistics | +[**create_activity**](ActivitiesApi.md#create_activity) | **POST** /activities | Create an activity +[**delete_activity**](ActivitiesApi.md#delete_activity) | **DELETE** /activities/{id} | Delete an activity +[**get_activities**](ActivitiesApi.md#get_activities) | **GET** /activities | List all activities +[**get_activity_statistics**](ActivitiesApi.md#get_activity_statistics) | **GET** /activities/statistics | Retrieve activity statistics # **create_activity** > ActivityResponseDto create_activity(activity_create_dto) +Create an activity + +Create a like or a comment for an album, or an asset in an album. + ### Example * Api Key Authentication (cookie): @@ -61,6 +65,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: activity_create_dto = generated.immich.openapi_client.ActivityCreateDto() # ActivityCreateDto | try: + # Create an activity api_response = api_instance.create_activity(activity_create_dto) print("The response of ActivitiesApi->create_activity:\n") pprint(api_response) @@ -101,6 +106,10 @@ Name | Type | Description | Notes # **delete_activity** > delete_activity(id) +Delete an activity + +Removes a like or comment from a given album or asset in an album. + ### Example * Api Key Authentication (cookie): @@ -144,9 +153,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.ActivitiesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Delete an activity api_instance.delete_activity(id) except Exception as e: print("Exception when calling ActivitiesApi->delete_activity: %s\n" % e) @@ -159,7 +169,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -185,6 +195,10 @@ void (empty response body) # **get_activities** > List[ActivityResponseDto] get_activities(album_id, asset_id=asset_id, level=level, type=type, user_id=user_id) +List all activities + +Returns a list of activities for the selected asset or album. The activities are returned in sorted order, with the oldest activities appearing first. + ### Example * Api Key Authentication (cookie): @@ -231,13 +245,14 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.ActivitiesApi(api_client) - album_id = 'album_id_example' # str | - asset_id = 'asset_id_example' # str | (optional) + album_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Album ID + asset_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Asset ID (if activity is for an asset) (optional) level = generated.immich.openapi_client.ReactionLevel() # ReactionLevel | (optional) type = generated.immich.openapi_client.ReactionType() # ReactionType | (optional) - user_id = 'user_id_example' # str | (optional) + user_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter by user ID (optional) try: + # List all activities api_response = api_instance.get_activities(album_id, asset_id=asset_id, level=level, type=type, user_id=user_id) print("The response of ActivitiesApi->get_activities:\n") pprint(api_response) @@ -252,11 +267,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **album_id** | **str**| | - **asset_id** | **str**| | [optional] + **album_id** | **UUID**| Album ID | + **asset_id** | **UUID**| Asset ID (if activity is for an asset) | [optional] **level** | [**ReactionLevel**](.md)| | [optional] **type** | [**ReactionType**](.md)| | [optional] - **user_id** | **str**| | [optional] + **user_id** | **UUID**| Filter by user ID | [optional] ### Return type @@ -282,6 +297,10 @@ Name | Type | Description | Notes # **get_activity_statistics** > ActivityStatisticsResponseDto get_activity_statistics(album_id, asset_id=asset_id) +Retrieve activity statistics + +Returns the number of likes and comments for a given album or asset in an album. + ### Example * Api Key Authentication (cookie): @@ -326,10 +345,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.ActivitiesApi(api_client) - album_id = 'album_id_example' # str | - asset_id = 'asset_id_example' # str | (optional) + album_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Album ID + asset_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Asset ID (if activity is for an asset) (optional) try: + # Retrieve activity statistics api_response = api_instance.get_activity_statistics(album_id, asset_id=asset_id) print("The response of ActivitiesApi->get_activity_statistics:\n") pprint(api_response) @@ -344,8 +364,8 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **album_id** | **str**| | - **asset_id** | **str**| | [optional] + **album_id** | **UUID**| Album ID | + **asset_id** | **UUID**| Asset ID (if activity is for an asset) | [optional] ### Return type diff --git a/generated/immich/openapi_client/docs/ActivityCreateDto.md b/generated/immich/openapi_client/docs/ActivityCreateDto.md index 6a0bdca..962f1cf 100644 --- a/generated/immich/openapi_client/docs/ActivityCreateDto.md +++ b/generated/immich/openapi_client/docs/ActivityCreateDto.md @@ -1,13 +1,14 @@ # ActivityCreateDto +Activity create ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_id** | **str** | | -**asset_id** | **str** | | [optional] -**comment** | **str** | | [optional] +**album_id** | **UUID** | Album ID | +**asset_id** | **UUID** | Asset ID (if activity is for an asset) | [optional] +**comment** | **str** | Comment text (required if type is comment) | [optional] **type** | [**ReactionType**](ReactionType.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/ActivityResponseDto.md b/generated/immich/openapi_client/docs/ActivityResponseDto.md index 201b012..7b196b1 100644 --- a/generated/immich/openapi_client/docs/ActivityResponseDto.md +++ b/generated/immich/openapi_client/docs/ActivityResponseDto.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_id** | **str** | | -**comment** | **str** | | [optional] -**created_at** | **datetime** | | -**id** | **str** | | +**asset_id** | **UUID** | Asset ID (if activity is for an asset) | +**comment** | **str** | Comment text (for comment activities) | [optional] +**created_at** | **datetime** | Creation date | +**id** | **UUID** | Activity ID | **type** | [**ReactionType**](ReactionType.md) | | **user** | [**UserResponseDto**](UserResponseDto.md) | | diff --git a/generated/immich/openapi_client/docs/ActivityStatisticsResponseDto.md b/generated/immich/openapi_client/docs/ActivityStatisticsResponseDto.md index 366a3a4..4bc1bb6 100644 --- a/generated/immich/openapi_client/docs/ActivityStatisticsResponseDto.md +++ b/generated/immich/openapi_client/docs/ActivityStatisticsResponseDto.md @@ -5,7 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**comments** | **int** | | +**comments** | **int** | Number of comments | +**likes** | **int** | Number of likes | ## Example diff --git a/generated/immich/openapi_client/docs/AddUsersDto.md b/generated/immich/openapi_client/docs/AddUsersDto.md index 8713872..603a9de 100644 --- a/generated/immich/openapi_client/docs/AddUsersDto.md +++ b/generated/immich/openapi_client/docs/AddUsersDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_users** | [**List[AlbumUserAddDto]**](AlbumUserAddDto.md) | | +**album_users** | [**List[AlbumUserAddDto]**](AlbumUserAddDto.md) | Album users to add | ## Example diff --git a/generated/immich/openapi_client/docs/AdminOnboardingUpdateDto.md b/generated/immich/openapi_client/docs/AdminOnboardingUpdateDto.md index f16cfc5..c35d843 100644 --- a/generated/immich/openapi_client/docs/AdminOnboardingUpdateDto.md +++ b/generated/immich/openapi_client/docs/AdminOnboardingUpdateDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**is_onboarded** | **bool** | | +**is_onboarded** | **bool** | Is admin onboarded | ## Example diff --git a/generated/immich/openapi_client/docs/AlbumResponseDto.md b/generated/immich/openapi_client/docs/AlbumResponseDto.md index f81bfb3..0388f50 100644 --- a/generated/immich/openapi_client/docs/AlbumResponseDto.md +++ b/generated/immich/openapi_client/docs/AlbumResponseDto.md @@ -5,24 +5,22 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_name** | **str** | | -**album_thumbnail_asset_id** | **str** | | -**album_users** | [**List[AlbumUserResponseDto]**](AlbumUserResponseDto.md) | | -**asset_count** | **int** | | -**assets** | [**List[AssetResponseDto]**](AssetResponseDto.md) | | -**created_at** | **datetime** | | -**description** | **str** | | -**end_date** | **datetime** | | [optional] -**has_shared_link** | **bool** | | -**id** | **str** | | -**is_activity_enabled** | **bool** | | -**last_modified_asset_timestamp** | **datetime** | | [optional] +**album_name** | **str** | Album name | +**album_thumbnail_asset_id** | **UUID** | Thumbnail asset ID | +**album_users** | [**List[AlbumUserResponseDto]**](AlbumUserResponseDto.md) | First entry is always the album owner. Second entry is the auth user, if it differs from the owner. The rest are ordered alphabetically. | +**asset_count** | **int** | Number of assets | +**contributor_counts** | [**List[ContributorCountResponseDto]**](ContributorCountResponseDto.md) | | [optional] +**created_at** | **datetime** | Creation date | +**description** | **str** | Album description | +**end_date** | **datetime** | End date (latest asset) | [optional] +**has_shared_link** | **bool** | Has shared link | +**id** | **UUID** | Album ID | +**is_activity_enabled** | **bool** | Activity feed enabled | +**last_modified_asset_timestamp** | **datetime** | Last modified asset timestamp | [optional] **order** | [**AssetOrder**](AssetOrder.md) | | [optional] -**owner** | [**UserResponseDto**](UserResponseDto.md) | | -**owner_id** | **str** | | -**shared** | **bool** | | -**start_date** | **datetime** | | [optional] -**updated_at** | **datetime** | | +**shared** | **bool** | Is shared album | +**start_date** | **datetime** | Start date (earliest asset) | [optional] +**updated_at** | **datetime** | Last update date | ## Example diff --git a/generated/immich/openapi_client/docs/AlbumStatisticsResponseDto.md b/generated/immich/openapi_client/docs/AlbumStatisticsResponseDto.md index f21994c..9cdd363 100644 --- a/generated/immich/openapi_client/docs/AlbumStatisticsResponseDto.md +++ b/generated/immich/openapi_client/docs/AlbumStatisticsResponseDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**not_shared** | **int** | | -**owned** | **int** | | -**shared** | **int** | | +**not_shared** | **int** | Number of non-shared albums | +**owned** | **int** | Number of owned albums | +**shared** | **int** | Number of shared albums | ## Example diff --git a/generated/immich/openapi_client/docs/AlbumUserAddDto.md b/generated/immich/openapi_client/docs/AlbumUserAddDto.md index 55c429a..b8eecc6 100644 --- a/generated/immich/openapi_client/docs/AlbumUserAddDto.md +++ b/generated/immich/openapi_client/docs/AlbumUserAddDto.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **role** | [**AlbumUserRole**](AlbumUserRole.md) | | [optional] -**user_id** | **str** | | +**user_id** | **UUID** | User ID | ## Example diff --git a/generated/immich/openapi_client/docs/AlbumUserCreateDto.md b/generated/immich/openapi_client/docs/AlbumUserCreateDto.md index 2ca0d7a..c0fa5c2 100644 --- a/generated/immich/openapi_client/docs/AlbumUserCreateDto.md +++ b/generated/immich/openapi_client/docs/AlbumUserCreateDto.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **role** | [**AlbumUserRole**](AlbumUserRole.md) | | -**user_id** | **str** | | +**user_id** | **UUID** | User ID | ## Example diff --git a/generated/immich/openapi_client/docs/AlbumUserRole.md b/generated/immich/openapi_client/docs/AlbumUserRole.md index 285d76a..5f8fcdf 100644 --- a/generated/immich/openapi_client/docs/AlbumUserRole.md +++ b/generated/immich/openapi_client/docs/AlbumUserRole.md @@ -1,10 +1,13 @@ # AlbumUserRole +Album user role ## Enum * `EDITOR` (value: `'editor'`) +* `OWNER` (value: `'owner'`) + * `VIEWER` (value: `'viewer'`) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generated/immich/openapi_client/docs/AlbumsApi.md b/generated/immich/openapi_client/docs/AlbumsApi.md index 41b2d8c..cc255df 100644 --- a/generated/immich/openapi_client/docs/AlbumsApi.md +++ b/generated/immich/openapi_client/docs/AlbumsApi.md @@ -4,21 +4,27 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**add_assets_to_album**](AlbumsApi.md#add_assets_to_album) | **PUT** /albums/{id}/assets | -[**add_users_to_album**](AlbumsApi.md#add_users_to_album) | **PUT** /albums/{id}/users | -[**create_album**](AlbumsApi.md#create_album) | **POST** /albums | -[**delete_album**](AlbumsApi.md#delete_album) | **DELETE** /albums/{id} | -[**get_album_info**](AlbumsApi.md#get_album_info) | **GET** /albums/{id} | -[**get_album_statistics**](AlbumsApi.md#get_album_statistics) | **GET** /albums/statistics | -[**get_all_albums**](AlbumsApi.md#get_all_albums) | **GET** /albums | -[**remove_asset_from_album**](AlbumsApi.md#remove_asset_from_album) | **DELETE** /albums/{id}/assets | -[**remove_user_from_album**](AlbumsApi.md#remove_user_from_album) | **DELETE** /albums/{id}/user/{userId} | -[**update_album_info**](AlbumsApi.md#update_album_info) | **PATCH** /albums/{id} | -[**update_album_user**](AlbumsApi.md#update_album_user) | **PUT** /albums/{id}/user/{userId} | +[**add_assets_to_album**](AlbumsApi.md#add_assets_to_album) | **PUT** /albums/{id}/assets | Add assets to an album +[**add_assets_to_albums**](AlbumsApi.md#add_assets_to_albums) | **PUT** /albums/assets | Add assets to albums +[**add_users_to_album**](AlbumsApi.md#add_users_to_album) | **PUT** /albums/{id}/users | Share album with users +[**create_album**](AlbumsApi.md#create_album) | **POST** /albums | Create an album +[**delete_album**](AlbumsApi.md#delete_album) | **DELETE** /albums/{id} | Delete an album +[**get_album_info**](AlbumsApi.md#get_album_info) | **GET** /albums/{id} | Retrieve an album +[**get_album_map_markers**](AlbumsApi.md#get_album_map_markers) | **GET** /albums/{id}/map-markers | Retrieve album map markers +[**get_album_statistics**](AlbumsApi.md#get_album_statistics) | **GET** /albums/statistics | Retrieve album statistics +[**get_all_albums**](AlbumsApi.md#get_all_albums) | **GET** /albums | List all albums +[**remove_asset_from_album**](AlbumsApi.md#remove_asset_from_album) | **DELETE** /albums/{id}/assets | Remove assets from an album +[**remove_user_from_album**](AlbumsApi.md#remove_user_from_album) | **DELETE** /albums/{id}/user/{userId} | Remove user from album +[**update_album_info**](AlbumsApi.md#update_album_info) | **PATCH** /albums/{id} | Update an album +[**update_album_user**](AlbumsApi.md#update_album_user) | **PUT** /albums/{id}/user/{userId} | Update user role # **add_assets_to_album** -> List[BulkIdResponseDto] add_assets_to_album(id, bulk_ids_dto, key=key) +> List[BulkIdResponseDto] add_assets_to_album(id, bulk_ids_dto) + +Add assets to an album + +Add multiple assets to a specific album by its ID. ### Example @@ -65,12 +71,12 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AlbumsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | - key = 'key_example' # str | (optional) try: - api_response = api_instance.add_assets_to_album(id, bulk_ids_dto, key=key) + # Add assets to an album + api_response = api_instance.add_assets_to_album(id, bulk_ids_dto) print("The response of AlbumsApi->add_assets_to_album:\n") pprint(api_response) except Exception as e: @@ -84,9 +90,8 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **bulk_ids_dto** | [**BulkIdsDto**](BulkIdsDto.md)| | - **key** | **str**| | [optional] ### Return type @@ -109,9 +114,106 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **add_assets_to_albums** +> AlbumsAddAssetsResponseDto add_assets_to_albums(albums_add_assets_dto) + +Add assets to albums + +Send a list of asset IDs and album IDs to add each asset to each album. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AlbumsApi(api_client) + albums_add_assets_dto = generated.immich.openapi_client.AlbumsAddAssetsDto() # AlbumsAddAssetsDto | + + try: + # Add assets to albums + api_response = api_instance.add_assets_to_albums(albums_add_assets_dto) + print("The response of AlbumsApi->add_assets_to_albums:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AlbumsApi->add_assets_to_albums: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **albums_add_assets_dto** | [**AlbumsAddAssetsDto**](AlbumsAddAssetsDto.md)| | + +### Return type + +[**AlbumsAddAssetsResponseDto**](AlbumsAddAssetsResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **add_users_to_album** > AlbumResponseDto add_users_to_album(id, add_users_dto) +Share album with users + +Share an album with multiple users. Each user can be given a specific role in the album. + ### Example * Api Key Authentication (cookie): @@ -157,10 +259,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AlbumsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | add_users_dto = generated.immich.openapi_client.AddUsersDto() # AddUsersDto | try: + # Share album with users api_response = api_instance.add_users_to_album(id, add_users_dto) print("The response of AlbumsApi->add_users_to_album:\n") pprint(api_response) @@ -175,7 +278,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **add_users_dto** | [**AddUsersDto**](AddUsersDto.md)| | ### Return type @@ -202,6 +305,10 @@ Name | Type | Description | Notes # **create_album** > AlbumResponseDto create_album(create_album_dto) +Create an album + +Create a new album. The album can also be created with initial users and assets. + ### Example * Api Key Authentication (cookie): @@ -250,6 +357,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: create_album_dto = generated.immich.openapi_client.CreateAlbumDto() # CreateAlbumDto | try: + # Create an album api_response = api_instance.create_album(create_album_dto) print("The response of AlbumsApi->create_album:\n") pprint(api_response) @@ -290,6 +398,10 @@ Name | Type | Description | Notes # **delete_album** > delete_album(id) +Delete an album + +Delete a specific album by its ID. Note the album is initially trashed and then immediately scheduled for deletion, but relies on a background job to complete the process. + ### Example * Api Key Authentication (cookie): @@ -333,9 +445,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AlbumsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Delete an album api_instance.delete_album(id) except Exception as e: print("Exception when calling AlbumsApi->delete_album: %s\n" % e) @@ -348,7 +461,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -367,12 +480,16 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | | - | +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_album_info** -> AlbumResponseDto get_album_info(id, key=key, without_assets=without_assets) +> AlbumResponseDto get_album_info(id, key=key, slug=slug) + +Retrieve an album + +Retrieve information about a specific album by its ID. ### Example @@ -418,12 +535,13 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AlbumsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | key = 'key_example' # str | (optional) - without_assets = True # bool | (optional) + slug = 'slug_example' # str | (optional) try: - api_response = api_instance.get_album_info(id, key=key, without_assets=without_assets) + # Retrieve an album + api_response = api_instance.get_album_info(id, key=key, slug=slug) print("The response of AlbumsApi->get_album_info:\n") pprint(api_response) except Exception as e: @@ -437,9 +555,9 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **key** | **str**| | [optional] - **without_assets** | **bool**| | [optional] + **slug** | **str**| | [optional] ### Return type @@ -462,9 +580,109 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_album_map_markers** +> List[MapMarkerResponseDto] get_album_map_markers(id, key=key, slug=slug) + +Retrieve album map markers + +Retrieve map marker information for a specific album by its ID. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.map_marker_response_dto import MapMarkerResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AlbumsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) + + try: + # Retrieve album map markers + api_response = api_instance.get_album_map_markers(id, key=key, slug=slug) + print("The response of AlbumsApi->get_album_map_markers:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AlbumsApi->get_album_map_markers: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **key** | **str**| | [optional] + **slug** | **str**| | [optional] + +### Return type + +[**List[MapMarkerResponseDto]**](MapMarkerResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_album_statistics** > AlbumStatisticsResponseDto get_album_statistics() +Retrieve album statistics + +Returns statistics about the albums available to the authenticated user. + ### Example * Api Key Authentication (cookie): @@ -511,6 +729,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.AlbumsApi(api_client) try: + # Retrieve album statistics api_response = api_instance.get_album_statistics() print("The response of AlbumsApi->get_album_statistics:\n") pprint(api_response) @@ -546,7 +765,11 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_all_albums** -> List[AlbumResponseDto] get_all_albums(asset_id=asset_id, shared=shared) +> List[AlbumResponseDto] get_all_albums(asset_id=asset_id, id=id, is_owned=is_owned, is_shared=is_shared, name=name) + +List all albums + +Retrieve a list of albums available to the authenticated user. ### Example @@ -592,11 +815,15 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AlbumsApi(api_client) - asset_id = 'asset_id_example' # str | Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums (optional) - shared = True # bool | (optional) + asset_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter albums containing this asset ID (ignores other parameters) (optional) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Album ID (optional) + is_owned = True # bool | Filter by ownership: true = only owned, false = only shared-with-me, undefined = no filter (optional) + is_shared = True # bool | Filter by shared status: true = only shared, false = not shared, undefined = no filter (optional) + name = 'name_example' # str | Album name (exact match) (optional) try: - api_response = api_instance.get_all_albums(asset_id=asset_id, shared=shared) + # List all albums + api_response = api_instance.get_all_albums(asset_id=asset_id, id=id, is_owned=is_owned, is_shared=is_shared, name=name) print("The response of AlbumsApi->get_all_albums:\n") pprint(api_response) except Exception as e: @@ -610,8 +837,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **asset_id** | **str**| Only returns albums that contain the asset Ignores the shared parameter undefined: get all albums | [optional] - **shared** | **bool**| | [optional] + **asset_id** | **UUID**| Filter albums containing this asset ID (ignores other parameters) | [optional] + **id** | **UUID**| Album ID | [optional] + **is_owned** | **bool**| Filter by ownership: true = only owned, false = only shared-with-me, undefined = no filter | [optional] + **is_shared** | **bool**| Filter by shared status: true = only shared, false = not shared, undefined = no filter | [optional] + **name** | **str**| Album name (exact match) | [optional] ### Return type @@ -637,6 +867,10 @@ Name | Type | Description | Notes # **remove_asset_from_album** > List[BulkIdResponseDto] remove_asset_from_album(id, bulk_ids_dto) +Remove assets from an album + +Remove multiple assets from a specific album by its ID. + ### Example * Api Key Authentication (cookie): @@ -682,10 +916,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AlbumsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | try: + # Remove assets from an album api_response = api_instance.remove_asset_from_album(id, bulk_ids_dto) print("The response of AlbumsApi->remove_asset_from_album:\n") pprint(api_response) @@ -700,7 +935,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **bulk_ids_dto** | [**BulkIdsDto**](BulkIdsDto.md)| | ### Return type @@ -727,6 +962,10 @@ Name | Type | Description | Notes # **remove_user_from_album** > remove_user_from_album(id, user_id) +Remove user from album + +Remove a user from an album. Use an ID of "me" to leave a shared album. + ### Example * Api Key Authentication (cookie): @@ -770,10 +1009,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AlbumsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | user_id = 'user_id_example' # str | try: + # Remove user from album api_instance.remove_user_from_album(id, user_id) except Exception as e: print("Exception when calling AlbumsApi->remove_user_from_album: %s\n" % e) @@ -786,7 +1026,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **user_id** | **str**| | ### Return type @@ -806,13 +1046,17 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | | - | +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_album_info** > AlbumResponseDto update_album_info(id, update_album_dto) +Update an album + +Update the information of a specific album by its ID. This endpoint can be used to update the album name, description, sort order, etc. However, it is not used to add or remove assets or users from the album. + ### Example * Api Key Authentication (cookie): @@ -858,10 +1102,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AlbumsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | update_album_dto = generated.immich.openapi_client.UpdateAlbumDto() # UpdateAlbumDto | try: + # Update an album api_response = api_instance.update_album_info(id, update_album_dto) print("The response of AlbumsApi->update_album_info:\n") pprint(api_response) @@ -876,7 +1121,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **update_album_dto** | [**UpdateAlbumDto**](UpdateAlbumDto.md)| | ### Return type @@ -903,6 +1148,10 @@ Name | Type | Description | Notes # **update_album_user** > update_album_user(id, user_id, update_album_user_dto) +Update user role + +Change the role for a specific user in a specific album. + ### Example * Api Key Authentication (cookie): @@ -947,11 +1196,12 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AlbumsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | user_id = 'user_id_example' # str | update_album_user_dto = generated.immich.openapi_client.UpdateAlbumUserDto() # UpdateAlbumUserDto | try: + # Update user role api_instance.update_album_user(id, user_id, update_album_user_dto) except Exception as e: print("Exception when calling AlbumsApi->update_album_user: %s\n" % e) @@ -964,7 +1214,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **user_id** | **str**| | **update_album_user_dto** | [**UpdateAlbumUserDto**](UpdateAlbumUserDto.md)| | @@ -985,7 +1235,7 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | | - | +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) diff --git a/generated/immich/openapi_client/docs/AllJobStatusResponseDto.md b/generated/immich/openapi_client/docs/AllJobStatusResponseDto.md deleted file mode 100644 index f914df5..0000000 --- a/generated/immich/openapi_client/docs/AllJobStatusResponseDto.md +++ /dev/null @@ -1,43 +0,0 @@ -# AllJobStatusResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**background_task** | [**JobStatusDto**](JobStatusDto.md) | | -**backup_database** | [**JobStatusDto**](JobStatusDto.md) | | -**duplicate_detection** | [**JobStatusDto**](JobStatusDto.md) | | -**face_detection** | [**JobStatusDto**](JobStatusDto.md) | | -**facial_recognition** | [**JobStatusDto**](JobStatusDto.md) | | -**library** | [**JobStatusDto**](JobStatusDto.md) | | -**metadata_extraction** | [**JobStatusDto**](JobStatusDto.md) | | -**migration** | [**JobStatusDto**](JobStatusDto.md) | | -**notifications** | [**JobStatusDto**](JobStatusDto.md) | | -**search** | [**JobStatusDto**](JobStatusDto.md) | | -**sidecar** | [**JobStatusDto**](JobStatusDto.md) | | -**smart_search** | [**JobStatusDto**](JobStatusDto.md) | | -**storage_template_migration** | [**JobStatusDto**](JobStatusDto.md) | | -**thumbnail_generation** | [**JobStatusDto**](JobStatusDto.md) | | -**video_conversion** | [**JobStatusDto**](JobStatusDto.md) | | - -## Example - -```python -from generated.immich.openapi_client.models.all_job_status_response_dto import AllJobStatusResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of AllJobStatusResponseDto from a JSON string -all_job_status_response_dto_instance = AllJobStatusResponseDto.from_json(json) -# print the JSON string representation of the object -print(AllJobStatusResponseDto.to_json()) - -# convert the object into a dict -all_job_status_response_dto_dict = all_job_status_response_dto_instance.to_dict() -# create an instance of AllJobStatusResponseDto from a dict -all_job_status_response_dto_from_dict = AllJobStatusResponseDto.from_dict(all_job_status_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/AssetBulkDeleteDto.md b/generated/immich/openapi_client/docs/AssetBulkDeleteDto.md index 9389f57..9d1b34c 100644 --- a/generated/immich/openapi_client/docs/AssetBulkDeleteDto.md +++ b/generated/immich/openapi_client/docs/AssetBulkDeleteDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**force** | **bool** | | [optional] -**ids** | **List[str]** | | +**force** | **bool** | Force delete even if in use | [optional] +**ids** | **List[UUID]** | IDs to process | ## Example diff --git a/generated/immich/openapi_client/docs/AssetBulkUpdateDto.md b/generated/immich/openapi_client/docs/AssetBulkUpdateDto.md index 487808d..3982ebb 100644 --- a/generated/immich/openapi_client/docs/AssetBulkUpdateDto.md +++ b/generated/immich/openapi_client/docs/AssetBulkUpdateDto.md @@ -5,14 +5,17 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**date_time_original** | **str** | | [optional] -**duplicate_id** | **str** | | [optional] -**ids** | **List[str]** | | -**is_archived** | **bool** | | [optional] -**is_favorite** | **bool** | | [optional] -**latitude** | **float** | | [optional] -**longitude** | **float** | | [optional] -**rating** | **float** | | [optional] +**date_time_original** | **str** | Original date and time | [optional] +**date_time_relative** | **int** | Relative time offset in minutes | [optional] +**description** | **str** | Asset description | [optional] +**duplicate_id** | **str** | Duplicate ID | [optional] +**ids** | **List[UUID]** | Asset IDs to update | +**is_favorite** | **bool** | Mark as favorite | [optional] +**latitude** | **float** | Latitude coordinate | [optional] +**longitude** | **float** | Longitude coordinate | [optional] +**rating** | **int** | Rating in range [1-5] (starred), -1 (rejected), or null (unrated) | [optional] +**time_zone** | **str** | Time zone (IANA timezone) | [optional] +**visibility** | [**AssetVisibility**](AssetVisibility.md) | | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/AssetBulkUploadCheckDto.md b/generated/immich/openapi_client/docs/AssetBulkUploadCheckDto.md index 9cb7b25..7c5af92 100644 --- a/generated/immich/openapi_client/docs/AssetBulkUploadCheckDto.md +++ b/generated/immich/openapi_client/docs/AssetBulkUploadCheckDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**assets** | [**List[AssetBulkUploadCheckItem]**](AssetBulkUploadCheckItem.md) | | +**assets** | [**List[AssetBulkUploadCheckItem]**](AssetBulkUploadCheckItem.md) | Assets to check | ## Example diff --git a/generated/immich/openapi_client/docs/AssetBulkUploadCheckItem.md b/generated/immich/openapi_client/docs/AssetBulkUploadCheckItem.md index c143c88..ae258b2 100644 --- a/generated/immich/openapi_client/docs/AssetBulkUploadCheckItem.md +++ b/generated/immich/openapi_client/docs/AssetBulkUploadCheckItem.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**checksum** | **str** | base64 or hex encoded sha1 hash | -**id** | **str** | | +**checksum** | **str** | Base64 or hex encoded SHA1 hash | +**id** | **str** | Client-side identifier echoed in the response to match results to inputs (e.g. filename) | ## Example diff --git a/generated/immich/openapi_client/docs/AssetBulkUploadCheckResponseDto.md b/generated/immich/openapi_client/docs/AssetBulkUploadCheckResponseDto.md index dc7db7a..e7a35f1 100644 --- a/generated/immich/openapi_client/docs/AssetBulkUploadCheckResponseDto.md +++ b/generated/immich/openapi_client/docs/AssetBulkUploadCheckResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**results** | [**List[AssetBulkUploadCheckResult]**](AssetBulkUploadCheckResult.md) | | +**results** | [**List[AssetBulkUploadCheckResult]**](AssetBulkUploadCheckResult.md) | Upload check results | ## Example diff --git a/generated/immich/openapi_client/docs/AssetBulkUploadCheckResult.md b/generated/immich/openapi_client/docs/AssetBulkUploadCheckResult.md index 40037b5..4ba14a7 100644 --- a/generated/immich/openapi_client/docs/AssetBulkUploadCheckResult.md +++ b/generated/immich/openapi_client/docs/AssetBulkUploadCheckResult.md @@ -5,11 +5,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**action** | **str** | | -**asset_id** | **str** | | [optional] -**id** | **str** | | -**is_trashed** | **bool** | | [optional] -**reason** | **str** | | [optional] +**action** | [**AssetUploadAction**](AssetUploadAction.md) | | +**asset_id** | **UUID** | Existing asset ID if duplicate | [optional] +**id** | **str** | Client-side identifier echoed from the request to match results to inputs | +**is_trashed** | **bool** | Whether existing asset is trashed | [optional] +**reason** | [**AssetRejectReason**](AssetRejectReason.md) | | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/AssetDeltaSyncDto.md b/generated/immich/openapi_client/docs/AssetDeltaSyncDto.md deleted file mode 100644 index acb70b5..0000000 --- a/generated/immich/openapi_client/docs/AssetDeltaSyncDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# AssetDeltaSyncDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**updated_after** | **datetime** | | -**user_ids** | **List[str]** | | - -## Example - -```python -from generated.immich.openapi_client.models.asset_delta_sync_dto import AssetDeltaSyncDto - -# TODO update the JSON string below -json = "{}" -# create an instance of AssetDeltaSyncDto from a JSON string -asset_delta_sync_dto_instance = AssetDeltaSyncDto.from_json(json) -# print the JSON string representation of the object -print(AssetDeltaSyncDto.to_json()) - -# convert the object into a dict -asset_delta_sync_dto_dict = asset_delta_sync_dto_instance.to_dict() -# create an instance of AssetDeltaSyncDto from a dict -asset_delta_sync_dto_from_dict = AssetDeltaSyncDto.from_dict(asset_delta_sync_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/AssetDeltaSyncResponseDto.md b/generated/immich/openapi_client/docs/AssetDeltaSyncResponseDto.md deleted file mode 100644 index 5143ba4..0000000 --- a/generated/immich/openapi_client/docs/AssetDeltaSyncResponseDto.md +++ /dev/null @@ -1,31 +0,0 @@ -# AssetDeltaSyncResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**deleted** | **List[str]** | | -**needs_full_sync** | **bool** | | -**upserted** | [**List[AssetResponseDto]**](AssetResponseDto.md) | | - -## Example - -```python -from generated.immich.openapi_client.models.asset_delta_sync_response_dto import AssetDeltaSyncResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of AssetDeltaSyncResponseDto from a JSON string -asset_delta_sync_response_dto_instance = AssetDeltaSyncResponseDto.from_json(json) -# print the JSON string representation of the object -print(AssetDeltaSyncResponseDto.to_json()) - -# convert the object into a dict -asset_delta_sync_response_dto_dict = asset_delta_sync_response_dto_instance.to_dict() -# create an instance of AssetDeltaSyncResponseDto from a dict -asset_delta_sync_response_dto_from_dict = AssetDeltaSyncResponseDto.from_dict(asset_delta_sync_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/AssetFaceCreateDto.md b/generated/immich/openapi_client/docs/AssetFaceCreateDto.md index dc0d740..f8f5fc1 100644 --- a/generated/immich/openapi_client/docs/AssetFaceCreateDto.md +++ b/generated/immich/openapi_client/docs/AssetFaceCreateDto.md @@ -5,14 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_id** | **str** | | -**height** | **int** | | -**image_height** | **int** | | -**image_width** | **int** | | -**person_id** | **str** | | -**width** | **int** | | -**x** | **int** | | -**y** | **int** | | +**asset_id** | **UUID** | Asset ID | +**height** | **int** | Face bounding box height | +**image_height** | **int** | Image height in pixels | +**image_width** | **int** | Image width in pixels | +**person_id** | **UUID** | Person ID | +**width** | **int** | Face bounding box width | +**x** | **int** | Face bounding box X coordinate | +**y** | **int** | Face bounding box Y coordinate | ## Example diff --git a/generated/immich/openapi_client/docs/AssetFaceDeleteDto.md b/generated/immich/openapi_client/docs/AssetFaceDeleteDto.md index 7f6f66b..4001036 100644 --- a/generated/immich/openapi_client/docs/AssetFaceDeleteDto.md +++ b/generated/immich/openapi_client/docs/AssetFaceDeleteDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**force** | **bool** | | +**force** | **bool** | Force delete even if person has other faces | ## Example diff --git a/generated/immich/openapi_client/docs/AssetFaceResponseDto.md b/generated/immich/openapi_client/docs/AssetFaceResponseDto.md index 8c86cf5..7344024 100644 --- a/generated/immich/openapi_client/docs/AssetFaceResponseDto.md +++ b/generated/immich/openapi_client/docs/AssetFaceResponseDto.md @@ -1,17 +1,18 @@ # AssetFaceResponseDto +Asset face with person ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**bounding_box_x1** | **int** | | -**bounding_box_x2** | **int** | | -**bounding_box_y1** | **int** | | -**bounding_box_y2** | **int** | | -**id** | **str** | | -**image_height** | **int** | | -**image_width** | **int** | | +**bounding_box_x1** | **int** | Bounding box X1 coordinate | +**bounding_box_x2** | **int** | Bounding box X2 coordinate | +**bounding_box_y1** | **int** | Bounding box Y1 coordinate | +**bounding_box_y2** | **int** | Bounding box Y2 coordinate | +**id** | **UUID** | Face ID | +**image_height** | **int** | Image height in pixels | +**image_width** | **int** | Image width in pixels | **person** | [**PersonResponseDto**](PersonResponseDto.md) | | **source_type** | [**SourceType**](SourceType.md) | | [optional] diff --git a/generated/immich/openapi_client/docs/AssetFaceUpdateDto.md b/generated/immich/openapi_client/docs/AssetFaceUpdateDto.md index 2fe01ac..edc22d8 100644 --- a/generated/immich/openapi_client/docs/AssetFaceUpdateDto.md +++ b/generated/immich/openapi_client/docs/AssetFaceUpdateDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**data** | [**List[AssetFaceUpdateItem]**](AssetFaceUpdateItem.md) | | +**data** | [**List[AssetFaceUpdateItem]**](AssetFaceUpdateItem.md) | Face update items | ## Example diff --git a/generated/immich/openapi_client/docs/AssetFaceUpdateItem.md b/generated/immich/openapi_client/docs/AssetFaceUpdateItem.md index ba72217..05be2d4 100644 --- a/generated/immich/openapi_client/docs/AssetFaceUpdateItem.md +++ b/generated/immich/openapi_client/docs/AssetFaceUpdateItem.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_id** | **str** | | -**person_id** | **str** | | +**asset_id** | **UUID** | Asset ID | +**person_id** | **UUID** | Person ID | ## Example diff --git a/generated/immich/openapi_client/docs/AssetFaceWithoutPersonResponseDto.md b/generated/immich/openapi_client/docs/AssetFaceWithoutPersonResponseDto.md deleted file mode 100644 index c7d76cc..0000000 --- a/generated/immich/openapi_client/docs/AssetFaceWithoutPersonResponseDto.md +++ /dev/null @@ -1,36 +0,0 @@ -# AssetFaceWithoutPersonResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**bounding_box_x1** | **int** | | -**bounding_box_x2** | **int** | | -**bounding_box_y1** | **int** | | -**bounding_box_y2** | **int** | | -**id** | **str** | | -**image_height** | **int** | | -**image_width** | **int** | | -**source_type** | [**SourceType**](SourceType.md) | | [optional] - -## Example - -```python -from generated.immich.openapi_client.models.asset_face_without_person_response_dto import AssetFaceWithoutPersonResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of AssetFaceWithoutPersonResponseDto from a JSON string -asset_face_without_person_response_dto_instance = AssetFaceWithoutPersonResponseDto.from_json(json) -# print the JSON string representation of the object -print(AssetFaceWithoutPersonResponseDto.to_json()) - -# convert the object into a dict -asset_face_without_person_response_dto_dict = asset_face_without_person_response_dto_instance.to_dict() -# create an instance of AssetFaceWithoutPersonResponseDto from a dict -asset_face_without_person_response_dto_from_dict = AssetFaceWithoutPersonResponseDto.from_dict(asset_face_without_person_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/AssetFullSyncDto.md b/generated/immich/openapi_client/docs/AssetFullSyncDto.md deleted file mode 100644 index 093b9b6..0000000 --- a/generated/immich/openapi_client/docs/AssetFullSyncDto.md +++ /dev/null @@ -1,32 +0,0 @@ -# AssetFullSyncDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**last_id** | **str** | | [optional] -**limit** | **int** | | -**updated_until** | **datetime** | | -**user_id** | **str** | | [optional] - -## Example - -```python -from generated.immich.openapi_client.models.asset_full_sync_dto import AssetFullSyncDto - -# TODO update the JSON string below -json = "{}" -# create an instance of AssetFullSyncDto from a JSON string -asset_full_sync_dto_instance = AssetFullSyncDto.from_json(json) -# print the JSON string representation of the object -print(AssetFullSyncDto.to_json()) - -# convert the object into a dict -asset_full_sync_dto_dict = asset_full_sync_dto_instance.to_dict() -# create an instance of AssetFullSyncDto from a dict -asset_full_sync_dto_from_dict = AssetFullSyncDto.from_dict(asset_full_sync_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/AssetIdsDto.md b/generated/immich/openapi_client/docs/AssetIdsDto.md index 8779d73..3bedaa2 100644 --- a/generated/immich/openapi_client/docs/AssetIdsDto.md +++ b/generated/immich/openapi_client/docs/AssetIdsDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_ids** | **List[str]** | | +**asset_ids** | **List[UUID]** | Asset IDs | ## Example diff --git a/generated/immich/openapi_client/docs/AssetIdsResponseDto.md b/generated/immich/openapi_client/docs/AssetIdsResponseDto.md index a7a62c5..1cb2ef7 100644 --- a/generated/immich/openapi_client/docs/AssetIdsResponseDto.md +++ b/generated/immich/openapi_client/docs/AssetIdsResponseDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_id** | **str** | | -**error** | **str** | | [optional] -**success** | **bool** | | +**asset_id** | **UUID** | Asset ID | +**error** | [**AssetIdErrorReason**](AssetIdErrorReason.md) | | [optional] +**success** | **bool** | Whether operation succeeded | ## Example diff --git a/generated/immich/openapi_client/docs/AssetJobName.md b/generated/immich/openapi_client/docs/AssetJobName.md index 6a2f0c1..0e7f727 100644 --- a/generated/immich/openapi_client/docs/AssetJobName.md +++ b/generated/immich/openapi_client/docs/AssetJobName.md @@ -1,5 +1,6 @@ # AssetJobName +Job name ## Enum diff --git a/generated/immich/openapi_client/docs/AssetJobsDto.md b/generated/immich/openapi_client/docs/AssetJobsDto.md index c57af01..a61eb0e 100644 --- a/generated/immich/openapi_client/docs/AssetJobsDto.md +++ b/generated/immich/openapi_client/docs/AssetJobsDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_ids** | **List[str]** | | +**asset_ids** | **List[UUID]** | Asset IDs | **name** | [**AssetJobName**](AssetJobName.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/AssetMediaResponseDto.md b/generated/immich/openapi_client/docs/AssetMediaResponseDto.md index 9443430..2722776 100644 --- a/generated/immich/openapi_client/docs/AssetMediaResponseDto.md +++ b/generated/immich/openapi_client/docs/AssetMediaResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**id** | **str** | | +**id** | **UUID** | Asset media ID | **status** | [**AssetMediaStatus**](AssetMediaStatus.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/AssetMediaSize.md b/generated/immich/openapi_client/docs/AssetMediaSize.md index f60289b..3125e2f 100644 --- a/generated/immich/openapi_client/docs/AssetMediaSize.md +++ b/generated/immich/openapi_client/docs/AssetMediaSize.md @@ -1,8 +1,11 @@ # AssetMediaSize +Asset media size ## Enum +* `ORIGINAL` (value: `'original'`) + * `FULLSIZE` (value: `'fullsize'`) * `PREVIEW` (value: `'preview'`) diff --git a/generated/immich/openapi_client/docs/AssetMediaStatus.md b/generated/immich/openapi_client/docs/AssetMediaStatus.md index 16f5f77..78b9bc6 100644 --- a/generated/immich/openapi_client/docs/AssetMediaStatus.md +++ b/generated/immich/openapi_client/docs/AssetMediaStatus.md @@ -1,12 +1,11 @@ # AssetMediaStatus +Upload status ## Enum * `CREATED` (value: `'created'`) -* `REPLACED` (value: `'replaced'`) - * `DUPLICATE` (value: `'duplicate'`) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generated/immich/openapi_client/docs/AssetOrder.md b/generated/immich/openapi_client/docs/AssetOrder.md index e1ce9b1..f082eaa 100644 --- a/generated/immich/openapi_client/docs/AssetOrder.md +++ b/generated/immich/openapi_client/docs/AssetOrder.md @@ -1,5 +1,6 @@ # AssetOrder +Asset sort order ## Enum diff --git a/generated/immich/openapi_client/docs/AssetResponseDto.md b/generated/immich/openapi_client/docs/AssetResponseDto.md index 4993c80..0590be6 100644 --- a/generated/immich/openapi_client/docs/AssetResponseDto.md +++ b/generated/immich/openapi_client/docs/AssetResponseDto.md @@ -5,36 +5,38 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**checksum** | **str** | base64 encoded sha1 hash | -**device_asset_id** | **str** | | -**device_id** | **str** | | -**duplicate_id** | **str** | | [optional] -**duration** | **str** | | +**checksum** | **str** | Base64 encoded SHA1 hash | +**created_at** | **datetime** | The UTC timestamp when the asset was originally uploaded to Immich. | +**duplicate_id** | **UUID** | Duplicate group ID | [optional] +**duration** | **int** | Video/gif duration in milliseconds (null for static images) | **exif_info** | [**ExifResponseDto**](ExifResponseDto.md) | | [optional] -**file_created_at** | **datetime** | | -**file_modified_at** | **datetime** | | -**has_metadata** | **bool** | | -**id** | **str** | | -**is_archived** | **bool** | | -**is_favorite** | **bool** | | -**is_offline** | **bool** | | -**is_trashed** | **bool** | | -**library_id** | **str** | This property was deprecated in v1.106.0 | [optional] -**live_photo_video_id** | **str** | | [optional] -**local_date_time** | **datetime** | | -**original_file_name** | **str** | | -**original_mime_type** | **str** | | [optional] -**original_path** | **str** | | +**file_created_at** | **datetime** | 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. | +**file_modified_at** | **datetime** | 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. | +**has_metadata** | **bool** | Whether asset has metadata | +**height** | **int** | Asset height | +**id** | **UUID** | Asset ID | +**is_archived** | **bool** | Is archived | +**is_edited** | **bool** | Is edited | +**is_favorite** | **bool** | Is favorite | +**is_offline** | **bool** | Is offline | +**is_trashed** | **bool** | Is trashed | +**library_id** | **UUID** | Library ID | [optional] +**live_photo_video_id** | **str** | Live photo video ID | [optional] +**local_date_time** | **datetime** | 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. | +**original_file_name** | **str** | Original file name | +**original_mime_type** | **str** | Original MIME type | [optional] +**original_path** | **str** | Original file path | **owner** | [**UserResponseDto**](UserResponseDto.md) | | [optional] -**owner_id** | **str** | | -**people** | [**List[PersonWithFacesResponseDto]**](PersonWithFacesResponseDto.md) | | [optional] -**resized** | **bool** | This property was deprecated in v1.113.0 | [optional] +**owner_id** | **UUID** | Owner user ID | +**people** | [**List[PersonResponseDto]**](PersonResponseDto.md) | | [optional] +**resized** | **bool** | Is resized | [optional] **stack** | [**AssetStackResponseDto**](AssetStackResponseDto.md) | | [optional] **tags** | [**List[TagResponseDto]**](TagResponseDto.md) | | [optional] -**thumbhash** | **str** | | +**thumbhash** | **str** | Thumbhash for thumbnail generation (base64) also used as the c query param for thumbnail cache busting. | **type** | [**AssetTypeEnum**](AssetTypeEnum.md) | | -**unassigned_faces** | [**List[AssetFaceWithoutPersonResponseDto]**](AssetFaceWithoutPersonResponseDto.md) | | [optional] -**updated_at** | **datetime** | | +**updated_at** | **datetime** | 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. | +**visibility** | [**AssetVisibility**](AssetVisibility.md) | | +**width** | **int** | Asset width | ## Example diff --git a/generated/immich/openapi_client/docs/AssetStackResponseDto.md b/generated/immich/openapi_client/docs/AssetStackResponseDto.md index ceb2691..5a4995c 100644 --- a/generated/immich/openapi_client/docs/AssetStackResponseDto.md +++ b/generated/immich/openapi_client/docs/AssetStackResponseDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_count** | **int** | | -**id** | **str** | | -**primary_asset_id** | **str** | | +**asset_count** | **int** | Number of assets in stack | +**id** | **UUID** | Stack ID | +**primary_asset_id** | **UUID** | Primary asset ID | ## Example diff --git a/generated/immich/openapi_client/docs/AssetStatsResponseDto.md b/generated/immich/openapi_client/docs/AssetStatsResponseDto.md index b582d7b..4bcbc1c 100644 --- a/generated/immich/openapi_client/docs/AssetStatsResponseDto.md +++ b/generated/immich/openapi_client/docs/AssetStatsResponseDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**images** | **int** | | -**total** | **int** | | -**videos** | **int** | | +**images** | **int** | Number of images | +**total** | **int** | Total number of assets | +**videos** | **int** | Number of videos | ## Example diff --git a/generated/immich/openapi_client/docs/AssetTypeEnum.md b/generated/immich/openapi_client/docs/AssetTypeEnum.md index 3fb834a..82a2a25 100644 --- a/generated/immich/openapi_client/docs/AssetTypeEnum.md +++ b/generated/immich/openapi_client/docs/AssetTypeEnum.md @@ -1,5 +1,6 @@ # AssetTypeEnum +Asset type ## Enum diff --git a/generated/immich/openapi_client/docs/AssetsApi.md b/generated/immich/openapi_client/docs/AssetsApi.md index c9269fc..3eb8d9e 100644 --- a/generated/immich/openapi_client/docs/AssetsApi.md +++ b/generated/immich/openapi_client/docs/AssetsApi.md @@ -4,30 +4,40 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**check_bulk_upload**](AssetsApi.md#check_bulk_upload) | **POST** /assets/bulk-upload-check | checkBulkUpload -[**check_existing_assets**](AssetsApi.md#check_existing_assets) | **POST** /assets/exist | checkExistingAssets -[**delete_assets**](AssetsApi.md#delete_assets) | **DELETE** /assets | -[**download_asset**](AssetsApi.md#download_asset) | **GET** /assets/{id}/original | -[**get_all_user_assets_by_device_id**](AssetsApi.md#get_all_user_assets_by_device_id) | **GET** /assets/device/{deviceId} | getAllUserAssetsByDeviceId -[**get_asset_info**](AssetsApi.md#get_asset_info) | **GET** /assets/{id} | -[**get_asset_statistics**](AssetsApi.md#get_asset_statistics) | **GET** /assets/statistics | -[**get_memory_lane**](AssetsApi.md#get_memory_lane) | **GET** /assets/memory-lane | -[**get_random**](AssetsApi.md#get_random) | **GET** /assets/random | -[**play_asset_video**](AssetsApi.md#play_asset_video) | **GET** /assets/{id}/video/playback | -[**replace_asset**](AssetsApi.md#replace_asset) | **PUT** /assets/{id}/original | replaceAsset -[**run_asset_jobs**](AssetsApi.md#run_asset_jobs) | **POST** /assets/jobs | -[**update_asset**](AssetsApi.md#update_asset) | **PUT** /assets/{id} | -[**update_assets**](AssetsApi.md#update_assets) | **PUT** /assets | -[**upload_asset**](AssetsApi.md#upload_asset) | **POST** /assets | -[**view_asset**](AssetsApi.md#view_asset) | **GET** /assets/{id}/thumbnail | +[**check_bulk_upload**](AssetsApi.md#check_bulk_upload) | **POST** /assets/bulk-upload-check | Check bulk upload +[**copy_asset**](AssetsApi.md#copy_asset) | **PUT** /assets/copy | Copy asset +[**delete_asset_metadata**](AssetsApi.md#delete_asset_metadata) | **DELETE** /assets/{id}/metadata/{key} | Delete asset metadata by key +[**delete_assets**](AssetsApi.md#delete_assets) | **DELETE** /assets | Delete assets +[**delete_bulk_asset_metadata**](AssetsApi.md#delete_bulk_asset_metadata) | **DELETE** /assets/metadata | Delete asset metadata +[**download_asset**](AssetsApi.md#download_asset) | **GET** /assets/{id}/original | Download original asset +[**edit_asset**](AssetsApi.md#edit_asset) | **PUT** /assets/{id}/edits | Apply edits to an existing asset +[**end_session**](AssetsApi.md#end_session) | **DELETE** /assets/{id}/video/stream/{sessionId} | End HLS streaming session +[**get_asset_edits**](AssetsApi.md#get_asset_edits) | **GET** /assets/{id}/edits | Retrieve edits for an existing asset +[**get_asset_info**](AssetsApi.md#get_asset_info) | **GET** /assets/{id} | Retrieve an asset +[**get_asset_metadata**](AssetsApi.md#get_asset_metadata) | **GET** /assets/{id}/metadata | Get asset metadata +[**get_asset_metadata_by_key**](AssetsApi.md#get_asset_metadata_by_key) | **GET** /assets/{id}/metadata/{key} | Retrieve asset metadata by key +[**get_asset_ocr**](AssetsApi.md#get_asset_ocr) | **GET** /assets/{id}/ocr | Retrieve asset OCR data +[**get_asset_statistics**](AssetsApi.md#get_asset_statistics) | **GET** /assets/statistics | Get asset statistics +[**get_main_playlist**](AssetsApi.md#get_main_playlist) | **GET** /assets/{id}/video/stream/main.m3u8 | Get HLS main playlist +[**get_media_playlist**](AssetsApi.md#get_media_playlist) | **GET** /assets/{id}/video/stream/{sessionId}/{variantIndex}/playlist.m3u8 | Get HLS media playlist +[**get_segment**](AssetsApi.md#get_segment) | **GET** /assets/{id}/video/stream/{sessionId}/{variantIndex}/{filename} | Get HLS segment or init file +[**play_asset_video**](AssetsApi.md#play_asset_video) | **GET** /assets/{id}/video/playback | Play asset video +[**remove_asset_edits**](AssetsApi.md#remove_asset_edits) | **DELETE** /assets/{id}/edits | Remove edits from an existing asset +[**run_asset_jobs**](AssetsApi.md#run_asset_jobs) | **POST** /assets/jobs | Run an asset job +[**update_asset**](AssetsApi.md#update_asset) | **PUT** /assets/{id} | Update an asset +[**update_asset_metadata**](AssetsApi.md#update_asset_metadata) | **PUT** /assets/{id}/metadata | Update asset metadata +[**update_assets**](AssetsApi.md#update_assets) | **PUT** /assets | Update assets +[**update_bulk_asset_metadata**](AssetsApi.md#update_bulk_asset_metadata) | **PUT** /assets/metadata | Upsert asset metadata +[**upload_asset**](AssetsApi.md#upload_asset) | **POST** /assets | Upload asset +[**view_asset**](AssetsApi.md#view_asset) | **GET** /assets/{id}/thumbnail | View asset thumbnail # **check_bulk_upload** > AssetBulkUploadCheckResponseDto check_bulk_upload(asset_bulk_upload_check_dto) -checkBulkUpload +Check bulk upload -Checks if assets exist by checksums +Determine which assets have already been uploaded to the server based on their SHA1 checksums. ### Example @@ -77,7 +87,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: asset_bulk_upload_check_dto = generated.immich.openapi_client.AssetBulkUploadCheckDto() # AssetBulkUploadCheckDto | try: - # checkBulkUpload + # Check bulk upload api_response = api_instance.check_bulk_upload(asset_bulk_upload_check_dto) print("The response of AssetsApi->check_bulk_upload:\n") pprint(api_response) @@ -115,12 +125,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **check_existing_assets** -> CheckExistingAssetsResponseDto check_existing_assets(check_existing_assets_dto) +# **copy_asset** +> copy_asset(asset_copy_dto) -checkExistingAssets +Copy asset -Checks if multiple assets exist on the server and returns all existing - used by background backup +Copy asset information like albums, tags, etc. from one asset to another. ### Example @@ -130,8 +140,7 @@ Checks if multiple assets exist on the server and returns all existing - used by ```python import generated.immich.openapi_client -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.asset_copy_dto import AssetCopyDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -167,15 +176,13 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - check_existing_assets_dto = generated.immich.openapi_client.CheckExistingAssetsDto() # CheckExistingAssetsDto | + asset_copy_dto = generated.immich.openapi_client.AssetCopyDto() # AssetCopyDto | try: - # checkExistingAssets - api_response = api_instance.check_existing_assets(check_existing_assets_dto) - print("The response of AssetsApi->check_existing_assets:\n") - pprint(api_response) + # Copy asset + api_instance.copy_asset(asset_copy_dto) except Exception as e: - print("Exception when calling AssetsApi->check_existing_assets: %s\n" % e) + print("Exception when calling AssetsApi->copy_asset: %s\n" % e) ``` @@ -185,11 +192,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **check_existing_assets_dto** | [**CheckExistingAssetsDto**](CheckExistingAssetsDto.md)| | + **asset_copy_dto** | [**AssetCopyDto**](AssetCopyDto.md)| | ### Return type -[**CheckExistingAssetsResponseDto**](CheckExistingAssetsResponseDto.md) +void (empty response body) ### Authorization @@ -198,19 +205,114 @@ Name | Type | Description | Notes ### HTTP request headers - **Content-Type**: application/json - - **Accept**: application/json + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | | - | +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_asset_metadata** +> delete_asset_metadata(id, key) + +Delete asset metadata by key + +Delete a specific metadata key-value pair associated with the specified asset. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Asset ID + key = 'key_example' # str | Metadata key + + try: + # Delete asset metadata by key + api_instance.delete_asset_metadata(id, key) + except Exception as e: + print("Exception when calling AssetsApi->delete_asset_metadata: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| Asset ID | + **key** | **str**| Metadata key | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **delete_assets** > delete_assets(asset_bulk_delete_dto) +Delete assets + +Deletes multiple assets at the same time. + ### Example * Api Key Authentication (cookie): @@ -258,6 +360,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: asset_bulk_delete_dto = generated.immich.openapi_client.AssetBulkDeleteDto() # AssetBulkDeleteDto | try: + # Delete assets api_instance.delete_assets(asset_bulk_delete_dto) except Exception as e: print("Exception when calling AssetsApi->delete_assets: %s\n" % e) @@ -293,8 +396,102 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **delete_bulk_asset_metadata** +> delete_bulk_asset_metadata(asset_metadata_bulk_delete_dto) + +Delete asset metadata + +Delete metadata key-value pairs for multiple assets. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_metadata_bulk_delete_dto import AssetMetadataBulkDeleteDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + asset_metadata_bulk_delete_dto = generated.immich.openapi_client.AssetMetadataBulkDeleteDto() # AssetMetadataBulkDeleteDto | + + try: + # Delete asset metadata + api_instance.delete_bulk_asset_metadata(asset_metadata_bulk_delete_dto) + except Exception as e: + print("Exception when calling AssetsApi->delete_bulk_asset_metadata: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **asset_metadata_bulk_delete_dto** | [**AssetMetadataBulkDeleteDto**](AssetMetadataBulkDeleteDto.md)| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **download_asset** -> bytearray download_asset(id, key=key) +> bytearray download_asset(id, edited=edited, key=key, slug=slug) + +Download original asset + +Downloads the original file of the specified asset. ### Example @@ -339,11 +536,14 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + edited = False # bool | Return edited asset if available (optional) (default to False) key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) try: - api_response = api_instance.download_asset(id, key=key) + # Download original asset + api_response = api_instance.download_asset(id, edited=edited, key=key, slug=slug) print("The response of AssetsApi->download_asset:\n") pprint(api_response) except Exception as e: @@ -357,8 +557,10 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | + **edited** | **bool**| Return edited asset if available | [optional] [default to False] **key** | **str**| | [optional] + **slug** | **str**| | [optional] ### Return type @@ -381,12 +583,107 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_all_user_assets_by_device_id** -> List[str] get_all_user_assets_by_device_id(device_id) +# **edit_asset** +> AssetEditsResponseDto edit_asset(id, asset_edits_create_dto) -getAllUserAssetsByDeviceId +Apply edits to an existing asset -Get all asset of a device that are in the database, ID only. +Apply a series of edit actions (crop, rotate, mirror) to the specified asset. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + asset_edits_create_dto = generated.immich.openapi_client.AssetEditsCreateDto() # AssetEditsCreateDto | + + try: + # Apply edits to an existing asset + api_response = api_instance.edit_asset(id, asset_edits_create_dto) + print("The response of AssetsApi->edit_asset:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AssetsApi->edit_asset: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **asset_edits_create_dto** | [**AssetEditsCreateDto**](AssetEditsCreateDto.md)| | + +### Return type + +[**AssetEditsResponseDto**](AssetEditsResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **end_session** +> end_session(id, session_id, key=key, slug=slug) + +End HLS streaming session + +Releases server resources for the streaming session. ### Example @@ -431,15 +728,16 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - device_id = 'device_id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + session_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) try: - # getAllUserAssetsByDeviceId - api_response = api_instance.get_all_user_assets_by_device_id(device_id) - print("The response of AssetsApi->get_all_user_assets_by_device_id:\n") - pprint(api_response) + # End HLS streaming session + api_instance.end_session(id, session_id, key=key, slug=slug) except Exception as e: - print("Exception when calling AssetsApi->get_all_user_assets_by_device_id: %s\n" % e) + print("Exception when calling AssetsApi->end_session: %s\n" % e) ``` @@ -449,11 +747,106 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **device_id** | **str**| | + **id** | **UUID**| | + **session_id** | **UUID**| | + **key** | **str**| | [optional] + **slug** | **str**| | [optional] ### Return type -**List[str]** +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_asset_edits** +> AssetEditsResponseDto get_asset_edits(id) + +Retrieve edits for an existing asset + +Retrieve a series of edit actions (crop, rotate, mirror) associated with the specified asset. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_edits_response_dto import AssetEditsResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + + try: + # Retrieve edits for an existing asset + api_response = api_instance.get_asset_edits(id) + print("The response of AssetsApi->get_asset_edits:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AssetsApi->get_asset_edits: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + +### Return type + +[**AssetEditsResponseDto**](AssetEditsResponseDto.md) ### Authorization @@ -473,7 +866,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_asset_info** -> AssetResponseDto get_asset_info(id, key=key) +> AssetResponseDto get_asset_info(id, key=key, slug=slug) + +Retrieve an asset + +Retrieve detailed information about a specific asset. ### Example @@ -519,11 +916,13 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) try: - api_response = api_instance.get_asset_info(id, key=key) + # Retrieve an asset + api_response = api_instance.get_asset_info(id, key=key, slug=slug) print("The response of AssetsApi->get_asset_info:\n") pprint(api_response) except Exception as e: @@ -537,8 +936,9 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **key** | **str**| | [optional] + **slug** | **str**| | [optional] ### Return type @@ -561,8 +961,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_asset_statistics** -> AssetStatsResponseDto get_asset_statistics(is_archived=is_archived, is_favorite=is_favorite, is_trashed=is_trashed) +# **get_asset_metadata** +> List[AssetMetadataResponseDto] get_asset_metadata(id) + +Get asset metadata + +Retrieve all metadata key-value pairs associated with the specified asset. ### Example @@ -572,7 +976,7 @@ Name | Type | Description | Notes ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.asset_stats_response_dto import AssetStatsResponseDto +from generated.immich.openapi_client.models.asset_metadata_response_dto import AssetMetadataResponseDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -608,12 +1012,292 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - is_archived = True # bool | (optional) - is_favorite = True # bool | (optional) - is_trashed = True # bool | (optional) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: - api_response = api_instance.get_asset_statistics(is_archived=is_archived, is_favorite=is_favorite, is_trashed=is_trashed) + # Get asset metadata + api_response = api_instance.get_asset_metadata(id) + print("The response of AssetsApi->get_asset_metadata:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AssetsApi->get_asset_metadata: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + +### Return type + +[**List[AssetMetadataResponseDto]**](AssetMetadataResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_asset_metadata_by_key** +> AssetMetadataResponseDto get_asset_metadata_by_key(id, key) + +Retrieve asset metadata by key + +Retrieve the value of a specific metadata key associated with the specified asset. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_metadata_response_dto import AssetMetadataResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Asset ID + key = 'key_example' # str | Metadata key + + try: + # Retrieve asset metadata by key + api_response = api_instance.get_asset_metadata_by_key(id, key) + print("The response of AssetsApi->get_asset_metadata_by_key:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AssetsApi->get_asset_metadata_by_key: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| Asset ID | + **key** | **str**| Metadata key | + +### Return type + +[**AssetMetadataResponseDto**](AssetMetadataResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_asset_ocr** +> List[AssetOcrResponseDto] get_asset_ocr(id) + +Retrieve asset OCR data + +Retrieve all OCR (Optical Character Recognition) data associated with the specified asset. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_ocr_response_dto import AssetOcrResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + + try: + # Retrieve asset OCR data + api_response = api_instance.get_asset_ocr(id) + print("The response of AssetsApi->get_asset_ocr:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AssetsApi->get_asset_ocr: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + +### Return type + +[**List[AssetOcrResponseDto]**](AssetOcrResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_asset_statistics** +> AssetStatsResponseDto get_asset_statistics(is_favorite=is_favorite, is_trashed=is_trashed, visibility=visibility) + +Get asset statistics + +Retrieve various statistics about the assets owned by the authenticated user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_stats_response_dto import AssetStatsResponseDto +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + is_favorite = True # bool | Filter by favorite status (optional) + is_trashed = True # bool | Filter by trash status (optional) + visibility = generated.immich.openapi_client.AssetVisibility() # AssetVisibility | (optional) + + try: + # Get asset statistics + api_response = api_instance.get_asset_statistics(is_favorite=is_favorite, is_trashed=is_trashed, visibility=visibility) print("The response of AssetsApi->get_asset_statistics:\n") pprint(api_response) except Exception as e: @@ -627,9 +1311,9 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **is_archived** | **bool**| | [optional] - **is_favorite** | **bool**| | [optional] - **is_trashed** | **bool**| | [optional] + **is_favorite** | **bool**| Filter by favorite status | [optional] + **is_trashed** | **bool**| Filter by trash status | [optional] + **visibility** | [**AssetVisibility**](.md)| | [optional] ### Return type @@ -652,186 +1336,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_memory_lane** -> List[MemoryLaneResponseDto] get_memory_lane(day, month) +# **get_main_playlist** +> str get_main_playlist(id, key=key, slug=slug) -### Example +Get HLS main playlist -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.memory_lane_response_dto import MemoryLaneResponseDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.AssetsApi(api_client) - day = 56 # int | - month = 56 # int | - - try: - api_response = api_instance.get_memory_lane(day, month) - print("The response of AssetsApi->get_memory_lane:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling AssetsApi->get_memory_lane: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **day** | **int**| | - **month** | **int**| | - -### Return type - -[**List[MemoryLaneResponseDto]**](MemoryLaneResponseDto.md) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_random** -> List[AssetResponseDto] get_random(count=count) - -This property was deprecated in v1.116.0 - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.AssetsApi(api_client) - count = 3.4 # float | (optional) - - try: - api_response = api_instance.get_random(count=count) - print("The response of AssetsApi->get_random:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling AssetsApi->get_random: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **count** | **float**| | [optional] - -### Return type - -[**List[AssetResponseDto]**](AssetResponseDto.md) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **play_asset_video** -> bytearray play_asset_video(id, key=key) +Returns an HLS main playlist with all available variants for the asset. ### Example @@ -876,15 +1386,17 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) try: - api_response = api_instance.play_asset_video(id, key=key) - print("The response of AssetsApi->play_asset_video:\n") + # Get HLS main playlist + api_response = api_instance.get_main_playlist(id, key=key, slug=slug) + print("The response of AssetsApi->get_main_playlist:\n") pprint(api_response) except Exception as e: - print("Exception when calling AssetsApi->play_asset_video: %s\n" % e) + print("Exception when calling AssetsApi->get_main_playlist: %s\n" % e) ``` @@ -894,8 +1406,213 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **key** | **str**| | [optional] + **slug** | **str**| | [optional] + +### Return type + +**str** + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.apple.mpegurl + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_media_playlist** +> str get_media_playlist(id, session_id, variant_index, key=key, slug=slug, x_immich_hls_pos=x_immich_hls_pos) + +Get HLS media playlist + +Returns an HLS media playlist for one variant of the streaming session. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + session_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + variant_index = 56 # int | + key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) + x_immich_hls_pos = 3.4 # float | (optional) + + try: + # Get HLS media playlist + api_response = api_instance.get_media_playlist(id, session_id, variant_index, key=key, slug=slug, x_immich_hls_pos=x_immich_hls_pos) + print("The response of AssetsApi->get_media_playlist:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AssetsApi->get_media_playlist: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **session_id** | **UUID**| | + **variant_index** | **int**| | + **key** | **str**| | [optional] + **slug** | **str**| | [optional] + **x_immich_hls_pos** | **float**| | [optional] + +### Return type + +**str** + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/vnd.apple.mpegurl + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_segment** +> bytearray get_segment(filename, id, session_id, variant_index, key=key, slug=slug, x_immich_hls_msn=x_immich_hls_msn) + +Get HLS segment or init file + +Streams an HLS init segment (init.mp4) or media segment (seg_N.m4s). + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + filename = 'filename_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + session_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + variant_index = 56 # int | + key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) + x_immich_hls_msn = 56 # int | (optional) + + try: + # Get HLS segment or init file + api_response = api_instance.get_segment(filename, id, session_id, variant_index, key=key, slug=slug, x_immich_hls_msn=x_immich_hls_msn) + print("The response of AssetsApi->get_segment:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AssetsApi->get_segment: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **filename** | **str**| | + **id** | **UUID**| | + **session_id** | **UUID**| | + **variant_index** | **int**| | + **key** | **str**| | [optional] + **slug** | **str**| | [optional] + **x_immich_hls_msn** | **int**| | [optional] ### Return type @@ -918,12 +1635,12 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **replace_asset** -> AssetMediaResponseDto replace_asset(id, asset_data, device_asset_id, device_id, file_created_at, file_modified_at, key=key, duration=duration) +# **play_asset_video** +> bytearray play_asset_video(id, key=key, slug=slug) -replaceAsset +Play asset video -Replace the asset with new file, without changing its id +Streams the video file for the specified asset. This endpoint also supports byte range requests. ### Example @@ -933,7 +1650,6 @@ Replace the asset with new file, without changing its id ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.asset_media_response_dto import AssetMediaResponseDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -969,22 +1685,17 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - id = 'id_example' # str | - asset_data = None # bytearray | - device_asset_id = 'device_asset_id_example' # str | - device_id = 'device_id_example' # str | - file_created_at = '2013-10-20T19:20:30+01:00' # datetime | - file_modified_at = '2013-10-20T19:20:30+01:00' # datetime | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | key = 'key_example' # str | (optional) - duration = 'duration_example' # str | (optional) + slug = 'slug_example' # str | (optional) try: - # replaceAsset - api_response = api_instance.replace_asset(id, asset_data, device_asset_id, device_id, file_created_at, file_modified_at, key=key, duration=duration) - print("The response of AssetsApi->replace_asset:\n") + # Play asset video + api_response = api_instance.play_asset_video(id, key=key, slug=slug) + print("The response of AssetsApi->play_asset_video:\n") pprint(api_response) except Exception as e: - print("Exception when calling AssetsApi->replace_asset: %s\n" % e) + print("Exception when calling AssetsApi->play_asset_video: %s\n" % e) ``` @@ -994,18 +1705,13 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | - **asset_data** | **bytearray**| | - **device_asset_id** | **str**| | - **device_id** | **str**| | - **file_created_at** | **datetime**| | - **file_modified_at** | **datetime**| | + **id** | **UUID**| | **key** | **str**| | [optional] - **duration** | **str**| | [optional] + **slug** | **str**| | [optional] ### Return type -[**AssetMediaResponseDto**](AssetMediaResponseDto.md) +**bytearray** ### Authorization @@ -1013,8 +1719,8 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: multipart/form-data - - **Accept**: application/json + - **Content-Type**: Not defined + - **Accept**: application/octet-stream ### HTTP response details @@ -1024,9 +1730,102 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **remove_asset_edits** +> remove_asset_edits(id) + +Remove edits from an existing asset + +Removes all edit actions (crop, rotate, mirror) associated with the specified asset. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + + try: + # Remove edits from an existing asset + api_instance.remove_asset_edits(id) + except Exception as e: + print("Exception when calling AssetsApi->remove_asset_edits: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **run_asset_jobs** > run_asset_jobs(asset_jobs_dto) +Run an asset job + +Run a specific job on a set of assets. + ### Example * Api Key Authentication (cookie): @@ -1074,6 +1873,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: asset_jobs_dto = generated.immich.openapi_client.AssetJobsDto() # AssetJobsDto | try: + # Run an asset job api_instance.run_asset_jobs(asset_jobs_dto) except Exception as e: print("Exception when calling AssetsApi->run_asset_jobs: %s\n" % e) @@ -1112,6 +1912,10 @@ void (empty response body) # **update_asset** > AssetResponseDto update_asset(id, update_asset_dto) +Update an asset + +Update information of a specific asset. + ### Example * Api Key Authentication (cookie): @@ -1157,10 +1961,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | update_asset_dto = generated.immich.openapi_client.UpdateAssetDto() # UpdateAssetDto | try: + # Update an asset api_response = api_instance.update_asset(id, update_asset_dto) print("The response of AssetsApi->update_asset:\n") pprint(api_response) @@ -1175,7 +1980,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **update_asset_dto** | [**UpdateAssetDto**](UpdateAssetDto.md)| | ### Return type @@ -1199,9 +2004,108 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **update_asset_metadata** +> List[AssetMetadataResponseDto] update_asset_metadata(id, asset_metadata_upsert_dto) + +Update asset metadata + +Update or add metadata key-value pairs for the specified asset. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + asset_metadata_upsert_dto = generated.immich.openapi_client.AssetMetadataUpsertDto() # AssetMetadataUpsertDto | + + try: + # Update asset metadata + api_response = api_instance.update_asset_metadata(id, asset_metadata_upsert_dto) + print("The response of AssetsApi->update_asset_metadata:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AssetsApi->update_asset_metadata: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **asset_metadata_upsert_dto** | [**AssetMetadataUpsertDto**](AssetMetadataUpsertDto.md)| | + +### Return type + +[**List[AssetMetadataResponseDto]**](AssetMetadataResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **update_assets** > update_assets(asset_bulk_update_dto) +Update assets + +Updates multiple assets at the same time. + ### Example * Api Key Authentication (cookie): @@ -1249,6 +2153,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: asset_bulk_update_dto = generated.immich.openapi_client.AssetBulkUpdateDto() # AssetBulkUpdateDto | try: + # Update assets api_instance.update_assets(asset_bulk_update_dto) except Exception as e: print("Exception when calling AssetsApi->update_assets: %s\n" % e) @@ -1284,8 +2189,12 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **upload_asset** -> AssetMediaResponseDto upload_asset(asset_data, device_asset_id, device_id, file_created_at, file_modified_at, key=key, x_immich_checksum=x_immich_checksum, duration=duration, is_archived=is_archived, is_favorite=is_favorite, is_visible=is_visible, live_photo_video_id=live_photo_video_id, sidecar_data=sidecar_data) +# **update_bulk_asset_metadata** +> List[AssetMetadataBulkResponseDto] update_bulk_asset_metadata(asset_metadata_bulk_upsert_dto) + +Upsert asset metadata + +Upsert metadata key-value pairs for multiple assets. ### Example @@ -1295,7 +2204,8 @@ void (empty response body) ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.asset_media_response_dto import AssetMediaResponseDto +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.rest import ApiException from pprint import pprint @@ -1331,22 +2241,117 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - asset_data = None # bytearray | - device_asset_id = 'device_asset_id_example' # str | - device_id = 'device_id_example' # str | - file_created_at = '2013-10-20T19:20:30+01:00' # datetime | - file_modified_at = '2013-10-20T19:20:30+01:00' # datetime | - key = 'key_example' # str | (optional) - x_immich_checksum = 'x_immich_checksum_example' # str | sha1 checksum that can be used for duplicate detection before the file is uploaded (optional) - duration = 'duration_example' # str | (optional) - is_archived = True # bool | (optional) - is_favorite = True # bool | (optional) - is_visible = True # bool | (optional) - live_photo_video_id = 'live_photo_video_id_example' # str | (optional) - sidecar_data = None # bytearray | (optional) + asset_metadata_bulk_upsert_dto = generated.immich.openapi_client.AssetMetadataBulkUpsertDto() # AssetMetadataBulkUpsertDto | try: - api_response = api_instance.upload_asset(asset_data, device_asset_id, device_id, file_created_at, file_modified_at, key=key, x_immich_checksum=x_immich_checksum, duration=duration, is_archived=is_archived, is_favorite=is_favorite, is_visible=is_visible, live_photo_video_id=live_photo_video_id, sidecar_data=sidecar_data) + # Upsert asset metadata + api_response = api_instance.update_bulk_asset_metadata(asset_metadata_bulk_upsert_dto) + print("The response of AssetsApi->update_bulk_asset_metadata:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AssetsApi->update_bulk_asset_metadata: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **asset_metadata_bulk_upsert_dto** | [**AssetMetadataBulkUpsertDto**](AssetMetadataBulkUpsertDto.md)| | + +### Return type + +[**List[AssetMetadataBulkResponseDto]**](AssetMetadataBulkResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **upload_asset** +> AssetMediaResponseDto upload_asset(asset_data, file_created_at, file_modified_at, key=key, slug=slug, x_immich_checksum=x_immich_checksum, duration=duration, filename=filename, is_favorite=is_favorite, live_photo_video_id=live_photo_video_id, metadata=metadata, sidecar_data=sidecar_data, visibility=visibility) + +Upload asset + +Uploads a new asset to the server. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_media_response_dto import AssetMediaResponseDto +from generated.immich.openapi_client.models.asset_metadata_upsert_item_dto import AssetMetadataUpsertItemDto +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AssetsApi(api_client) + asset_data = None # bytearray | Asset file data + file_created_at = '2013-10-20T19:20:30+01:00' # datetime | File creation date + file_modified_at = '2013-10-20T19:20:30+01:00' # datetime | File modification date + key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) + x_immich_checksum = 'x_immich_checksum_example' # str | sha1 checksum that can be used for duplicate detection before the file is uploaded (optional) + duration = 56 # int | Duration in milliseconds (for videos) (optional) + filename = 'filename_example' # str | Filename (optional) + is_favorite = True # bool | Mark as favorite (optional) + live_photo_video_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Live photo video ID (optional) + metadata = [generated.immich.openapi_client.AssetMetadataUpsertItemDto()] # List[AssetMetadataUpsertItemDto] | Asset metadata items (optional) + sidecar_data = None # bytearray | Sidecar file data (optional) + visibility = generated.immich.openapi_client.AssetVisibility() # AssetVisibility | (optional) + + try: + # Upload asset + api_response = api_instance.upload_asset(asset_data, file_created_at, file_modified_at, key=key, slug=slug, x_immich_checksum=x_immich_checksum, duration=duration, filename=filename, is_favorite=is_favorite, live_photo_video_id=live_photo_video_id, metadata=metadata, sidecar_data=sidecar_data, visibility=visibility) print("The response of AssetsApi->upload_asset:\n") pprint(api_response) except Exception as e: @@ -1360,19 +2365,19 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **asset_data** | **bytearray**| | - **device_asset_id** | **str**| | - **device_id** | **str**| | - **file_created_at** | **datetime**| | - **file_modified_at** | **datetime**| | + **asset_data** | **bytearray**| Asset file data | + **file_created_at** | **datetime**| File creation date | + **file_modified_at** | **datetime**| File modification date | **key** | **str**| | [optional] + **slug** | **str**| | [optional] **x_immich_checksum** | **str**| sha1 checksum that can be used for duplicate detection before the file is uploaded | [optional] - **duration** | **str**| | [optional] - **is_archived** | **bool**| | [optional] - **is_favorite** | **bool**| | [optional] - **is_visible** | **bool**| | [optional] - **live_photo_video_id** | **str**| | [optional] - **sidecar_data** | **bytearray**| | [optional] + **duration** | **int**| Duration in milliseconds (for videos) | [optional] + **filename** | **str**| Filename | [optional] + **is_favorite** | **bool**| Mark as favorite | [optional] + **live_photo_video_id** | **UUID**| Live photo video ID | [optional] + **metadata** | [**List[AssetMetadataUpsertItemDto]**](AssetMetadataUpsertItemDto.md)| Asset metadata items | [optional] + **sidecar_data** | **bytearray**| Sidecar file data | [optional] + **visibility** | [**AssetVisibility**](AssetVisibility.md)| | [optional] ### Return type @@ -1391,12 +2396,17 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**201** | | - | +**200** | Asset is a duplicate | - | +**201** | Asset uploaded successfully | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **view_asset** -> bytearray view_asset(id, key=key, size=size) +> bytearray view_asset(id, edited=edited, key=key, size=size, slug=slug) + +View asset thumbnail + +Retrieve the thumbnail image for the specified asset. Viewing the fullsize thumbnail might redirect to downloadAsset, which requires a different permission. ### Example @@ -1442,12 +2452,15 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.AssetsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + edited = False # bool | Return edited asset if available (optional) (default to False) key = 'key_example' # str | (optional) size = generated.immich.openapi_client.AssetMediaSize() # AssetMediaSize | (optional) + slug = 'slug_example' # str | (optional) try: - api_response = api_instance.view_asset(id, key=key, size=size) + # View asset thumbnail + api_response = api_instance.view_asset(id, edited=edited, key=key, size=size, slug=slug) print("The response of AssetsApi->view_asset:\n") pprint(api_response) except Exception as e: @@ -1461,9 +2474,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | + **edited** | **bool**| Return edited asset if available | [optional] [default to False] **key** | **str**| | [optional] **size** | [**AssetMediaSize**](.md)| | [optional] + **slug** | **str**| | [optional] ### Return type diff --git a/generated/immich/openapi_client/docs/AudioCodec.md b/generated/immich/openapi_client/docs/AudioCodec.md index 8360386..727577a 100644 --- a/generated/immich/openapi_client/docs/AudioCodec.md +++ b/generated/immich/openapi_client/docs/AudioCodec.md @@ -1,5 +1,6 @@ # AudioCodec +Target audio codec ## Enum @@ -7,7 +8,7 @@ * `AAC` (value: `'aac'`) -* `LIBOPUS` (value: `'libopus'`) +* `OPUS` (value: `'opus'`) * `PCM_S16LE` (value: `'pcm_s16le'`) diff --git a/generated/immich/openapi_client/docs/AuthenticationApi.md b/generated/immich/openapi_client/docs/AuthenticationApi.md index 764195d..f25f242 100644 --- a/generated/immich/openapi_client/docs/AuthenticationApi.md +++ b/generated/immich/openapi_client/docs/AuthenticationApi.md @@ -4,16 +4,32 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**change_password**](AuthenticationApi.md#change_password) | **POST** /auth/change-password | -[**login**](AuthenticationApi.md#login) | **POST** /auth/login | -[**logout**](AuthenticationApi.md#logout) | **POST** /auth/logout | -[**sign_up_admin**](AuthenticationApi.md#sign_up_admin) | **POST** /auth/admin-sign-up | -[**validate_access_token**](AuthenticationApi.md#validate_access_token) | **POST** /auth/validateToken | +[**change_password**](AuthenticationApi.md#change_password) | **POST** /auth/change-password | Change password +[**change_pin_code**](AuthenticationApi.md#change_pin_code) | **PUT** /auth/pin-code | Change pin code +[**finish_o_auth**](AuthenticationApi.md#finish_o_auth) | **POST** /oauth/callback | Finish OAuth +[**get_auth_status**](AuthenticationApi.md#get_auth_status) | **GET** /auth/status | Retrieve auth status +[**link_o_auth_account**](AuthenticationApi.md#link_o_auth_account) | **POST** /oauth/link | Link OAuth account +[**lock_auth_session**](AuthenticationApi.md#lock_auth_session) | **POST** /auth/session/lock | Lock auth session +[**login**](AuthenticationApi.md#login) | **POST** /auth/login | Login +[**logout**](AuthenticationApi.md#logout) | **POST** /auth/logout | Logout +[**logout_o_auth**](AuthenticationApi.md#logout_o_auth) | **POST** /oauth/backchannel-logout | Backchannel OAuth logout +[**redirect_o_auth_to_mobile**](AuthenticationApi.md#redirect_o_auth_to_mobile) | **GET** /oauth/mobile-redirect | Redirect OAuth to mobile +[**reset_pin_code**](AuthenticationApi.md#reset_pin_code) | **DELETE** /auth/pin-code | Reset pin code +[**setup_pin_code**](AuthenticationApi.md#setup_pin_code) | **POST** /auth/pin-code | Setup pin code +[**sign_up_admin**](AuthenticationApi.md#sign_up_admin) | **POST** /auth/admin-sign-up | Register admin +[**start_o_auth**](AuthenticationApi.md#start_o_auth) | **POST** /oauth/authorize | Start OAuth +[**unlink_o_auth_account**](AuthenticationApi.md#unlink_o_auth_account) | **POST** /oauth/unlink | Unlink OAuth account +[**unlock_auth_session**](AuthenticationApi.md#unlock_auth_session) | **POST** /auth/session/unlock | Unlock auth session +[**validate_access_token**](AuthenticationApi.md#validate_access_token) | **POST** /auth/validateToken | Validate access token # **change_password** > UserAdminResponseDto change_password(change_password_dto) +Change password + +Change the password of the current user. + ### Example * Api Key Authentication (cookie): @@ -62,6 +78,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: change_password_dto = generated.immich.openapi_client.ChangePasswordDto() # ChangePasswordDto | try: + # Change password api_response = api_instance.change_password(change_password_dto) print("The response of AuthenticationApi->change_password:\n") pprint(api_response) @@ -99,9 +116,438 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **change_pin_code** +> change_pin_code(pin_code_change_dto) + +Change pin code + +Change the pin code for the current user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.pin_code_change_dto import PinCodeChangeDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + pin_code_change_dto = generated.immich.openapi_client.PinCodeChangeDto() # PinCodeChangeDto | + + try: + # Change pin code + api_instance.change_pin_code(pin_code_change_dto) + except Exception as e: + print("Exception when calling AuthenticationApi->change_pin_code: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **pin_code_change_dto** | [**PinCodeChangeDto**](PinCodeChangeDto.md)| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **finish_o_auth** +> LoginResponseDto finish_o_auth(o_auth_callback_dto) + +Finish OAuth + +Complete the OAuth authorization process by exchanging the authorization code for a session token. + +### Example + + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.login_response_dto import LoginResponseDto +from generated.immich.openapi_client.models.o_auth_callback_dto import OAuthCallbackDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + o_auth_callback_dto = generated.immich.openapi_client.OAuthCallbackDto() # OAuthCallbackDto | + + try: + # Finish OAuth + api_response = api_instance.finish_o_auth(o_auth_callback_dto) + print("The response of AuthenticationApi->finish_o_auth:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AuthenticationApi->finish_o_auth: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **o_auth_callback_dto** | [**OAuthCallbackDto**](OAuthCallbackDto.md)| | + +### Return type + +[**LoginResponseDto**](LoginResponseDto.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_auth_status** +> AuthStatusResponseDto get_auth_status() + +Retrieve auth status + +Get information about the current session, including whether the user has a password, and if the session can access locked assets. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.auth_status_response_dto import AuthStatusResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + + try: + # Retrieve auth status + api_response = api_instance.get_auth_status() + print("The response of AuthenticationApi->get_auth_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AuthenticationApi->get_auth_status: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**AuthStatusResponseDto**](AuthStatusResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **link_o_auth_account** +> UserAdminResponseDto link_o_auth_account(o_auth_callback_dto) + +Link OAuth account + +Link an OAuth account to the authenticated user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.o_auth_callback_dto import OAuthCallbackDto +from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + o_auth_callback_dto = generated.immich.openapi_client.OAuthCallbackDto() # OAuthCallbackDto | + + try: + # Link OAuth account + api_response = api_instance.link_o_auth_account(o_auth_callback_dto) + print("The response of AuthenticationApi->link_o_auth_account:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AuthenticationApi->link_o_auth_account: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **o_auth_callback_dto** | [**OAuthCallbackDto**](OAuthCallbackDto.md)| | + +### Return type + +[**UserAdminResponseDto**](UserAdminResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **lock_auth_session** +> lock_auth_session() + +Lock auth session + +Remove elevated access to locked assets from the current session. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + + try: + # Lock auth session + api_instance.lock_auth_session() + except Exception as e: + print("Exception when calling AuthenticationApi->lock_auth_session: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **login** > LoginResponseDto login(login_credential_dto) +Login + +Login with username and password and receive a session token. + ### Example @@ -126,6 +572,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: login_credential_dto = generated.immich.openapi_client.LoginCredentialDto() # LoginCredentialDto | try: + # Login api_response = api_instance.login(login_credential_dto) print("The response of AuthenticationApi->login:\n") pprint(api_response) @@ -166,6 +613,10 @@ No authorization required # **logout** > LogoutResponseDto logout() +Logout + +Logout the current user and invalidate the session token. + ### Example * Api Key Authentication (cookie): @@ -212,6 +663,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) try: + # Logout api_response = api_instance.logout() print("The response of AuthenticationApi->logout:\n") pprint(api_response) @@ -246,9 +698,319 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **logout_o_auth** +> logout_o_auth(logout_token) + +Backchannel OAuth logout + +Logout the OAuth account and invalidate the session specified by the sid claim or all sessions if the sid claim is not present. + +### Example + + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + logout_token = 'logout_token_example' # str | OAuth logout token + + try: + # Backchannel OAuth logout + api_instance.logout_o_auth(logout_token) + except Exception as e: + print("Exception when calling AuthenticationApi->logout_o_auth: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **logout_token** | **str**| OAuth logout token | + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/x-www-form-urlencoded + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **redirect_o_auth_to_mobile** +> redirect_o_auth_to_mobile() + +Redirect OAuth to mobile + +Requests to this URL are automatically forwarded to the mobile app, and is used in some cases for OAuth redirecting. + +### Example + + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + + try: + # Redirect OAuth to mobile + api_instance.redirect_o_auth_to_mobile() + except Exception as e: + print("Exception when calling AuthenticationApi->redirect_o_auth_to_mobile: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **reset_pin_code** +> reset_pin_code(pin_code_reset_dto) + +Reset pin code + +Reset the pin code for the current user by providing the account password + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.pin_code_reset_dto import PinCodeResetDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + pin_code_reset_dto = generated.immich.openapi_client.PinCodeResetDto() # PinCodeResetDto | + + try: + # Reset pin code + api_instance.reset_pin_code(pin_code_reset_dto) + except Exception as e: + print("Exception when calling AuthenticationApi->reset_pin_code: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **pin_code_reset_dto** | [**PinCodeResetDto**](PinCodeResetDto.md)| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **setup_pin_code** +> setup_pin_code(pin_code_setup_dto) + +Setup pin code + +Setup a new pin code for the current user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.pin_code_setup_dto import PinCodeSetupDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + pin_code_setup_dto = generated.immich.openapi_client.PinCodeSetupDto() # PinCodeSetupDto | + + try: + # Setup pin code + api_instance.setup_pin_code(pin_code_setup_dto) + except Exception as e: + print("Exception when calling AuthenticationApi->setup_pin_code: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **pin_code_setup_dto** | [**PinCodeSetupDto**](PinCodeSetupDto.md)| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **sign_up_admin** > UserAdminResponseDto sign_up_admin(sign_up_dto) +Register admin + +Create the first admin user in the system. + ### Example @@ -273,6 +1035,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: sign_up_dto = generated.immich.openapi_client.SignUpDto() # SignUpDto | try: + # Register admin api_response = api_instance.sign_up_admin(sign_up_dto) print("The response of AuthenticationApi->sign_up_admin:\n") pprint(api_response) @@ -310,9 +1073,260 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **start_o_auth** +> OAuthAuthorizeResponseDto start_o_auth(o_auth_config_dto) + +Start OAuth + +Initiate the OAuth authorization process. + +### Example + + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.o_auth_authorize_response_dto import OAuthAuthorizeResponseDto +from generated.immich.openapi_client.models.o_auth_config_dto import OAuthConfigDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + o_auth_config_dto = generated.immich.openapi_client.OAuthConfigDto() # OAuthConfigDto | + + try: + # Start OAuth + api_response = api_instance.start_o_auth(o_auth_config_dto) + print("The response of AuthenticationApi->start_o_auth:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AuthenticationApi->start_o_auth: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **o_auth_config_dto** | [**OAuthConfigDto**](OAuthConfigDto.md)| | + +### Return type + +[**OAuthAuthorizeResponseDto**](OAuthAuthorizeResponseDto.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **unlink_o_auth_account** +> UserAdminResponseDto unlink_o_auth_account() + +Unlink OAuth account + +Unlink the OAuth account from the authenticated user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + + try: + # Unlink OAuth account + api_response = api_instance.unlink_o_auth_account() + print("The response of AuthenticationApi->unlink_o_auth_account:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AuthenticationApi->unlink_o_auth_account: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**UserAdminResponseDto**](UserAdminResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **unlock_auth_session** +> unlock_auth_session(session_unlock_dto) + +Unlock auth session + +Temporarily grant the session elevated access to locked assets by providing the correct PIN code. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.session_unlock_dto import SessionUnlockDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) + session_unlock_dto = generated.immich.openapi_client.SessionUnlockDto() # SessionUnlockDto | + + try: + # Unlock auth session + api_instance.unlock_auth_session(session_unlock_dto) + except Exception as e: + print("Exception when calling AuthenticationApi->unlock_auth_session: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **session_unlock_dto** | [**SessionUnlockDto**](SessionUnlockDto.md)| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **validate_access_token** > ValidateAccessTokenResponseDto validate_access_token() +Validate access token + +Validate the current authorization method is still valid. + ### Example * Api Key Authentication (cookie): @@ -359,6 +1373,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.AuthenticationApi(api_client) try: + # Validate access token api_response = api_instance.validate_access_token() print("The response of AuthenticationApi->validate_access_token:\n") pprint(api_response) diff --git a/generated/immich/openapi_client/docs/AvatarResponse.md b/generated/immich/openapi_client/docs/AvatarResponse.md deleted file mode 100644 index 39f4e9b..0000000 --- a/generated/immich/openapi_client/docs/AvatarResponse.md +++ /dev/null @@ -1,29 +0,0 @@ -# AvatarResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**color** | [**UserAvatarColor**](UserAvatarColor.md) | | - -## Example - -```python -from generated.immich.openapi_client.models.avatar_response import AvatarResponse - -# TODO update the JSON string below -json = "{}" -# create an instance of AvatarResponse from a JSON string -avatar_response_instance = AvatarResponse.from_json(json) -# print the JSON string representation of the object -print(AvatarResponse.to_json()) - -# convert the object into a dict -avatar_response_dict = avatar_response_instance.to_dict() -# create an instance of AvatarResponse from a dict -avatar_response_from_dict = AvatarResponse.from_dict(avatar_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/BulkIdResponseDto.md b/generated/immich/openapi_client/docs/BulkIdResponseDto.md index 9f9352a..d7c224d 100644 --- a/generated/immich/openapi_client/docs/BulkIdResponseDto.md +++ b/generated/immich/openapi_client/docs/BulkIdResponseDto.md @@ -5,9 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**error** | **str** | | [optional] -**id** | **str** | | -**success** | **bool** | | +**error** | [**BulkIdErrorReason**](BulkIdErrorReason.md) | | [optional] +**error_message** | **str** | | [optional] +**id** | **UUID** | ID | +**success** | **bool** | Whether operation succeeded | ## Example diff --git a/generated/immich/openapi_client/docs/BulkIdsDto.md b/generated/immich/openapi_client/docs/BulkIdsDto.md index 5cde6ee..bf7321a 100644 --- a/generated/immich/openapi_client/docs/BulkIdsDto.md +++ b/generated/immich/openapi_client/docs/BulkIdsDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**ids** | **List[str]** | | +**ids** | **List[UUID]** | IDs to process | ## Example diff --git a/generated/immich/openapi_client/docs/CLIPConfig.md b/generated/immich/openapi_client/docs/CLIPConfig.md index d86b4e0..658b258 100644 --- a/generated/immich/openapi_client/docs/CLIPConfig.md +++ b/generated/immich/openapi_client/docs/CLIPConfig.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | -**model_name** | **str** | | +**enabled** | **bool** | Whether the task is enabled | +**model_name** | **str** | Name of the model to use | ## Example diff --git a/generated/immich/openapi_client/docs/CQMode.md b/generated/immich/openapi_client/docs/CQMode.md index 8a7610d..7fee1d2 100644 --- a/generated/immich/openapi_client/docs/CQMode.md +++ b/generated/immich/openapi_client/docs/CQMode.md @@ -1,5 +1,6 @@ # CQMode +CQ mode ## Enum diff --git a/generated/immich/openapi_client/docs/ChangePasswordDto.md b/generated/immich/openapi_client/docs/ChangePasswordDto.md index 2476696..00cc2a6 100644 --- a/generated/immich/openapi_client/docs/ChangePasswordDto.md +++ b/generated/immich/openapi_client/docs/ChangePasswordDto.md @@ -5,8 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**new_password** | **str** | | -**password** | **str** | | +**invalidate_sessions** | **bool** | Invalidate all other sessions | [optional] [default to False] +**new_password** | **str** | New password (min 8 characters) | +**password** | **str** | Current password | ## Example diff --git a/generated/immich/openapi_client/docs/CheckExistingAssetsDto.md b/generated/immich/openapi_client/docs/CheckExistingAssetsDto.md deleted file mode 100644 index 14750ab..0000000 --- a/generated/immich/openapi_client/docs/CheckExistingAssetsDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# CheckExistingAssetsDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**device_asset_ids** | **List[str]** | | -**device_id** | **str** | | - -## Example - -```python -from generated.immich.openapi_client.models.check_existing_assets_dto import CheckExistingAssetsDto - -# TODO update the JSON string below -json = "{}" -# create an instance of CheckExistingAssetsDto from a JSON string -check_existing_assets_dto_instance = CheckExistingAssetsDto.from_json(json) -# print the JSON string representation of the object -print(CheckExistingAssetsDto.to_json()) - -# convert the object into a dict -check_existing_assets_dto_dict = check_existing_assets_dto_instance.to_dict() -# create an instance of CheckExistingAssetsDto from a dict -check_existing_assets_dto_from_dict = CheckExistingAssetsDto.from_dict(check_existing_assets_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/CheckExistingAssetsResponseDto.md b/generated/immich/openapi_client/docs/CheckExistingAssetsResponseDto.md deleted file mode 100644 index 47300c0..0000000 --- a/generated/immich/openapi_client/docs/CheckExistingAssetsResponseDto.md +++ /dev/null @@ -1,29 +0,0 @@ -# CheckExistingAssetsResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**existing_ids** | **List[str]** | | - -## Example - -```python -from generated.immich.openapi_client.models.check_existing_assets_response_dto import CheckExistingAssetsResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of CheckExistingAssetsResponseDto from a JSON string -check_existing_assets_response_dto_instance = CheckExistingAssetsResponseDto.from_json(json) -# print the JSON string representation of the object -print(CheckExistingAssetsResponseDto.to_json()) - -# convert the object into a dict -check_existing_assets_response_dto_dict = check_existing_assets_response_dto_instance.to_dict() -# create an instance of CheckExistingAssetsResponseDto from a dict -check_existing_assets_response_dto_from_dict = CheckExistingAssetsResponseDto.from_dict(check_existing_assets_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/Colorspace.md b/generated/immich/openapi_client/docs/Colorspace.md index 5b7e03e..fbe2c3b 100644 --- a/generated/immich/openapi_client/docs/Colorspace.md +++ b/generated/immich/openapi_client/docs/Colorspace.md @@ -1,5 +1,6 @@ # Colorspace +Colorspace ## Enum diff --git a/generated/immich/openapi_client/docs/CreateAlbumDto.md b/generated/immich/openapi_client/docs/CreateAlbumDto.md index 5daa292..236fd98 100644 --- a/generated/immich/openapi_client/docs/CreateAlbumDto.md +++ b/generated/immich/openapi_client/docs/CreateAlbumDto.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_name** | **str** | | -**album_users** | [**List[AlbumUserCreateDto]**](AlbumUserCreateDto.md) | | [optional] -**asset_ids** | **List[str]** | | [optional] -**description** | **str** | | [optional] +**album_name** | **str** | Album name | +**album_users** | [**List[AlbumUserCreateDto]**](AlbumUserCreateDto.md) | Album users | [optional] +**asset_ids** | **List[UUID]** | Initial asset IDs | [optional] +**description** | **str** | Album description | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/CreateLibraryDto.md b/generated/immich/openapi_client/docs/CreateLibraryDto.md index e02b333..d8d93fa 100644 --- a/generated/immich/openapi_client/docs/CreateLibraryDto.md +++ b/generated/immich/openapi_client/docs/CreateLibraryDto.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**exclusion_patterns** | **List[str]** | | [optional] -**import_paths** | **List[str]** | | [optional] -**name** | **str** | | [optional] -**owner_id** | **str** | | +**exclusion_patterns** | **List[str]** | Exclusion patterns (max 128) | [optional] +**import_paths** | **List[str]** | Import paths (max 128) | [optional] +**name** | **str** | Library name | [optional] +**owner_id** | **UUID** | Owner user ID | ## Example diff --git a/generated/immich/openapi_client/docs/CreateProfileImageResponseDto.md b/generated/immich/openapi_client/docs/CreateProfileImageResponseDto.md index 6d270ee..4574a56 100644 --- a/generated/immich/openapi_client/docs/CreateProfileImageResponseDto.md +++ b/generated/immich/openapi_client/docs/CreateProfileImageResponseDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**profile_changed_at** | **datetime** | | -**profile_image_path** | **str** | | -**user_id** | **str** | | +**profile_changed_at** | **datetime** | Profile image change date | +**profile_image_path** | **str** | Profile image file path | +**user_id** | **UUID** | User ID | ## Example diff --git a/generated/immich/openapi_client/docs/DatabaseBackupConfig.md b/generated/immich/openapi_client/docs/DatabaseBackupConfig.md index 0450578..fbe379b 100644 --- a/generated/immich/openapi_client/docs/DatabaseBackupConfig.md +++ b/generated/immich/openapi_client/docs/DatabaseBackupConfig.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**cron_expression** | **str** | | -**enabled** | **bool** | | -**keep_last_amount** | **float** | | +**cron_expression** | **str** | Cron expression | +**enabled** | **bool** | Enabled | +**keep_last_amount** | **int** | Keep last amount | ## Example diff --git a/generated/immich/openapi_client/docs/DeprecatedApi.md b/generated/immich/openapi_client/docs/DeprecatedApi.md index 9dc125d..9eaf422 100644 --- a/generated/immich/openapi_client/docs/DeprecatedApi.md +++ b/generated/immich/openapi_client/docs/DeprecatedApi.md @@ -4,13 +4,31 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_random**](DeprecatedApi.md#get_random) | **GET** /assets/random | +[**create_partner_deprecated**](DeprecatedApi.md#create_partner_deprecated) | **POST** /partners/{id} | Create a partner +[**get_queues_legacy**](DeprecatedApi.md#get_queues_legacy) | **GET** /jobs | Retrieve queue counts and status +[**run_queue_command_legacy**](DeprecatedApi.md#run_queue_command_legacy) | **PUT** /jobs/{name} | Run jobs +[**update_api_key**](DeprecatedApi.md#update_api_key) | **PUT** /api-keys/{id} | Update an API key +[**update_asset**](DeprecatedApi.md#update_asset) | **PUT** /assets/{id} | Update an asset +[**update_assets**](DeprecatedApi.md#update_assets) | **PUT** /assets | Update assets +[**update_library**](DeprecatedApi.md#update_library) | **PUT** /libraries/{id} | Update a library +[**update_memory**](DeprecatedApi.md#update_memory) | **PUT** /memories/{id} | Update a memory +[**update_my_preferences**](DeprecatedApi.md#update_my_preferences) | **PUT** /users/me/preferences | Update my preferences +[**update_my_user**](DeprecatedApi.md#update_my_user) | **PUT** /users/me | Update current user +[**update_person**](DeprecatedApi.md#update_person) | **PUT** /people/{id} | Update person +[**update_session**](DeprecatedApi.md#update_session) | **PUT** /sessions/{id} | Update a session +[**update_stack**](DeprecatedApi.md#update_stack) | **PUT** /stacks/{id} | Update a stack +[**update_tag**](DeprecatedApi.md#update_tag) | **PUT** /tags/{id} | Update a tag +[**update_user_admin**](DeprecatedApi.md#update_user_admin) | **PUT** /admin/users/{id} | Update a user +[**update_user_preferences_admin**](DeprecatedApi.md#update_user_preferences_admin) | **PUT** /admin/users/{id}/preferences | Update user preferences +[**update_workflow**](DeprecatedApi.md#update_workflow) | **PUT** /workflows/{id} | Update a workflow -# **get_random** -> List[AssetResponseDto] get_random(count=count) +# **create_partner_deprecated** +> PartnerResponseDto create_partner_deprecated(id) -This property was deprecated in v1.116.0 +Create a partner + +Create a new partner to share assets with. ### Example @@ -20,7 +38,7 @@ This property was deprecated in v1.116.0 ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto +from generated.immich.openapi_client.models.partner_response_dto import PartnerResponseDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -56,14 +74,15 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) - count = 3.4 # float | (optional) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: - api_response = api_instance.get_random(count=count) - print("The response of DeprecatedApi->get_random:\n") + # Create a partner + api_response = api_instance.create_partner_deprecated(id) + print("The response of DeprecatedApi->create_partner_deprecated:\n") pprint(api_response) except Exception as e: - print("Exception when calling DeprecatedApi->get_random: %s\n" % e) + print("Exception when calling DeprecatedApi->create_partner_deprecated: %s\n" % e) ``` @@ -73,11 +92,99 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **count** | **float**| | [optional] + **id** | **UUID**| | ### Return type -[**List[AssetResponseDto]**](AssetResponseDto.md) +[**PartnerResponseDto**](PartnerResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_queues_legacy** +> QueuesResponseLegacyDto get_queues_legacy() + +Retrieve queue counts and status + +Retrieve the counts of the current queue, as well as the current status. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.queues_response_legacy_dto import QueuesResponseLegacyDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + + try: + # Retrieve queue counts and status + api_response = api_instance.get_queues_legacy() + print("The response of DeprecatedApi->get_queues_legacy:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->get_queues_legacy: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**QueuesResponseLegacyDto**](QueuesResponseLegacyDto.md) ### Authorization @@ -96,3 +203,1420 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **run_queue_command_legacy** +> QueueResponseLegacyDto run_queue_command_legacy(name, queue_command_dto) + +Run jobs + +Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.queue_command_dto import QueueCommandDto +from generated.immich.openapi_client.models.queue_name import QueueName +from generated.immich.openapi_client.models.queue_response_legacy_dto import QueueResponseLegacyDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + name = generated.immich.openapi_client.QueueName() # QueueName | + queue_command_dto = generated.immich.openapi_client.QueueCommandDto() # QueueCommandDto | + + try: + # Run jobs + api_response = api_instance.run_queue_command_legacy(name, queue_command_dto) + print("The response of DeprecatedApi->run_queue_command_legacy:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->run_queue_command_legacy: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **name** | [**QueueName**](.md)| | + **queue_command_dto** | [**QueueCommandDto**](QueueCommandDto.md)| | + +### Return type + +[**QueueResponseLegacyDto**](QueueResponseLegacyDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_api_key** +> ApiKeyResponseDto update_api_key(id, api_key_update_dto) + +Update an API key + +Updates the name and permissions of an API key by its ID. The current user must own this API key. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + api_key_update_dto = generated.immich.openapi_client.ApiKeyUpdateDto() # ApiKeyUpdateDto | + + try: + # Update an API key + api_response = api_instance.update_api_key(id, api_key_update_dto) + print("The response of DeprecatedApi->update_api_key:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_api_key: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **api_key_update_dto** | [**ApiKeyUpdateDto**](ApiKeyUpdateDto.md)| | + +### Return type + +[**ApiKeyResponseDto**](ApiKeyResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_asset** +> AssetResponseDto update_asset(id, update_asset_dto) + +Update an asset + +Update information of a specific asset. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto +from generated.immich.openapi_client.models.update_asset_dto import UpdateAssetDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + update_asset_dto = generated.immich.openapi_client.UpdateAssetDto() # UpdateAssetDto | + + try: + # Update an asset + api_response = api_instance.update_asset(id, update_asset_dto) + print("The response of DeprecatedApi->update_asset:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_asset: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **update_asset_dto** | [**UpdateAssetDto**](UpdateAssetDto.md)| | + +### Return type + +[**AssetResponseDto**](AssetResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_assets** +> update_assets(asset_bulk_update_dto) + +Update assets + +Updates multiple assets at the same time. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_bulk_update_dto import AssetBulkUpdateDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + asset_bulk_update_dto = generated.immich.openapi_client.AssetBulkUpdateDto() # AssetBulkUpdateDto | + + try: + # Update assets + api_instance.update_assets(asset_bulk_update_dto) + except Exception as e: + print("Exception when calling DeprecatedApi->update_assets: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **asset_bulk_update_dto** | [**AssetBulkUpdateDto**](AssetBulkUpdateDto.md)| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_library** +> LibraryResponseDto update_library(id, update_library_dto) + +Update a library + +Update an existing external library. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.library_response_dto import LibraryResponseDto +from generated.immich.openapi_client.models.update_library_dto import UpdateLibraryDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + update_library_dto = generated.immich.openapi_client.UpdateLibraryDto() # UpdateLibraryDto | + + try: + # Update a library + api_response = api_instance.update_library(id, update_library_dto) + print("The response of DeprecatedApi->update_library:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_library: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **update_library_dto** | [**UpdateLibraryDto**](UpdateLibraryDto.md)| | + +### Return type + +[**LibraryResponseDto**](LibraryResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_memory** +> MemoryResponseDto update_memory(id, memory_update_dto) + +Update a memory + +Update an existing memory by its ID. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.memory_response_dto import MemoryResponseDto +from generated.immich.openapi_client.models.memory_update_dto import MemoryUpdateDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + memory_update_dto = generated.immich.openapi_client.MemoryUpdateDto() # MemoryUpdateDto | + + try: + # Update a memory + api_response = api_instance.update_memory(id, memory_update_dto) + print("The response of DeprecatedApi->update_memory:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_memory: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **memory_update_dto** | [**MemoryUpdateDto**](MemoryUpdateDto.md)| | + +### Return type + +[**MemoryResponseDto**](MemoryResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_my_preferences** +> UserPreferencesResponseDto update_my_preferences(user_preferences_update_dto) + +Update my preferences + +Update the preferences of the current user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + user_preferences_update_dto = generated.immich.openapi_client.UserPreferencesUpdateDto() # UserPreferencesUpdateDto | + + try: + # Update my preferences + api_response = api_instance.update_my_preferences(user_preferences_update_dto) + print("The response of DeprecatedApi->update_my_preferences:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_my_preferences: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_preferences_update_dto** | [**UserPreferencesUpdateDto**](UserPreferencesUpdateDto.md)| | + +### Return type + +[**UserPreferencesResponseDto**](UserPreferencesResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_my_user** +> UserAdminResponseDto update_my_user(user_update_me_dto) + +Update current user + +Update the current user making the API request. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto +from generated.immich.openapi_client.models.user_update_me_dto import UserUpdateMeDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + user_update_me_dto = generated.immich.openapi_client.UserUpdateMeDto() # UserUpdateMeDto | + + try: + # Update current user + api_response = api_instance.update_my_user(user_update_me_dto) + print("The response of DeprecatedApi->update_my_user:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_my_user: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **user_update_me_dto** | [**UserUpdateMeDto**](UserUpdateMeDto.md)| | + +### Return type + +[**UserAdminResponseDto**](UserAdminResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_person** +> PersonResponseDto update_person(id, person_update_dto) + +Update person + +Update an individual person. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.person_response_dto import PersonResponseDto +from generated.immich.openapi_client.models.person_update_dto import PersonUpdateDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + person_update_dto = generated.immich.openapi_client.PersonUpdateDto() # PersonUpdateDto | + + try: + # Update person + api_response = api_instance.update_person(id, person_update_dto) + print("The response of DeprecatedApi->update_person:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_person: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **person_update_dto** | [**PersonUpdateDto**](PersonUpdateDto.md)| | + +### Return type + +[**PersonResponseDto**](PersonResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_session** +> SessionResponseDto update_session(id, session_update_dto) + +Update a session + +Update a specific session identified by id. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.session_response_dto import SessionResponseDto +from generated.immich.openapi_client.models.session_update_dto import SessionUpdateDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + session_update_dto = generated.immich.openapi_client.SessionUpdateDto() # SessionUpdateDto | + + try: + # Update a session + api_response = api_instance.update_session(id, session_update_dto) + print("The response of DeprecatedApi->update_session:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_session: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **session_update_dto** | [**SessionUpdateDto**](SessionUpdateDto.md)| | + +### Return type + +[**SessionResponseDto**](SessionResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_stack** +> StackResponseDto update_stack(id, stack_update_dto) + +Update a stack + +Update an existing stack by its ID. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + stack_update_dto = generated.immich.openapi_client.StackUpdateDto() # StackUpdateDto | + + try: + # Update a stack + api_response = api_instance.update_stack(id, stack_update_dto) + print("The response of DeprecatedApi->update_stack:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_stack: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **stack_update_dto** | [**StackUpdateDto**](StackUpdateDto.md)| | + +### Return type + +[**StackResponseDto**](StackResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_tag** +> TagResponseDto update_tag(id, tag_update_dto) + +Update a tag + +Update an existing tag identified by its ID. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.tag_response_dto import TagResponseDto +from generated.immich.openapi_client.models.tag_update_dto import TagUpdateDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + tag_update_dto = generated.immich.openapi_client.TagUpdateDto() # TagUpdateDto | + + try: + # Update a tag + api_response = api_instance.update_tag(id, tag_update_dto) + print("The response of DeprecatedApi->update_tag:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_tag: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **tag_update_dto** | [**TagUpdateDto**](TagUpdateDto.md)| | + +### Return type + +[**TagResponseDto**](TagResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_user_admin** +> UserAdminResponseDto update_user_admin(id, user_admin_update_dto) + +Update a user + +Update an existing user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto +from generated.immich.openapi_client.models.user_admin_update_dto import UserAdminUpdateDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + user_admin_update_dto = generated.immich.openapi_client.UserAdminUpdateDto() # UserAdminUpdateDto | + + try: + # Update a user + api_response = api_instance.update_user_admin(id, user_admin_update_dto) + print("The response of DeprecatedApi->update_user_admin:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_user_admin: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **user_admin_update_dto** | [**UserAdminUpdateDto**](UserAdminUpdateDto.md)| | + +### Return type + +[**UserAdminResponseDto**](UserAdminResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_user_preferences_admin** +> UserPreferencesResponseDto update_user_preferences_admin(id, user_preferences_update_dto) + +Update user preferences + +Update the preferences of a specific user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + user_preferences_update_dto = generated.immich.openapi_client.UserPreferencesUpdateDto() # UserPreferencesUpdateDto | + + try: + # Update user preferences + api_response = api_instance.update_user_preferences_admin(id, user_preferences_update_dto) + print("The response of DeprecatedApi->update_user_preferences_admin:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_user_preferences_admin: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **user_preferences_update_dto** | [**UserPreferencesUpdateDto**](UserPreferencesUpdateDto.md)| | + +### Return type + +[**UserPreferencesResponseDto**](UserPreferencesResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_workflow** +> WorkflowResponseDto update_workflow(id, workflow_update_dto) + +Update a workflow + +Update the information of a specific workflow by its ID. This endpoint can be used to update the workflow name, description, trigger type, filters and actions order, etc. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.workflow_response_dto import WorkflowResponseDto +from generated.immich.openapi_client.models.workflow_update_dto import WorkflowUpdateDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DeprecatedApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + workflow_update_dto = generated.immich.openapi_client.WorkflowUpdateDto() # WorkflowUpdateDto | + + try: + # Update a workflow + api_response = api_instance.update_workflow(id, workflow_update_dto) + print("The response of DeprecatedApi->update_workflow:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DeprecatedApi->update_workflow: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **workflow_update_dto** | [**WorkflowUpdateDto**](WorkflowUpdateDto.md)| | + +### Return type + +[**WorkflowResponseDto**](WorkflowResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/generated/immich/openapi_client/docs/DownloadApi.md b/generated/immich/openapi_client/docs/DownloadApi.md index 34bfcb5..def34bc 100644 --- a/generated/immich/openapi_client/docs/DownloadApi.md +++ b/generated/immich/openapi_client/docs/DownloadApi.md @@ -4,12 +4,16 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**download_archive**](DownloadApi.md#download_archive) | **POST** /download/archive | -[**get_download_info**](DownloadApi.md#get_download_info) | **POST** /download/info | +[**download_archive**](DownloadApi.md#download_archive) | **POST** /download/archive | Download asset archive +[**get_download_info**](DownloadApi.md#get_download_info) | **POST** /download/info | Retrieve download information # **download_archive** -> bytearray download_archive(asset_ids_dto, key=key) +> bytearray download_archive(download_archive_dto, key=key, slug=slug) + +Download asset archive + +Download a ZIP archive containing the specified assets. The assets must have been previously requested via the "getDownloadInfo" endpoint. ### Example @@ -19,7 +23,7 @@ Method | HTTP request | Description ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.asset_ids_dto import AssetIdsDto +from generated.immich.openapi_client.models.download_archive_dto import DownloadArchiveDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -55,11 +59,13 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.DownloadApi(api_client) - asset_ids_dto = generated.immich.openapi_client.AssetIdsDto() # AssetIdsDto | + download_archive_dto = generated.immich.openapi_client.DownloadArchiveDto() # DownloadArchiveDto | key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) try: - api_response = api_instance.download_archive(asset_ids_dto, key=key) + # Download asset archive + api_response = api_instance.download_archive(download_archive_dto, key=key, slug=slug) print("The response of DownloadApi->download_archive:\n") pprint(api_response) except Exception as e: @@ -73,8 +79,9 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **asset_ids_dto** | [**AssetIdsDto**](AssetIdsDto.md)| | + **download_archive_dto** | [**DownloadArchiveDto**](DownloadArchiveDto.md)| | **key** | **str**| | [optional] + **slug** | **str**| | [optional] ### Return type @@ -98,7 +105,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_download_info** -> DownloadResponseDto get_download_info(download_info_dto, key=key) +> DownloadResponseDto get_download_info(download_info_dto, key=key, slug=slug) + +Retrieve download information + +Retrieve information about how to request a download for the specified assets or album. The response includes groups of assets that can be downloaded together. ### Example @@ -147,9 +158,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.DownloadApi(api_client) download_info_dto = generated.immich.openapi_client.DownloadInfoDto() # DownloadInfoDto | key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) try: - api_response = api_instance.get_download_info(download_info_dto, key=key) + # Retrieve download information + api_response = api_instance.get_download_info(download_info_dto, key=key, slug=slug) print("The response of DownloadApi->get_download_info:\n") pprint(api_response) except Exception as e: @@ -165,6 +178,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **download_info_dto** | [**DownloadInfoDto**](DownloadInfoDto.md)| | **key** | **str**| | [optional] + **slug** | **str**| | [optional] ### Return type diff --git a/generated/immich/openapi_client/docs/DownloadArchiveInfo.md b/generated/immich/openapi_client/docs/DownloadArchiveInfo.md index a55cb82..d5e8b4e 100644 --- a/generated/immich/openapi_client/docs/DownloadArchiveInfo.md +++ b/generated/immich/openapi_client/docs/DownloadArchiveInfo.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_ids** | **List[str]** | | -**size** | **int** | | +**asset_ids** | **List[UUID]** | Asset IDs in this archive | +**size** | **int** | Archive size in bytes | ## Example diff --git a/generated/immich/openapi_client/docs/DownloadInfoDto.md b/generated/immich/openapi_client/docs/DownloadInfoDto.md index c329c58..365ae21 100644 --- a/generated/immich/openapi_client/docs/DownloadInfoDto.md +++ b/generated/immich/openapi_client/docs/DownloadInfoDto.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_id** | **str** | | [optional] -**archive_size** | **int** | | [optional] -**asset_ids** | **List[str]** | | [optional] -**user_id** | **str** | | [optional] +**album_id** | **UUID** | Album ID to download | [optional] +**archive_size** | **int** | Archive size limit in bytes | [optional] +**asset_ids** | **List[UUID]** | Asset IDs to download | [optional] +**user_id** | **UUID** | User ID to download assets from | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/DownloadResponse.md b/generated/immich/openapi_client/docs/DownloadResponse.md index 64961cf..c9751e8 100644 --- a/generated/immich/openapi_client/docs/DownloadResponse.md +++ b/generated/immich/openapi_client/docs/DownloadResponse.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**archive_size** | **int** | | -**include_embedded_videos** | **bool** | | [default to False] +**archive_size** | **int** | Maximum archive size in bytes | +**include_embedded_videos** | **bool** | Whether to include embedded videos in downloads | ## Example diff --git a/generated/immich/openapi_client/docs/DownloadResponseDto.md b/generated/immich/openapi_client/docs/DownloadResponseDto.md index b19032c..d27454e 100644 --- a/generated/immich/openapi_client/docs/DownloadResponseDto.md +++ b/generated/immich/openapi_client/docs/DownloadResponseDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**archives** | [**List[DownloadArchiveInfo]**](DownloadArchiveInfo.md) | | -**total_size** | **int** | | +**archives** | [**List[DownloadArchiveInfo]**](DownloadArchiveInfo.md) | Archive information | +**total_size** | **int** | Total size in bytes | ## Example diff --git a/generated/immich/openapi_client/docs/DownloadUpdate.md b/generated/immich/openapi_client/docs/DownloadUpdate.md index c94dfc5..54af760 100644 --- a/generated/immich/openapi_client/docs/DownloadUpdate.md +++ b/generated/immich/openapi_client/docs/DownloadUpdate.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**archive_size** | **int** | | [optional] -**include_embedded_videos** | **bool** | | [optional] +**archive_size** | **int** | Maximum archive size in bytes | [optional] +**include_embedded_videos** | **bool** | Whether to include embedded videos in downloads | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/DuplicateDetectionConfig.md b/generated/immich/openapi_client/docs/DuplicateDetectionConfig.md index 46b71fe..0bbf104 100644 --- a/generated/immich/openapi_client/docs/DuplicateDetectionConfig.md +++ b/generated/immich/openapi_client/docs/DuplicateDetectionConfig.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | -**max_distance** | **float** | | +**enabled** | **bool** | Whether the task is enabled | +**max_distance** | **float** | Maximum distance threshold for duplicate detection | ## Example diff --git a/generated/immich/openapi_client/docs/DuplicateResponseDto.md b/generated/immich/openapi_client/docs/DuplicateResponseDto.md index 1f972a1..396f927 100644 --- a/generated/immich/openapi_client/docs/DuplicateResponseDto.md +++ b/generated/immich/openapi_client/docs/DuplicateResponseDto.md @@ -5,8 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**assets** | [**List[AssetResponseDto]**](AssetResponseDto.md) | | -**duplicate_id** | **str** | | +**assets** | [**List[AssetResponseDto]**](AssetResponseDto.md) | Duplicate assets | +**duplicate_id** | **UUID** | Duplicate group ID | +**suggested_keep_asset_ids** | **List[UUID]** | Suggested asset IDs to keep based on file size and EXIF data | ## Example diff --git a/generated/immich/openapi_client/docs/DuplicatesApi.md b/generated/immich/openapi_client/docs/DuplicatesApi.md index a19663e..75b9174 100644 --- a/generated/immich/openapi_client/docs/DuplicatesApi.md +++ b/generated/immich/openapi_client/docs/DuplicatesApi.md @@ -4,12 +4,198 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_asset_duplicates**](DuplicatesApi.md#get_asset_duplicates) | **GET** /duplicates | +[**delete_duplicate**](DuplicatesApi.md#delete_duplicate) | **DELETE** /duplicates/{id} | Dismiss a duplicate group +[**delete_duplicates**](DuplicatesApi.md#delete_duplicates) | **DELETE** /duplicates | Delete duplicates +[**get_asset_duplicates**](DuplicatesApi.md#get_asset_duplicates) | **GET** /duplicates | Retrieve duplicates +[**resolve_duplicates**](DuplicatesApi.md#resolve_duplicates) | **POST** /duplicates/resolve | Resolve duplicate groups +# **delete_duplicate** +> delete_duplicate(id) + +Dismiss a duplicate group + +Dismiss a duplicate group by its ID, unlinking all assets in the group without deleting them. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DuplicatesApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + + try: + # Dismiss a duplicate group + api_instance.delete_duplicate(id) + except Exception as e: + print("Exception when calling DuplicatesApi->delete_duplicate: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_duplicates** +> delete_duplicates(bulk_ids_dto) + +Delete duplicates + +Delete multiple duplicate assets specified by their IDs. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.bulk_ids_dto import BulkIdsDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DuplicatesApi(api_client) + bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | + + try: + # Delete duplicates + api_instance.delete_duplicates(bulk_ids_dto) + except Exception as e: + print("Exception when calling DuplicatesApi->delete_duplicates: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **bulk_ids_dto** | [**BulkIdsDto**](BulkIdsDto.md)| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_asset_duplicates** > List[DuplicateResponseDto] get_asset_duplicates() +Retrieve duplicates + +Retrieve a list of duplicate assets available to the authenticated user. + ### Example * Api Key Authentication (cookie): @@ -56,6 +242,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.DuplicatesApi(api_client) try: + # Retrieve duplicates api_response = api_instance.get_asset_duplicates() print("The response of DuplicatesApi->get_asset_duplicates:\n") pprint(api_response) @@ -90,3 +277,96 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **resolve_duplicates** +> List[BulkIdResponseDto] resolve_duplicates(duplicate_resolve_dto) + +Resolve duplicate groups + +Resolve duplicate groups by synchronizing metadata across assets and deleting/trashing duplicates. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.bulk_id_response_dto import BulkIdResponseDto +from generated.immich.openapi_client.models.duplicate_resolve_dto import DuplicateResolveDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.DuplicatesApi(api_client) + duplicate_resolve_dto = generated.immich.openapi_client.DuplicateResolveDto() # DuplicateResolveDto | + + try: + # Resolve duplicate groups + api_response = api_instance.resolve_duplicates(duplicate_resolve_dto) + print("The response of DuplicatesApi->resolve_duplicates:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling DuplicatesApi->resolve_duplicates: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **duplicate_resolve_dto** | [**DuplicateResolveDto**](DuplicateResolveDto.md)| | + +### Return type + +[**List[BulkIdResponseDto]**](BulkIdResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/generated/immich/openapi_client/docs/EmailNotificationsResponse.md b/generated/immich/openapi_client/docs/EmailNotificationsResponse.md index 1452472..9a6efa4 100644 --- a/generated/immich/openapi_client/docs/EmailNotificationsResponse.md +++ b/generated/immich/openapi_client/docs/EmailNotificationsResponse.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_invite** | **bool** | | -**album_update** | **bool** | | -**enabled** | **bool** | | +**album_invite** | **bool** | Whether to receive email notifications for album invites | +**album_update** | **bool** | Whether to receive email notifications for album updates | +**enabled** | **bool** | Whether email notifications are enabled | ## Example diff --git a/generated/immich/openapi_client/docs/EmailNotificationsUpdate.md b/generated/immich/openapi_client/docs/EmailNotificationsUpdate.md index d5ade6b..3d8db75 100644 --- a/generated/immich/openapi_client/docs/EmailNotificationsUpdate.md +++ b/generated/immich/openapi_client/docs/EmailNotificationsUpdate.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_invite** | **bool** | | [optional] -**album_update** | **bool** | | [optional] -**enabled** | **bool** | | [optional] +**album_invite** | **bool** | Whether to receive email notifications for album invites | [optional] +**album_update** | **bool** | Whether to receive email notifications for album updates | [optional] +**enabled** | **bool** | Whether email notifications are enabled | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/ExifResponseDto.md b/generated/immich/openapi_client/docs/ExifResponseDto.md index 54c306c..9a71fe8 100644 --- a/generated/immich/openapi_client/docs/ExifResponseDto.md +++ b/generated/immich/openapi_client/docs/ExifResponseDto.md @@ -1,32 +1,33 @@ # ExifResponseDto +EXIF response ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**city** | **str** | | [optional] -**country** | **str** | | [optional] -**date_time_original** | **datetime** | | [optional] -**description** | **str** | | [optional] -**exif_image_height** | **float** | | [optional] -**exif_image_width** | **float** | | [optional] -**exposure_time** | **str** | | [optional] -**f_number** | **float** | | [optional] -**file_size_in_byte** | **int** | | [optional] -**focal_length** | **float** | | [optional] -**iso** | **float** | | [optional] -**latitude** | **float** | | [optional] -**lens_model** | **str** | | [optional] -**longitude** | **float** | | [optional] -**make** | **str** | | [optional] -**model** | **str** | | [optional] -**modify_date** | **datetime** | | [optional] -**orientation** | **str** | | [optional] -**projection_type** | **str** | | [optional] -**rating** | **float** | | [optional] -**state** | **str** | | [optional] -**time_zone** | **str** | | [optional] +**city** | **str** | City name | [optional] +**country** | **str** | Country name | [optional] +**date_time_original** | **datetime** | Original date/time | [optional] +**description** | **str** | Image description | [optional] +**exif_image_height** | **int** | Image height in pixels | [optional] +**exif_image_width** | **int** | Image width in pixels | [optional] +**exposure_time** | **str** | Exposure time | [optional] +**f_number** | **float** | F-number (aperture) | [optional] +**file_size_in_byte** | **int** | File size in bytes | [optional] +**focal_length** | **float** | Focal length in mm | [optional] +**iso** | **int** | ISO sensitivity | [optional] +**latitude** | **float** | GPS latitude | [optional] +**lens_model** | **str** | Lens model | [optional] +**longitude** | **float** | GPS longitude | [optional] +**make** | **str** | Camera make | [optional] +**model** | **str** | Camera model | [optional] +**modify_date** | **datetime** | Modification date/time | [optional] +**orientation** | **str** | Image orientation | [optional] +**projection_type** | **str** | Projection type | [optional] +**rating** | **int** | Rating | [optional] +**state** | **str** | State/province name | [optional] +**time_zone** | **str** | Time zone | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/FaceDto.md b/generated/immich/openapi_client/docs/FaceDto.md index 41465b5..bfe834d 100644 --- a/generated/immich/openapi_client/docs/FaceDto.md +++ b/generated/immich/openapi_client/docs/FaceDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**id** | **str** | | +**id** | **UUID** | Face ID | ## Example diff --git a/generated/immich/openapi_client/docs/FacesApi.md b/generated/immich/openapi_client/docs/FacesApi.md index 7c99ccc..8ab8dec 100644 --- a/generated/immich/openapi_client/docs/FacesApi.md +++ b/generated/immich/openapi_client/docs/FacesApi.md @@ -4,15 +4,19 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_face**](FacesApi.md#create_face) | **POST** /faces | -[**delete_face**](FacesApi.md#delete_face) | **DELETE** /faces/{id} | -[**get_faces**](FacesApi.md#get_faces) | **GET** /faces | -[**reassign_faces_by_id**](FacesApi.md#reassign_faces_by_id) | **PUT** /faces/{id} | +[**create_face**](FacesApi.md#create_face) | **POST** /faces | Create a face +[**delete_face**](FacesApi.md#delete_face) | **DELETE** /faces/{id} | Delete a face +[**get_faces**](FacesApi.md#get_faces) | **GET** /faces | Retrieve faces for asset +[**reassign_faces_by_id**](FacesApi.md#reassign_faces_by_id) | **PUT** /faces/{id} | Re-assign a face to another person # **create_face** > create_face(asset_face_create_dto) +Create a face + +Create a new face that has not been discovered by facial recognition. The content of the bounding box is considered a face. + ### Example * Api Key Authentication (cookie): @@ -60,6 +64,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: asset_face_create_dto = generated.immich.openapi_client.AssetFaceCreateDto() # AssetFaceCreateDto | try: + # Create a face api_instance.create_face(asset_face_create_dto) except Exception as e: print("Exception when calling FacesApi->create_face: %s\n" % e) @@ -98,6 +103,10 @@ void (empty response body) # **delete_face** > delete_face(id, asset_face_delete_dto) +Delete a face + +Delete a face identified by the id. Optionally can be force deleted. + ### Example * Api Key Authentication (cookie): @@ -142,10 +151,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.FacesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | asset_face_delete_dto = generated.immich.openapi_client.AssetFaceDeleteDto() # AssetFaceDeleteDto | try: + # Delete a face api_instance.delete_face(id, asset_face_delete_dto) except Exception as e: print("Exception when calling FacesApi->delete_face: %s\n" % e) @@ -158,7 +168,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **asset_face_delete_dto** | [**AssetFaceDeleteDto**](AssetFaceDeleteDto.md)| | ### Return type @@ -178,13 +188,17 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | | - | +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_faces** > List[AssetFaceResponseDto] get_faces(id) +Retrieve faces for asset + +Retrieve all faces belonging to an asset. + ### Example * Api Key Authentication (cookie): @@ -229,9 +243,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.FacesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Face ID try: + # Retrieve faces for asset api_response = api_instance.get_faces(id) print("The response of FacesApi->get_faces:\n") pprint(api_response) @@ -246,7 +261,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| Face ID | ### Return type @@ -272,6 +287,10 @@ Name | Type | Description | Notes # **reassign_faces_by_id** > PersonResponseDto reassign_faces_by_id(id, face_dto) +Re-assign a face to another person + +Re-assign the face provided in the body to the person identified by the id in the path parameter. + ### Example * Api Key Authentication (cookie): @@ -317,10 +336,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.FacesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | face_dto = generated.immich.openapi_client.FaceDto() # FaceDto | try: + # Re-assign a face to another person api_response = api_instance.reassign_faces_by_id(id, face_dto) print("The response of FacesApi->reassign_faces_by_id:\n") pprint(api_response) @@ -335,7 +355,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **face_dto** | [**FaceDto**](FaceDto.md)| | ### Return type diff --git a/generated/immich/openapi_client/docs/FacialRecognitionConfig.md b/generated/immich/openapi_client/docs/FacialRecognitionConfig.md index 912aca4..71cd630 100644 --- a/generated/immich/openapi_client/docs/FacialRecognitionConfig.md +++ b/generated/immich/openapi_client/docs/FacialRecognitionConfig.md @@ -5,11 +5,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | -**max_distance** | **float** | | -**min_faces** | **int** | | -**min_score** | **float** | | -**model_name** | **str** | | +**enabled** | **bool** | Whether the task is enabled | +**max_distance** | **float** | Maximum distance threshold for face recognition | +**min_faces** | **int** | Minimum number of faces required for recognition | +**min_score** | **float** | Minimum confidence score for face detection | +**model_name** | **str** | Name of the model to use | ## Example diff --git a/generated/immich/openapi_client/docs/FileChecksumDto.md b/generated/immich/openapi_client/docs/FileChecksumDto.md deleted file mode 100644 index 129f396..0000000 --- a/generated/immich/openapi_client/docs/FileChecksumDto.md +++ /dev/null @@ -1,29 +0,0 @@ -# FileChecksumDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**filenames** | **List[str]** | | - -## Example - -```python -from generated.immich.openapi_client.models.file_checksum_dto import FileChecksumDto - -# TODO update the JSON string below -json = "{}" -# create an instance of FileChecksumDto from a JSON string -file_checksum_dto_instance = FileChecksumDto.from_json(json) -# print the JSON string representation of the object -print(FileChecksumDto.to_json()) - -# convert the object into a dict -file_checksum_dto_dict = file_checksum_dto_instance.to_dict() -# create an instance of FileChecksumDto from a dict -file_checksum_dto_from_dict = FileChecksumDto.from_dict(file_checksum_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/FileChecksumResponseDto.md b/generated/immich/openapi_client/docs/FileChecksumResponseDto.md deleted file mode 100644 index a5d651d..0000000 --- a/generated/immich/openapi_client/docs/FileChecksumResponseDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# FileChecksumResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**checksum** | **str** | | -**filename** | **str** | | - -## Example - -```python -from generated.immich.openapi_client.models.file_checksum_response_dto import FileChecksumResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of FileChecksumResponseDto from a JSON string -file_checksum_response_dto_instance = FileChecksumResponseDto.from_json(json) -# print the JSON string representation of the object -print(FileChecksumResponseDto.to_json()) - -# convert the object into a dict -file_checksum_response_dto_dict = file_checksum_response_dto_instance.to_dict() -# create an instance of FileChecksumResponseDto from a dict -file_checksum_response_dto_from_dict = FileChecksumResponseDto.from_dict(file_checksum_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/FileReportDto.md b/generated/immich/openapi_client/docs/FileReportDto.md deleted file mode 100644 index 6cf03b2..0000000 --- a/generated/immich/openapi_client/docs/FileReportDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# FileReportDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**extras** | **List[str]** | | -**orphans** | [**List[FileReportItemDto]**](FileReportItemDto.md) | | - -## Example - -```python -from generated.immich.openapi_client.models.file_report_dto import FileReportDto - -# TODO update the JSON string below -json = "{}" -# create an instance of FileReportDto from a JSON string -file_report_dto_instance = FileReportDto.from_json(json) -# print the JSON string representation of the object -print(FileReportDto.to_json()) - -# convert the object into a dict -file_report_dto_dict = file_report_dto_instance.to_dict() -# create an instance of FileReportDto from a dict -file_report_dto_from_dict = FileReportDto.from_dict(file_report_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/FileReportFixDto.md b/generated/immich/openapi_client/docs/FileReportFixDto.md deleted file mode 100644 index a06822d..0000000 --- a/generated/immich/openapi_client/docs/FileReportFixDto.md +++ /dev/null @@ -1,29 +0,0 @@ -# FileReportFixDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**items** | [**List[FileReportItemDto]**](FileReportItemDto.md) | | - -## Example - -```python -from generated.immich.openapi_client.models.file_report_fix_dto import FileReportFixDto - -# TODO update the JSON string below -json = "{}" -# create an instance of FileReportFixDto from a JSON string -file_report_fix_dto_instance = FileReportFixDto.from_json(json) -# print the JSON string representation of the object -print(FileReportFixDto.to_json()) - -# convert the object into a dict -file_report_fix_dto_dict = file_report_fix_dto_instance.to_dict() -# create an instance of FileReportFixDto from a dict -file_report_fix_dto_from_dict = FileReportFixDto.from_dict(file_report_fix_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/FileReportItemDto.md b/generated/immich/openapi_client/docs/FileReportItemDto.md deleted file mode 100644 index 17b4b62..0000000 --- a/generated/immich/openapi_client/docs/FileReportItemDto.md +++ /dev/null @@ -1,33 +0,0 @@ -# FileReportItemDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**checksum** | **str** | | [optional] -**entity_id** | **str** | | -**entity_type** | [**PathEntityType**](PathEntityType.md) | | -**path_type** | [**PathType**](PathType.md) | | -**path_value** | **str** | | - -## Example - -```python -from generated.immich.openapi_client.models.file_report_item_dto import FileReportItemDto - -# TODO update the JSON string below -json = "{}" -# create an instance of FileReportItemDto from a JSON string -file_report_item_dto_instance = FileReportItemDto.from_json(json) -# print the JSON string representation of the object -print(FileReportItemDto.to_json()) - -# convert the object into a dict -file_report_item_dto_dict = file_report_item_dto_instance.to_dict() -# create an instance of FileReportItemDto from a dict -file_report_item_dto_from_dict = FileReportItemDto.from_dict(file_report_item_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/FileReportsApi.md b/generated/immich/openapi_client/docs/FileReportsApi.md deleted file mode 100644 index 6364dcd..0000000 --- a/generated/immich/openapi_client/docs/FileReportsApi.md +++ /dev/null @@ -1,267 +0,0 @@ -# generated.immich.openapi_client.FileReportsApi - -All URIs are relative to *https://github.com/api* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**fix_audit_files**](FileReportsApi.md#fix_audit_files) | **POST** /reports/fix | -[**get_audit_files**](FileReportsApi.md#get_audit_files) | **GET** /reports | -[**get_file_checksums**](FileReportsApi.md#get_file_checksums) | **POST** /reports/checksum | - - -# **fix_audit_files** -> fix_audit_files(file_report_fix_dto) - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.file_report_fix_dto import FileReportFixDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.FileReportsApi(api_client) - file_report_fix_dto = generated.immich.openapi_client.FileReportFixDto() # FileReportFixDto | - - try: - api_instance.fix_audit_files(file_report_fix_dto) - except Exception as e: - print("Exception when calling FileReportsApi->fix_audit_files: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **file_report_fix_dto** | [**FileReportFixDto**](FileReportFixDto.md)| | - -### Return type - -void (empty response body) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: Not defined - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_audit_files** -> FileReportDto get_audit_files() - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.file_report_dto import FileReportDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.FileReportsApi(api_client) - - try: - api_response = api_instance.get_audit_files() - print("The response of FileReportsApi->get_audit_files:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling FileReportsApi->get_audit_files: %s\n" % e) -``` - - - -### Parameters - -This endpoint does not need any parameter. - -### Return type - -[**FileReportDto**](FileReportDto.md) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_file_checksums** -> List[FileChecksumResponseDto] get_file_checksums(file_checksum_dto) - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -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.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.FileReportsApi(api_client) - file_checksum_dto = generated.immich.openapi_client.FileChecksumDto() # FileChecksumDto | - - try: - api_response = api_instance.get_file_checksums(file_checksum_dto) - print("The response of FileReportsApi->get_file_checksums:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling FileReportsApi->get_file_checksums: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **file_checksum_dto** | [**FileChecksumDto**](FileChecksumDto.md)| | - -### Return type - -[**List[FileChecksumResponseDto]**](FileChecksumResponseDto.md) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/generated/immich/openapi_client/docs/FoldersResponse.md b/generated/immich/openapi_client/docs/FoldersResponse.md index e85a716..fbc9370 100644 --- a/generated/immich/openapi_client/docs/FoldersResponse.md +++ b/generated/immich/openapi_client/docs/FoldersResponse.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [default to False] -**sidebar_web** | **bool** | | [default to False] +**enabled** | **bool** | Whether folders are enabled | +**sidebar_web** | **bool** | Whether folders appear in web sidebar | ## Example diff --git a/generated/immich/openapi_client/docs/FoldersUpdate.md b/generated/immich/openapi_client/docs/FoldersUpdate.md index 88dcee0..ba542e7 100644 --- a/generated/immich/openapi_client/docs/FoldersUpdate.md +++ b/generated/immich/openapi_client/docs/FoldersUpdate.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [optional] -**sidebar_web** | **bool** | | [optional] +**enabled** | **bool** | Whether folders are enabled | [optional] +**sidebar_web** | **bool** | Whether folders appear in web sidebar | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/ImageFormat.md b/generated/immich/openapi_client/docs/ImageFormat.md index db9baa9..0d35166 100644 --- a/generated/immich/openapi_client/docs/ImageFormat.md +++ b/generated/immich/openapi_client/docs/ImageFormat.md @@ -1,5 +1,6 @@ # ImageFormat +Image format ## Enum diff --git a/generated/immich/openapi_client/docs/JobCommand.md b/generated/immich/openapi_client/docs/JobCommand.md deleted file mode 100644 index 7a08d8f..0000000 --- a/generated/immich/openapi_client/docs/JobCommand.md +++ /dev/null @@ -1,18 +0,0 @@ -# JobCommand - - -## Enum - -* `START` (value: `'start'`) - -* `PAUSE` (value: `'pause'`) - -* `RESUME` (value: `'resume'`) - -* `EMPTY` (value: `'empty'`) - -* `CLEAR_MINUS_FAILED` (value: `'clear-failed'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/JobCommandDto.md b/generated/immich/openapi_client/docs/JobCommandDto.md deleted file mode 100644 index 5f5c1cf..0000000 --- a/generated/immich/openapi_client/docs/JobCommandDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# JobCommandDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**command** | [**JobCommand**](JobCommand.md) | | -**force** | **bool** | | [optional] - -## Example - -```python -from generated.immich.openapi_client.models.job_command_dto import JobCommandDto - -# TODO update the JSON string below -json = "{}" -# create an instance of JobCommandDto from a JSON string -job_command_dto_instance = JobCommandDto.from_json(json) -# print the JSON string representation of the object -print(JobCommandDto.to_json()) - -# convert the object into a dict -job_command_dto_dict = job_command_dto_instance.to_dict() -# create an instance of JobCommandDto from a dict -job_command_dto_from_dict = JobCommandDto.from_dict(job_command_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/JobCountsDto.md b/generated/immich/openapi_client/docs/JobCountsDto.md deleted file mode 100644 index 67cf144..0000000 --- a/generated/immich/openapi_client/docs/JobCountsDto.md +++ /dev/null @@ -1,34 +0,0 @@ -# JobCountsDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**active** | **int** | | -**completed** | **int** | | -**delayed** | **int** | | -**failed** | **int** | | -**paused** | **int** | | -**waiting** | **int** | | - -## Example - -```python -from generated.immich.openapi_client.models.job_counts_dto import JobCountsDto - -# TODO update the JSON string below -json = "{}" -# create an instance of JobCountsDto from a JSON string -job_counts_dto_instance = JobCountsDto.from_json(json) -# print the JSON string representation of the object -print(JobCountsDto.to_json()) - -# convert the object into a dict -job_counts_dto_dict = job_counts_dto_instance.to_dict() -# create an instance of JobCountsDto from a dict -job_counts_dto_from_dict = JobCountsDto.from_dict(job_counts_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/JobName.md b/generated/immich/openapi_client/docs/JobName.md index 1869fda..b1a2bbf 100644 --- a/generated/immich/openapi_client/docs/JobName.md +++ b/generated/immich/openapi_client/docs/JobName.md @@ -1,37 +1,140 @@ # JobName +Job name ## Enum -* `THUMBNAILGENERATION` (value: `'thumbnailGeneration'`) +* `ASSETDELETE` (value: `'AssetDelete'`) -* `METADATAEXTRACTION` (value: `'metadataExtraction'`) +* `ASSETDELETECHECK` (value: `'AssetDeleteCheck'`) -* `VIDEOCONVERSION` (value: `'videoConversion'`) +* `ASSETDETECTFACESQUEUEALL` (value: `'AssetDetectFacesQueueAll'`) -* `FACEDETECTION` (value: `'faceDetection'`) +* `ASSETDETECTFACES` (value: `'AssetDetectFaces'`) -* `FACIALRECOGNITION` (value: `'facialRecognition'`) +* `ASSETDETECTDUPLICATESQUEUEALL` (value: `'AssetDetectDuplicatesQueueAll'`) -* `SMARTSEARCH` (value: `'smartSearch'`) +* `ASSETDETECTDUPLICATES` (value: `'AssetDetectDuplicates'`) -* `DUPLICATEDETECTION` (value: `'duplicateDetection'`) +* `ASSETEDITTHUMBNAILGENERATION` (value: `'AssetEditThumbnailGeneration'`) -* `BACKGROUNDTASK` (value: `'backgroundTask'`) +* `ASSETENCODEVIDEOQUEUEALL` (value: `'AssetEncodeVideoQueueAll'`) -* `STORAGETEMPLATEMIGRATION` (value: `'storageTemplateMigration'`) +* `ASSETENCODEVIDEO` (value: `'AssetEncodeVideo'`) -* `MIGRATION` (value: `'migration'`) +* `ASSETEMPTYTRASH` (value: `'AssetEmptyTrash'`) -* `SEARCH` (value: `'search'`) +* `ASSETEXTRACTMETADATAQUEUEALL` (value: `'AssetExtractMetadataQueueAll'`) -* `SIDECAR` (value: `'sidecar'`) +* `ASSETEXTRACTMETADATA` (value: `'AssetExtractMetadata'`) -* `LIBRARY` (value: `'library'`) +* `ASSETFILEMIGRATION` (value: `'AssetFileMigration'`) -* `NOTIFICATIONS` (value: `'notifications'`) +* `ASSETGENERATETHUMBNAILSQUEUEALL` (value: `'AssetGenerateThumbnailsQueueAll'`) -* `BACKUPDATABASE` (value: `'backupDatabase'`) +* `ASSETGENERATETHUMBNAILS` (value: `'AssetGenerateThumbnails'`) + +* `AUDITTABLECLEANUP` (value: `'AuditTableCleanup'`) + +* `DATABASEBACKUP` (value: `'DatabaseBackup'`) + +* `FACIALRECOGNITIONQUEUEALL` (value: `'FacialRecognitionQueueAll'`) + +* `FACIALRECOGNITION` (value: `'FacialRecognition'`) + +* `FILEDELETE` (value: `'FileDelete'`) + +* `FILEMIGRATIONQUEUEALL` (value: `'FileMigrationQueueAll'`) + +* `LIBRARYDELETECHECK` (value: `'LibraryDeleteCheck'`) + +* `LIBRARYDELETE` (value: `'LibraryDelete'`) + +* `LIBRARYREMOVEASSET` (value: `'LibraryRemoveAsset'`) + +* `LIBRARYSCANASSETSQUEUEALL` (value: `'LibraryScanAssetsQueueAll'`) + +* `LIBRARYSYNCASSETS` (value: `'LibrarySyncAssets'`) + +* `LIBRARYSYNCFILESQUEUEALL` (value: `'LibrarySyncFilesQueueAll'`) + +* `LIBRARYSYNCFILES` (value: `'LibrarySyncFiles'`) + +* `LIBRARYSCANQUEUEALL` (value: `'LibraryScanQueueAll'`) + +* `HLSSESSIONCLEANUP` (value: `'HlsSessionCleanup'`) + +* `MEMORYCLEANUP` (value: `'MemoryCleanup'`) + +* `MEMORYGENERATE` (value: `'MemoryGenerate'`) + +* `NOTIFICATIONSCLEANUP` (value: `'NotificationsCleanup'`) + +* `NOTIFYUSERSIGNUP` (value: `'NotifyUserSignup'`) + +* `NOTIFYALBUMINVITE` (value: `'NotifyAlbumInvite'`) + +* `NOTIFYALBUMUPDATE` (value: `'NotifyAlbumUpdate'`) + +* `USERDELETE` (value: `'UserDelete'`) + +* `USERDELETECHECK` (value: `'UserDeleteCheck'`) + +* `USERSYNCUSAGE` (value: `'UserSyncUsage'`) + +* `PERSONCLEANUP` (value: `'PersonCleanup'`) + +* `PERSONFILEMIGRATION` (value: `'PersonFileMigration'`) + +* `PERSONGENERATETHUMBNAIL` (value: `'PersonGenerateThumbnail'`) + +* `SESSIONCLEANUP` (value: `'SessionCleanup'`) + +* `SENDMAIL` (value: `'SendMail'`) + +* `SIDECARQUEUEALL` (value: `'SidecarQueueAll'`) + +* `SIDECARCHECK` (value: `'SidecarCheck'`) + +* `SIDECARWRITE` (value: `'SidecarWrite'`) + +* `SMARTSEARCHQUEUEALL` (value: `'SmartSearchQueueAll'`) + +* `SMARTSEARCH` (value: `'SmartSearch'`) + +* `STORAGETEMPLATEMIGRATION` (value: `'StorageTemplateMigration'`) + +* `STORAGETEMPLATEMIGRATIONSINGLE` (value: `'StorageTemplateMigrationSingle'`) + +* `TAGCLEANUP` (value: `'TagCleanup'`) + +* `VERSIONCHECK` (value: `'VersionCheck'`) + +* `OCRQUEUEALL` (value: `'OcrQueueAll'`) + +* `OCR` (value: `'Ocr'`) + +* `WORKFLOWASSETTRIGGER` (value: `'WorkflowAssetTrigger'`) + +* `INTEGRITYUNTRACKEDFILESQUEUEALL` (value: `'IntegrityUntrackedFilesQueueAll'`) + +* `INTEGRITYUNTRACKEDFILES` (value: `'IntegrityUntrackedFiles'`) + +* `INTEGRITYUNTRACKEDREFRESH` (value: `'IntegrityUntrackedRefresh'`) + +* `INTEGRITYMISSINGFILESQUEUEALL` (value: `'IntegrityMissingFilesQueueAll'`) + +* `INTEGRITYMISSINGFILES` (value: `'IntegrityMissingFiles'`) + +* `INTEGRITYMISSINGFILESREFRESH` (value: `'IntegrityMissingFilesRefresh'`) + +* `INTEGRITYCHECKSUMFILES` (value: `'IntegrityChecksumFiles'`) + +* `INTEGRITYCHECKSUMFILESREFRESH` (value: `'IntegrityChecksumFilesRefresh'`) + +* `INTEGRITYDELETEREPORTTYPE` (value: `'IntegrityDeleteReportType'`) + +* `INTEGRITYDELETEREPORTS` (value: `'IntegrityDeleteReports'`) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generated/immich/openapi_client/docs/JobSettingsDto.md b/generated/immich/openapi_client/docs/JobSettingsDto.md index ad146c7..191ba55 100644 --- a/generated/immich/openapi_client/docs/JobSettingsDto.md +++ b/generated/immich/openapi_client/docs/JobSettingsDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**concurrency** | **int** | | +**concurrency** | **int** | Concurrency | ## Example diff --git a/generated/immich/openapi_client/docs/JobStatusDto.md b/generated/immich/openapi_client/docs/JobStatusDto.md deleted file mode 100644 index 131ffea..0000000 --- a/generated/immich/openapi_client/docs/JobStatusDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# JobStatusDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**job_counts** | [**JobCountsDto**](JobCountsDto.md) | | -**queue_status** | [**QueueStatusDto**](QueueStatusDto.md) | | - -## Example - -```python -from generated.immich.openapi_client.models.job_status_dto import JobStatusDto - -# TODO update the JSON string below -json = "{}" -# create an instance of JobStatusDto from a JSON string -job_status_dto_instance = JobStatusDto.from_json(json) -# print the JSON string representation of the object -print(JobStatusDto.to_json()) - -# convert the object into a dict -job_status_dto_dict = job_status_dto_instance.to_dict() -# create an instance of JobStatusDto from a dict -job_status_dto_from_dict = JobStatusDto.from_dict(job_status_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/JobsApi.md b/generated/immich/openapi_client/docs/JobsApi.md index 358cc20..5bc1652 100644 --- a/generated/immich/openapi_client/docs/JobsApi.md +++ b/generated/immich/openapi_client/docs/JobsApi.md @@ -4,14 +4,18 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_job**](JobsApi.md#create_job) | **POST** /jobs | -[**get_all_jobs_status**](JobsApi.md#get_all_jobs_status) | **GET** /jobs | -[**send_job_command**](JobsApi.md#send_job_command) | **PUT** /jobs/{id} | +[**create_job**](JobsApi.md#create_job) | **POST** /jobs | Create a manual job +[**get_queues_legacy**](JobsApi.md#get_queues_legacy) | **GET** /jobs | Retrieve queue counts and status +[**run_queue_command_legacy**](JobsApi.md#run_queue_command_legacy) | **PUT** /jobs/{name} | Run jobs # **create_job** > create_job(job_create_dto) +Create a manual job + +Run a specific job. Most jobs are queued automatically, but this endpoint allows for manual creation of a handful of jobs, including various cleanup tasks, as well as creating a new database backup. + ### Example * Api Key Authentication (cookie): @@ -59,6 +63,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: job_create_dto = generated.immich.openapi_client.JobCreateDto() # JobCreateDto | try: + # Create a manual job api_instance.create_job(job_create_dto) except Exception as e: print("Exception when calling JobsApi->create_job: %s\n" % e) @@ -90,12 +95,16 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**201** | | - | +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_all_jobs_status** -> AllJobStatusResponseDto get_all_jobs_status() +# **get_queues_legacy** +> QueuesResponseLegacyDto get_queues_legacy() + +Retrieve queue counts and status + +Retrieve the counts of the current queue, as well as the current status. ### Example @@ -105,7 +114,7 @@ void (empty response body) ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.all_job_status_response_dto import AllJobStatusResponseDto +from generated.immich.openapi_client.models.queues_response_legacy_dto import QueuesResponseLegacyDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -143,11 +152,12 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.JobsApi(api_client) try: - api_response = api_instance.get_all_jobs_status() - print("The response of JobsApi->get_all_jobs_status:\n") + # Retrieve queue counts and status + api_response = api_instance.get_queues_legacy() + print("The response of JobsApi->get_queues_legacy:\n") pprint(api_response) except Exception as e: - print("Exception when calling JobsApi->get_all_jobs_status: %s\n" % e) + print("Exception when calling JobsApi->get_queues_legacy: %s\n" % e) ``` @@ -158,7 +168,7 @@ This endpoint does not need any parameter. ### Return type -[**AllJobStatusResponseDto**](AllJobStatusResponseDto.md) +[**QueuesResponseLegacyDto**](QueuesResponseLegacyDto.md) ### Authorization @@ -177,8 +187,12 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **send_job_command** -> JobStatusDto send_job_command(id, job_command_dto) +# **run_queue_command_legacy** +> QueueResponseLegacyDto run_queue_command_legacy(name, queue_command_dto) + +Run jobs + +Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets. ### Example @@ -188,9 +202,9 @@ This endpoint does not need any parameter. ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.job_command_dto import JobCommandDto -from generated.immich.openapi_client.models.job_name import JobName -from generated.immich.openapi_client.models.job_status_dto import JobStatusDto +from generated.immich.openapi_client.models.queue_command_dto import QueueCommandDto +from generated.immich.openapi_client.models.queue_name import QueueName +from generated.immich.openapi_client.models.queue_response_legacy_dto import QueueResponseLegacyDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -226,15 +240,16 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.JobsApi(api_client) - id = generated.immich.openapi_client.JobName() # JobName | - job_command_dto = generated.immich.openapi_client.JobCommandDto() # JobCommandDto | + name = generated.immich.openapi_client.QueueName() # QueueName | + queue_command_dto = generated.immich.openapi_client.QueueCommandDto() # QueueCommandDto | try: - api_response = api_instance.send_job_command(id, job_command_dto) - print("The response of JobsApi->send_job_command:\n") + # Run jobs + api_response = api_instance.run_queue_command_legacy(name, queue_command_dto) + print("The response of JobsApi->run_queue_command_legacy:\n") pprint(api_response) except Exception as e: - print("Exception when calling JobsApi->send_job_command: %s\n" % e) + print("Exception when calling JobsApi->run_queue_command_legacy: %s\n" % e) ``` @@ -244,12 +259,12 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | [**JobName**](.md)| | - **job_command_dto** | [**JobCommandDto**](JobCommandDto.md)| | + **name** | [**QueueName**](.md)| | + **queue_command_dto** | [**QueueCommandDto**](QueueCommandDto.md)| | ### Return type -[**JobStatusDto**](JobStatusDto.md) +[**QueueResponseLegacyDto**](QueueResponseLegacyDto.md) ### Authorization diff --git a/generated/immich/openapi_client/docs/LibrariesApi.md b/generated/immich/openapi_client/docs/LibrariesApi.md index 7aee524..fe7d529 100644 --- a/generated/immich/openapi_client/docs/LibrariesApi.md +++ b/generated/immich/openapi_client/docs/LibrariesApi.md @@ -4,19 +4,23 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_library**](LibrariesApi.md#create_library) | **POST** /libraries | -[**delete_library**](LibrariesApi.md#delete_library) | **DELETE** /libraries/{id} | -[**get_all_libraries**](LibrariesApi.md#get_all_libraries) | **GET** /libraries | -[**get_library**](LibrariesApi.md#get_library) | **GET** /libraries/{id} | -[**get_library_statistics**](LibrariesApi.md#get_library_statistics) | **GET** /libraries/{id}/statistics | -[**scan_library**](LibrariesApi.md#scan_library) | **POST** /libraries/{id}/scan | -[**update_library**](LibrariesApi.md#update_library) | **PUT** /libraries/{id} | -[**validate**](LibrariesApi.md#validate) | **POST** /libraries/{id}/validate | +[**create_library**](LibrariesApi.md#create_library) | **POST** /libraries | Create a library +[**delete_library**](LibrariesApi.md#delete_library) | **DELETE** /libraries/{id} | Delete a library +[**get_all_libraries**](LibrariesApi.md#get_all_libraries) | **GET** /libraries | Retrieve libraries +[**get_library**](LibrariesApi.md#get_library) | **GET** /libraries/{id} | Retrieve a library +[**get_library_statistics**](LibrariesApi.md#get_library_statistics) | **GET** /libraries/{id}/statistics | Retrieve library statistics +[**scan_library**](LibrariesApi.md#scan_library) | **POST** /libraries/{id}/scan | Scan a library +[**update_library**](LibrariesApi.md#update_library) | **PUT** /libraries/{id} | Update a library +[**validate**](LibrariesApi.md#validate) | **POST** /libraries/{id}/validate | Validate library settings # **create_library** > LibraryResponseDto create_library(create_library_dto) +Create a library + +Create a new external library. + ### Example * Api Key Authentication (cookie): @@ -65,6 +69,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: create_library_dto = generated.immich.openapi_client.CreateLibraryDto() # CreateLibraryDto | try: + # Create a library api_response = api_instance.create_library(create_library_dto) print("The response of LibrariesApi->create_library:\n") pprint(api_response) @@ -105,6 +110,10 @@ Name | Type | Description | Notes # **delete_library** > delete_library(id) +Delete a library + +Delete an external library by its ID. + ### Example * Api Key Authentication (cookie): @@ -148,9 +157,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.LibrariesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Delete a library api_instance.delete_library(id) except Exception as e: print("Exception when calling LibrariesApi->delete_library: %s\n" % e) @@ -163,7 +173,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -189,6 +199,10 @@ void (empty response body) # **get_all_libraries** > List[LibraryResponseDto] get_all_libraries() +Retrieve libraries + +Retrieve a list of external libraries. + ### Example * Api Key Authentication (cookie): @@ -235,6 +249,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.LibrariesApi(api_client) try: + # Retrieve libraries api_response = api_instance.get_all_libraries() print("The response of LibrariesApi->get_all_libraries:\n") pprint(api_response) @@ -272,6 +287,10 @@ This endpoint does not need any parameter. # **get_library** > LibraryResponseDto get_library(id) +Retrieve a library + +Retrieve an external library by its ID. + ### Example * Api Key Authentication (cookie): @@ -316,9 +335,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.LibrariesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve a library api_response = api_instance.get_library(id) print("The response of LibrariesApi->get_library:\n") pprint(api_response) @@ -333,7 +353,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -359,6 +379,10 @@ Name | Type | Description | Notes # **get_library_statistics** > LibraryStatsResponseDto get_library_statistics(id) +Retrieve library statistics + +Retrieve statistics for a specific external library, including number of videos, images, and storage usage. + ### Example * Api Key Authentication (cookie): @@ -403,9 +427,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.LibrariesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve library statistics api_response = api_instance.get_library_statistics(id) print("The response of LibrariesApi->get_library_statistics:\n") pprint(api_response) @@ -420,7 +445,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -446,6 +471,10 @@ Name | Type | Description | Notes # **scan_library** > scan_library(id) +Scan a library + +Queue a scan for the external library to find and import new assets. + ### Example * Api Key Authentication (cookie): @@ -489,9 +518,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.LibrariesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Scan a library api_instance.scan_library(id) except Exception as e: print("Exception when calling LibrariesApi->scan_library: %s\n" % e) @@ -504,7 +534,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -530,6 +560,10 @@ void (empty response body) # **update_library** > LibraryResponseDto update_library(id, update_library_dto) +Update a library + +Update an existing external library. + ### Example * Api Key Authentication (cookie): @@ -575,10 +609,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.LibrariesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | update_library_dto = generated.immich.openapi_client.UpdateLibraryDto() # UpdateLibraryDto | try: + # Update a library api_response = api_instance.update_library(id, update_library_dto) print("The response of LibrariesApi->update_library:\n") pprint(api_response) @@ -593,7 +628,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **update_library_dto** | [**UpdateLibraryDto**](UpdateLibraryDto.md)| | ### Return type @@ -620,6 +655,10 @@ Name | Type | Description | Notes # **validate** > ValidateLibraryResponseDto validate(id, validate_library_dto) +Validate library settings + +Validate the settings of an external library. + ### Example * Api Key Authentication (cookie): @@ -665,10 +704,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.LibrariesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | validate_library_dto = generated.immich.openapi_client.ValidateLibraryDto() # ValidateLibraryDto | try: + # Validate library settings api_response = api_instance.validate(id, validate_library_dto) print("The response of LibrariesApi->validate:\n") pprint(api_response) @@ -683,7 +723,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **validate_library_dto** | [**ValidateLibraryDto**](ValidateLibraryDto.md)| | ### Return type diff --git a/generated/immich/openapi_client/docs/LibraryResponseDto.md b/generated/immich/openapi_client/docs/LibraryResponseDto.md index ffa6c95..628be94 100644 --- a/generated/immich/openapi_client/docs/LibraryResponseDto.md +++ b/generated/immich/openapi_client/docs/LibraryResponseDto.md @@ -5,15 +5,15 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_count** | **int** | | -**created_at** | **datetime** | | -**exclusion_patterns** | **List[str]** | | -**id** | **str** | | -**import_paths** | **List[str]** | | -**name** | **str** | | -**owner_id** | **str** | | -**refreshed_at** | **datetime** | | -**updated_at** | **datetime** | | +**asset_count** | **int** | Number of assets | +**created_at** | **datetime** | Creation date | +**exclusion_patterns** | **List[str]** | Exclusion patterns | +**id** | **UUID** | Library ID | +**import_paths** | **List[str]** | Import paths | +**name** | **str** | Library name | +**owner_id** | **UUID** | Owner user ID | +**refreshed_at** | **datetime** | Last refresh date | +**updated_at** | **datetime** | Last update date | ## Example diff --git a/generated/immich/openapi_client/docs/LibraryStatsResponseDto.md b/generated/immich/openapi_client/docs/LibraryStatsResponseDto.md index e85db40..cd37122 100644 --- a/generated/immich/openapi_client/docs/LibraryStatsResponseDto.md +++ b/generated/immich/openapi_client/docs/LibraryStatsResponseDto.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**photos** | **int** | | [default to 0] -**total** | **int** | | [default to 0] -**usage** | **int** | | [default to 0] -**videos** | **int** | | [default to 0] +**photos** | **int** | Number of photos | +**total** | **int** | Total number of assets | +**usage** | **int** | Storage usage in bytes | +**videos** | **int** | Number of videos | ## Example diff --git a/generated/immich/openapi_client/docs/LicenseKeyDto.md b/generated/immich/openapi_client/docs/LicenseKeyDto.md index 6ccf12f..33ce47b 100644 --- a/generated/immich/openapi_client/docs/LicenseKeyDto.md +++ b/generated/immich/openapi_client/docs/LicenseKeyDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**activation_key** | **str** | | -**license_key** | **str** | | +**activation_key** | **str** | Activation key | +**license_key** | **str** | License key (format: /^IM(SV|CL)(-[\\dA-Za-z]{4}){8}$/) | ## Example diff --git a/generated/immich/openapi_client/docs/LicenseResponseDto.md b/generated/immich/openapi_client/docs/LicenseResponseDto.md deleted file mode 100644 index 693d1bd..0000000 --- a/generated/immich/openapi_client/docs/LicenseResponseDto.md +++ /dev/null @@ -1,31 +0,0 @@ -# LicenseResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**activated_at** | **datetime** | | -**activation_key** | **str** | | -**license_key** | **str** | | - -## Example - -```python -from generated.immich.openapi_client.models.license_response_dto import LicenseResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of LicenseResponseDto from a JSON string -license_response_dto_instance = LicenseResponseDto.from_json(json) -# print the JSON string representation of the object -print(LicenseResponseDto.to_json()) - -# convert the object into a dict -license_response_dto_dict = license_response_dto_instance.to_dict() -# create an instance of LicenseResponseDto from a dict -license_response_dto_from_dict = LicenseResponseDto.from_dict(license_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/LogLevel.md b/generated/immich/openapi_client/docs/LogLevel.md index aabc4ac..e84a7a5 100644 --- a/generated/immich/openapi_client/docs/LogLevel.md +++ b/generated/immich/openapi_client/docs/LogLevel.md @@ -1,5 +1,6 @@ # LogLevel +Log level ## Enum diff --git a/generated/immich/openapi_client/docs/LoginCredentialDto.md b/generated/immich/openapi_client/docs/LoginCredentialDto.md index 05b6670..ea2e7fc 100644 --- a/generated/immich/openapi_client/docs/LoginCredentialDto.md +++ b/generated/immich/openapi_client/docs/LoginCredentialDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**email** | **str** | | -**password** | **str** | | +**email** | **str** | User email | +**password** | **str** | User password | ## Example diff --git a/generated/immich/openapi_client/docs/LoginResponseDto.md b/generated/immich/openapi_client/docs/LoginResponseDto.md index 50ca5d9..ceaea55 100644 --- a/generated/immich/openapi_client/docs/LoginResponseDto.md +++ b/generated/immich/openapi_client/docs/LoginResponseDto.md @@ -5,13 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**access_token** | **str** | | -**is_admin** | **bool** | | -**name** | **str** | | -**profile_image_path** | **str** | | -**should_change_password** | **bool** | | -**user_email** | **str** | | -**user_id** | **str** | | +**access_token** | **str** | Access token | +**is_admin** | **bool** | Is admin user | +**is_onboarded** | **bool** | Is onboarded | +**name** | **str** | User name | +**profile_image_path** | **str** | Profile image path | +**should_change_password** | **bool** | Should change password | +**user_email** | **str** | User email | +**user_id** | **UUID** | User ID | ## Example diff --git a/generated/immich/openapi_client/docs/LogoutResponseDto.md b/generated/immich/openapi_client/docs/LogoutResponseDto.md index 509731c..8ec7287 100644 --- a/generated/immich/openapi_client/docs/LogoutResponseDto.md +++ b/generated/immich/openapi_client/docs/LogoutResponseDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**redirect_uri** | **str** | | -**successful** | **bool** | | +**redirect_uri** | **str** | Redirect URI | +**successful** | **bool** | Logout successful | ## Example diff --git a/generated/immich/openapi_client/docs/ManualJobName.md b/generated/immich/openapi_client/docs/ManualJobName.md index 7b5bce6..dd85833 100644 --- a/generated/immich/openapi_client/docs/ManualJobName.md +++ b/generated/immich/openapi_client/docs/ManualJobName.md @@ -1,5 +1,6 @@ # ManualJobName +Manual job name ## Enum @@ -15,6 +16,24 @@ * `BACKUP_MINUS_DATABASE` (value: `'backup-database'`) +* `INTEGRITY_MINUS_MISSING_MINUS_FILES` (value: `'integrity-missing-files'`) + +* `INTEGRITY_MINUS_UNTRACKED_MINUS_FILES` (value: `'integrity-untracked-files'`) + +* `INTEGRITY_MINUS_CHECKSUM_MINUS_MISMATCH` (value: `'integrity-checksum-mismatch'`) + +* `INTEGRITY_MINUS_MISSING_MINUS_FILES_MINUS_REFRESH` (value: `'integrity-missing-files-refresh'`) + +* `INTEGRITY_MINUS_UNTRACKED_MINUS_FILES_MINUS_REFRESH` (value: `'integrity-untracked-files-refresh'`) + +* `INTEGRITY_MINUS_CHECKSUM_MINUS_MISMATCH_MINUS_REFRESH` (value: `'integrity-checksum-mismatch-refresh'`) + +* `INTEGRITY_MINUS_MISSING_MINUS_FILES_MINUS_DELETE_MINUS_ALL` (value: `'integrity-missing-files-delete-all'`) + +* `INTEGRITY_MINUS_UNTRACKED_MINUS_FILES_MINUS_DELETE_MINUS_ALL` (value: `'integrity-untracked-files-delete-all'`) + +* `INTEGRITY_MINUS_CHECKSUM_MINUS_MISMATCH_MINUS_DELETE_MINUS_ALL` (value: `'integrity-checksum-mismatch-delete-all'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generated/immich/openapi_client/docs/MapApi.md b/generated/immich/openapi_client/docs/MapApi.md index 1833e64..7978a63 100644 --- a/generated/immich/openapi_client/docs/MapApi.md +++ b/generated/immich/openapi_client/docs/MapApi.md @@ -4,13 +4,17 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_map_markers**](MapApi.md#get_map_markers) | **GET** /map/markers | -[**reverse_geocode**](MapApi.md#reverse_geocode) | **GET** /map/reverse-geocode | +[**get_map_markers**](MapApi.md#get_map_markers) | **GET** /map/markers | Retrieve map markers +[**reverse_geocode**](MapApi.md#reverse_geocode) | **GET** /map/reverse-geocode | Reverse geocode coordinates # **get_map_markers** > List[MapMarkerResponseDto] get_map_markers(file_created_after=file_created_after, file_created_before=file_created_before, is_archived=is_archived, is_favorite=is_favorite, with_partners=with_partners, with_shared_albums=with_shared_albums) +Retrieve map markers + +Retrieve a list of latitude and longitude coordinates for every asset with location data. + ### Example * Api Key Authentication (cookie): @@ -55,14 +59,15 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.MapApi(api_client) - file_created_after = '2013-10-20T19:20:30+01:00' # datetime | (optional) - file_created_before = '2013-10-20T19:20:30+01:00' # datetime | (optional) - is_archived = True # bool | (optional) - is_favorite = True # bool | (optional) - with_partners = True # bool | (optional) - with_shared_albums = True # bool | (optional) + file_created_after = '2024-01-01T00:00Z' # datetime | Filter assets created after this date (optional) + file_created_before = '2024-01-01T00:00Z' # datetime | Filter assets created before this date (optional) + is_archived = True # bool | Filter by archived status (optional) + is_favorite = True # bool | Filter by favorite status (optional) + with_partners = True # bool | Include partner assets (optional) + with_shared_albums = True # bool | Include shared album assets (optional) try: + # Retrieve map markers api_response = api_instance.get_map_markers(file_created_after=file_created_after, file_created_before=file_created_before, is_archived=is_archived, is_favorite=is_favorite, with_partners=with_partners, with_shared_albums=with_shared_albums) print("The response of MapApi->get_map_markers:\n") pprint(api_response) @@ -77,12 +82,12 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **file_created_after** | **datetime**| | [optional] - **file_created_before** | **datetime**| | [optional] - **is_archived** | **bool**| | [optional] - **is_favorite** | **bool**| | [optional] - **with_partners** | **bool**| | [optional] - **with_shared_albums** | **bool**| | [optional] + **file_created_after** | **datetime**| Filter assets created after this date | [optional] + **file_created_before** | **datetime**| Filter assets created before this date | [optional] + **is_archived** | **bool**| Filter by archived status | [optional] + **is_favorite** | **bool**| Filter by favorite status | [optional] + **with_partners** | **bool**| Include partner assets | [optional] + **with_shared_albums** | **bool**| Include shared album assets | [optional] ### Return type @@ -108,6 +113,10 @@ Name | Type | Description | Notes # **reverse_geocode** > List[MapReverseGeocodeResponseDto] reverse_geocode(lat, lon) +Reverse geocode coordinates + +Retrieve location information (e.g., city, country) for given latitude and longitude coordinates. + ### Example * Api Key Authentication (cookie): @@ -152,10 +161,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.MapApi(api_client) - lat = 3.4 # float | - lon = 3.4 # float | + lat = 3.4 # float | Latitude (-90 to 90) + lon = 3.4 # float | Longitude (-180 to 180) try: + # Reverse geocode coordinates api_response = api_instance.reverse_geocode(lat, lon) print("The response of MapApi->reverse_geocode:\n") pprint(api_response) @@ -170,8 +180,8 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **lat** | **float**| | - **lon** | **float**| | + **lat** | **float**| Latitude (-90 to 90) | + **lon** | **float**| Longitude (-180 to 180) | ### Return type diff --git a/generated/immich/openapi_client/docs/MapMarkerResponseDto.md b/generated/immich/openapi_client/docs/MapMarkerResponseDto.md index 461d72b..20a5371 100644 --- a/generated/immich/openapi_client/docs/MapMarkerResponseDto.md +++ b/generated/immich/openapi_client/docs/MapMarkerResponseDto.md @@ -5,12 +5,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**city** | **str** | | -**country** | **str** | | -**id** | **str** | | -**lat** | **float** | | -**lon** | **float** | | -**state** | **str** | | +**city** | **str** | City name | +**country** | **str** | Country name | +**id** | **UUID** | Asset ID | +**lat** | **float** | Latitude | +**lon** | **float** | Longitude | +**state** | **str** | State/Province name | ## Example diff --git a/generated/immich/openapi_client/docs/MapReverseGeocodeResponseDto.md b/generated/immich/openapi_client/docs/MapReverseGeocodeResponseDto.md index 499b554..3a5f15d 100644 --- a/generated/immich/openapi_client/docs/MapReverseGeocodeResponseDto.md +++ b/generated/immich/openapi_client/docs/MapReverseGeocodeResponseDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**city** | **str** | | -**country** | **str** | | -**state** | **str** | | +**city** | **str** | City name | +**country** | **str** | Country name | +**state** | **str** | State/Province name | ## Example diff --git a/generated/immich/openapi_client/docs/MemoriesApi.md b/generated/immich/openapi_client/docs/MemoriesApi.md index 2c0f3be..769da80 100644 --- a/generated/immich/openapi_client/docs/MemoriesApi.md +++ b/generated/immich/openapi_client/docs/MemoriesApi.md @@ -4,18 +4,23 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**add_memory_assets**](MemoriesApi.md#add_memory_assets) | **PUT** /memories/{id}/assets | -[**create_memory**](MemoriesApi.md#create_memory) | **POST** /memories | -[**delete_memory**](MemoriesApi.md#delete_memory) | **DELETE** /memories/{id} | -[**get_memory**](MemoriesApi.md#get_memory) | **GET** /memories/{id} | -[**remove_memory_assets**](MemoriesApi.md#remove_memory_assets) | **DELETE** /memories/{id}/assets | -[**search_memories**](MemoriesApi.md#search_memories) | **GET** /memories | -[**update_memory**](MemoriesApi.md#update_memory) | **PUT** /memories/{id} | +[**add_memory_assets**](MemoriesApi.md#add_memory_assets) | **PUT** /memories/{id}/assets | Add assets to a memory +[**create_memory**](MemoriesApi.md#create_memory) | **POST** /memories | Create a memory +[**delete_memory**](MemoriesApi.md#delete_memory) | **DELETE** /memories/{id} | Delete a memory +[**get_memory**](MemoriesApi.md#get_memory) | **GET** /memories/{id} | Retrieve a memory +[**memories_statistics**](MemoriesApi.md#memories_statistics) | **GET** /memories/statistics | Retrieve memories statistics +[**remove_memory_assets**](MemoriesApi.md#remove_memory_assets) | **DELETE** /memories/{id}/assets | Remove assets from a memory +[**search_memories**](MemoriesApi.md#search_memories) | **GET** /memories | Retrieve memories +[**update_memory**](MemoriesApi.md#update_memory) | **PUT** /memories/{id} | Update a memory # **add_memory_assets** > List[BulkIdResponseDto] add_memory_assets(id, bulk_ids_dto) +Add assets to a memory + +Add a list of asset IDs to a specific memory. + ### Example * Api Key Authentication (cookie): @@ -61,10 +66,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.MemoriesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | try: + # Add assets to a memory api_response = api_instance.add_memory_assets(id, bulk_ids_dto) print("The response of MemoriesApi->add_memory_assets:\n") pprint(api_response) @@ -79,7 +85,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **bulk_ids_dto** | [**BulkIdsDto**](BulkIdsDto.md)| | ### Return type @@ -106,6 +112,10 @@ Name | Type | Description | Notes # **create_memory** > MemoryResponseDto create_memory(memory_create_dto) +Create a memory + +Create a new memory by providing a name, description, and a list of asset IDs to include in the memory. + ### Example * Api Key Authentication (cookie): @@ -154,6 +164,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: memory_create_dto = generated.immich.openapi_client.MemoryCreateDto() # MemoryCreateDto | try: + # Create a memory api_response = api_instance.create_memory(memory_create_dto) print("The response of MemoriesApi->create_memory:\n") pprint(api_response) @@ -194,6 +205,10 @@ Name | Type | Description | Notes # **delete_memory** > delete_memory(id) +Delete a memory + +Delete a specific memory by its ID. + ### Example * Api Key Authentication (cookie): @@ -237,9 +252,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.MemoriesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Delete a memory api_instance.delete_memory(id) except Exception as e: print("Exception when calling MemoriesApi->delete_memory: %s\n" % e) @@ -252,7 +268,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -278,6 +294,10 @@ void (empty response body) # **get_memory** > MemoryResponseDto get_memory(id) +Retrieve a memory + +Retrieve a specific memory by its ID. + ### Example * Api Key Authentication (cookie): @@ -322,9 +342,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.MemoriesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve a memory api_response = api_instance.get_memory(id) print("The response of MemoriesApi->get_memory:\n") pprint(api_response) @@ -339,7 +360,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -362,9 +383,117 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **memories_statistics** +> MemoryStatisticsResponseDto memories_statistics(var_for=var_for, is_saved=is_saved, is_trashed=is_trashed, order=order, size=size, type=type) + +Retrieve memories statistics + +Retrieve statistics about memories, such as total count and other relevant metrics. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.MemoriesApi(api_client) + var_for = '2024-01-01T00:00Z' # datetime | Filter by date (optional) + is_saved = True # bool | Filter by saved status (optional) + is_trashed = True # bool | Include trashed memories (optional) + order = generated.immich.openapi_client.MemorySearchOrder() # MemorySearchOrder | (optional) + size = 56 # int | Number of memories to return (optional) + type = generated.immich.openapi_client.MemoryType() # MemoryType | (optional) + + try: + # Retrieve memories statistics + api_response = api_instance.memories_statistics(var_for=var_for, is_saved=is_saved, is_trashed=is_trashed, order=order, size=size, type=type) + print("The response of MemoriesApi->memories_statistics:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MemoriesApi->memories_statistics: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **var_for** | **datetime**| Filter by date | [optional] + **is_saved** | **bool**| Filter by saved status | [optional] + **is_trashed** | **bool**| Include trashed memories | [optional] + **order** | [**MemorySearchOrder**](.md)| | [optional] + **size** | **int**| Number of memories to return | [optional] + **type** | [**MemoryType**](.md)| | [optional] + +### Return type + +[**MemoryStatisticsResponseDto**](MemoryStatisticsResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **remove_memory_assets** > List[BulkIdResponseDto] remove_memory_assets(id, bulk_ids_dto) +Remove assets from a memory + +Remove a list of asset IDs from a specific memory. + ### Example * Api Key Authentication (cookie): @@ -410,10 +539,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.MemoriesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | try: + # Remove assets from a memory api_response = api_instance.remove_memory_assets(id, bulk_ids_dto) print("The response of MemoriesApi->remove_memory_assets:\n") pprint(api_response) @@ -428,7 +558,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **bulk_ids_dto** | [**BulkIdsDto**](BulkIdsDto.md)| | ### Return type @@ -453,7 +583,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **search_memories** -> List[MemoryResponseDto] search_memories(var_for=var_for, is_saved=is_saved, is_trashed=is_trashed, type=type) +> List[MemoryResponseDto] search_memories(var_for=var_for, is_saved=is_saved, is_trashed=is_trashed, order=order, size=size, type=type) + +Retrieve memories + +Retrieve a list of memories. Memories are sorted descending by creation date by default, although they can also be sorted in ascending order, or randomly. ### Example @@ -464,6 +598,7 @@ Name | Type | Description | Notes ```python import generated.immich.openapi_client 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_type import MemoryType from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -500,13 +635,16 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.MemoriesApi(api_client) - var_for = '2013-10-20T19:20:30+01:00' # datetime | (optional) - is_saved = True # bool | (optional) - is_trashed = True # bool | (optional) + var_for = '2024-01-01T00:00Z' # datetime | Filter by date (optional) + is_saved = True # bool | Filter by saved status (optional) + is_trashed = True # bool | Include trashed memories (optional) + order = generated.immich.openapi_client.MemorySearchOrder() # MemorySearchOrder | (optional) + size = 56 # int | Number of memories to return (optional) type = generated.immich.openapi_client.MemoryType() # MemoryType | (optional) try: - api_response = api_instance.search_memories(var_for=var_for, is_saved=is_saved, is_trashed=is_trashed, type=type) + # Retrieve memories + api_response = api_instance.search_memories(var_for=var_for, is_saved=is_saved, is_trashed=is_trashed, order=order, size=size, type=type) print("The response of MemoriesApi->search_memories:\n") pprint(api_response) except Exception as e: @@ -520,9 +658,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **var_for** | **datetime**| | [optional] - **is_saved** | **bool**| | [optional] - **is_trashed** | **bool**| | [optional] + **var_for** | **datetime**| Filter by date | [optional] + **is_saved** | **bool**| Filter by saved status | [optional] + **is_trashed** | **bool**| Include trashed memories | [optional] + **order** | [**MemorySearchOrder**](.md)| | [optional] + **size** | **int**| Number of memories to return | [optional] **type** | [**MemoryType**](.md)| | [optional] ### Return type @@ -549,6 +689,10 @@ Name | Type | Description | Notes # **update_memory** > MemoryResponseDto update_memory(id, memory_update_dto) +Update a memory + +Update an existing memory by its ID. + ### Example * Api Key Authentication (cookie): @@ -594,10 +738,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.MemoriesApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | memory_update_dto = generated.immich.openapi_client.MemoryUpdateDto() # MemoryUpdateDto | try: + # Update a memory api_response = api_instance.update_memory(id, memory_update_dto) print("The response of MemoriesApi->update_memory:\n") pprint(api_response) @@ -612,7 +757,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **memory_update_dto** | [**MemoryUpdateDto**](MemoryUpdateDto.md)| | ### Return type diff --git a/generated/immich/openapi_client/docs/MemoriesResponse.md b/generated/immich/openapi_client/docs/MemoriesResponse.md index 660a8fb..b6a1890 100644 --- a/generated/immich/openapi_client/docs/MemoriesResponse.md +++ b/generated/immich/openapi_client/docs/MemoriesResponse.md @@ -5,7 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [default to True] +**duration** | **int** | Memory duration in seconds | +**enabled** | **bool** | Whether memories are enabled | ## Example diff --git a/generated/immich/openapi_client/docs/MemoriesUpdate.md b/generated/immich/openapi_client/docs/MemoriesUpdate.md index ffd5836..edae010 100644 --- a/generated/immich/openapi_client/docs/MemoriesUpdate.md +++ b/generated/immich/openapi_client/docs/MemoriesUpdate.md @@ -5,7 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [optional] +**duration** | **int** | Memory duration in seconds | [optional] +**enabled** | **bool** | Whether memories are enabled | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/MemoryCreateDto.md b/generated/immich/openapi_client/docs/MemoryCreateDto.md index d38fd69..8a5b6ee 100644 --- a/generated/immich/openapi_client/docs/MemoryCreateDto.md +++ b/generated/immich/openapi_client/docs/MemoryCreateDto.md @@ -5,11 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_ids** | **List[str]** | | [optional] +**asset_ids** | **List[UUID]** | Asset IDs to associate with memory | [optional] **data** | [**OnThisDayDto**](OnThisDayDto.md) | | -**is_saved** | **bool** | | [optional] -**memory_at** | **datetime** | | -**seen_at** | **datetime** | | [optional] +**hide_at** | **datetime** | Date when memory should be hidden | [optional] +**is_saved** | **bool** | Is memory saved | [optional] +**memory_at** | **datetime** | Memory date | +**seen_at** | **datetime** | Date when memory was seen | [optional] +**show_at** | **datetime** | Date when memory should be shown | [optional] **type** | [**MemoryType**](MemoryType.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/MemoryLaneResponseDto.md b/generated/immich/openapi_client/docs/MemoryLaneResponseDto.md deleted file mode 100644 index 492d2e5..0000000 --- a/generated/immich/openapi_client/docs/MemoryLaneResponseDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# MemoryLaneResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**assets** | [**List[AssetResponseDto]**](AssetResponseDto.md) | | -**years_ago** | **int** | | - -## Example - -```python -from generated.immich.openapi_client.models.memory_lane_response_dto import MemoryLaneResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of MemoryLaneResponseDto from a JSON string -memory_lane_response_dto_instance = MemoryLaneResponseDto.from_json(json) -# print the JSON string representation of the object -print(MemoryLaneResponseDto.to_json()) - -# convert the object into a dict -memory_lane_response_dto_dict = memory_lane_response_dto_instance.to_dict() -# create an instance of MemoryLaneResponseDto from a dict -memory_lane_response_dto_from_dict = MemoryLaneResponseDto.from_dict(memory_lane_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/MemoryResponseDto.md b/generated/immich/openapi_client/docs/MemoryResponseDto.md index 0d4b19b..d158189 100644 --- a/generated/immich/openapi_client/docs/MemoryResponseDto.md +++ b/generated/immich/openapi_client/docs/MemoryResponseDto.md @@ -6,18 +6,18 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **assets** | [**List[AssetResponseDto]**](AssetResponseDto.md) | | -**created_at** | **datetime** | | +**created_at** | **datetime** | Creation date | **data** | [**OnThisDayDto**](OnThisDayDto.md) | | -**deleted_at** | **datetime** | | [optional] -**hide_at** | **datetime** | | [optional] -**id** | **str** | | -**is_saved** | **bool** | | -**memory_at** | **datetime** | | -**owner_id** | **str** | | -**seen_at** | **datetime** | | [optional] -**show_at** | **datetime** | | [optional] +**deleted_at** | **datetime** | Deletion date | [optional] +**hide_at** | **datetime** | Date when memory should be hidden | [optional] +**id** | **UUID** | Memory ID | +**is_saved** | **bool** | Is memory saved | +**memory_at** | **datetime** | Memory date | +**owner_id** | **UUID** | Owner user ID | +**seen_at** | **datetime** | Date when memory was seen | [optional] +**show_at** | **datetime** | Date when memory should be shown | [optional] **type** | [**MemoryType**](MemoryType.md) | | -**updated_at** | **datetime** | | +**updated_at** | **datetime** | Last update date | ## Example diff --git a/generated/immich/openapi_client/docs/MemoryType.md b/generated/immich/openapi_client/docs/MemoryType.md index 52bd85d..c4a1bfd 100644 --- a/generated/immich/openapi_client/docs/MemoryType.md +++ b/generated/immich/openapi_client/docs/MemoryType.md @@ -1,5 +1,6 @@ # MemoryType +Memory type ## Enum diff --git a/generated/immich/openapi_client/docs/MemoryUpdateDto.md b/generated/immich/openapi_client/docs/MemoryUpdateDto.md index e2902b4..f494c3c 100644 --- a/generated/immich/openapi_client/docs/MemoryUpdateDto.md +++ b/generated/immich/openapi_client/docs/MemoryUpdateDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**is_saved** | **bool** | | [optional] -**memory_at** | **datetime** | | [optional] -**seen_at** | **datetime** | | [optional] +**is_saved** | **bool** | Is memory saved | [optional] +**memory_at** | **datetime** | Memory date | [optional] +**seen_at** | **datetime** | Date when memory was seen | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/MergePersonDto.md b/generated/immich/openapi_client/docs/MergePersonDto.md index b86e363..66b0324 100644 --- a/generated/immich/openapi_client/docs/MergePersonDto.md +++ b/generated/immich/openapi_client/docs/MergePersonDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**ids** | **List[str]** | | +**ids** | **List[UUID]** | Person IDs to merge | ## Example diff --git a/generated/immich/openapi_client/docs/MetadataSearchDto.md b/generated/immich/openapi_client/docs/MetadataSearchDto.md index 66b561e..da55259 100644 --- a/generated/immich/openapi_client/docs/MetadataSearchDto.md +++ b/generated/immich/openapi_client/docs/MetadataSearchDto.md @@ -5,50 +5,48 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**checksum** | **str** | | [optional] -**city** | **str** | | [optional] -**country** | **str** | | [optional] -**created_after** | **datetime** | | [optional] -**created_before** | **datetime** | | [optional] -**description** | **str** | | [optional] -**device_asset_id** | **str** | | [optional] -**device_id** | **str** | | [optional] -**encoded_video_path** | **str** | | [optional] -**id** | **str** | | [optional] -**is_archived** | **bool** | | [optional] -**is_encoded** | **bool** | | [optional] -**is_favorite** | **bool** | | [optional] -**is_motion** | **bool** | | [optional] -**is_not_in_album** | **bool** | | [optional] -**is_offline** | **bool** | | [optional] -**is_visible** | **bool** | | [optional] -**lens_model** | **str** | | [optional] -**library_id** | **str** | | [optional] -**make** | **str** | | [optional] -**model** | **str** | | [optional] +**album_ids** | **List[UUID]** | Filter by album IDs | [optional] +**checksum** | **str** | Filter by file checksum | [optional] +**city** | **str** | Filter by city name | [optional] +**country** | **str** | Filter by country name | [optional] +**created_after** | **datetime** | Filter by creation date (after) | [optional] +**created_before** | **datetime** | Filter by creation date (before) | [optional] +**description** | **str** | Filter by description text | [optional] +**encoded_video_path** | **str** | Filter by encoded video file path | [optional] +**id** | **UUID** | Filter by asset ID | [optional] +**is_encoded** | **bool** | Filter by encoded status | [optional] +**is_favorite** | **bool** | Filter by favorite status | [optional] +**is_motion** | **bool** | Filter by motion photo status | [optional] +**is_not_in_album** | **bool** | Filter assets not in any album | [optional] +**is_offline** | **bool** | Filter by offline status | [optional] +**lens_model** | **str** | Filter by lens model | [optional] +**library_id** | **UUID** | Library ID to filter by | [optional] +**make** | **str** | Filter by camera make | [optional] +**model** | **str** | Filter by camera model | [optional] +**ocr** | **str** | Filter by OCR text content | [optional] **order** | [**AssetOrder**](AssetOrder.md) | | [optional] -**original_file_name** | **str** | | [optional] -**original_path** | **str** | | [optional] -**page** | **float** | | [optional] -**person_ids** | **List[str]** | | [optional] -**preview_path** | **str** | | [optional] -**rating** | **float** | | [optional] -**size** | **float** | | [optional] -**state** | **str** | | [optional] -**tag_ids** | **List[str]** | | [optional] -**taken_after** | **datetime** | | [optional] -**taken_before** | **datetime** | | [optional] -**thumbnail_path** | **str** | | [optional] -**trashed_after** | **datetime** | | [optional] -**trashed_before** | **datetime** | | [optional] +**original_file_name** | **str** | Filter by original file name | [optional] +**original_path** | **str** | Filter by original file path | [optional] +**page** | **int** | Page number | [optional] +**person_ids** | **List[UUID]** | Filter by person IDs | [optional] +**preview_path** | **str** | Filter by preview file path | [optional] +**rating** | **int** | Filter by rating [1-5], or null for unrated | [optional] +**size** | **int** | Number of results to return | [optional] +**state** | **str** | Filter by state/province name | [optional] +**tag_ids** | **List[UUID]** | Filter by tag IDs | [optional] +**taken_after** | **datetime** | Filter by taken date (after) | [optional] +**taken_before** | **datetime** | Filter by taken date (before) | [optional] +**thumbnail_path** | **str** | Filter by thumbnail file path | [optional] +**trashed_after** | **datetime** | Filter by trash date (after) | [optional] +**trashed_before** | **datetime** | Filter by trash date (before) | [optional] **type** | [**AssetTypeEnum**](AssetTypeEnum.md) | | [optional] -**updated_after** | **datetime** | | [optional] -**updated_before** | **datetime** | | [optional] -**with_archived** | **bool** | | [optional] [default to False] -**with_deleted** | **bool** | | [optional] -**with_exif** | **bool** | | [optional] -**with_people** | **bool** | | [optional] -**with_stacked** | **bool** | | [optional] +**updated_after** | **datetime** | Filter by update date (after) | [optional] +**updated_before** | **datetime** | Filter by update date (before) | [optional] +**visibility** | [**AssetVisibility**](AssetVisibility.md) | | [optional] +**with_deleted** | **bool** | Include deleted assets | [optional] +**with_exif** | **bool** | Include EXIF data in response | [optional] +**with_people** | **bool** | Include people data in response | [optional] +**with_stacked** | **bool** | Include stacked assets | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/NotificationsApi.md b/generated/immich/openapi_client/docs/NotificationsApi.md index 38b5141..6389fe5 100644 --- a/generated/immich/openapi_client/docs/NotificationsApi.md +++ b/generated/immich/openapi_client/docs/NotificationsApi.md @@ -4,12 +4,20 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_notification_template**](NotificationsApi.md#get_notification_template) | **POST** /notifications/templates/{name} | -[**send_test_email**](NotificationsApi.md#send_test_email) | **POST** /notifications/test-email | +[**delete_notification**](NotificationsApi.md#delete_notification) | **DELETE** /notifications/{id} | Delete a notification +[**delete_notifications**](NotificationsApi.md#delete_notifications) | **DELETE** /notifications | Delete notifications +[**get_notification**](NotificationsApi.md#get_notification) | **GET** /notifications/{id} | Get a notification +[**get_notifications**](NotificationsApi.md#get_notifications) | **GET** /notifications | Retrieve notifications +[**update_notification**](NotificationsApi.md#update_notification) | **PUT** /notifications/{id} | Update a notification +[**update_notifications**](NotificationsApi.md#update_notifications) | **PUT** /notifications | Update notifications -# **get_notification_template** -> TemplateResponseDto get_notification_template(name, template_dto) +# **delete_notification** +> delete_notification(id) + +Delete a notification + +Delete a specific notification. ### Example @@ -19,8 +27,6 @@ Method | HTTP request | Description ```python import generated.immich.openapi_client -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.rest import ApiException from pprint import pprint @@ -56,15 +62,13 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.NotificationsApi(api_client) - name = 'name_example' # str | - template_dto = generated.immich.openapi_client.TemplateDto() # TemplateDto | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: - api_response = api_instance.get_notification_template(name, template_dto) - print("The response of NotificationsApi->get_notification_template:\n") - pprint(api_response) + # Delete a notification + api_instance.delete_notification(id) except Exception as e: - print("Exception when calling NotificationsApi->get_notification_template: %s\n" % e) + print("Exception when calling NotificationsApi->delete_notification: %s\n" % e) ``` @@ -74,12 +78,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **name** | **str**| | - **template_dto** | [**TemplateDto**](TemplateDto.md)| | + **id** | **UUID**| | ### Return type -[**TemplateResponseDto**](TemplateResponseDto.md) +void (empty response body) ### Authorization @@ -87,19 +90,23 @@ Name | Type | Description | Notes ### HTTP request headers - - **Content-Type**: application/json - - **Accept**: application/json + - **Content-Type**: Not defined + - **Accept**: Not defined ### HTTP response details | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | | - | +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **send_test_email** -> TestEmailResponseDto send_test_email(system_config_smtp_dto) +# **delete_notifications** +> delete_notifications(notification_delete_all_dto) + +Delete notifications + +Delete a list of notifications at once. ### Example @@ -109,8 +116,7 @@ Name | Type | Description | Notes ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.system_config_smtp_dto import SystemConfigSmtpDto -from generated.immich.openapi_client.models.test_email_response_dto import TestEmailResponseDto +from generated.immich.openapi_client.models.notification_delete_all_dto import NotificationDeleteAllDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -146,14 +152,13 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.NotificationsApi(api_client) - system_config_smtp_dto = generated.immich.openapi_client.SystemConfigSmtpDto() # SystemConfigSmtpDto | + notification_delete_all_dto = generated.immich.openapi_client.NotificationDeleteAllDto() # NotificationDeleteAllDto | try: - api_response = api_instance.send_test_email(system_config_smtp_dto) - print("The response of NotificationsApi->send_test_email:\n") - pprint(api_response) + # Delete notifications + api_instance.delete_notifications(notification_delete_all_dto) except Exception as e: - print("Exception when calling NotificationsApi->send_test_email: %s\n" % e) + print("Exception when calling NotificationsApi->delete_notifications: %s\n" % e) ``` @@ -163,11 +168,298 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **system_config_smtp_dto** | [**SystemConfigSmtpDto**](SystemConfigSmtpDto.md)| | + **notification_delete_all_dto** | [**NotificationDeleteAllDto**](NotificationDeleteAllDto.md)| | ### Return type -[**TestEmailResponseDto**](TestEmailResponseDto.md) +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_notification** +> NotificationDto get_notification(id) + +Get a notification + +Retrieve a specific notification identified by id. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.notification_dto import NotificationDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.NotificationsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + + try: + # Get a notification + api_response = api_instance.get_notification(id) + print("The response of NotificationsApi->get_notification:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NotificationsApi->get_notification: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + +### Return type + +[**NotificationDto**](NotificationDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_notifications** +> List[NotificationDto] get_notifications(id=id, level=level, type=type, unread=unread) + +Retrieve notifications + +Retrieve a list of notifications. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.NotificationsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter by notification ID (optional) + level = generated.immich.openapi_client.NotificationLevel() # NotificationLevel | (optional) + type = generated.immich.openapi_client.NotificationType() # NotificationType | (optional) + unread = True # bool | Filter by unread status (optional) + + try: + # Retrieve notifications + api_response = api_instance.get_notifications(id=id, level=level, type=type, unread=unread) + print("The response of NotificationsApi->get_notifications:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NotificationsApi->get_notifications: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| Filter by notification ID | [optional] + **level** | [**NotificationLevel**](.md)| | [optional] + **type** | [**NotificationType**](.md)| | [optional] + **unread** | **bool**| Filter by unread status | [optional] + +### Return type + +[**List[NotificationDto]**](NotificationDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_notification** +> NotificationDto update_notification(id, notification_update_dto) + +Update a notification + +Update a specific notification to set its read status. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.notification_dto import NotificationDto +from generated.immich.openapi_client.models.notification_update_dto import NotificationUpdateDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.NotificationsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + notification_update_dto = generated.immich.openapi_client.NotificationUpdateDto() # NotificationUpdateDto | + + try: + # Update a notification + api_response = api_instance.update_notification(id, notification_update_dto) + print("The response of NotificationsApi->update_notification:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NotificationsApi->update_notification: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **notification_update_dto** | [**NotificationUpdateDto**](NotificationUpdateDto.md)| | + +### Return type + +[**NotificationDto**](NotificationDto.md) ### Authorization @@ -186,3 +478,93 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **update_notifications** +> update_notifications(notification_update_all_dto) + +Update notifications + +Update a list of notifications. Allows to bulk-set the read status of notifications. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.notification_update_all_dto import NotificationUpdateAllDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.NotificationsApi(api_client) + notification_update_all_dto = generated.immich.openapi_client.NotificationUpdateAllDto() # NotificationUpdateAllDto | + + try: + # Update notifications + api_instance.update_notifications(notification_update_all_dto) + except Exception as e: + print("Exception when calling NotificationsApi->update_notifications: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **notification_update_all_dto** | [**NotificationUpdateAllDto**](NotificationUpdateAllDto.md)| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/generated/immich/openapi_client/docs/OAuthApi.md b/generated/immich/openapi_client/docs/OAuthApi.md deleted file mode 100644 index fddfd24..0000000 --- a/generated/immich/openapi_client/docs/OAuthApi.md +++ /dev/null @@ -1,368 +0,0 @@ -# generated.immich.openapi_client.OAuthApi - -All URIs are relative to *https://github.com/api* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**finish_o_auth**](OAuthApi.md#finish_o_auth) | **POST** /oauth/callback | -[**link_o_auth_account**](OAuthApi.md#link_o_auth_account) | **POST** /oauth/link | -[**redirect_o_auth_to_mobile**](OAuthApi.md#redirect_o_auth_to_mobile) | **GET** /oauth/mobile-redirect | -[**start_o_auth**](OAuthApi.md#start_o_auth) | **POST** /oauth/authorize | -[**unlink_o_auth_account**](OAuthApi.md#unlink_o_auth_account) | **POST** /oauth/unlink | - - -# **finish_o_auth** -> LoginResponseDto finish_o_auth(o_auth_callback_dto) - -### Example - - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.login_response_dto import LoginResponseDto -from generated.immich.openapi_client.models.o_auth_callback_dto import OAuthCallbackDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.OAuthApi(api_client) - o_auth_callback_dto = generated.immich.openapi_client.OAuthCallbackDto() # OAuthCallbackDto | - - try: - api_response = api_instance.finish_o_auth(o_auth_callback_dto) - print("The response of OAuthApi->finish_o_auth:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling OAuthApi->finish_o_auth: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **o_auth_callback_dto** | [**OAuthCallbackDto**](OAuthCallbackDto.md)| | - -### Return type - -[**LoginResponseDto**](LoginResponseDto.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **link_o_auth_account** -> UserAdminResponseDto link_o_auth_account(o_auth_callback_dto) - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.o_auth_callback_dto import OAuthCallbackDto -from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.OAuthApi(api_client) - o_auth_callback_dto = generated.immich.openapi_client.OAuthCallbackDto() # OAuthCallbackDto | - - try: - api_response = api_instance.link_o_auth_account(o_auth_callback_dto) - print("The response of OAuthApi->link_o_auth_account:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling OAuthApi->link_o_auth_account: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **o_auth_callback_dto** | [**OAuthCallbackDto**](OAuthCallbackDto.md)| | - -### Return type - -[**UserAdminResponseDto**](UserAdminResponseDto.md) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **redirect_o_auth_to_mobile** -> redirect_o_auth_to_mobile() - -### Example - - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.OAuthApi(api_client) - - try: - api_instance.redirect_o_auth_to_mobile() - except Exception as e: - print("Exception when calling OAuthApi->redirect_o_auth_to_mobile: %s\n" % e) -``` - - - -### Parameters - -This endpoint does not need any parameter. - -### Return type - -void (empty response body) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: Not defined - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **start_o_auth** -> OAuthAuthorizeResponseDto start_o_auth(o_auth_config_dto) - -### Example - - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.o_auth_authorize_response_dto import OAuthAuthorizeResponseDto -from generated.immich.openapi_client.models.o_auth_config_dto import OAuthConfigDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.OAuthApi(api_client) - o_auth_config_dto = generated.immich.openapi_client.OAuthConfigDto() # OAuthConfigDto | - - try: - api_response = api_instance.start_o_auth(o_auth_config_dto) - print("The response of OAuthApi->start_o_auth:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling OAuthApi->start_o_auth: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **o_auth_config_dto** | [**OAuthConfigDto**](OAuthConfigDto.md)| | - -### Return type - -[**OAuthAuthorizeResponseDto**](OAuthAuthorizeResponseDto.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**201** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **unlink_o_auth_account** -> UserAdminResponseDto unlink_o_auth_account() - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.user_admin_response_dto import UserAdminResponseDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.OAuthApi(api_client) - - try: - api_response = api_instance.unlink_o_auth_account() - print("The response of OAuthApi->unlink_o_auth_account:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling OAuthApi->unlink_o_auth_account: %s\n" % e) -``` - - - -### Parameters - -This endpoint does not need any parameter. - -### Return type - -[**UserAdminResponseDto**](UserAdminResponseDto.md) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/generated/immich/openapi_client/docs/OAuthAuthorizeResponseDto.md b/generated/immich/openapi_client/docs/OAuthAuthorizeResponseDto.md index d66930b..5ce03f1 100644 --- a/generated/immich/openapi_client/docs/OAuthAuthorizeResponseDto.md +++ b/generated/immich/openapi_client/docs/OAuthAuthorizeResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**url** | **str** | | +**url** | **str** | OAuth authorization URL | ## Example diff --git a/generated/immich/openapi_client/docs/OAuthCallbackDto.md b/generated/immich/openapi_client/docs/OAuthCallbackDto.md index 1b3328a..68426e3 100644 --- a/generated/immich/openapi_client/docs/OAuthCallbackDto.md +++ b/generated/immich/openapi_client/docs/OAuthCallbackDto.md @@ -5,7 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**url** | **str** | | +**code_verifier** | **str** | OAuth code verifier (PKCE) | [optional] +**state** | **str** | OAuth state parameter | [optional] +**url** | **str** | OAuth callback URL | ## Example diff --git a/generated/immich/openapi_client/docs/OAuthConfigDto.md b/generated/immich/openapi_client/docs/OAuthConfigDto.md index 116eb11..dd02d32 100644 --- a/generated/immich/openapi_client/docs/OAuthConfigDto.md +++ b/generated/immich/openapi_client/docs/OAuthConfigDto.md @@ -5,7 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**redirect_uri** | **str** | | +**code_challenge** | **str** | OAuth code challenge (PKCE) | [optional] +**redirect_uri** | **str** | OAuth redirect URI | +**state** | **str** | OAuth state parameter | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/OnThisDayDto.md b/generated/immich/openapi_client/docs/OnThisDayDto.md index feb2254..7ac4867 100644 --- a/generated/immich/openapi_client/docs/OnThisDayDto.md +++ b/generated/immich/openapi_client/docs/OnThisDayDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**year** | **float** | | +**year** | **int** | Year for on this day memory | ## Example diff --git a/generated/immich/openapi_client/docs/PartnerDirection.md b/generated/immich/openapi_client/docs/PartnerDirection.md index 8d46172..2e6fc0a 100644 --- a/generated/immich/openapi_client/docs/PartnerDirection.md +++ b/generated/immich/openapi_client/docs/PartnerDirection.md @@ -1,5 +1,6 @@ # PartnerDirection +Partner direction ## Enum diff --git a/generated/immich/openapi_client/docs/PartnerResponseDto.md b/generated/immich/openapi_client/docs/PartnerResponseDto.md index d860b39..ec1d5cd 100644 --- a/generated/immich/openapi_client/docs/PartnerResponseDto.md +++ b/generated/immich/openapi_client/docs/PartnerResponseDto.md @@ -1,17 +1,18 @@ # PartnerResponseDto +Partner response ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **avatar_color** | [**UserAvatarColor**](UserAvatarColor.md) | | -**email** | **str** | | -**id** | **str** | | -**in_timeline** | **bool** | | [optional] -**name** | **str** | | -**profile_changed_at** | **datetime** | | -**profile_image_path** | **str** | | +**email** | **str** | User email | +**id** | **UUID** | User ID | +**in_timeline** | **bool** | Show in timeline | [optional] +**name** | **str** | User name | +**profile_changed_at** | **datetime** | Profile change date | +**profile_image_path** | **str** | Profile image path | ## Example diff --git a/generated/immich/openapi_client/docs/PartnersApi.md b/generated/immich/openapi_client/docs/PartnersApi.md index c16a2ff..3bac636 100644 --- a/generated/immich/openapi_client/docs/PartnersApi.md +++ b/generated/immich/openapi_client/docs/PartnersApi.md @@ -4,14 +4,112 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_partner**](PartnersApi.md#create_partner) | **POST** /partners/{id} | -[**get_partners**](PartnersApi.md#get_partners) | **GET** /partners | -[**remove_partner**](PartnersApi.md#remove_partner) | **DELETE** /partners/{id} | -[**update_partner**](PartnersApi.md#update_partner) | **PUT** /partners/{id} | +[**create_partner**](PartnersApi.md#create_partner) | **POST** /partners | Create a partner +[**create_partner_deprecated**](PartnersApi.md#create_partner_deprecated) | **POST** /partners/{id} | Create a partner +[**get_partners**](PartnersApi.md#get_partners) | **GET** /partners | Retrieve partners +[**remove_partner**](PartnersApi.md#remove_partner) | **DELETE** /partners/{id} | Remove a partner +[**update_partner**](PartnersApi.md#update_partner) | **PUT** /partners/{id} | Update a partner # **create_partner** -> PartnerResponseDto create_partner(id) +> PartnerResponseDto create_partner(partner_create_dto) + +Create a partner + +Create a new partner to share assets with. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.partner_create_dto import PartnerCreateDto +from generated.immich.openapi_client.models.partner_response_dto import PartnerResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.PartnersApi(api_client) + partner_create_dto = generated.immich.openapi_client.PartnerCreateDto() # PartnerCreateDto | + + try: + # Create a partner + api_response = api_instance.create_partner(partner_create_dto) + print("The response of PartnersApi->create_partner:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PartnersApi->create_partner: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **partner_create_dto** | [**PartnerCreateDto**](PartnerCreateDto.md)| | + +### Return type + +[**PartnerResponseDto**](PartnerResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_partner_deprecated** +> PartnerResponseDto create_partner_deprecated(id) + +Create a partner + +Create a new partner to share assets with. ### Example @@ -57,14 +155,15 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PartnersApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: - api_response = api_instance.create_partner(id) - print("The response of PartnersApi->create_partner:\n") + # Create a partner + api_response = api_instance.create_partner_deprecated(id) + print("The response of PartnersApi->create_partner_deprecated:\n") pprint(api_response) except Exception as e: - print("Exception when calling PartnersApi->create_partner: %s\n" % e) + print("Exception when calling PartnersApi->create_partner_deprecated: %s\n" % e) ``` @@ -74,7 +173,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -100,6 +199,10 @@ Name | Type | Description | Notes # **get_partners** > List[PartnerResponseDto] get_partners(direction) +Retrieve partners + +Retrieve a list of partners with whom assets are shared. + ### Example * Api Key Authentication (cookie): @@ -148,6 +251,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: direction = generated.immich.openapi_client.PartnerDirection() # PartnerDirection | try: + # Retrieve partners api_response = api_instance.get_partners(direction) print("The response of PartnersApi->get_partners:\n") pprint(api_response) @@ -188,6 +292,10 @@ Name | Type | Description | Notes # **remove_partner** > remove_partner(id) +Remove a partner + +Stop sharing assets with a partner. + ### Example * Api Key Authentication (cookie): @@ -231,9 +339,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PartnersApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Remove a partner api_instance.remove_partner(id) except Exception as e: print("Exception when calling PartnersApi->remove_partner: %s\n" % e) @@ -246,7 +355,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -265,12 +374,16 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | | - | +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **update_partner** -> PartnerResponseDto update_partner(id, update_partner_dto) +> PartnerResponseDto update_partner(id, partner_update_dto) + +Update a partner + +Specify whether a partner's assets should appear in the user's timeline. ### Example @@ -281,7 +394,7 @@ void (empty response body) ```python import generated.immich.openapi_client from generated.immich.openapi_client.models.partner_response_dto import PartnerResponseDto -from generated.immich.openapi_client.models.update_partner_dto import UpdatePartnerDto +from generated.immich.openapi_client.models.partner_update_dto import PartnerUpdateDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -317,11 +430,12 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PartnersApi(api_client) - id = 'id_example' # str | - update_partner_dto = generated.immich.openapi_client.UpdatePartnerDto() # UpdatePartnerDto | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + partner_update_dto = generated.immich.openapi_client.PartnerUpdateDto() # PartnerUpdateDto | try: - api_response = api_instance.update_partner(id, update_partner_dto) + # Update a partner + api_response = api_instance.update_partner(id, partner_update_dto) print("The response of PartnersApi->update_partner:\n") pprint(api_response) except Exception as e: @@ -335,8 +449,8 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | - **update_partner_dto** | [**UpdatePartnerDto**](UpdatePartnerDto.md)| | + **id** | **UUID**| | + **partner_update_dto** | [**PartnerUpdateDto**](PartnerUpdateDto.md)| | ### Return type diff --git a/generated/immich/openapi_client/docs/PathEntityType.md b/generated/immich/openapi_client/docs/PathEntityType.md deleted file mode 100644 index 364106e..0000000 --- a/generated/immich/openapi_client/docs/PathEntityType.md +++ /dev/null @@ -1,14 +0,0 @@ -# PathEntityType - - -## Enum - -* `ASSET` (value: `'asset'`) - -* `PERSON` (value: `'person'`) - -* `USER` (value: `'user'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/PathType.md b/generated/immich/openapi_client/docs/PathType.md deleted file mode 100644 index e0a5189..0000000 --- a/generated/immich/openapi_client/docs/PathType.md +++ /dev/null @@ -1,24 +0,0 @@ -# PathType - - -## Enum - -* `ORIGINAL` (value: `'original'`) - -* `FULLSIZE` (value: `'fullsize'`) - -* `PREVIEW` (value: `'preview'`) - -* `THUMBNAIL` (value: `'thumbnail'`) - -* `ENCODED_VIDEO` (value: `'encoded_video'`) - -* `SIDECAR` (value: `'sidecar'`) - -* `FACE` (value: `'face'`) - -* `PROFILE` (value: `'profile'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/PeopleApi.md b/generated/immich/openapi_client/docs/PeopleApi.md index 68fcc61..86bb2fb 100644 --- a/generated/immich/openapi_client/docs/PeopleApi.md +++ b/generated/immich/openapi_client/docs/PeopleApi.md @@ -4,20 +4,26 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_person**](PeopleApi.md#create_person) | **POST** /people | -[**get_all_people**](PeopleApi.md#get_all_people) | **GET** /people | -[**get_person**](PeopleApi.md#get_person) | **GET** /people/{id} | -[**get_person_statistics**](PeopleApi.md#get_person_statistics) | **GET** /people/{id}/statistics | -[**get_person_thumbnail**](PeopleApi.md#get_person_thumbnail) | **GET** /people/{id}/thumbnail | -[**merge_person**](PeopleApi.md#merge_person) | **POST** /people/{id}/merge | -[**reassign_faces**](PeopleApi.md#reassign_faces) | **PUT** /people/{id}/reassign | -[**update_people**](PeopleApi.md#update_people) | **PUT** /people | -[**update_person**](PeopleApi.md#update_person) | **PUT** /people/{id} | +[**create_person**](PeopleApi.md#create_person) | **POST** /people | Create a person +[**delete_people**](PeopleApi.md#delete_people) | **DELETE** /people | Delete people +[**delete_person**](PeopleApi.md#delete_person) | **DELETE** /people/{id} | Delete person +[**get_all_people**](PeopleApi.md#get_all_people) | **GET** /people | Get all people +[**get_person**](PeopleApi.md#get_person) | **GET** /people/{id} | Get a person +[**get_person_statistics**](PeopleApi.md#get_person_statistics) | **GET** /people/{id}/statistics | Get person statistics +[**get_person_thumbnail**](PeopleApi.md#get_person_thumbnail) | **GET** /people/{id}/thumbnail | Get person thumbnail +[**merge_person**](PeopleApi.md#merge_person) | **POST** /people/{id}/merge | Merge people +[**reassign_faces**](PeopleApi.md#reassign_faces) | **PUT** /people/{id}/reassign | Reassign faces +[**update_people**](PeopleApi.md#update_people) | **PUT** /people | Update people +[**update_person**](PeopleApi.md#update_person) | **PUT** /people/{id} | Update person # **create_person** > PersonResponseDto create_person(person_create_dto) +Create a person + +Create a new person that can have multiple faces assigned to them. + ### Example * Api Key Authentication (cookie): @@ -66,6 +72,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: person_create_dto = generated.immich.openapi_client.PersonCreateDto() # PersonCreateDto | try: + # Create a person api_response = api_instance.create_person(person_create_dto) print("The response of PeopleApi->create_person:\n") pprint(api_response) @@ -103,9 +110,192 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **delete_people** +> delete_people(bulk_ids_dto) + +Delete people + +Bulk delete a list of people at once. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.bulk_ids_dto import BulkIdsDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.PeopleApi(api_client) + bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | + + try: + # Delete people + api_instance.delete_people(bulk_ids_dto) + except Exception as e: + print("Exception when calling PeopleApi->delete_people: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **bulk_ids_dto** | [**BulkIdsDto**](BulkIdsDto.md)| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_person** +> delete_person(id) + +Delete person + +Delete an individual person. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.PeopleApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + + try: + # Delete person + api_instance.delete_person(id) + except Exception as e: + print("Exception when calling PeopleApi->delete_person: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_all_people** > PeopleResponseDto get_all_people(closest_asset_id=closest_asset_id, closest_person_id=closest_person_id, page=page, size=size, with_hidden=with_hidden) +Get all people + +Retrieve a list of all people. + ### Example * Api Key Authentication (cookie): @@ -150,13 +340,14 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PeopleApi(api_client) - closest_asset_id = 'closest_asset_id_example' # str | (optional) - closest_person_id = 'closest_person_id_example' # str | (optional) - page = 1 # float | Page number for pagination (optional) (default to 1) - size = 500 # float | Number of items per page (optional) (default to 500) - with_hidden = True # bool | (optional) + closest_asset_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Closest asset ID for similarity search (optional) + closest_person_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Closest person ID for similarity search (optional) + page = 1 # int | Page number for pagination (optional) (default to 1) + size = 500 # int | Number of items per page (optional) (default to 500) + with_hidden = True # bool | Include hidden people (optional) try: + # Get all people api_response = api_instance.get_all_people(closest_asset_id=closest_asset_id, closest_person_id=closest_person_id, page=page, size=size, with_hidden=with_hidden) print("The response of PeopleApi->get_all_people:\n") pprint(api_response) @@ -171,11 +362,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **closest_asset_id** | **str**| | [optional] - **closest_person_id** | **str**| | [optional] - **page** | **float**| Page number for pagination | [optional] [default to 1] - **size** | **float**| Number of items per page | [optional] [default to 500] - **with_hidden** | **bool**| | [optional] + **closest_asset_id** | **UUID**| Closest asset ID for similarity search | [optional] + **closest_person_id** | **UUID**| Closest person ID for similarity search | [optional] + **page** | **int**| Page number for pagination | [optional] [default to 1] + **size** | **int**| Number of items per page | [optional] [default to 500] + **with_hidden** | **bool**| Include hidden people | [optional] ### Return type @@ -201,6 +392,10 @@ Name | Type | Description | Notes # **get_person** > PersonResponseDto get_person(id) +Get a person + +Retrieve a person by id. + ### Example * Api Key Authentication (cookie): @@ -245,9 +440,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PeopleApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Get a person api_response = api_instance.get_person(id) print("The response of PeopleApi->get_person:\n") pprint(api_response) @@ -262,7 +458,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -288,6 +484,10 @@ Name | Type | Description | Notes # **get_person_statistics** > PersonStatisticsResponseDto get_person_statistics(id) +Get person statistics + +Retrieve statistics about a specific person. + ### Example * Api Key Authentication (cookie): @@ -332,9 +532,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PeopleApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Get person statistics api_response = api_instance.get_person_statistics(id) print("The response of PeopleApi->get_person_statistics:\n") pprint(api_response) @@ -349,7 +550,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -375,6 +576,10 @@ Name | Type | Description | Notes # **get_person_thumbnail** > bytearray get_person_thumbnail(id) +Get person thumbnail + +Retrieve the thumbnail file for a person. + ### Example * Api Key Authentication (cookie): @@ -418,9 +623,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PeopleApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Get person thumbnail api_response = api_instance.get_person_thumbnail(id) print("The response of PeopleApi->get_person_thumbnail:\n") pprint(api_response) @@ -435,7 +641,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -461,6 +667,10 @@ Name | Type | Description | Notes # **merge_person** > List[BulkIdResponseDto] merge_person(id, merge_person_dto) +Merge people + +Merge a list of people into the person specified in the path parameter. + ### Example * Api Key Authentication (cookie): @@ -506,10 +716,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PeopleApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | merge_person_dto = generated.immich.openapi_client.MergePersonDto() # MergePersonDto | try: + # Merge people api_response = api_instance.merge_person(id, merge_person_dto) print("The response of PeopleApi->merge_person:\n") pprint(api_response) @@ -524,7 +735,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **merge_person_dto** | [**MergePersonDto**](MergePersonDto.md)| | ### Return type @@ -544,13 +755,17 @@ Name | Type | Description | Notes | Status code | Description | Response headers | |-------------|-------------|------------------| -**201** | | - | +**200** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **reassign_faces** > List[PersonResponseDto] reassign_faces(id, asset_face_update_dto) +Reassign faces + +Bulk reassign a list of faces to a different person. + ### Example * Api Key Authentication (cookie): @@ -596,10 +811,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PeopleApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | asset_face_update_dto = generated.immich.openapi_client.AssetFaceUpdateDto() # AssetFaceUpdateDto | try: + # Reassign faces api_response = api_instance.reassign_faces(id, asset_face_update_dto) print("The response of PeopleApi->reassign_faces:\n") pprint(api_response) @@ -614,7 +830,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **asset_face_update_dto** | [**AssetFaceUpdateDto**](AssetFaceUpdateDto.md)| | ### Return type @@ -641,6 +857,10 @@ Name | Type | Description | Notes # **update_people** > List[BulkIdResponseDto] update_people(people_update_dto) +Update people + +Bulk update multiple people at once. + ### Example * Api Key Authentication (cookie): @@ -689,6 +909,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: people_update_dto = generated.immich.openapi_client.PeopleUpdateDto() # PeopleUpdateDto | try: + # Update people api_response = api_instance.update_people(people_update_dto) print("The response of PeopleApi->update_people:\n") pprint(api_response) @@ -729,6 +950,10 @@ Name | Type | Description | Notes # **update_person** > PersonResponseDto update_person(id, person_update_dto) +Update person + +Update an individual person. + ### Example * Api Key Authentication (cookie): @@ -774,10 +999,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.PeopleApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | person_update_dto = generated.immich.openapi_client.PersonUpdateDto() # PersonUpdateDto | try: + # Update person api_response = api_instance.update_person(id, person_update_dto) print("The response of PeopleApi->update_person:\n") pprint(api_response) @@ -792,7 +1018,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **person_update_dto** | [**PersonUpdateDto**](PersonUpdateDto.md)| | ### Return type diff --git a/generated/immich/openapi_client/docs/PeopleResponse.md b/generated/immich/openapi_client/docs/PeopleResponse.md index c49bf88..c12bebc 100644 --- a/generated/immich/openapi_client/docs/PeopleResponse.md +++ b/generated/immich/openapi_client/docs/PeopleResponse.md @@ -5,8 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [default to True] -**sidebar_web** | **bool** | | [default to False] +**enabled** | **bool** | Whether people are enabled | +**minimum_faces** | **int** | People face threshold | [optional] +**sidebar_web** | **bool** | Whether people appear in web sidebar | ## Example diff --git a/generated/immich/openapi_client/docs/PeopleResponseDto.md b/generated/immich/openapi_client/docs/PeopleResponseDto.md index 7df63dd..c70464d 100644 --- a/generated/immich/openapi_client/docs/PeopleResponseDto.md +++ b/generated/immich/openapi_client/docs/PeopleResponseDto.md @@ -1,14 +1,15 @@ # PeopleResponseDto +People response ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**has_next_page** | **bool** | This property was added in v1.110.0 | [optional] -**hidden** | **int** | | +**has_next_page** | **bool** | Whether there are more pages | [optional] +**hidden** | **int** | Number of hidden people | **people** | [**List[PersonResponseDto]**](PersonResponseDto.md) | | -**total** | **int** | | +**total** | **int** | Total number of people | ## Example diff --git a/generated/immich/openapi_client/docs/PeopleUpdate.md b/generated/immich/openapi_client/docs/PeopleUpdate.md index c735bde..c054e4c 100644 --- a/generated/immich/openapi_client/docs/PeopleUpdate.md +++ b/generated/immich/openapi_client/docs/PeopleUpdate.md @@ -5,8 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [optional] -**sidebar_web** | **bool** | | [optional] +**enabled** | **bool** | Whether people are enabled | [optional] +**minimum_faces** | **int** | People face threshold | [optional] +**sidebar_web** | **bool** | Whether people appear in web sidebar | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/PeopleUpdateDto.md b/generated/immich/openapi_client/docs/PeopleUpdateDto.md index 81a7b28..102c88a 100644 --- a/generated/immich/openapi_client/docs/PeopleUpdateDto.md +++ b/generated/immich/openapi_client/docs/PeopleUpdateDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**people** | [**List[PeopleUpdateItem]**](PeopleUpdateItem.md) | | +**people** | [**List[PeopleUpdateItem]**](PeopleUpdateItem.md) | People to update | ## Example diff --git a/generated/immich/openapi_client/docs/PeopleUpdateItem.md b/generated/immich/openapi_client/docs/PeopleUpdateItem.md index e4077c8..a534696 100644 --- a/generated/immich/openapi_client/docs/PeopleUpdateItem.md +++ b/generated/immich/openapi_client/docs/PeopleUpdateItem.md @@ -5,13 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**birth_date** | **date** | Person date of birth. Note: the mobile app cannot currently set the birth date to null. | [optional] -**color** | **str** | | [optional] -**feature_face_asset_id** | **str** | Asset is used to get the feature face thumbnail. | [optional] -**id** | **str** | Person id. | -**is_favorite** | **bool** | | [optional] -**is_hidden** | **bool** | Person visibility | [optional] -**name** | **str** | Person name. | [optional] +**birth_date** | **date** | Person date of birth | [optional] +**color** | **str** | Person color (hex) | [optional] +**feature_face_asset_id** | **UUID** | Asset ID used for feature face thumbnail | [optional] +**id** | **UUID** | Person ID | +**is_favorite** | **bool** | Mark as favorite | [optional] +**is_hidden** | **bool** | Person visibility (hidden) | [optional] +**name** | **str** | Person name | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/Permission.md b/generated/immich/openapi_client/docs/Permission.md index 2a696aa..4a81059 100644 --- a/generated/immich/openapi_client/docs/Permission.md +++ b/generated/immich/openapi_client/docs/Permission.md @@ -1,5 +1,6 @@ # Permission +List of permissions ## Enum @@ -29,6 +30,8 @@ * `ASSET_DOT_DELETE` (value: `'asset.delete'`) +* `ASSET_DOT_STATISTICS` (value: `'asset.statistics'`) + * `ASSET_DOT_SHARE` (value: `'asset.share'`) * `ASSET_DOT_VIEW` (value: `'asset.view'`) @@ -37,6 +40,16 @@ * `ASSET_DOT_UPLOAD` (value: `'asset.upload'`) +* `ASSET_DOT_COPY` (value: `'asset.copy'`) + +* `ASSET_DOT_DERIVE` (value: `'asset.derive'`) + +* `ASSET_DOT_EDIT_DOT_GET` (value: `'asset.edit.get'`) + +* `ASSET_DOT_EDIT_DOT_CREATE` (value: `'asset.edit.create'`) + +* `ASSET_DOT_EDIT_DOT_DELETE` (value: `'asset.edit.delete'`) + * `ALBUM_DOT_CREATE` (value: `'album.create'`) * `ALBUM_DOT_READ` (value: `'album.read'`) @@ -47,18 +60,38 @@ * `ALBUM_DOT_STATISTICS` (value: `'album.statistics'`) -* `ALBUM_DOT_ADD_ASSET` (value: `'album.addAsset'`) - -* `ALBUM_DOT_REMOVE_ASSET` (value: `'album.removeAsset'`) - * `ALBUM_DOT_SHARE` (value: `'album.share'`) * `ALBUM_DOT_DOWNLOAD` (value: `'album.download'`) +* `ALBUM_ASSET_DOT_CREATE` (value: `'albumAsset.create'`) + +* `ALBUM_ASSET_DOT_DELETE` (value: `'albumAsset.delete'`) + +* `ALBUM_USER_DOT_CREATE` (value: `'albumUser.create'`) + +* `ALBUM_USER_DOT_UPDATE` (value: `'albumUser.update'`) + +* `ALBUM_USER_DOT_DELETE` (value: `'albumUser.delete'`) + +* `AUTH_DOT_CHANGE_PASSWORD` (value: `'auth.changePassword'`) + * `AUTH_DEVICE_DOT_DELETE` (value: `'authDevice.delete'`) * `ARCHIVE_DOT_READ` (value: `'archive.read'`) +* `BACKUP_DOT_LIST` (value: `'backup.list'`) + +* `BACKUP_DOT_DOWNLOAD` (value: `'backup.download'`) + +* `BACKUP_DOT_UPLOAD` (value: `'backup.upload'`) + +* `BACKUP_DOT_DELETE` (value: `'backup.delete'`) + +* `DUPLICATE_DOT_READ` (value: `'duplicate.read'`) + +* `DUPLICATE_DOT_DELETE` (value: `'duplicate.delete'`) + * `FACE_DOT_CREATE` (value: `'face.create'`) * `FACE_DOT_READ` (value: `'face.read'`) @@ -67,6 +100,12 @@ * `FACE_DOT_DELETE` (value: `'face.delete'`) +* `FOLDER_DOT_READ` (value: `'folder.read'`) + +* `JOB_DOT_CREATE` (value: `'job.create'`) + +* `JOB_DOT_READ` (value: `'job.read'`) + * `LIBRARY_DOT_CREATE` (value: `'library.create'`) * `LIBRARY_DOT_READ` (value: `'library.read'`) @@ -81,6 +120,12 @@ * `TIMELINE_DOT_DOWNLOAD` (value: `'timeline.download'`) +* `MAINTENANCE` (value: `'maintenance'`) + +* `MAP_DOT_READ` (value: `'map.read'`) + +* `MAP_DOT_SEARCH` (value: `'map.search'`) + * `MEMORY_DOT_CREATE` (value: `'memory.create'`) * `MEMORY_DOT_READ` (value: `'memory.read'`) @@ -89,6 +134,20 @@ * `MEMORY_DOT_DELETE` (value: `'memory.delete'`) +* `MEMORY_DOT_STATISTICS` (value: `'memory.statistics'`) + +* `MEMORY_ASSET_DOT_CREATE` (value: `'memoryAsset.create'`) + +* `MEMORY_ASSET_DOT_DELETE` (value: `'memoryAsset.delete'`) + +* `NOTIFICATION_DOT_CREATE` (value: `'notification.create'`) + +* `NOTIFICATION_DOT_READ` (value: `'notification.read'`) + +* `NOTIFICATION_DOT_UPDATE` (value: `'notification.update'`) + +* `NOTIFICATION_DOT_DELETE` (value: `'notification.delete'`) + * `PARTNER_DOT_CREATE` (value: `'partner.create'`) * `PARTNER_DOT_READ` (value: `'partner.read'`) @@ -111,12 +170,46 @@ * `PERSON_DOT_REASSIGN` (value: `'person.reassign'`) +* `PIN_CODE_DOT_CREATE` (value: `'pinCode.create'`) + +* `PIN_CODE_DOT_UPDATE` (value: `'pinCode.update'`) + +* `PIN_CODE_DOT_DELETE` (value: `'pinCode.delete'`) + +* `PLUGIN_DOT_CREATE` (value: `'plugin.create'`) + +* `PLUGIN_DOT_READ` (value: `'plugin.read'`) + +* `PLUGIN_DOT_UPDATE` (value: `'plugin.update'`) + +* `PLUGIN_DOT_DELETE` (value: `'plugin.delete'`) + +* `SERVER_DOT_ABOUT` (value: `'server.about'`) + +* `SERVER_DOT_APK_LINKS` (value: `'server.apkLinks'`) + +* `SERVER_DOT_STORAGE` (value: `'server.storage'`) + +* `SERVER_DOT_STATISTICS` (value: `'server.statistics'`) + +* `SERVER_DOT_VERSION_CHECK` (value: `'server.versionCheck'`) + +* `SERVER_LICENSE_DOT_READ` (value: `'serverLicense.read'`) + +* `SERVER_LICENSE_DOT_UPDATE` (value: `'serverLicense.update'`) + +* `SERVER_LICENSE_DOT_DELETE` (value: `'serverLicense.delete'`) + +* `SESSION_DOT_CREATE` (value: `'session.create'`) + * `SESSION_DOT_READ` (value: `'session.read'`) * `SESSION_DOT_UPDATE` (value: `'session.update'`) * `SESSION_DOT_DELETE` (value: `'session.delete'`) +* `SESSION_DOT_LOCK` (value: `'session.lock'`) + * `SHARED_LINK_DOT_CREATE` (value: `'sharedLink.create'`) * `SHARED_LINK_DOT_READ` (value: `'sharedLink.read'`) @@ -133,6 +226,14 @@ * `STACK_DOT_DELETE` (value: `'stack.delete'`) +* `SYNC_DOT_STREAM` (value: `'sync.stream'`) + +* `SYNC_CHECKPOINT_DOT_READ` (value: `'syncCheckpoint.read'`) + +* `SYNC_CHECKPOINT_DOT_UPDATE` (value: `'syncCheckpoint.update'`) + +* `SYNC_CHECKPOINT_DOT_DELETE` (value: `'syncCheckpoint.delete'`) + * `SYSTEM_CONFIG_DOT_READ` (value: `'systemConfig.read'`) * `SYSTEM_CONFIG_DOT_UPDATE` (value: `'systemConfig.update'`) @@ -151,13 +252,67 @@ * `TAG_DOT_ASSET` (value: `'tag.asset'`) -* `ADMIN_DOT_USER_DOT_CREATE` (value: `'admin.user.create'`) +* `USER_DOT_READ` (value: `'user.read'`) -* `ADMIN_DOT_USER_DOT_READ` (value: `'admin.user.read'`) +* `USER_DOT_UPDATE` (value: `'user.update'`) -* `ADMIN_DOT_USER_DOT_UPDATE` (value: `'admin.user.update'`) +* `USER_LICENSE_DOT_CREATE` (value: `'userLicense.create'`) -* `ADMIN_DOT_USER_DOT_DELETE` (value: `'admin.user.delete'`) +* `USER_LICENSE_DOT_READ` (value: `'userLicense.read'`) + +* `USER_LICENSE_DOT_UPDATE` (value: `'userLicense.update'`) + +* `USER_LICENSE_DOT_DELETE` (value: `'userLicense.delete'`) + +* `USER_ONBOARDING_DOT_READ` (value: `'userOnboarding.read'`) + +* `USER_ONBOARDING_DOT_UPDATE` (value: `'userOnboarding.update'`) + +* `USER_ONBOARDING_DOT_DELETE` (value: `'userOnboarding.delete'`) + +* `USER_PREFERENCE_DOT_READ` (value: `'userPreference.read'`) + +* `USER_PREFERENCE_DOT_UPDATE` (value: `'userPreference.update'`) + +* `USER_PROFILE_IMAGE_DOT_CREATE` (value: `'userProfileImage.create'`) + +* `USER_PROFILE_IMAGE_DOT_READ` (value: `'userProfileImage.read'`) + +* `USER_PROFILE_IMAGE_DOT_UPDATE` (value: `'userProfileImage.update'`) + +* `USER_PROFILE_IMAGE_DOT_DELETE` (value: `'userProfileImage.delete'`) + +* `QUEUE_DOT_READ` (value: `'queue.read'`) + +* `QUEUE_DOT_UPDATE` (value: `'queue.update'`) + +* `QUEUE_JOB_DOT_CREATE` (value: `'queueJob.create'`) + +* `QUEUE_JOB_DOT_READ` (value: `'queueJob.read'`) + +* `QUEUE_JOB_DOT_UPDATE` (value: `'queueJob.update'`) + +* `QUEUE_JOB_DOT_DELETE` (value: `'queueJob.delete'`) + +* `WORKFLOW_DOT_CREATE` (value: `'workflow.create'`) + +* `WORKFLOW_DOT_READ` (value: `'workflow.read'`) + +* `WORKFLOW_DOT_UPDATE` (value: `'workflow.update'`) + +* `WORKFLOW_DOT_DELETE` (value: `'workflow.delete'`) + +* `ADMIN_USER_DOT_CREATE` (value: `'adminUser.create'`) + +* `ADMIN_USER_DOT_READ` (value: `'adminUser.read'`) + +* `ADMIN_USER_DOT_UPDATE` (value: `'adminUser.update'`) + +* `ADMIN_USER_DOT_DELETE` (value: `'adminUser.delete'`) + +* `ADMIN_SESSION_DOT_READ` (value: `'adminSession.read'`) + +* `ADMIN_AUTH_DOT_UNLINK_ALL` (value: `'adminAuth.unlinkAll'`) [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generated/immich/openapi_client/docs/PersonCreateDto.md b/generated/immich/openapi_client/docs/PersonCreateDto.md index 79de154..f68f0b9 100644 --- a/generated/immich/openapi_client/docs/PersonCreateDto.md +++ b/generated/immich/openapi_client/docs/PersonCreateDto.md @@ -5,11 +5,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**birth_date** | **date** | Person date of birth. Note: the mobile app cannot currently set the birth date to null. | [optional] -**color** | **str** | | [optional] -**is_favorite** | **bool** | | [optional] -**is_hidden** | **bool** | Person visibility | [optional] -**name** | **str** | Person name. | [optional] +**birth_date** | **date** | Person date of birth | [optional] +**color** | **str** | Person color (hex) | [optional] +**is_favorite** | **bool** | Mark as favorite | [optional] +**is_hidden** | **bool** | Person visibility (hidden) | [optional] +**name** | **str** | Person name | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/PersonResponseDto.md b/generated/immich/openapi_client/docs/PersonResponseDto.md index ff836a7..ed40911 100644 --- a/generated/immich/openapi_client/docs/PersonResponseDto.md +++ b/generated/immich/openapi_client/docs/PersonResponseDto.md @@ -5,14 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**birth_date** | **date** | | -**color** | **str** | This property was added in v1.126.0 | [optional] -**id** | **str** | | -**is_favorite** | **bool** | This property was added in v1.126.0 | [optional] -**is_hidden** | **bool** | | -**name** | **str** | | -**thumbnail_path** | **str** | | -**updated_at** | **datetime** | This property was added in v1.107.0 | [optional] +**birth_date** | **date** | Person date of birth | +**color** | **str** | Person color (hex) | [optional] +**id** | **UUID** | Person ID | +**is_favorite** | **bool** | Is favorite | [optional] +**is_hidden** | **bool** | Is hidden | +**name** | **str** | Person name | +**thumbnail_path** | **str** | Thumbnail path | +**updated_at** | **datetime** | Last update date | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/PersonStatisticsResponseDto.md b/generated/immich/openapi_client/docs/PersonStatisticsResponseDto.md index b53f1f1..e1b7a65 100644 --- a/generated/immich/openapi_client/docs/PersonStatisticsResponseDto.md +++ b/generated/immich/openapi_client/docs/PersonStatisticsResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**assets** | **int** | | +**assets** | **int** | Number of assets | ## Example diff --git a/generated/immich/openapi_client/docs/PersonUpdateDto.md b/generated/immich/openapi_client/docs/PersonUpdateDto.md index fed86c6..d8aff9a 100644 --- a/generated/immich/openapi_client/docs/PersonUpdateDto.md +++ b/generated/immich/openapi_client/docs/PersonUpdateDto.md @@ -5,12 +5,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**birth_date** | **date** | Person date of birth. Note: the mobile app cannot currently set the birth date to null. | [optional] -**color** | **str** | | [optional] -**feature_face_asset_id** | **str** | Asset is used to get the feature face thumbnail. | [optional] -**is_favorite** | **bool** | | [optional] -**is_hidden** | **bool** | Person visibility | [optional] -**name** | **str** | Person name. | [optional] +**birth_date** | **date** | Person date of birth | [optional] +**color** | **str** | Person color (hex) | [optional] +**feature_face_asset_id** | **UUID** | Asset ID used for feature face thumbnail | [optional] +**is_favorite** | **bool** | Mark as favorite | [optional] +**is_hidden** | **bool** | Person visibility (hidden) | [optional] +**name** | **str** | Person name | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/PersonWithFacesResponseDto.md b/generated/immich/openapi_client/docs/PersonWithFacesResponseDto.md deleted file mode 100644 index 59bcbdb..0000000 --- a/generated/immich/openapi_client/docs/PersonWithFacesResponseDto.md +++ /dev/null @@ -1,37 +0,0 @@ -# PersonWithFacesResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**birth_date** | **date** | | -**color** | **str** | This property was added in v1.126.0 | [optional] -**faces** | [**List[AssetFaceWithoutPersonResponseDto]**](AssetFaceWithoutPersonResponseDto.md) | | -**id** | **str** | | -**is_favorite** | **bool** | This property was added in v1.126.0 | [optional] -**is_hidden** | **bool** | | -**name** | **str** | | -**thumbnail_path** | **str** | | -**updated_at** | **datetime** | This property was added in v1.107.0 | [optional] - -## Example - -```python -from generated.immich.openapi_client.models.person_with_faces_response_dto import PersonWithFacesResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of PersonWithFacesResponseDto from a JSON string -person_with_faces_response_dto_instance = PersonWithFacesResponseDto.from_json(json) -# print the JSON string representation of the object -print(PersonWithFacesResponseDto.to_json()) - -# convert the object into a dict -person_with_faces_response_dto_dict = person_with_faces_response_dto_instance.to_dict() -# create an instance of PersonWithFacesResponseDto from a dict -person_with_faces_response_dto_from_dict = PersonWithFacesResponseDto.from_dict(person_with_faces_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/PlacesResponseDto.md b/generated/immich/openapi_client/docs/PlacesResponseDto.md index 7e3eaeb..2e25ab9 100644 --- a/generated/immich/openapi_client/docs/PlacesResponseDto.md +++ b/generated/immich/openapi_client/docs/PlacesResponseDto.md @@ -5,11 +5,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**admin1name** | **str** | | [optional] -**admin2name** | **str** | | [optional] -**latitude** | **float** | | -**longitude** | **float** | | -**name** | **str** | | +**admin1name** | **str** | Administrative level 1 name (state/province) | [optional] +**admin2name** | **str** | Administrative level 2 name (county/district) | [optional] +**latitude** | **float** | Latitude coordinate | +**longitude** | **float** | Longitude coordinate | +**name** | **str** | Place name | ## Example diff --git a/generated/immich/openapi_client/docs/PurchaseResponse.md b/generated/immich/openapi_client/docs/PurchaseResponse.md index a73a09e..d71b958 100644 --- a/generated/immich/openapi_client/docs/PurchaseResponse.md +++ b/generated/immich/openapi_client/docs/PurchaseResponse.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**hide_buy_button_until** | **str** | | -**show_support_badge** | **bool** | | +**hide_buy_button_until** | **str** | Date until which to hide buy button | +**show_support_badge** | **bool** | Whether to show support badge | ## Example diff --git a/generated/immich/openapi_client/docs/PurchaseUpdate.md b/generated/immich/openapi_client/docs/PurchaseUpdate.md index c000ff0..6294ba1 100644 --- a/generated/immich/openapi_client/docs/PurchaseUpdate.md +++ b/generated/immich/openapi_client/docs/PurchaseUpdate.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**hide_buy_button_until** | **str** | | [optional] -**show_support_badge** | **bool** | | [optional] +**hide_buy_button_until** | **str** | Date until which to hide buy button | [optional] +**show_support_badge** | **bool** | Whether to show support badge | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/QueueStatusDto.md b/generated/immich/openapi_client/docs/QueueStatusDto.md deleted file mode 100644 index 26e5a8a..0000000 --- a/generated/immich/openapi_client/docs/QueueStatusDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# QueueStatusDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**is_active** | **bool** | | -**is_paused** | **bool** | | - -## Example - -```python -from generated.immich.openapi_client.models.queue_status_dto import QueueStatusDto - -# TODO update the JSON string below -json = "{}" -# create an instance of QueueStatusDto from a JSON string -queue_status_dto_instance = QueueStatusDto.from_json(json) -# print the JSON string representation of the object -print(QueueStatusDto.to_json()) - -# convert the object into a dict -queue_status_dto_dict = queue_status_dto_instance.to_dict() -# create an instance of QueueStatusDto from a dict -queue_status_dto_from_dict = QueueStatusDto.from_dict(queue_status_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/RandomSearchDto.md b/generated/immich/openapi_client/docs/RandomSearchDto.md index 221ae7a..1948132 100644 --- a/generated/immich/openapi_client/docs/RandomSearchDto.md +++ b/generated/immich/openapi_client/docs/RandomSearchDto.md @@ -5,39 +5,38 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**city** | **str** | | [optional] -**country** | **str** | | [optional] -**created_after** | **datetime** | | [optional] -**created_before** | **datetime** | | [optional] -**device_id** | **str** | | [optional] -**is_archived** | **bool** | | [optional] -**is_encoded** | **bool** | | [optional] -**is_favorite** | **bool** | | [optional] -**is_motion** | **bool** | | [optional] -**is_not_in_album** | **bool** | | [optional] -**is_offline** | **bool** | | [optional] -**is_visible** | **bool** | | [optional] -**lens_model** | **str** | | [optional] -**library_id** | **str** | | [optional] -**make** | **str** | | [optional] -**model** | **str** | | [optional] -**person_ids** | **List[str]** | | [optional] -**rating** | **float** | | [optional] -**size** | **float** | | [optional] -**state** | **str** | | [optional] -**tag_ids** | **List[str]** | | [optional] -**taken_after** | **datetime** | | [optional] -**taken_before** | **datetime** | | [optional] -**trashed_after** | **datetime** | | [optional] -**trashed_before** | **datetime** | | [optional] +**album_ids** | **List[UUID]** | Filter by album IDs | [optional] +**city** | **str** | Filter by city name | [optional] +**country** | **str** | Filter by country name | [optional] +**created_after** | **datetime** | Filter by creation date (after) | [optional] +**created_before** | **datetime** | Filter by creation date (before) | [optional] +**is_encoded** | **bool** | Filter by encoded status | [optional] +**is_favorite** | **bool** | Filter by favorite status | [optional] +**is_motion** | **bool** | Filter by motion photo status | [optional] +**is_not_in_album** | **bool** | Filter assets not in any album | [optional] +**is_offline** | **bool** | Filter by offline status | [optional] +**lens_model** | **str** | Filter by lens model | [optional] +**library_id** | **UUID** | Library ID to filter by | [optional] +**make** | **str** | Filter by camera make | [optional] +**model** | **str** | Filter by camera model | [optional] +**ocr** | **str** | Filter by OCR text content | [optional] +**person_ids** | **List[UUID]** | Filter by person IDs | [optional] +**rating** | **int** | Filter by rating [1-5], or null for unrated | [optional] +**size** | **int** | Number of results to return | [optional] +**state** | **str** | Filter by state/province name | [optional] +**tag_ids** | **List[UUID]** | Filter by tag IDs | [optional] +**taken_after** | **datetime** | Filter by taken date (after) | [optional] +**taken_before** | **datetime** | Filter by taken date (before) | [optional] +**trashed_after** | **datetime** | Filter by trash date (after) | [optional] +**trashed_before** | **datetime** | Filter by trash date (before) | [optional] **type** | [**AssetTypeEnum**](AssetTypeEnum.md) | | [optional] -**updated_after** | **datetime** | | [optional] -**updated_before** | **datetime** | | [optional] -**with_archived** | **bool** | | [optional] [default to False] -**with_deleted** | **bool** | | [optional] -**with_exif** | **bool** | | [optional] -**with_people** | **bool** | | [optional] -**with_stacked** | **bool** | | [optional] +**updated_after** | **datetime** | Filter by update date (after) | [optional] +**updated_before** | **datetime** | Filter by update date (before) | [optional] +**visibility** | [**AssetVisibility**](AssetVisibility.md) | | [optional] +**with_deleted** | **bool** | Include deleted assets | [optional] +**with_exif** | **bool** | Include EXIF data in response | [optional] +**with_people** | **bool** | Include people data in response | [optional] +**with_stacked** | **bool** | Include stacked assets | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/RatingsResponse.md b/generated/immich/openapi_client/docs/RatingsResponse.md index dad6bd1..77ee856 100644 --- a/generated/immich/openapi_client/docs/RatingsResponse.md +++ b/generated/immich/openapi_client/docs/RatingsResponse.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [default to False] +**enabled** | **bool** | Whether ratings are enabled | ## Example diff --git a/generated/immich/openapi_client/docs/RatingsUpdate.md b/generated/immich/openapi_client/docs/RatingsUpdate.md index cd1bcbd..7660b52 100644 --- a/generated/immich/openapi_client/docs/RatingsUpdate.md +++ b/generated/immich/openapi_client/docs/RatingsUpdate.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [optional] +**enabled** | **bool** | Whether ratings are enabled | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/ReactionLevel.md b/generated/immich/openapi_client/docs/ReactionLevel.md index 0b13c38..ce00964 100644 --- a/generated/immich/openapi_client/docs/ReactionLevel.md +++ b/generated/immich/openapi_client/docs/ReactionLevel.md @@ -1,5 +1,6 @@ # ReactionLevel +Reaction level ## Enum diff --git a/generated/immich/openapi_client/docs/ReactionType.md b/generated/immich/openapi_client/docs/ReactionType.md index 8c2397c..c826c43 100644 --- a/generated/immich/openapi_client/docs/ReactionType.md +++ b/generated/immich/openapi_client/docs/ReactionType.md @@ -1,5 +1,6 @@ # ReactionType +Reaction type ## Enum diff --git a/generated/immich/openapi_client/docs/ReverseGeocodingStateResponseDto.md b/generated/immich/openapi_client/docs/ReverseGeocodingStateResponseDto.md index 8e52554..b1fec0a 100644 --- a/generated/immich/openapi_client/docs/ReverseGeocodingStateResponseDto.md +++ b/generated/immich/openapi_client/docs/ReverseGeocodingStateResponseDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**last_import_file_name** | **str** | | -**last_update** | **str** | | +**last_import_file_name** | **str** | Last import file name | +**last_update** | **str** | Last update timestamp | ## Example diff --git a/generated/immich/openapi_client/docs/SearchAlbumResponseDto.md b/generated/immich/openapi_client/docs/SearchAlbumResponseDto.md index d50c5d8..558a7b5 100644 --- a/generated/immich/openapi_client/docs/SearchAlbumResponseDto.md +++ b/generated/immich/openapi_client/docs/SearchAlbumResponseDto.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**count** | **int** | | +**count** | **int** | Number of albums in this page | **facets** | [**List[SearchFacetResponseDto]**](SearchFacetResponseDto.md) | | **items** | [**List[AlbumResponseDto]**](AlbumResponseDto.md) | | -**total** | **int** | | +**total** | **int** | Total number of matching albums | ## Example diff --git a/generated/immich/openapi_client/docs/SearchApi.md b/generated/immich/openapi_client/docs/SearchApi.md index 27f9595..4127dc1 100644 --- a/generated/immich/openapi_client/docs/SearchApi.md +++ b/generated/immich/openapi_client/docs/SearchApi.md @@ -4,19 +4,25 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_assets_by_city**](SearchApi.md#get_assets_by_city) | **GET** /search/cities | -[**get_explore_data**](SearchApi.md#get_explore_data) | **GET** /search/explore | -[**get_search_suggestions**](SearchApi.md#get_search_suggestions) | **GET** /search/suggestions | -[**search_assets**](SearchApi.md#search_assets) | **POST** /search/metadata | -[**search_person**](SearchApi.md#search_person) | **GET** /search/person | -[**search_places**](SearchApi.md#search_places) | **GET** /search/places | -[**search_random**](SearchApi.md#search_random) | **POST** /search/random | -[**search_smart**](SearchApi.md#search_smart) | **POST** /search/smart | +[**get_assets_by_city**](SearchApi.md#get_assets_by_city) | **GET** /search/cities | Retrieve assets by city +[**get_explore_data**](SearchApi.md#get_explore_data) | **GET** /search/explore | Retrieve explore data +[**get_search_suggestions**](SearchApi.md#get_search_suggestions) | **GET** /search/suggestions | Retrieve search suggestions +[**search_asset_statistics**](SearchApi.md#search_asset_statistics) | **POST** /search/statistics | Search asset statistics +[**search_assets**](SearchApi.md#search_assets) | **POST** /search/metadata | Search assets by metadata +[**search_large_assets**](SearchApi.md#search_large_assets) | **POST** /search/large-assets | Search large assets +[**search_person**](SearchApi.md#search_person) | **GET** /search/person | Search people +[**search_places**](SearchApi.md#search_places) | **GET** /search/places | Search places +[**search_random**](SearchApi.md#search_random) | **POST** /search/random | Search random assets +[**search_smart**](SearchApi.md#search_smart) | **POST** /search/smart | Smart asset search # **get_assets_by_city** > List[AssetResponseDto] get_assets_by_city() +Retrieve assets by city + +Retrieve a list of assets with each asset belonging to a different city. This endpoint is used on the places pages to show a single thumbnail for each city the user has assets in. + ### Example * Api Key Authentication (cookie): @@ -63,6 +69,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SearchApi(api_client) try: + # Retrieve assets by city api_response = api_instance.get_assets_by_city() print("The response of SearchApi->get_assets_by_city:\n") pprint(api_response) @@ -100,6 +107,10 @@ This endpoint does not need any parameter. # **get_explore_data** > List[SearchExploreResponseDto] get_explore_data() +Retrieve explore data + +Retrieve data for the explore section, such as popular people and places. + ### Example * Api Key Authentication (cookie): @@ -146,6 +157,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SearchApi(api_client) try: + # Retrieve explore data api_response = api_instance.get_explore_data() print("The response of SearchApi->get_explore_data:\n") pprint(api_response) @@ -181,7 +193,11 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_search_suggestions** -> List[str] get_search_suggestions(type, country=country, include_null=include_null, make=make, model=model, state=state) +> List[str] get_search_suggestions(type, country=country, include_null=include_null, lens_model=lens_model, make=make, model=model, state=state) + +Retrieve search suggestions + +Retrieve search suggestions based on partial input. This endpoint is used for typeahead search features. ### Example @@ -228,14 +244,16 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SearchApi(api_client) type = generated.immich.openapi_client.SearchSuggestionType() # SearchSuggestionType | - country = 'country_example' # str | (optional) - include_null = True # bool | This property was added in v111.0.0 (optional) - make = 'make_example' # str | (optional) - model = 'model_example' # str | (optional) - state = 'state_example' # str | (optional) + country = 'country_example' # str | Filter by country (optional) + include_null = True # bool | Include null values in suggestions (optional) + lens_model = 'lens_model_example' # str | Filter by lens model (optional) + make = 'make_example' # str | Filter by camera make (optional) + model = 'model_example' # str | Filter by camera model (optional) + state = 'state_example' # str | Filter by state/province (optional) try: - api_response = api_instance.get_search_suggestions(type, country=country, include_null=include_null, make=make, model=model, state=state) + # Retrieve search suggestions + api_response = api_instance.get_search_suggestions(type, country=country, include_null=include_null, lens_model=lens_model, make=make, model=model, state=state) print("The response of SearchApi->get_search_suggestions:\n") pprint(api_response) except Exception as e: @@ -250,11 +268,12 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **type** | [**SearchSuggestionType**](.md)| | - **country** | **str**| | [optional] - **include_null** | **bool**| This property was added in v111.0.0 | [optional] - **make** | **str**| | [optional] - **model** | **str**| | [optional] - **state** | **str**| | [optional] + **country** | **str**| Filter by country | [optional] + **include_null** | **bool**| Include null values in suggestions | [optional] + **lens_model** | **str**| Filter by lens model | [optional] + **make** | **str**| Filter by camera make | [optional] + **model** | **str**| Filter by camera model | [optional] + **state** | **str**| Filter by state/province | [optional] ### Return type @@ -277,9 +296,106 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **search_asset_statistics** +> SearchStatisticsResponseDto search_asset_statistics(statistics_search_dto) + +Search asset statistics + +Retrieve statistical data about assets based on search criteria, such as the total matching count. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.search_statistics_response_dto import SearchStatisticsResponseDto +from generated.immich.openapi_client.models.statistics_search_dto import StatisticsSearchDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.SearchApi(api_client) + statistics_search_dto = generated.immich.openapi_client.StatisticsSearchDto() # StatisticsSearchDto | + + try: + # Search asset statistics + api_response = api_instance.search_asset_statistics(statistics_search_dto) + print("The response of SearchApi->search_asset_statistics:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SearchApi->search_asset_statistics: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **statistics_search_dto** | [**StatisticsSearchDto**](StatisticsSearchDto.md)| | + +### Return type + +[**SearchStatisticsResponseDto**](SearchStatisticsResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **search_assets** > SearchResponseDto search_assets(metadata_search_dto) +Search assets by metadata + +Search for assets based on various metadata criteria. + ### Example * Api Key Authentication (cookie): @@ -328,6 +444,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: metadata_search_dto = generated.immich.openapi_client.MetadataSearchDto() # MetadataSearchDto | try: + # Search assets by metadata api_response = api_instance.search_assets(metadata_search_dto) print("The response of SearchApi->search_assets:\n") pprint(api_response) @@ -365,9 +482,167 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **search_large_assets** +> List[AssetResponseDto] search_large_assets(album_ids=album_ids, city=city, country=country, created_after=created_after, created_before=created_before, is_encoded=is_encoded, is_favorite=is_favorite, is_motion=is_motion, is_not_in_album=is_not_in_album, is_offline=is_offline, lens_model=lens_model, library_id=library_id, make=make, min_file_size=min_file_size, model=model, ocr=ocr, person_ids=person_ids, rating=rating, size=size, state=state, tag_ids=tag_ids, taken_after=taken_after, taken_before=taken_before, trashed_after=trashed_after, trashed_before=trashed_before, type=type, updated_after=updated_after, updated_before=updated_before, visibility=visibility, with_deleted=with_deleted, with_exif=with_exif) + +Search large assets + +Search for assets that are considered large based on specified criteria. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.SearchApi(api_client) + album_ids = None # List[UUID] | Filter by album IDs (optional) + city = 'city_example' # str | Filter by city name (optional) + country = 'country_example' # str | Filter by country name (optional) + created_after = '2024-01-01T00:00Z' # datetime | Filter by creation date (after) (optional) + created_before = '2024-01-01T00:00Z' # datetime | Filter by creation date (before) (optional) + is_encoded = True # bool | Filter by encoded status (optional) + is_favorite = True # bool | Filter by favorite status (optional) + is_motion = True # bool | Filter by motion photo status (optional) + is_not_in_album = True # bool | Filter assets not in any album (optional) + is_offline = True # bool | Filter by offline status (optional) + lens_model = 'lens_model_example' # str | Filter by lens model (optional) + library_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Library ID to filter by (optional) + make = 'make_example' # str | Filter by camera make (optional) + min_file_size = 56 # int | Minimum file size in bytes (optional) + model = 'model_example' # str | Filter by camera model (optional) + ocr = 'ocr_example' # str | Filter by OCR text content (optional) + person_ids = None # List[UUID] | Filter by person IDs (optional) + rating = 56 # int | Filter by rating [1-5], or null for unrated (optional) + size = 56 # int | Number of results to return (optional) + state = 'state_example' # str | Filter by state/province name (optional) + tag_ids = None # List[UUID] | Filter by tag IDs (optional) + taken_after = '2024-01-01T00:00Z' # datetime | Filter by taken date (after) (optional) + taken_before = '2024-01-01T00:00Z' # datetime | Filter by taken date (before) (optional) + trashed_after = '2024-01-01T00:00Z' # datetime | Filter by trash date (after) (optional) + trashed_before = '2024-01-01T00:00Z' # datetime | Filter by trash date (before) (optional) + type = generated.immich.openapi_client.AssetTypeEnum() # AssetTypeEnum | (optional) + updated_after = '2024-01-01T00:00Z' # datetime | Filter by update date (after) (optional) + updated_before = '2024-01-01T00:00Z' # datetime | Filter by update date (before) (optional) + visibility = generated.immich.openapi_client.AssetVisibility() # AssetVisibility | (optional) + with_deleted = True # bool | Include deleted assets (optional) + with_exif = True # bool | Include EXIF data in response (optional) + + try: + # Search large assets + api_response = api_instance.search_large_assets(album_ids=album_ids, city=city, country=country, created_after=created_after, created_before=created_before, is_encoded=is_encoded, is_favorite=is_favorite, is_motion=is_motion, is_not_in_album=is_not_in_album, is_offline=is_offline, lens_model=lens_model, library_id=library_id, make=make, min_file_size=min_file_size, model=model, ocr=ocr, person_ids=person_ids, rating=rating, size=size, state=state, tag_ids=tag_ids, taken_after=taken_after, taken_before=taken_before, trashed_after=trashed_after, trashed_before=trashed_before, type=type, updated_after=updated_after, updated_before=updated_before, visibility=visibility, with_deleted=with_deleted, with_exif=with_exif) + print("The response of SearchApi->search_large_assets:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SearchApi->search_large_assets: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **album_ids** | [**List[UUID]**](UUID.md)| Filter by album IDs | [optional] + **city** | **str**| Filter by city name | [optional] + **country** | **str**| Filter by country name | [optional] + **created_after** | **datetime**| Filter by creation date (after) | [optional] + **created_before** | **datetime**| Filter by creation date (before) | [optional] + **is_encoded** | **bool**| Filter by encoded status | [optional] + **is_favorite** | **bool**| Filter by favorite status | [optional] + **is_motion** | **bool**| Filter by motion photo status | [optional] + **is_not_in_album** | **bool**| Filter assets not in any album | [optional] + **is_offline** | **bool**| Filter by offline status | [optional] + **lens_model** | **str**| Filter by lens model | [optional] + **library_id** | **UUID**| Library ID to filter by | [optional] + **make** | **str**| Filter by camera make | [optional] + **min_file_size** | **int**| Minimum file size in bytes | [optional] + **model** | **str**| Filter by camera model | [optional] + **ocr** | **str**| Filter by OCR text content | [optional] + **person_ids** | [**List[UUID]**](UUID.md)| Filter by person IDs | [optional] + **rating** | **int**| Filter by rating [1-5], or null for unrated | [optional] + **size** | **int**| Number of results to return | [optional] + **state** | **str**| Filter by state/province name | [optional] + **tag_ids** | [**List[UUID]**](UUID.md)| Filter by tag IDs | [optional] + **taken_after** | **datetime**| Filter by taken date (after) | [optional] + **taken_before** | **datetime**| Filter by taken date (before) | [optional] + **trashed_after** | **datetime**| Filter by trash date (after) | [optional] + **trashed_before** | **datetime**| Filter by trash date (before) | [optional] + **type** | [**AssetTypeEnum**](.md)| | [optional] + **updated_after** | **datetime**| Filter by update date (after) | [optional] + **updated_before** | **datetime**| Filter by update date (before) | [optional] + **visibility** | [**AssetVisibility**](.md)| | [optional] + **with_deleted** | **bool**| Include deleted assets | [optional] + **with_exif** | **bool**| Include EXIF data in response | [optional] + +### Return type + +[**List[AssetResponseDto]**](AssetResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **search_person** > List[PersonResponseDto] search_person(name, with_hidden=with_hidden) +Search people + +Search for people by name. + ### Example * Api Key Authentication (cookie): @@ -412,10 +687,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SearchApi(api_client) - name = 'name_example' # str | - with_hidden = True # bool | (optional) + name = 'name_example' # str | Person name to search for + with_hidden = True # bool | Include hidden people (optional) try: + # Search people api_response = api_instance.search_person(name, with_hidden=with_hidden) print("The response of SearchApi->search_person:\n") pprint(api_response) @@ -430,8 +706,8 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **name** | **str**| | - **with_hidden** | **bool**| | [optional] + **name** | **str**| Person name to search for | + **with_hidden** | **bool**| Include hidden people | [optional] ### Return type @@ -457,6 +733,10 @@ Name | Type | Description | Notes # **search_places** > List[PlacesResponseDto] search_places(name) +Search places + +Search for places by name. + ### Example * Api Key Authentication (cookie): @@ -501,9 +781,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SearchApi(api_client) - name = 'name_example' # str | + name = 'name_example' # str | Place name to search for try: + # Search places api_response = api_instance.search_places(name) print("The response of SearchApi->search_places:\n") pprint(api_response) @@ -518,7 +799,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **name** | **str**| | + **name** | **str**| Place name to search for | ### Return type @@ -544,6 +825,10 @@ Name | Type | Description | Notes # **search_random** > List[AssetResponseDto] search_random(random_search_dto) +Search random assets + +Retrieve a random selection of assets based on the provided criteria. + ### Example * Api Key Authentication (cookie): @@ -592,6 +877,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: random_search_dto = generated.immich.openapi_client.RandomSearchDto() # RandomSearchDto | try: + # Search random assets api_response = api_instance.search_random(random_search_dto) print("The response of SearchApi->search_random:\n") pprint(api_response) @@ -632,6 +918,10 @@ Name | Type | Description | Notes # **search_smart** > SearchResponseDto search_smart(smart_search_dto) +Smart asset search + +Perform a smart search for assets by using machine learning vectors to determine relevance. + ### Example * Api Key Authentication (cookie): @@ -680,6 +970,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: smart_search_dto = generated.immich.openapi_client.SmartSearchDto() # SmartSearchDto | try: + # Smart asset search api_response = api_instance.search_smart(smart_search_dto) print("The response of SearchApi->search_smart:\n") pprint(api_response) diff --git a/generated/immich/openapi_client/docs/SearchAssetResponseDto.md b/generated/immich/openapi_client/docs/SearchAssetResponseDto.md index 5a907a1..a80d1b4 100644 --- a/generated/immich/openapi_client/docs/SearchAssetResponseDto.md +++ b/generated/immich/openapi_client/docs/SearchAssetResponseDto.md @@ -5,11 +5,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**count** | **int** | | +**count** | **int** | Number of assets in this page | **facets** | [**List[SearchFacetResponseDto]**](SearchFacetResponseDto.md) | | **items** | [**List[AssetResponseDto]**](AssetResponseDto.md) | | -**next_page** | **str** | | -**total** | **int** | | +**next_page** | **str** | Next page token | +**total** | **int** | Total number of matching assets | ## Example diff --git a/generated/immich/openapi_client/docs/SearchExploreItem.md b/generated/immich/openapi_client/docs/SearchExploreItem.md index d6ccbe9..2bb219e 100644 --- a/generated/immich/openapi_client/docs/SearchExploreItem.md +++ b/generated/immich/openapi_client/docs/SearchExploreItem.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **data** | [**AssetResponseDto**](AssetResponseDto.md) | | -**value** | **str** | | +**value** | **str** | Explore value | ## Example diff --git a/generated/immich/openapi_client/docs/SearchExploreResponseDto.md b/generated/immich/openapi_client/docs/SearchExploreResponseDto.md index 0728d82..0e01a8a 100644 --- a/generated/immich/openapi_client/docs/SearchExploreResponseDto.md +++ b/generated/immich/openapi_client/docs/SearchExploreResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**field_name** | **str** | | +**field_name** | **str** | Explore field name | **items** | [**List[SearchExploreItem]**](SearchExploreItem.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/SearchFacetCountResponseDto.md b/generated/immich/openapi_client/docs/SearchFacetCountResponseDto.md index 208dc31..deab6b0 100644 --- a/generated/immich/openapi_client/docs/SearchFacetCountResponseDto.md +++ b/generated/immich/openapi_client/docs/SearchFacetCountResponseDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**count** | **int** | | -**value** | **str** | | +**count** | **int** | Number of assets with this facet value | +**value** | **str** | Facet value | ## Example diff --git a/generated/immich/openapi_client/docs/SearchFacetResponseDto.md b/generated/immich/openapi_client/docs/SearchFacetResponseDto.md index dd6b75b..28df571 100644 --- a/generated/immich/openapi_client/docs/SearchFacetResponseDto.md +++ b/generated/immich/openapi_client/docs/SearchFacetResponseDto.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **counts** | [**List[SearchFacetCountResponseDto]**](SearchFacetCountResponseDto.md) | | -**field_name** | **str** | | +**field_name** | **str** | Facet field name | ## Example diff --git a/generated/immich/openapi_client/docs/SearchSuggestionType.md b/generated/immich/openapi_client/docs/SearchSuggestionType.md index 5495ffa..da9b6cc 100644 --- a/generated/immich/openapi_client/docs/SearchSuggestionType.md +++ b/generated/immich/openapi_client/docs/SearchSuggestionType.md @@ -1,5 +1,6 @@ # SearchSuggestionType +Suggestion type ## Enum @@ -13,6 +14,8 @@ * `CAMERA_MINUS_MODEL` (value: `'camera-model'`) +* `CAMERA_MINUS_LENS_MINUS_MODEL` (value: `'camera-lens-model'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generated/immich/openapi_client/docs/ServerAboutResponseDto.md b/generated/immich/openapi_client/docs/ServerAboutResponseDto.md index b08f0a5..48c8168 100644 --- a/generated/immich/openapi_client/docs/ServerAboutResponseDto.md +++ b/generated/immich/openapi_client/docs/ServerAboutResponseDto.md @@ -5,27 +5,27 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**build** | **str** | | [optional] -**build_image** | **str** | | [optional] -**build_image_url** | **str** | | [optional] -**build_url** | **str** | | [optional] -**exiftool** | **str** | | [optional] -**ffmpeg** | **str** | | [optional] -**imagemagick** | **str** | | [optional] -**libvips** | **str** | | [optional] -**licensed** | **bool** | | -**nodejs** | **str** | | [optional] -**repository** | **str** | | [optional] -**repository_url** | **str** | | [optional] -**source_commit** | **str** | | [optional] -**source_ref** | **str** | | [optional] -**source_url** | **str** | | [optional] -**third_party_bug_feature_url** | **str** | | [optional] -**third_party_documentation_url** | **str** | | [optional] -**third_party_source_url** | **str** | | [optional] -**third_party_support_url** | **str** | | [optional] -**version** | **str** | | -**version_url** | **str** | | +**build** | **str** | Build identifier | [optional] +**build_image** | **str** | Build image name | [optional] +**build_image_url** | **str** | Build image URL | [optional] +**build_url** | **str** | Build URL | [optional] +**exiftool** | **str** | ExifTool version | [optional] +**ffmpeg** | **str** | FFmpeg version | [optional] +**imagemagick** | **str** | ImageMagick version | [optional] +**libvips** | **str** | libvips version | [optional] +**licensed** | **bool** | Whether the server is licensed | +**nodejs** | **str** | Node.js version | [optional] +**repository** | **str** | Repository name | [optional] +**repository_url** | **str** | Repository URL | [optional] +**source_commit** | **str** | Source commit hash | [optional] +**source_ref** | **str** | Source reference (branch/tag) | [optional] +**source_url** | **str** | Source URL | [optional] +**third_party_bug_feature_url** | **str** | Third-party bug/feature URL | [optional] +**third_party_documentation_url** | **str** | Third-party documentation URL | [optional] +**third_party_source_url** | **str** | Third-party source URL | [optional] +**third_party_support_url** | **str** | Third-party support URL | [optional] +**version** | **str** | Server version | +**version_url** | **str** | URL to version information | ## Example diff --git a/generated/immich/openapi_client/docs/ServerApi.md b/generated/immich/openapi_client/docs/ServerApi.md index ea34b5b..16090c5 100644 --- a/generated/immich/openapi_client/docs/ServerApi.md +++ b/generated/immich/openapi_client/docs/ServerApi.md @@ -4,24 +4,29 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**delete_server_license**](ServerApi.md#delete_server_license) | **DELETE** /server/license | -[**get_about_info**](ServerApi.md#get_about_info) | **GET** /server/about | -[**get_server_config**](ServerApi.md#get_server_config) | **GET** /server/config | -[**get_server_features**](ServerApi.md#get_server_features) | **GET** /server/features | -[**get_server_license**](ServerApi.md#get_server_license) | **GET** /server/license | -[**get_server_statistics**](ServerApi.md#get_server_statistics) | **GET** /server/statistics | -[**get_server_version**](ServerApi.md#get_server_version) | **GET** /server/version | -[**get_storage**](ServerApi.md#get_storage) | **GET** /server/storage | -[**get_supported_media_types**](ServerApi.md#get_supported_media_types) | **GET** /server/media-types | -[**get_theme**](ServerApi.md#get_theme) | **GET** /server/theme | -[**get_version_history**](ServerApi.md#get_version_history) | **GET** /server/version-history | -[**ping_server**](ServerApi.md#ping_server) | **GET** /server/ping | -[**set_server_license**](ServerApi.md#set_server_license) | **PUT** /server/license | +[**delete_server_license**](ServerApi.md#delete_server_license) | **DELETE** /server/license | Delete server product key +[**get_about_info**](ServerApi.md#get_about_info) | **GET** /server/about | Get server information +[**get_apk_links**](ServerApi.md#get_apk_links) | **GET** /server/apk-links | Get APK links +[**get_server_config**](ServerApi.md#get_server_config) | **GET** /server/config | Get config +[**get_server_features**](ServerApi.md#get_server_features) | **GET** /server/features | Get features +[**get_server_license**](ServerApi.md#get_server_license) | **GET** /server/license | Get product key +[**get_server_statistics**](ServerApi.md#get_server_statistics) | **GET** /server/statistics | Get statistics +[**get_server_version**](ServerApi.md#get_server_version) | **GET** /server/version | Get server version +[**get_storage**](ServerApi.md#get_storage) | **GET** /server/storage | Get storage +[**get_supported_media_types**](ServerApi.md#get_supported_media_types) | **GET** /server/media-types | Get supported media types +[**get_version_check**](ServerApi.md#get_version_check) | **GET** /server/version-check | Get version check status +[**get_version_history**](ServerApi.md#get_version_history) | **GET** /server/version-history | Get version history +[**ping_server**](ServerApi.md#ping_server) | **GET** /server/ping | Ping +[**set_server_license**](ServerApi.md#set_server_license) | **PUT** /server/license | Set server product key # **delete_server_license** > delete_server_license() +Delete server product key + +Delete the currently set server product key. + ### Example * Api Key Authentication (cookie): @@ -67,6 +72,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: + # Delete server product key api_instance.delete_server_license() except Exception as e: print("Exception when calling ServerApi->delete_server_license: %s\n" % e) @@ -95,13 +101,17 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | | - | +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_about_info** > ServerAboutResponseDto get_about_info() +Get server information + +Retrieve a list of information about the server. + ### Example * Api Key Authentication (cookie): @@ -148,6 +158,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: + # Get server information api_response = api_instance.get_about_info() print("The response of ServerApi->get_about_info:\n") pprint(api_response) @@ -182,126 +193,12 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_server_config** -> ServerConfigDto get_server_config() +# **get_apk_links** +> ServerApkLinksDto get_apk_links() -### Example +Get APK links - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.server_config_dto import ServerConfigDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.ServerApi(api_client) - - try: - api_response = api_instance.get_server_config() - print("The response of ServerApi->get_server_config:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ServerApi->get_server_config: %s\n" % e) -``` - - - -### Parameters - -This endpoint does not need any parameter. - -### Return type - -[**ServerConfigDto**](ServerConfigDto.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_server_features** -> ServerFeaturesDto get_server_features() - -### Example - - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.server_features_dto import ServerFeaturesDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.ServerApi(api_client) - - try: - api_response = api_instance.get_server_features() - print("The response of ServerApi->get_server_features:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ServerApi->get_server_features: %s\n" % e) -``` - - - -### Parameters - -This endpoint does not need any parameter. - -### Return type - -[**ServerFeaturesDto**](ServerFeaturesDto.md) - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_server_license** -> LicenseResponseDto get_server_license() +Retrieve links to the APKs for the current server version. ### Example @@ -311,7 +208,7 @@ No authorization required ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.license_response_dto import LicenseResponseDto +from generated.immich.openapi_client.models.server_apk_links_dto import ServerApkLinksDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -349,6 +246,223 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: + # Get APK links + api_response = api_instance.get_apk_links() + print("The response of ServerApi->get_apk_links:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServerApi->get_apk_links: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ServerApkLinksDto**](ServerApkLinksDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_server_config** +> ServerConfigDto get_server_config() + +Get config + +Retrieve the current server configuration. + +### Example + + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.server_config_dto import ServerConfigDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.ServerApi(api_client) + + try: + # Get config + api_response = api_instance.get_server_config() + print("The response of ServerApi->get_server_config:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServerApi->get_server_config: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ServerConfigDto**](ServerConfigDto.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_server_features** +> ServerFeaturesDto get_server_features() + +Get features + +Retrieve available features supported by this server. + +### Example + + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.server_features_dto import ServerFeaturesDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.ServerApi(api_client) + + try: + # Get features + api_response = api_instance.get_server_features() + print("The response of ServerApi->get_server_features:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServerApi->get_server_features: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ServerFeaturesDto**](ServerFeaturesDto.md) + +### Authorization + +No authorization required + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_server_license** +> UserLicense get_server_license() + +Get product key + +Retrieve information about whether the server currently has a product key registered. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.user_license import UserLicense +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.ServerApi(api_client) + + try: + # Get product key api_response = api_instance.get_server_license() print("The response of ServerApi->get_server_license:\n") pprint(api_response) @@ -364,7 +478,7 @@ This endpoint does not need any parameter. ### Return type -[**LicenseResponseDto**](LicenseResponseDto.md) +[**UserLicense**](UserLicense.md) ### Authorization @@ -387,6 +501,10 @@ This endpoint does not need any parameter. # **get_server_statistics** > ServerStatsResponseDto get_server_statistics() +Get statistics + +Retrieve statistics about the entire Immich instance such as asset counts. + ### Example * Api Key Authentication (cookie): @@ -433,6 +551,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: + # Get statistics api_response = api_instance.get_server_statistics() print("The response of ServerApi->get_server_statistics:\n") pprint(api_response) @@ -470,6 +589,10 @@ This endpoint does not need any parameter. # **get_server_version** > ServerVersionResponseDto get_server_version() +Get server version + +Retrieve the current server version in semantic versioning (semver) format. + ### Example @@ -492,6 +615,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: + # Get server version api_response = api_instance.get_server_version() print("The response of ServerApi->get_server_version:\n") pprint(api_response) @@ -529,6 +653,10 @@ No authorization required # **get_storage** > ServerStorageResponseDto get_storage() +Get storage + +Retrieve the current storage utilization information of the server. + ### Example * Api Key Authentication (cookie): @@ -575,6 +703,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: + # Get storage api_response = api_instance.get_storage() print("The response of ServerApi->get_storage:\n") pprint(api_response) @@ -612,6 +741,10 @@ This endpoint does not need any parameter. # **get_supported_media_types** > ServerMediaTypesResponseDto get_supported_media_types() +Get supported media types + +Retrieve all media types supported by the server. + ### Example @@ -634,6 +767,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: + # Get supported media types api_response = api_instance.get_supported_media_types() print("The response of ServerApi->get_supported_media_types:\n") pprint(api_response) @@ -668,15 +802,22 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_theme** -> ServerThemeDto get_theme() +# **get_version_check** +> VersionCheckStateResponseDto get_version_check() + +Get version check status + +Retrieve information about the last time the version check ran. ### Example +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.server_theme_dto import ServerThemeDto +from generated.immich.openapi_client.models.version_check_state_response_dto import VersionCheckStateResponseDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -686,6 +827,27 @@ configuration = generated.immich.openapi_client.Configuration( host = "https://github.com/api" ) +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) # Enter a context with an instance of the API client with generated.immich.openapi_client.ApiClient(configuration) as api_client: @@ -693,11 +855,12 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: - api_response = api_instance.get_theme() - print("The response of ServerApi->get_theme:\n") + # Get version check status + api_response = api_instance.get_version_check() + print("The response of ServerApi->get_version_check:\n") pprint(api_response) except Exception as e: - print("Exception when calling ServerApi->get_theme: %s\n" % e) + print("Exception when calling ServerApi->get_version_check: %s\n" % e) ``` @@ -708,11 +871,11 @@ This endpoint does not need any parameter. ### Return type -[**ServerThemeDto**](ServerThemeDto.md) +[**VersionCheckStateResponseDto**](VersionCheckStateResponseDto.md) ### Authorization -No authorization required +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) ### HTTP request headers @@ -730,6 +893,10 @@ No authorization required # **get_version_history** > List[ServerVersionHistoryResponseDto] get_version_history() +Get version history + +Retrieve a list of past versions the server has been on. + ### Example @@ -752,6 +919,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: + # Get version history api_response = api_instance.get_version_history() print("The response of ServerApi->get_version_history:\n") pprint(api_response) @@ -789,6 +957,10 @@ No authorization required # **ping_server** > ServerPingResponse ping_server() +Ping + +Pong + ### Example @@ -811,6 +983,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.ServerApi(api_client) try: + # Ping api_response = api_instance.ping_server() print("The response of ServerApi->ping_server:\n") pprint(api_response) @@ -846,7 +1019,11 @@ No authorization required [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **set_server_license** -> LicenseResponseDto set_server_license(license_key_dto) +> UserLicense set_server_license(license_key_dto) + +Set server product key + +Validate and set the server product key if successful. ### Example @@ -857,7 +1034,7 @@ No authorization required ```python import generated.immich.openapi_client 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.user_license import UserLicense from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -896,6 +1073,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: license_key_dto = generated.immich.openapi_client.LicenseKeyDto() # LicenseKeyDto | try: + # Set server product key api_response = api_instance.set_server_license(license_key_dto) print("The response of ServerApi->set_server_license:\n") pprint(api_response) @@ -914,7 +1092,7 @@ Name | Type | Description | Notes ### Return type -[**LicenseResponseDto**](LicenseResponseDto.md) +[**UserLicense**](UserLicense.md) ### Authorization diff --git a/generated/immich/openapi_client/docs/ServerConfigDto.md b/generated/immich/openapi_client/docs/ServerConfigDto.md index 53fa037..a47926e 100644 --- a/generated/immich/openapi_client/docs/ServerConfigDto.md +++ b/generated/immich/openapi_client/docs/ServerConfigDto.md @@ -5,16 +5,18 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**external_domain** | **str** | | -**is_initialized** | **bool** | | -**is_onboarded** | **bool** | | -**login_page_message** | **str** | | -**map_dark_style_url** | **str** | | -**map_light_style_url** | **str** | | -**oauth_button_text** | **str** | | -**public_users** | **bool** | | -**trash_days** | **int** | | -**user_delete_delay** | **int** | | +**external_domain** | **str** | External domain URL | +**is_initialized** | **bool** | Whether the server has been initialized | +**is_onboarded** | **bool** | Whether the admin has completed onboarding | +**login_page_message** | **str** | Login page message | +**maintenance_mode** | **bool** | Whether maintenance mode is active | +**map_dark_style_url** | **str** | Map dark style URL | +**map_light_style_url** | **str** | Map light style URL | +**min_faces** | **int** | People min faces server default | +**oauth_button_text** | **str** | OAuth button text | +**public_users** | **bool** | Whether public user registration is enabled | +**trash_days** | **int** | Number of days before trashed assets are permanently deleted | +**user_delete_delay** | **int** | Delay in days before deleted users are permanently removed | ## Example diff --git a/generated/immich/openapi_client/docs/ServerFeaturesDto.md b/generated/immich/openapi_client/docs/ServerFeaturesDto.md index dfbdffe..4cac96c 100644 --- a/generated/immich/openapi_client/docs/ServerFeaturesDto.md +++ b/generated/immich/openapi_client/docs/ServerFeaturesDto.md @@ -5,20 +5,22 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**config_file** | **bool** | | -**duplicate_detection** | **bool** | | -**email** | **bool** | | -**facial_recognition** | **bool** | | -**import_faces** | **bool** | | -**map** | **bool** | | -**oauth** | **bool** | | -**oauth_auto_launch** | **bool** | | -**password_login** | **bool** | | -**reverse_geocoding** | **bool** | | -**search** | **bool** | | -**sidecar** | **bool** | | -**smart_search** | **bool** | | -**trash** | **bool** | | +**config_file** | **bool** | Whether config file is available | +**duplicate_detection** | **bool** | Whether duplicate detection is enabled | +**email** | **bool** | Whether email notifications are enabled | +**facial_recognition** | **bool** | Whether facial recognition is enabled | +**import_faces** | **bool** | Whether face import is enabled | +**map** | **bool** | Whether map feature is enabled | +**oauth** | **bool** | Whether OAuth is enabled | +**oauth_auto_launch** | **bool** | Whether OAuth auto-launch is enabled | +**ocr** | **bool** | Whether OCR is enabled | +**password_login** | **bool** | Whether password login is enabled | +**realtime_transcoding** | **bool** | Whether real-time transcoding is enabled | +**reverse_geocoding** | **bool** | Whether reverse geocoding is enabled | +**search** | **bool** | Whether search is enabled | +**sidecar** | **bool** | Whether sidecar files are supported | +**smart_search** | **bool** | Whether smart search is enabled | +**trash** | **bool** | Whether trash feature is enabled | ## Example diff --git a/generated/immich/openapi_client/docs/ServerMediaTypesResponseDto.md b/generated/immich/openapi_client/docs/ServerMediaTypesResponseDto.md index 5fee9dc..8cec90c 100644 --- a/generated/immich/openapi_client/docs/ServerMediaTypesResponseDto.md +++ b/generated/immich/openapi_client/docs/ServerMediaTypesResponseDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**image** | **List[str]** | | -**sidecar** | **List[str]** | | -**video** | **List[str]** | | +**image** | **List[str]** | Supported image MIME types | +**sidecar** | **List[str]** | Supported sidecar MIME types | +**video** | **List[str]** | Supported video MIME types | ## Example diff --git a/generated/immich/openapi_client/docs/ServerPingResponse.md b/generated/immich/openapi_client/docs/ServerPingResponse.md index 272f3ac..4a998d2 100644 --- a/generated/immich/openapi_client/docs/ServerPingResponse.md +++ b/generated/immich/openapi_client/docs/ServerPingResponse.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**res** | **str** | | [readonly] +**res** | **str** | | ## Example diff --git a/generated/immich/openapi_client/docs/ServerStatsResponseDto.md b/generated/immich/openapi_client/docs/ServerStatsResponseDto.md index f48261e..c8f4614 100644 --- a/generated/immich/openapi_client/docs/ServerStatsResponseDto.md +++ b/generated/immich/openapi_client/docs/ServerStatsResponseDto.md @@ -5,12 +5,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**photos** | **int** | | [default to 0] -**usage** | **int** | | [default to 0] -**usage_by_user** | [**List[UsageByUserDto]**](UsageByUserDto.md) | | [default to []] -**usage_photos** | **int** | | [default to 0] -**usage_videos** | **int** | | [default to 0] -**videos** | **int** | | [default to 0] +**photos** | **int** | Total number of photos | +**usage** | **int** | Total storage usage in bytes | +**usage_by_user** | [**List[UsageByUserDto]**](UsageByUserDto.md) | Array of usage for each user | +**usage_photos** | **int** | Storage usage for photos in bytes | +**usage_videos** | **int** | Storage usage for videos in bytes | +**videos** | **int** | Total number of videos | ## Example diff --git a/generated/immich/openapi_client/docs/ServerStorageResponseDto.md b/generated/immich/openapi_client/docs/ServerStorageResponseDto.md index 011257e..17078c4 100644 --- a/generated/immich/openapi_client/docs/ServerStorageResponseDto.md +++ b/generated/immich/openapi_client/docs/ServerStorageResponseDto.md @@ -5,13 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**disk_available** | **str** | | -**disk_available_raw** | **int** | | -**disk_size** | **str** | | -**disk_size_raw** | **int** | | -**disk_usage_percentage** | **float** | | -**disk_use** | **str** | | -**disk_use_raw** | **int** | | +**disk_available** | **str** | Available disk space (human-readable format) | +**disk_available_raw** | **int** | Available disk space in bytes | +**disk_size** | **str** | Total disk size (human-readable format) | +**disk_size_raw** | **int** | Total disk size in bytes | +**disk_usage_percentage** | **float** | Disk usage percentage (0-100) | +**disk_use** | **str** | Used disk space (human-readable format) | +**disk_use_raw** | **int** | Used disk space in bytes | ## Example diff --git a/generated/immich/openapi_client/docs/ServerThemeDto.md b/generated/immich/openapi_client/docs/ServerThemeDto.md deleted file mode 100644 index 0067d2b..0000000 --- a/generated/immich/openapi_client/docs/ServerThemeDto.md +++ /dev/null @@ -1,29 +0,0 @@ -# ServerThemeDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**custom_css** | **str** | | - -## Example - -```python -from generated.immich.openapi_client.models.server_theme_dto import ServerThemeDto - -# TODO update the JSON string below -json = "{}" -# create an instance of ServerThemeDto from a JSON string -server_theme_dto_instance = ServerThemeDto.from_json(json) -# print the JSON string representation of the object -print(ServerThemeDto.to_json()) - -# convert the object into a dict -server_theme_dto_dict = server_theme_dto_instance.to_dict() -# create an instance of ServerThemeDto from a dict -server_theme_dto_from_dict = ServerThemeDto.from_dict(server_theme_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/ServerVersionHistoryResponseDto.md b/generated/immich/openapi_client/docs/ServerVersionHistoryResponseDto.md index 1c61da4..235b53e 100644 --- a/generated/immich/openapi_client/docs/ServerVersionHistoryResponseDto.md +++ b/generated/immich/openapi_client/docs/ServerVersionHistoryResponseDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**created_at** | **datetime** | | -**id** | **str** | | -**version** | **str** | | +**created_at** | **datetime** | When this version was first seen | +**id** | **UUID** | Version history entry ID | +**version** | **str** | Version string | ## Example diff --git a/generated/immich/openapi_client/docs/ServerVersionResponseDto.md b/generated/immich/openapi_client/docs/ServerVersionResponseDto.md index 6a8d02f..2ae754c 100644 --- a/generated/immich/openapi_client/docs/ServerVersionResponseDto.md +++ b/generated/immich/openapi_client/docs/ServerVersionResponseDto.md @@ -5,9 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**major** | **int** | | -**minor** | **int** | | -**patch** | **int** | | +**major** | **int** | Major version number | +**minor** | **int** | Minor version number | +**patch** | **int** | Patch version number | +**prerelease** | **int** | Pre-release version number | ## Example diff --git a/generated/immich/openapi_client/docs/SessionResponseDto.md b/generated/immich/openapi_client/docs/SessionResponseDto.md index f48b9c7..cbe0bd7 100644 --- a/generated/immich/openapi_client/docs/SessionResponseDto.md +++ b/generated/immich/openapi_client/docs/SessionResponseDto.md @@ -5,12 +5,15 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**created_at** | **str** | | -**current** | **bool** | | -**device_os** | **str** | | -**device_type** | **str** | | -**id** | **str** | | -**updated_at** | **str** | | +**app_version** | **str** | App version | +**created_at** | **str** | Creation date | +**current** | **bool** | Is current session | +**device_os** | **str** | Device OS | +**device_type** | **str** | Device type | +**expires_at** | **str** | Expiration date | [optional] +**id** | **UUID** | Session ID | +**is_pending_sync_reset** | **bool** | Is pending sync reset | +**updated_at** | **str** | Last update date | ## Example diff --git a/generated/immich/openapi_client/docs/SessionsApi.md b/generated/immich/openapi_client/docs/SessionsApi.md index 809d821..26709e4 100644 --- a/generated/immich/openapi_client/docs/SessionsApi.md +++ b/generated/immich/openapi_client/docs/SessionsApi.md @@ -4,14 +4,114 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**delete_all_sessions**](SessionsApi.md#delete_all_sessions) | **DELETE** /sessions | -[**delete_session**](SessionsApi.md#delete_session) | **DELETE** /sessions/{id} | -[**get_sessions**](SessionsApi.md#get_sessions) | **GET** /sessions | +[**create_session**](SessionsApi.md#create_session) | **POST** /sessions | Create a session +[**delete_all_sessions**](SessionsApi.md#delete_all_sessions) | **DELETE** /sessions | Delete all sessions +[**delete_session**](SessionsApi.md#delete_session) | **DELETE** /sessions/{id} | Delete a session +[**get_sessions**](SessionsApi.md#get_sessions) | **GET** /sessions | Retrieve sessions +[**lock_session**](SessionsApi.md#lock_session) | **POST** /sessions/{id}/lock | Lock a session +[**update_session**](SessionsApi.md#update_session) | **PUT** /sessions/{id} | Update a session +# **create_session** +> SessionCreateResponseDto create_session(session_create_dto) + +Create a session + +Create a session as a child to the current session. This endpoint is used for casting. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.SessionsApi(api_client) + session_create_dto = generated.immich.openapi_client.SessionCreateDto() # SessionCreateDto | + + try: + # Create a session + api_response = api_instance.create_session(session_create_dto) + print("The response of SessionsApi->create_session:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SessionsApi->create_session: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **session_create_dto** | [**SessionCreateDto**](SessionCreateDto.md)| | + +### Return type + +[**SessionCreateResponseDto**](SessionCreateResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **delete_all_sessions** > delete_all_sessions() +Delete all sessions + +Delete all sessions for the user. This will not delete the current session. + ### Example * Api Key Authentication (cookie): @@ -57,6 +157,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SessionsApi(api_client) try: + # Delete all sessions api_instance.delete_all_sessions() except Exception as e: print("Exception when calling SessionsApi->delete_all_sessions: %s\n" % e) @@ -92,6 +193,10 @@ void (empty response body) # **delete_session** > delete_session(id) +Delete a session + +Delete a specific session by id. + ### Example * Api Key Authentication (cookie): @@ -135,9 +240,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SessionsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Delete a session api_instance.delete_session(id) except Exception as e: print("Exception when calling SessionsApi->delete_session: %s\n" % e) @@ -150,7 +256,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -176,6 +282,10 @@ void (empty response body) # **get_sessions** > List[SessionResponseDto] get_sessions() +Retrieve sessions + +Retrieve a list of sessions for the user. + ### Example * Api Key Authentication (cookie): @@ -222,6 +332,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SessionsApi(api_client) try: + # Retrieve sessions api_response = api_instance.get_sessions() print("The response of SessionsApi->get_sessions:\n") pprint(api_response) @@ -256,3 +367,187 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **lock_session** +> lock_session(id) + +Lock a session + +Lock a specific session by id. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.SessionsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + + try: + # Lock a session + api_instance.lock_session(id) + except Exception as e: + print("Exception when calling SessionsApi->lock_session: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update_session** +> SessionResponseDto update_session(id, session_update_dto) + +Update a session + +Update a specific session identified by id. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.session_response_dto import SessionResponseDto +from generated.immich.openapi_client.models.session_update_dto import SessionUpdateDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.SessionsApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + session_update_dto = generated.immich.openapi_client.SessionUpdateDto() # SessionUpdateDto | + + try: + # Update a session + api_response = api_instance.update_session(id, session_update_dto) + print("The response of SessionsApi->update_session:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SessionsApi->update_session: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **session_update_dto** | [**SessionUpdateDto**](SessionUpdateDto.md)| | + +### Return type + +[**SessionResponseDto**](SessionResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/generated/immich/openapi_client/docs/SharedLinkCreateDto.md b/generated/immich/openapi_client/docs/SharedLinkCreateDto.md index b606401..97d18bb 100644 --- a/generated/immich/openapi_client/docs/SharedLinkCreateDto.md +++ b/generated/immich/openapi_client/docs/SharedLinkCreateDto.md @@ -5,14 +5,15 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_id** | **str** | | [optional] -**allow_download** | **bool** | | [optional] [default to True] -**allow_upload** | **bool** | | [optional] -**asset_ids** | **List[str]** | | [optional] -**description** | **str** | | [optional] -**expires_at** | **datetime** | | [optional] -**password** | **str** | | [optional] -**show_metadata** | **bool** | | [optional] [default to True] +**album_id** | **UUID** | Album ID (for album sharing) | [optional] +**allow_download** | **bool** | Allow downloads | [optional] [default to True] +**allow_upload** | **bool** | Allow uploads | [optional] +**asset_ids** | **List[UUID]** | Asset IDs (for individual assets) | [optional] +**description** | **str** | Link description | [optional] +**expires_at** | **datetime** | Expiration date | [optional] +**password** | **str** | Link password | [optional] +**show_metadata** | **bool** | Show metadata | [optional] [default to True] +**slug** | **str** | Custom URL slug | [optional] **type** | [**SharedLinkType**](SharedLinkType.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/SharedLinkEditDto.md b/generated/immich/openapi_client/docs/SharedLinkEditDto.md index 282d27e..45a26c6 100644 --- a/generated/immich/openapi_client/docs/SharedLinkEditDto.md +++ b/generated/immich/openapi_client/docs/SharedLinkEditDto.md @@ -5,13 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**allow_download** | **bool** | | [optional] -**allow_upload** | **bool** | | [optional] -**change_expiry_time** | **bool** | Few clients cannot send null to set the expiryTime to never. Setting this flag and not sending expiryAt is considered as null instead. Clients that can send null values can ignore this. | [optional] -**description** | **str** | | [optional] -**expires_at** | **datetime** | | [optional] -**password** | **str** | | [optional] -**show_metadata** | **bool** | | [optional] +**allow_download** | **bool** | Allow downloads | [optional] +**allow_upload** | **bool** | Allow uploads | [optional] +**description** | **str** | Link description | [optional] +**expires_at** | **datetime** | Expiration date | [optional] +**password** | **str** | Link password | [optional] +**show_metadata** | **bool** | Show metadata | [optional] +**slug** | **str** | Custom URL slug | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/SharedLinkResponseDto.md b/generated/immich/openapi_client/docs/SharedLinkResponseDto.md index cb19b95..d428ed0 100644 --- a/generated/immich/openapi_client/docs/SharedLinkResponseDto.md +++ b/generated/immich/openapi_client/docs/SharedLinkResponseDto.md @@ -1,24 +1,25 @@ # SharedLinkResponseDto +Shared link response ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **album** | [**AlbumResponseDto**](AlbumResponseDto.md) | | [optional] -**allow_download** | **bool** | | -**allow_upload** | **bool** | | +**allow_download** | **bool** | Allow downloads | +**allow_upload** | **bool** | Allow uploads | **assets** | [**List[AssetResponseDto]**](AssetResponseDto.md) | | -**created_at** | **datetime** | | -**description** | **str** | | -**expires_at** | **datetime** | | -**id** | **str** | | -**key** | **str** | | -**password** | **str** | | -**show_metadata** | **bool** | | -**token** | **str** | | [optional] +**created_at** | **datetime** | Creation date | +**description** | **str** | Link description | +**expires_at** | **datetime** | Expiration date | +**id** | **UUID** | Shared link ID | +**key** | **str** | Encryption key (base64url) | +**password** | **str** | Has password | +**show_metadata** | **bool** | Show metadata | +**slug** | **str** | Custom URL slug | **type** | [**SharedLinkType**](SharedLinkType.md) | | -**user_id** | **str** | | +**user_id** | **UUID** | Owner user ID | ## Example diff --git a/generated/immich/openapi_client/docs/SharedLinkType.md b/generated/immich/openapi_client/docs/SharedLinkType.md index 42b8275..0ebaae6 100644 --- a/generated/immich/openapi_client/docs/SharedLinkType.md +++ b/generated/immich/openapi_client/docs/SharedLinkType.md @@ -1,5 +1,6 @@ # SharedLinkType +Shared link type ## Enum diff --git a/generated/immich/openapi_client/docs/SharedLinksApi.md b/generated/immich/openapi_client/docs/SharedLinksApi.md index 24b02be..4f72b8a 100644 --- a/generated/immich/openapi_client/docs/SharedLinksApi.md +++ b/generated/immich/openapi_client/docs/SharedLinksApi.md @@ -4,18 +4,23 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**add_shared_link_assets**](SharedLinksApi.md#add_shared_link_assets) | **PUT** /shared-links/{id}/assets | -[**create_shared_link**](SharedLinksApi.md#create_shared_link) | **POST** /shared-links | -[**get_all_shared_links**](SharedLinksApi.md#get_all_shared_links) | **GET** /shared-links | -[**get_my_shared_link**](SharedLinksApi.md#get_my_shared_link) | **GET** /shared-links/me | -[**get_shared_link_by_id**](SharedLinksApi.md#get_shared_link_by_id) | **GET** /shared-links/{id} | -[**remove_shared_link**](SharedLinksApi.md#remove_shared_link) | **DELETE** /shared-links/{id} | -[**remove_shared_link_assets**](SharedLinksApi.md#remove_shared_link_assets) | **DELETE** /shared-links/{id}/assets | -[**update_shared_link**](SharedLinksApi.md#update_shared_link) | **PATCH** /shared-links/{id} | +[**add_shared_link_assets**](SharedLinksApi.md#add_shared_link_assets) | **PUT** /shared-links/{id}/assets | Add assets to a shared link +[**create_shared_link**](SharedLinksApi.md#create_shared_link) | **POST** /shared-links | Create a shared link +[**get_all_shared_links**](SharedLinksApi.md#get_all_shared_links) | **GET** /shared-links | Retrieve all shared links +[**get_my_shared_link**](SharedLinksApi.md#get_my_shared_link) | **GET** /shared-links/me | Retrieve current shared link +[**get_shared_link_by_id**](SharedLinksApi.md#get_shared_link_by_id) | **GET** /shared-links/{id} | Retrieve a shared link +[**remove_shared_link**](SharedLinksApi.md#remove_shared_link) | **DELETE** /shared-links/{id} | Delete a shared link +[**remove_shared_link_assets**](SharedLinksApi.md#remove_shared_link_assets) | **DELETE** /shared-links/{id}/assets | Remove assets from a shared link +[**shared_link_login**](SharedLinksApi.md#shared_link_login) | **POST** /shared-links/login | Shared link login +[**update_shared_link**](SharedLinksApi.md#update_shared_link) | **PATCH** /shared-links/{id} | Update a shared link # **add_shared_link_assets** -> List[AssetIdsResponseDto] add_shared_link_assets(id, asset_ids_dto, key=key) +> List[AssetIdsResponseDto] add_shared_link_assets(id, asset_ids_dto) + +Add assets to a shared link + +Add assets to a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. ### Example @@ -62,12 +67,12 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SharedLinksApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | asset_ids_dto = generated.immich.openapi_client.AssetIdsDto() # AssetIdsDto | - key = 'key_example' # str | (optional) try: - api_response = api_instance.add_shared_link_assets(id, asset_ids_dto, key=key) + # Add assets to a shared link + api_response = api_instance.add_shared_link_assets(id, asset_ids_dto) print("The response of SharedLinksApi->add_shared_link_assets:\n") pprint(api_response) except Exception as e: @@ -81,9 +86,8 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **asset_ids_dto** | [**AssetIdsDto**](AssetIdsDto.md)| | - **key** | **str**| | [optional] ### Return type @@ -109,6 +113,10 @@ Name | Type | Description | Notes # **create_shared_link** > SharedLinkResponseDto create_shared_link(shared_link_create_dto) +Create a shared link + +Create a new shared link. + ### Example * Api Key Authentication (cookie): @@ -157,6 +165,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: shared_link_create_dto = generated.immich.openapi_client.SharedLinkCreateDto() # SharedLinkCreateDto | try: + # Create a shared link api_response = api_instance.create_shared_link(shared_link_create_dto) print("The response of SharedLinksApi->create_shared_link:\n") pprint(api_response) @@ -195,7 +204,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_all_shared_links** -> List[SharedLinkResponseDto] get_all_shared_links(album_id=album_id) +> List[SharedLinkResponseDto] get_all_shared_links(album_id=album_id, id=id) + +Retrieve all shared links + +Retrieve a list of all shared links. ### Example @@ -241,10 +254,12 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SharedLinksApi(api_client) - album_id = 'album_id_example' # str | (optional) + album_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter by album ID (optional) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter by shared link ID (optional) try: - api_response = api_instance.get_all_shared_links(album_id=album_id) + # Retrieve all shared links + api_response = api_instance.get_all_shared_links(album_id=album_id, id=id) print("The response of SharedLinksApi->get_all_shared_links:\n") pprint(api_response) except Exception as e: @@ -258,7 +273,8 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **album_id** | **str**| | [optional] + **album_id** | **UUID**| Filter by album ID | [optional] + **id** | **UUID**| Filter by shared link ID | [optional] ### Return type @@ -282,7 +298,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_my_shared_link** -> SharedLinkResponseDto get_my_shared_link(key=key, password=password, token=token) +> SharedLinkResponseDto get_my_shared_link(key=key, slug=slug) + +Retrieve current shared link + +Retrieve the current shared link associated with authentication method. ### Example @@ -329,11 +349,11 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SharedLinksApi(api_client) key = 'key_example' # str | (optional) - password = 'password' # str | (optional) - token = 'token_example' # str | (optional) + slug = 'slug_example' # str | (optional) try: - api_response = api_instance.get_my_shared_link(key=key, password=password, token=token) + # Retrieve current shared link + api_response = api_instance.get_my_shared_link(key=key, slug=slug) print("The response of SharedLinksApi->get_my_shared_link:\n") pprint(api_response) except Exception as e: @@ -348,8 +368,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **key** | **str**| | [optional] - **password** | **str**| | [optional] - **token** | **str**| | [optional] + **slug** | **str**| | [optional] ### Return type @@ -375,6 +394,10 @@ Name | Type | Description | Notes # **get_shared_link_by_id** > SharedLinkResponseDto get_shared_link_by_id(id) +Retrieve a shared link + +Retrieve a specific shared link by its ID. + ### Example * Api Key Authentication (cookie): @@ -419,9 +442,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SharedLinksApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve a shared link api_response = api_instance.get_shared_link_by_id(id) print("The response of SharedLinksApi->get_shared_link_by_id:\n") pprint(api_response) @@ -436,7 +460,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -462,6 +486,10 @@ Name | Type | Description | Notes # **remove_shared_link** > remove_shared_link(id) +Delete a shared link + +Delete a specific shared link by its ID. + ### Example * Api Key Authentication (cookie): @@ -505,9 +533,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SharedLinksApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Delete a shared link api_instance.remove_shared_link(id) except Exception as e: print("Exception when calling SharedLinksApi->remove_shared_link: %s\n" % e) @@ -520,7 +549,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -539,12 +568,16 @@ void (empty response body) | Status code | Description | Response headers | |-------------|-------------|------------------| -**200** | | - | +**204** | | - | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **remove_shared_link_assets** -> List[AssetIdsResponseDto] remove_shared_link_assets(id, asset_ids_dto, key=key) +> List[AssetIdsResponseDto] remove_shared_link_assets(id, asset_ids_dto) + +Remove assets from a shared link + +Remove assets from a specific shared link by its ID. This endpoint is only relevant for shared link of type individual. ### Example @@ -591,12 +624,12 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SharedLinksApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | asset_ids_dto = generated.immich.openapi_client.AssetIdsDto() # AssetIdsDto | - key = 'key_example' # str | (optional) try: - api_response = api_instance.remove_shared_link_assets(id, asset_ids_dto, key=key) + # Remove assets from a shared link + api_response = api_instance.remove_shared_link_assets(id, asset_ids_dto) print("The response of SharedLinksApi->remove_shared_link_assets:\n") pprint(api_response) except Exception as e: @@ -610,9 +643,8 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **asset_ids_dto** | [**AssetIdsDto**](AssetIdsDto.md)| | - **key** | **str**| | [optional] ### Return type @@ -635,9 +667,110 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **shared_link_login** +> SharedLinkResponseDto shared_link_login(shared_link_login_dto, key=key, slug=slug) + +Shared link login + +Login to a password protected shared link + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.SharedLinksApi(api_client) + shared_link_login_dto = generated.immich.openapi_client.SharedLinkLoginDto() # SharedLinkLoginDto | + key = 'key_example' # str | (optional) + slug = 'slug_example' # str | (optional) + + try: + # Shared link login + api_response = api_instance.shared_link_login(shared_link_login_dto, key=key, slug=slug) + print("The response of SharedLinksApi->shared_link_login:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SharedLinksApi->shared_link_login: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **shared_link_login_dto** | [**SharedLinkLoginDto**](SharedLinkLoginDto.md)| | + **key** | **str**| | [optional] + **slug** | **str**| | [optional] + +### Return type + +[**SharedLinkResponseDto**](SharedLinkResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **update_shared_link** > SharedLinkResponseDto update_shared_link(id, shared_link_edit_dto) +Update a shared link + +Update an existing shared link by its ID. + ### Example * Api Key Authentication (cookie): @@ -683,10 +816,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.SharedLinksApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | shared_link_edit_dto = generated.immich.openapi_client.SharedLinkEditDto() # SharedLinkEditDto | try: + # Update a shared link api_response = api_instance.update_shared_link(id, shared_link_edit_dto) print("The response of SharedLinksApi->update_shared_link:\n") pprint(api_response) @@ -701,7 +835,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **shared_link_edit_dto** | [**SharedLinkEditDto**](SharedLinkEditDto.md)| | ### Return type diff --git a/generated/immich/openapi_client/docs/SharedLinksResponse.md b/generated/immich/openapi_client/docs/SharedLinksResponse.md index a259ba8..5c1a59d 100644 --- a/generated/immich/openapi_client/docs/SharedLinksResponse.md +++ b/generated/immich/openapi_client/docs/SharedLinksResponse.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [default to True] -**sidebar_web** | **bool** | | [default to False] +**enabled** | **bool** | Whether shared links are enabled | +**sidebar_web** | **bool** | Whether shared links appear in web sidebar | ## Example diff --git a/generated/immich/openapi_client/docs/SharedLinksUpdate.md b/generated/immich/openapi_client/docs/SharedLinksUpdate.md index b5a73f8..0f89ac1 100644 --- a/generated/immich/openapi_client/docs/SharedLinksUpdate.md +++ b/generated/immich/openapi_client/docs/SharedLinksUpdate.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [optional] -**sidebar_web** | **bool** | | [optional] +**enabled** | **bool** | Whether shared links are enabled | [optional] +**sidebar_web** | **bool** | Whether shared links appear in web sidebar | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/SignUpDto.md b/generated/immich/openapi_client/docs/SignUpDto.md index 705eae4..4684519 100644 --- a/generated/immich/openapi_client/docs/SignUpDto.md +++ b/generated/immich/openapi_client/docs/SignUpDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**email** | **str** | | -**name** | **str** | | -**password** | **str** | | +**email** | **str** | User email | +**name** | **str** | User name | +**password** | **str** | User password | ## Example diff --git a/generated/immich/openapi_client/docs/SmartSearchDto.md b/generated/immich/openapi_client/docs/SmartSearchDto.md index 49067e6..1e7414b 100644 --- a/generated/immich/openapi_client/docs/SmartSearchDto.md +++ b/generated/immich/openapi_client/docs/SmartSearchDto.md @@ -5,40 +5,40 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**city** | **str** | | [optional] -**country** | **str** | | [optional] -**created_after** | **datetime** | | [optional] -**created_before** | **datetime** | | [optional] -**device_id** | **str** | | [optional] -**is_archived** | **bool** | | [optional] -**is_encoded** | **bool** | | [optional] -**is_favorite** | **bool** | | [optional] -**is_motion** | **bool** | | [optional] -**is_not_in_album** | **bool** | | [optional] -**is_offline** | **bool** | | [optional] -**is_visible** | **bool** | | [optional] -**language** | **str** | | [optional] -**lens_model** | **str** | | [optional] -**library_id** | **str** | | [optional] -**make** | **str** | | [optional] -**model** | **str** | | [optional] -**page** | **float** | | [optional] -**person_ids** | **List[str]** | | [optional] -**query** | **str** | | -**rating** | **float** | | [optional] -**size** | **float** | | [optional] -**state** | **str** | | [optional] -**tag_ids** | **List[str]** | | [optional] -**taken_after** | **datetime** | | [optional] -**taken_before** | **datetime** | | [optional] -**trashed_after** | **datetime** | | [optional] -**trashed_before** | **datetime** | | [optional] +**album_ids** | **List[UUID]** | Filter by album IDs | [optional] +**city** | **str** | Filter by city name | [optional] +**country** | **str** | Filter by country name | [optional] +**created_after** | **datetime** | Filter by creation date (after) | [optional] +**created_before** | **datetime** | Filter by creation date (before) | [optional] +**is_encoded** | **bool** | Filter by encoded status | [optional] +**is_favorite** | **bool** | Filter by favorite status | [optional] +**is_motion** | **bool** | Filter by motion photo status | [optional] +**is_not_in_album** | **bool** | Filter assets not in any album | [optional] +**is_offline** | **bool** | Filter by offline status | [optional] +**language** | **str** | Search language code | [optional] +**lens_model** | **str** | Filter by lens model | [optional] +**library_id** | **UUID** | Library ID to filter by | [optional] +**make** | **str** | Filter by camera make | [optional] +**model** | **str** | Filter by camera model | [optional] +**ocr** | **str** | Filter by OCR text content | [optional] +**page** | **int** | Page number | [optional] +**person_ids** | **List[UUID]** | Filter by person IDs | [optional] +**query** | **str** | Natural language search query | [optional] +**query_asset_id** | **UUID** | Asset ID to use as search reference | [optional] +**rating** | **int** | Filter by rating [1-5], or null for unrated | [optional] +**size** | **int** | Number of results to return | [optional] +**state** | **str** | Filter by state/province name | [optional] +**tag_ids** | **List[UUID]** | Filter by tag IDs | [optional] +**taken_after** | **datetime** | Filter by taken date (after) | [optional] +**taken_before** | **datetime** | Filter by taken date (before) | [optional] +**trashed_after** | **datetime** | Filter by trash date (after) | [optional] +**trashed_before** | **datetime** | Filter by trash date (before) | [optional] **type** | [**AssetTypeEnum**](AssetTypeEnum.md) | | [optional] -**updated_after** | **datetime** | | [optional] -**updated_before** | **datetime** | | [optional] -**with_archived** | **bool** | | [optional] [default to False] -**with_deleted** | **bool** | | [optional] -**with_exif** | **bool** | | [optional] +**updated_after** | **datetime** | Filter by update date (after) | [optional] +**updated_before** | **datetime** | Filter by update date (before) | [optional] +**visibility** | [**AssetVisibility**](AssetVisibility.md) | | [optional] +**with_deleted** | **bool** | Include deleted assets | [optional] +**with_exif** | **bool** | Include EXIF data in response | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/SourceType.md b/generated/immich/openapi_client/docs/SourceType.md index 8bc137c..04efe36 100644 --- a/generated/immich/openapi_client/docs/SourceType.md +++ b/generated/immich/openapi_client/docs/SourceType.md @@ -1,5 +1,6 @@ # SourceType +Face detection source type ## Enum diff --git a/generated/immich/openapi_client/docs/StackCreateDto.md b/generated/immich/openapi_client/docs/StackCreateDto.md index 6b4a376..ee16fca 100644 --- a/generated/immich/openapi_client/docs/StackCreateDto.md +++ b/generated/immich/openapi_client/docs/StackCreateDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_ids** | **List[str]** | first asset becomes the primary | +**asset_ids** | **List[UUID]** | Asset IDs (first becomes primary, min 2) | ## Example diff --git a/generated/immich/openapi_client/docs/StackResponseDto.md b/generated/immich/openapi_client/docs/StackResponseDto.md index 47c0fe7..c16a919 100644 --- a/generated/immich/openapi_client/docs/StackResponseDto.md +++ b/generated/immich/openapi_client/docs/StackResponseDto.md @@ -1,13 +1,14 @@ # StackResponseDto +Stack response ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **assets** | [**List[AssetResponseDto]**](AssetResponseDto.md) | | -**id** | **str** | | -**primary_asset_id** | **str** | | +**id** | **UUID** | Stack ID | +**primary_asset_id** | **UUID** | Primary asset ID | ## Example diff --git a/generated/immich/openapi_client/docs/StackUpdateDto.md b/generated/immich/openapi_client/docs/StackUpdateDto.md index 3b879a4..1034815 100644 --- a/generated/immich/openapi_client/docs/StackUpdateDto.md +++ b/generated/immich/openapi_client/docs/StackUpdateDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**primary_asset_id** | **str** | | [optional] +**primary_asset_id** | **UUID** | Primary asset ID | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/StacksApi.md b/generated/immich/openapi_client/docs/StacksApi.md index d51f2f7..4396030 100644 --- a/generated/immich/openapi_client/docs/StacksApi.md +++ b/generated/immich/openapi_client/docs/StacksApi.md @@ -4,17 +4,22 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_stack**](StacksApi.md#create_stack) | **POST** /stacks | -[**delete_stack**](StacksApi.md#delete_stack) | **DELETE** /stacks/{id} | -[**delete_stacks**](StacksApi.md#delete_stacks) | **DELETE** /stacks | -[**get_stack**](StacksApi.md#get_stack) | **GET** /stacks/{id} | -[**search_stacks**](StacksApi.md#search_stacks) | **GET** /stacks | -[**update_stack**](StacksApi.md#update_stack) | **PUT** /stacks/{id} | +[**create_stack**](StacksApi.md#create_stack) | **POST** /stacks | Create a stack +[**delete_stack**](StacksApi.md#delete_stack) | **DELETE** /stacks/{id} | Delete a stack +[**delete_stacks**](StacksApi.md#delete_stacks) | **DELETE** /stacks | Delete stacks +[**get_stack**](StacksApi.md#get_stack) | **GET** /stacks/{id} | Retrieve a stack +[**remove_asset_from_stack**](StacksApi.md#remove_asset_from_stack) | **DELETE** /stacks/{id}/assets/{assetId} | Remove an asset from a stack +[**search_stacks**](StacksApi.md#search_stacks) | **GET** /stacks | Retrieve stacks +[**update_stack**](StacksApi.md#update_stack) | **PUT** /stacks/{id} | Update a stack # **create_stack** > StackResponseDto create_stack(stack_create_dto) +Create a stack + +Create a new stack by providing a name and a list of asset IDs to include in the stack. If any of the provided asset IDs are primary assets of an existing stack, the existing stack will be merged into the newly created stack. + ### Example * Api Key Authentication (cookie): @@ -63,6 +68,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: stack_create_dto = generated.immich.openapi_client.StackCreateDto() # StackCreateDto | try: + # Create a stack api_response = api_instance.create_stack(stack_create_dto) print("The response of StacksApi->create_stack:\n") pprint(api_response) @@ -103,6 +109,10 @@ Name | Type | Description | Notes # **delete_stack** > delete_stack(id) +Delete a stack + +Delete a specific stack by its ID. + ### Example * Api Key Authentication (cookie): @@ -146,9 +156,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.StacksApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Delete a stack api_instance.delete_stack(id) except Exception as e: print("Exception when calling StacksApi->delete_stack: %s\n" % e) @@ -161,7 +172,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -187,6 +198,10 @@ void (empty response body) # **delete_stacks** > delete_stacks(bulk_ids_dto) +Delete stacks + +Delete multiple stacks by providing a list of stack IDs. + ### Example * Api Key Authentication (cookie): @@ -234,6 +249,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | try: + # Delete stacks api_instance.delete_stacks(bulk_ids_dto) except Exception as e: print("Exception when calling StacksApi->delete_stacks: %s\n" % e) @@ -272,6 +288,10 @@ void (empty response body) # **get_stack** > StackResponseDto get_stack(id) +Retrieve a stack + +Retrieve a specific stack by its ID. + ### Example * Api Key Authentication (cookie): @@ -316,9 +336,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.StacksApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve a stack api_response = api_instance.get_stack(id) print("The response of StacksApi->get_stack:\n") pprint(api_response) @@ -333,7 +354,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -356,9 +377,104 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **remove_asset_from_stack** +> remove_asset_from_stack(asset_id, id) + +Remove an asset from a stack + +Remove a specific asset from a stack by providing the stack ID and asset ID. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.StacksApi(api_client) + asset_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + + try: + # Remove an asset from a stack + api_instance.remove_asset_from_stack(asset_id, id) + except Exception as e: + print("Exception when calling StacksApi->remove_asset_from_stack: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **asset_id** | **UUID**| | + **id** | **UUID**| | + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **search_stacks** > List[StackResponseDto] search_stacks(primary_asset_id=primary_asset_id) +Retrieve stacks + +Retrieve a list of stacks. + ### Example * Api Key Authentication (cookie): @@ -403,9 +519,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.StacksApi(api_client) - primary_asset_id = 'primary_asset_id_example' # str | (optional) + primary_asset_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter by primary asset ID (optional) try: + # Retrieve stacks api_response = api_instance.search_stacks(primary_asset_id=primary_asset_id) print("The response of StacksApi->search_stacks:\n") pprint(api_response) @@ -420,7 +537,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **primary_asset_id** | **str**| | [optional] + **primary_asset_id** | **UUID**| Filter by primary asset ID | [optional] ### Return type @@ -446,6 +563,10 @@ Name | Type | Description | Notes # **update_stack** > StackResponseDto update_stack(id, stack_update_dto) +Update a stack + +Update an existing stack by its ID. + ### Example * Api Key Authentication (cookie): @@ -491,10 +612,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.StacksApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | stack_update_dto = generated.immich.openapi_client.StackUpdateDto() # StackUpdateDto | try: + # Update a stack api_response = api_instance.update_stack(id, stack_update_dto) print("The response of StacksApi->update_stack:\n") pprint(api_response) @@ -509,7 +631,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **stack_update_dto** | [**StackUpdateDto**](StackUpdateDto.md)| | ### Return type diff --git a/generated/immich/openapi_client/docs/SyncAckDeleteDto.md b/generated/immich/openapi_client/docs/SyncAckDeleteDto.md index a795b58..9898851 100644 --- a/generated/immich/openapi_client/docs/SyncAckDeleteDto.md +++ b/generated/immich/openapi_client/docs/SyncAckDeleteDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**types** | [**List[SyncEntityType]**](SyncEntityType.md) | | [optional] +**types** | [**List[SyncEntityType]**](SyncEntityType.md) | Sync entity types to delete acks for | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/SyncAckDto.md b/generated/immich/openapi_client/docs/SyncAckDto.md index 358f1b9..5130b0c 100644 --- a/generated/immich/openapi_client/docs/SyncAckDto.md +++ b/generated/immich/openapi_client/docs/SyncAckDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**ack** | **str** | | +**ack** | **str** | Acknowledgment ID | **type** | [**SyncEntityType**](SyncEntityType.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/SyncAckSetDto.md b/generated/immich/openapi_client/docs/SyncAckSetDto.md index f76fd9b..29604f0 100644 --- a/generated/immich/openapi_client/docs/SyncAckSetDto.md +++ b/generated/immich/openapi_client/docs/SyncAckSetDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**acks** | **List[str]** | | +**acks** | **List[str]** | Acknowledgment IDs (max 1000) | ## Example diff --git a/generated/immich/openapi_client/docs/SyncApi.md b/generated/immich/openapi_client/docs/SyncApi.md index ac916fa..49abd01 100644 --- a/generated/immich/openapi_client/docs/SyncApi.md +++ b/generated/immich/openapi_client/docs/SyncApi.md @@ -4,17 +4,19 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**delete_sync_ack**](SyncApi.md#delete_sync_ack) | **DELETE** /sync/ack | -[**get_delta_sync**](SyncApi.md#get_delta_sync) | **POST** /sync/delta-sync | -[**get_full_sync_for_user**](SyncApi.md#get_full_sync_for_user) | **POST** /sync/full-sync | -[**get_sync_ack**](SyncApi.md#get_sync_ack) | **GET** /sync/ack | -[**get_sync_stream**](SyncApi.md#get_sync_stream) | **POST** /sync/stream | -[**send_sync_ack**](SyncApi.md#send_sync_ack) | **POST** /sync/ack | +[**delete_sync_ack**](SyncApi.md#delete_sync_ack) | **DELETE** /sync/ack | Delete acknowledgements +[**get_sync_ack**](SyncApi.md#get_sync_ack) | **GET** /sync/ack | Retrieve acknowledgements +[**get_sync_stream**](SyncApi.md#get_sync_stream) | **POST** /sync/stream | Stream sync changes +[**send_sync_ack**](SyncApi.md#send_sync_ack) | **POST** /sync/ack | Acknowledge changes # **delete_sync_ack** > delete_sync_ack(sync_ack_delete_dto) +Delete acknowledgements + +Delete specific synchronization acknowledgments. + ### Example * Api Key Authentication (cookie): @@ -62,6 +64,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: sync_ack_delete_dto = generated.immich.openapi_client.SyncAckDeleteDto() # SyncAckDeleteDto | try: + # Delete acknowledgements api_instance.delete_sync_ack(sync_ack_delete_dto) except Exception as e: print("Exception when calling SyncApi->delete_sync_ack: %s\n" % e) @@ -97,185 +100,13 @@ void (empty response body) [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) -# **get_delta_sync** -> AssetDeltaSyncResponseDto get_delta_sync(asset_delta_sync_dto) - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -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.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.SyncApi(api_client) - asset_delta_sync_dto = generated.immich.openapi_client.AssetDeltaSyncDto() # AssetDeltaSyncDto | - - try: - api_response = api_instance.get_delta_sync(asset_delta_sync_dto) - print("The response of SyncApi->get_delta_sync:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling SyncApi->get_delta_sync: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **asset_delta_sync_dto** | [**AssetDeltaSyncDto**](AssetDeltaSyncDto.md)| | - -### Return type - -[**AssetDeltaSyncResponseDto**](AssetDeltaSyncResponseDto.md) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_full_sync_for_user** -> List[AssetResponseDto] get_full_sync_for_user(asset_full_sync_dto) - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.asset_full_sync_dto import AssetFullSyncDto -from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.SyncApi(api_client) - asset_full_sync_dto = generated.immich.openapi_client.AssetFullSyncDto() # AssetFullSyncDto | - - try: - api_response = api_instance.get_full_sync_for_user(asset_full_sync_dto) - print("The response of SyncApi->get_full_sync_for_user:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling SyncApi->get_full_sync_for_user: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **asset_full_sync_dto** | [**AssetFullSyncDto**](AssetFullSyncDto.md)| | - -### Return type - -[**List[AssetResponseDto]**](AssetResponseDto.md) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - # **get_sync_ack** > List[SyncAckDto] get_sync_ack() +Retrieve acknowledgements + +Retrieve the synchronization acknowledgments for the current session. + ### Example * Api Key Authentication (cookie): @@ -322,6 +153,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SyncApi(api_client) try: + # Retrieve acknowledgements api_response = api_instance.get_sync_ack() print("The response of SyncApi->get_sync_ack:\n") pprint(api_response) @@ -359,6 +191,10 @@ This endpoint does not need any parameter. # **get_sync_stream** > get_sync_stream(sync_stream_dto) +Stream sync changes + +Retrieve a JSON lines streamed response of changes for synchronization. This endpoint is used by the mobile app to efficiently stay up to date with changes. + ### Example * Api Key Authentication (cookie): @@ -406,6 +242,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: sync_stream_dto = generated.immich.openapi_client.SyncStreamDto() # SyncStreamDto | try: + # Stream sync changes api_instance.get_sync_stream(sync_stream_dto) except Exception as e: print("Exception when calling SyncApi->get_sync_stream: %s\n" % e) @@ -444,6 +281,10 @@ void (empty response body) # **send_sync_ack** > send_sync_ack(sync_ack_set_dto) +Acknowledge changes + +Send a list of synchronization acknowledgements to confirm that the latest changes have been received. + ### Example * Api Key Authentication (cookie): @@ -491,6 +332,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: sync_ack_set_dto = generated.immich.openapi_client.SyncAckSetDto() # SyncAckSetDto | try: + # Acknowledge changes api_instance.send_sync_ack(sync_ack_set_dto) except Exception as e: print("Exception when calling SyncApi->send_sync_ack: %s\n" % e) diff --git a/generated/immich/openapi_client/docs/SyncAssetDeleteV1.md b/generated/immich/openapi_client/docs/SyncAssetDeleteV1.md index ce86246..959e4b8 100644 --- a/generated/immich/openapi_client/docs/SyncAssetDeleteV1.md +++ b/generated/immich/openapi_client/docs/SyncAssetDeleteV1.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_id** | **str** | | +**asset_id** | **UUID** | Asset ID | ## Example diff --git a/generated/immich/openapi_client/docs/SyncAssetExifV1.md b/generated/immich/openapi_client/docs/SyncAssetExifV1.md index 3050d58..596c10a 100644 --- a/generated/immich/openapi_client/docs/SyncAssetExifV1.md +++ b/generated/immich/openapi_client/docs/SyncAssetExifV1.md @@ -5,31 +5,31 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_id** | **str** | | -**city** | **str** | | -**country** | **str** | | -**date_time_original** | **datetime** | | -**description** | **str** | | -**exif_image_height** | **int** | | -**exif_image_width** | **int** | | -**exposure_time** | **str** | | -**f_number** | **int** | | -**file_size_in_byte** | **int** | | -**focal_length** | **int** | | -**fps** | **int** | | -**iso** | **int** | | -**latitude** | **int** | | -**lens_model** | **str** | | -**longitude** | **int** | | -**make** | **str** | | -**model** | **str** | | -**modify_date** | **datetime** | | -**orientation** | **str** | | -**profile_description** | **str** | | -**projection_type** | **str** | | -**rating** | **int** | | -**state** | **str** | | -**time_zone** | **str** | | +**asset_id** | **UUID** | Asset ID | +**city** | **str** | City | +**country** | **str** | Country | +**date_time_original** | **datetime** | Date time original | +**description** | **str** | Description | +**exif_image_height** | **int** | Exif image height | +**exif_image_width** | **int** | Exif image width | +**exposure_time** | **str** | Exposure time | +**f_number** | **float** | F number | +**file_size_in_byte** | **int** | File size in byte | +**focal_length** | **float** | Focal length | +**fps** | **float** | FPS | +**iso** | **int** | ISO | +**latitude** | **float** | Latitude | +**lens_model** | **str** | Lens model | +**longitude** | **float** | Longitude | +**make** | **str** | Make | +**model** | **str** | Model | +**modify_date** | **datetime** | Modify date | +**orientation** | **str** | Orientation | +**profile_description** | **str** | Profile description | +**projection_type** | **str** | Projection type | +**rating** | **int** | Rating | +**state** | **str** | State | +**time_zone** | **str** | Time zone | ## Example diff --git a/generated/immich/openapi_client/docs/SyncAssetV1.md b/generated/immich/openapi_client/docs/SyncAssetV1.md index 1808f5f..735f232 100644 --- a/generated/immich/openapi_client/docs/SyncAssetV1.md +++ b/generated/immich/openapi_client/docs/SyncAssetV1.md @@ -5,17 +5,26 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**checksum** | **str** | | -**deleted_at** | **datetime** | | -**file_created_at** | **datetime** | | -**file_modified_at** | **datetime** | | -**id** | **str** | | -**is_favorite** | **bool** | | -**is_visible** | **bool** | | -**local_date_time** | **datetime** | | -**owner_id** | **str** | | -**thumbhash** | **str** | | -**type** | **str** | | +**checksum** | **str** | Checksum | +**created_at** | **datetime** | Uploaded to Immich at | +**deleted_at** | **datetime** | Deleted at | +**duration** | **str** | Duration | +**file_created_at** | **datetime** | File created at | +**file_modified_at** | **datetime** | File modified at | +**height** | **int** | Asset height | +**id** | **UUID** | Asset ID | +**is_edited** | **bool** | Is edited | +**is_favorite** | **bool** | Is favorite | +**library_id** | **str** | Library ID | +**live_photo_video_id** | **str** | Live photo video ID | +**local_date_time** | **datetime** | Local date time | +**original_file_name** | **str** | Original file name | +**owner_id** | **UUID** | Owner ID | +**stack_id** | **str** | Stack ID | +**thumbhash** | **str** | Thumbhash | +**type** | [**AssetTypeEnum**](AssetTypeEnum.md) | | +**visibility** | [**AssetVisibility**](AssetVisibility.md) | | +**width** | **int** | Asset width | ## Example diff --git a/generated/immich/openapi_client/docs/SyncEntityType.md b/generated/immich/openapi_client/docs/SyncEntityType.md index 88144ad..0d42f2e 100644 --- a/generated/immich/openapi_client/docs/SyncEntityType.md +++ b/generated/immich/openapi_client/docs/SyncEntityType.md @@ -1,28 +1,127 @@ # SyncEntityType +Sync entity type ## Enum +* `AUTHUSERV1` (value: `'AuthUserV1'`) + * `USERV1` (value: `'UserV1'`) * `USERDELETEV1` (value: `'UserDeleteV1'`) -* `PARTNERV1` (value: `'PartnerV1'`) - -* `PARTNERDELETEV1` (value: `'PartnerDeleteV1'`) - * `ASSETV1` (value: `'AssetV1'`) +* `ASSETV2` (value: `'AssetV2'`) + * `ASSETDELETEV1` (value: `'AssetDeleteV1'`) * `ASSETEXIFV1` (value: `'AssetExifV1'`) +* `ASSETEDITV1` (value: `'AssetEditV1'`) + +* `ASSETEDITDELETEV1` (value: `'AssetEditDeleteV1'`) + +* `ASSETMETADATAV1` (value: `'AssetMetadataV1'`) + +* `ASSETMETADATADELETEV1` (value: `'AssetMetadataDeleteV1'`) + +* `ASSETOCRV1` (value: `'AssetOcrV1'`) + +* `ASSETOCRDELETEV1` (value: `'AssetOcrDeleteV1'`) + +* `PARTNERV1` (value: `'PartnerV1'`) + +* `PARTNERDELETEV1` (value: `'PartnerDeleteV1'`) + * `PARTNERASSETV1` (value: `'PartnerAssetV1'`) +* `PARTNERASSETV2` (value: `'PartnerAssetV2'`) + +* `PARTNERASSETBACKFILLV1` (value: `'PartnerAssetBackfillV1'`) + +* `PARTNERASSETBACKFILLV2` (value: `'PartnerAssetBackfillV2'`) + * `PARTNERASSETDELETEV1` (value: `'PartnerAssetDeleteV1'`) * `PARTNERASSETEXIFV1` (value: `'PartnerAssetExifV1'`) +* `PARTNERASSETEXIFBACKFILLV1` (value: `'PartnerAssetExifBackfillV1'`) + +* `PARTNERSTACKBACKFILLV1` (value: `'PartnerStackBackfillV1'`) + +* `PARTNERSTACKDELETEV1` (value: `'PartnerStackDeleteV1'`) + +* `PARTNERSTACKV1` (value: `'PartnerStackV1'`) + +* `ALBUMV1` (value: `'AlbumV1'`) + +* `ALBUMV2` (value: `'AlbumV2'`) + +* `ALBUMDELETEV1` (value: `'AlbumDeleteV1'`) + +* `ALBUMUSERV1` (value: `'AlbumUserV1'`) + +* `ALBUMUSERBACKFILLV1` (value: `'AlbumUserBackfillV1'`) + +* `ALBUMUSERDELETEV1` (value: `'AlbumUserDeleteV1'`) + +* `ALBUMASSETCREATEV1` (value: `'AlbumAssetCreateV1'`) + +* `ALBUMASSETCREATEV2` (value: `'AlbumAssetCreateV2'`) + +* `ALBUMASSETUPDATEV1` (value: `'AlbumAssetUpdateV1'`) + +* `ALBUMASSETUPDATEV2` (value: `'AlbumAssetUpdateV2'`) + +* `ALBUMASSETBACKFILLV1` (value: `'AlbumAssetBackfillV1'`) + +* `ALBUMASSETBACKFILLV2` (value: `'AlbumAssetBackfillV2'`) + +* `ALBUMASSETEXIFCREATEV1` (value: `'AlbumAssetExifCreateV1'`) + +* `ALBUMASSETEXIFUPDATEV1` (value: `'AlbumAssetExifUpdateV1'`) + +* `ALBUMASSETEXIFBACKFILLV1` (value: `'AlbumAssetExifBackfillV1'`) + +* `ALBUMTOASSETV1` (value: `'AlbumToAssetV1'`) + +* `ALBUMTOASSETDELETEV1` (value: `'AlbumToAssetDeleteV1'`) + +* `ALBUMTOASSETBACKFILLV1` (value: `'AlbumToAssetBackfillV1'`) + +* `MEMORYV1` (value: `'MemoryV1'`) + +* `MEMORYDELETEV1` (value: `'MemoryDeleteV1'`) + +* `MEMORYTOASSETV1` (value: `'MemoryToAssetV1'`) + +* `MEMORYTOASSETDELETEV1` (value: `'MemoryToAssetDeleteV1'`) + +* `STACKV1` (value: `'StackV1'`) + +* `STACKDELETEV1` (value: `'StackDeleteV1'`) + +* `PERSONV1` (value: `'PersonV1'`) + +* `PERSONDELETEV1` (value: `'PersonDeleteV1'`) + +* `ASSETFACEV1` (value: `'AssetFaceV1'`) + +* `ASSETFACEV2` (value: `'AssetFaceV2'`) + +* `ASSETFACEDELETEV1` (value: `'AssetFaceDeleteV1'`) + +* `USERMETADATAV1` (value: `'UserMetadataV1'`) + +* `USERMETADATADELETEV1` (value: `'UserMetadataDeleteV1'`) + +* `SYNCACKV1` (value: `'SyncAckV1'`) + +* `SYNCRESETV1` (value: `'SyncResetV1'`) + +* `SYNCCOMPLETEV1` (value: `'SyncCompleteV1'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generated/immich/openapi_client/docs/SyncPartnerDeleteV1.md b/generated/immich/openapi_client/docs/SyncPartnerDeleteV1.md index e265e62..5f76f2a 100644 --- a/generated/immich/openapi_client/docs/SyncPartnerDeleteV1.md +++ b/generated/immich/openapi_client/docs/SyncPartnerDeleteV1.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**shared_by_id** | **str** | | -**shared_with_id** | **str** | | +**shared_by_id** | **UUID** | Shared by ID | +**shared_with_id** | **UUID** | Shared with ID | ## Example diff --git a/generated/immich/openapi_client/docs/SyncPartnerV1.md b/generated/immich/openapi_client/docs/SyncPartnerV1.md index bd4742f..abc1fd5 100644 --- a/generated/immich/openapi_client/docs/SyncPartnerV1.md +++ b/generated/immich/openapi_client/docs/SyncPartnerV1.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**in_timeline** | **bool** | | -**shared_by_id** | **str** | | -**shared_with_id** | **str** | | +**in_timeline** | **bool** | In timeline | +**shared_by_id** | **UUID** | Shared by ID | +**shared_with_id** | **UUID** | Shared with ID | ## Example diff --git a/generated/immich/openapi_client/docs/SyncRequestType.md b/generated/immich/openapi_client/docs/SyncRequestType.md index 3fde238..fa0b23b 100644 --- a/generated/immich/openapi_client/docs/SyncRequestType.md +++ b/generated/immich/openapi_client/docs/SyncRequestType.md @@ -1,20 +1,63 @@ # SyncRequestType +Sync request type ## Enum -* `USERSV1` (value: `'UsersV1'`) +* `ALBUMSV1` (value: `'AlbumsV1'`) -* `PARTNERSV1` (value: `'PartnersV1'`) +* `ALBUMSV2` (value: `'AlbumsV2'`) + +* `ALBUMUSERSV1` (value: `'AlbumUsersV1'`) + +* `ALBUMTOASSETSV1` (value: `'AlbumToAssetsV1'`) + +* `ALBUMASSETSV1` (value: `'AlbumAssetsV1'`) + +* `ALBUMASSETSV2` (value: `'AlbumAssetsV2'`) + +* `ALBUMASSETEXIFSV1` (value: `'AlbumAssetExifsV1'`) * `ASSETSV1` (value: `'AssetsV1'`) +* `ASSETSV2` (value: `'AssetsV2'`) + * `ASSETEXIFSV1` (value: `'AssetExifsV1'`) +* `ASSETEDITSV1` (value: `'AssetEditsV1'`) + +* `ASSETMETADATAV1` (value: `'AssetMetadataV1'`) + +* `ASSETOCRV1` (value: `'AssetOcrV1'`) + +* `AUTHUSERSV1` (value: `'AuthUsersV1'`) + +* `MEMORIESV1` (value: `'MemoriesV1'`) + +* `MEMORYTOASSETSV1` (value: `'MemoryToAssetsV1'`) + +* `PARTNERSV1` (value: `'PartnersV1'`) + * `PARTNERASSETSV1` (value: `'PartnerAssetsV1'`) +* `PARTNERASSETSV2` (value: `'PartnerAssetsV2'`) + * `PARTNERASSETEXIFSV1` (value: `'PartnerAssetExifsV1'`) +* `PARTNERSTACKSV1` (value: `'PartnerStacksV1'`) + +* `STACKSV1` (value: `'StacksV1'`) + +* `USERSV1` (value: `'UsersV1'`) + +* `PEOPLEV1` (value: `'PeopleV1'`) + +* `ASSETFACESV1` (value: `'AssetFacesV1'`) + +* `ASSETFACESV2` (value: `'AssetFacesV2'`) + +* `USERMETADATAV1` (value: `'UserMetadataV1'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/generated/immich/openapi_client/docs/SyncStreamDto.md b/generated/immich/openapi_client/docs/SyncStreamDto.md index 867636c..e42abac 100644 --- a/generated/immich/openapi_client/docs/SyncStreamDto.md +++ b/generated/immich/openapi_client/docs/SyncStreamDto.md @@ -5,7 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**types** | [**List[SyncRequestType]**](SyncRequestType.md) | | +**reset** | **bool** | Reset sync state | [optional] +**types** | [**List[SyncRequestType]**](SyncRequestType.md) | Sync request types | ## Example diff --git a/generated/immich/openapi_client/docs/SyncUserDeleteV1.md b/generated/immich/openapi_client/docs/SyncUserDeleteV1.md index 71d3980..30c16df 100644 --- a/generated/immich/openapi_client/docs/SyncUserDeleteV1.md +++ b/generated/immich/openapi_client/docs/SyncUserDeleteV1.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**user_id** | **str** | | +**user_id** | **UUID** | User ID | ## Example diff --git a/generated/immich/openapi_client/docs/SyncUserV1.md b/generated/immich/openapi_client/docs/SyncUserV1.md index b1f4eaa..ccf98f8 100644 --- a/generated/immich/openapi_client/docs/SyncUserV1.md +++ b/generated/immich/openapi_client/docs/SyncUserV1.md @@ -5,10 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**deleted_at** | **datetime** | | -**email** | **str** | | -**id** | **str** | | -**name** | **str** | | +**avatar_color** | [**UserAvatarColor**](UserAvatarColor.md) | | [optional] +**deleted_at** | **datetime** | User deleted at | +**email** | **str** | User email | +**has_profile_image** | **bool** | User has profile image | +**id** | **UUID** | User ID | +**name** | **str** | User name | +**profile_changed_at** | **datetime** | User profile changed at | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigApi.md b/generated/immich/openapi_client/docs/SystemConfigApi.md index f04d4b9..a08c856 100644 --- a/generated/immich/openapi_client/docs/SystemConfigApi.md +++ b/generated/immich/openapi_client/docs/SystemConfigApi.md @@ -4,15 +4,19 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_config**](SystemConfigApi.md#get_config) | **GET** /system-config | -[**get_config_defaults**](SystemConfigApi.md#get_config_defaults) | **GET** /system-config/defaults | -[**get_storage_template_options**](SystemConfigApi.md#get_storage_template_options) | **GET** /system-config/storage-template-options | -[**update_config**](SystemConfigApi.md#update_config) | **PUT** /system-config | +[**get_config**](SystemConfigApi.md#get_config) | **GET** /system-config | Get system configuration +[**get_config_defaults**](SystemConfigApi.md#get_config_defaults) | **GET** /system-config/defaults | Get system configuration defaults +[**get_storage_template_options**](SystemConfigApi.md#get_storage_template_options) | **GET** /system-config/storage-template-options | Get storage template options +[**update_config**](SystemConfigApi.md#update_config) | **PUT** /system-config | Update system configuration # **get_config** > SystemConfigDto get_config() +Get system configuration + +Retrieve the current system configuration. + ### Example * Api Key Authentication (cookie): @@ -59,6 +63,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SystemConfigApi(api_client) try: + # Get system configuration api_response = api_instance.get_config() print("The response of SystemConfigApi->get_config:\n") pprint(api_response) @@ -96,6 +101,10 @@ This endpoint does not need any parameter. # **get_config_defaults** > SystemConfigDto get_config_defaults() +Get system configuration defaults + +Retrieve the default values for the system configuration. + ### Example * Api Key Authentication (cookie): @@ -142,6 +151,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SystemConfigApi(api_client) try: + # Get system configuration defaults api_response = api_instance.get_config_defaults() print("The response of SystemConfigApi->get_config_defaults:\n") pprint(api_response) @@ -179,6 +189,10 @@ This endpoint does not need any parameter. # **get_storage_template_options** > SystemConfigTemplateStorageOptionDto get_storage_template_options() +Get storage template options + +Retrieve exemplary storage template options. + ### Example * Api Key Authentication (cookie): @@ -225,6 +239,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SystemConfigApi(api_client) try: + # Get storage template options api_response = api_instance.get_storage_template_options() print("The response of SystemConfigApi->get_storage_template_options:\n") pprint(api_response) @@ -262,6 +277,10 @@ This endpoint does not need any parameter. # **update_config** > SystemConfigDto update_config(system_config_dto) +Update system configuration + +Update the system configuration with a new system configuration. + ### Example * Api Key Authentication (cookie): @@ -309,6 +328,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: system_config_dto = generated.immich.openapi_client.SystemConfigDto() # SystemConfigDto | try: + # Update system configuration api_response = api_instance.update_config(system_config_dto) print("The response of SystemConfigApi->update_config:\n") pprint(api_response) diff --git a/generated/immich/openapi_client/docs/SystemConfigDto.md b/generated/immich/openapi_client/docs/SystemConfigDto.md index 31ef74a..9e5bc63 100644 --- a/generated/immich/openapi_client/docs/SystemConfigDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigDto.md @@ -1,5 +1,6 @@ # SystemConfigDto +System configuration ## Properties @@ -8,6 +9,7 @@ Name | Type | Description | Notes **backup** | [**SystemConfigBackupsDto**](SystemConfigBackupsDto.md) | | **ffmpeg** | [**SystemConfigFFmpegDto**](SystemConfigFFmpegDto.md) | | **image** | [**SystemConfigImageDto**](SystemConfigImageDto.md) | | +**integrity_checks** | [**SystemConfigIntegrityChecks**](SystemConfigIntegrityChecks.md) | | **job** | [**SystemConfigJobDto**](SystemConfigJobDto.md) | | **library** | [**SystemConfigLibraryDto**](SystemConfigLibraryDto.md) | | **logging** | [**SystemConfigLoggingDto**](SystemConfigLoggingDto.md) | | @@ -15,6 +17,7 @@ Name | Type | Description | Notes **map** | [**SystemConfigMapDto**](SystemConfigMapDto.md) | | **metadata** | [**SystemConfigMetadataDto**](SystemConfigMetadataDto.md) | | **new_version_check** | [**SystemConfigNewVersionCheckDto**](SystemConfigNewVersionCheckDto.md) | | +**nightly_tasks** | [**SystemConfigNightlyTasksDto**](SystemConfigNightlyTasksDto.md) | | **notifications** | [**SystemConfigNotificationsDto**](SystemConfigNotificationsDto.md) | | **oauth** | [**SystemConfigOAuthDto**](SystemConfigOAuthDto.md) | | **password_login** | [**SystemConfigPasswordLoginDto**](SystemConfigPasswordLoginDto.md) | | diff --git a/generated/immich/openapi_client/docs/SystemConfigFFmpegDto.md b/generated/immich/openapi_client/docs/SystemConfigFFmpegDto.md index a6eb2c7..2810504 100644 --- a/generated/immich/openapi_client/docs/SystemConfigFFmpegDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigFFmpegDto.md @@ -6,26 +6,27 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **accel** | [**TranscodeHWAccel**](TranscodeHWAccel.md) | | -**accel_decode** | **bool** | | -**accepted_audio_codecs** | [**List[AudioCodec]**](AudioCodec.md) | | -**accepted_containers** | [**List[VideoContainer]**](VideoContainer.md) | | -**accepted_video_codecs** | [**List[VideoCodec]**](VideoCodec.md) | | -**bframes** | **int** | | +**accel_decode** | **bool** | Accelerated decode | +**accepted_audio_codecs** | [**List[AudioCodec]**](AudioCodec.md) | Accepted audio codecs | +**accepted_containers** | [**List[VideoContainer]**](VideoContainer.md) | Accepted containers | +**accepted_video_codecs** | [**List[VideoCodec]**](VideoCodec.md) | Accepted video codecs | +**bframes** | **int** | B-frames | **cq_mode** | [**CQMode**](CQMode.md) | | -**crf** | **int** | | -**gop_size** | **int** | | -**max_bitrate** | **str** | | -**preferred_hw_device** | **str** | | -**preset** | **str** | | -**refs** | **int** | | +**crf** | **int** | CRF | +**gop_size** | **int** | GOP size | +**max_bitrate** | **str** | Max bitrate | +**preferred_hw_device** | **str** | Preferred hardware device | +**preset** | **str** | Preset | +**realtime** | [**SystemConfigFFmpegRealtimeDto**](SystemConfigFFmpegRealtimeDto.md) | | +**refs** | **int** | References | **target_audio_codec** | [**AudioCodec**](AudioCodec.md) | | -**target_resolution** | **str** | | +**target_resolution** | **str** | Target resolution | **target_video_codec** | [**VideoCodec**](VideoCodec.md) | | -**temporal_aq** | **bool** | | -**threads** | **int** | | +**temporal_aq** | **bool** | Temporal AQ | +**threads** | **int** | Threads | **tonemap** | [**ToneMapping**](ToneMapping.md) | | **transcode** | [**TranscodePolicy**](TranscodePolicy.md) | | -**two_pass** | **bool** | | +**two_pass** | **bool** | Two pass | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigFacesDto.md b/generated/immich/openapi_client/docs/SystemConfigFacesDto.md index 00c8738..139b5ef 100644 --- a/generated/immich/openapi_client/docs/SystemConfigFacesDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigFacesDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**var_import** | **bool** | | +**var_import** | **bool** | Import | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigGeneratedFullsizeImageDto.md b/generated/immich/openapi_client/docs/SystemConfigGeneratedFullsizeImageDto.md index 346384b..3cfca9d 100644 --- a/generated/immich/openapi_client/docs/SystemConfigGeneratedFullsizeImageDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigGeneratedFullsizeImageDto.md @@ -5,9 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | +**enabled** | **bool** | Enabled | **format** | [**ImageFormat**](ImageFormat.md) | | -**quality** | **int** | | +**progressive** | **bool** | Progressive | [optional] +**quality** | **int** | Quality | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigGeneratedImageDto.md b/generated/immich/openapi_client/docs/SystemConfigGeneratedImageDto.md index 0849386..ee7fc7e 100644 --- a/generated/immich/openapi_client/docs/SystemConfigGeneratedImageDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigGeneratedImageDto.md @@ -6,8 +6,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **format** | [**ImageFormat**](ImageFormat.md) | | -**quality** | **int** | | -**size** | **int** | | +**progressive** | **bool** | Progressive | [optional] +**quality** | **int** | Quality | +**size** | **int** | Size | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigImageDto.md b/generated/immich/openapi_client/docs/SystemConfigImageDto.md index abd6fb8..5576370 100644 --- a/generated/immich/openapi_client/docs/SystemConfigImageDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigImageDto.md @@ -6,7 +6,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **colorspace** | [**Colorspace**](Colorspace.md) | | -**extract_embedded** | **bool** | | +**extract_embedded** | **bool** | Extract embedded | **fullsize** | [**SystemConfigGeneratedFullsizeImageDto**](SystemConfigGeneratedFullsizeImageDto.md) | | **preview** | [**SystemConfigGeneratedImageDto**](SystemConfigGeneratedImageDto.md) | | **thumbnail** | [**SystemConfigGeneratedImageDto**](SystemConfigGeneratedImageDto.md) | | diff --git a/generated/immich/openapi_client/docs/SystemConfigJobDto.md b/generated/immich/openapi_client/docs/SystemConfigJobDto.md index 342b6c0..424eeb6 100644 --- a/generated/immich/openapi_client/docs/SystemConfigJobDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigJobDto.md @@ -6,16 +6,20 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **background_task** | [**JobSettingsDto**](JobSettingsDto.md) | | +**editor** | [**JobSettingsDto**](JobSettingsDto.md) | | **face_detection** | [**JobSettingsDto**](JobSettingsDto.md) | | +**integrity_check** | [**JobSettingsDto**](JobSettingsDto.md) | | **library** | [**JobSettingsDto**](JobSettingsDto.md) | | **metadata_extraction** | [**JobSettingsDto**](JobSettingsDto.md) | | **migration** | [**JobSettingsDto**](JobSettingsDto.md) | | **notifications** | [**JobSettingsDto**](JobSettingsDto.md) | | +**ocr** | [**JobSettingsDto**](JobSettingsDto.md) | | **search** | [**JobSettingsDto**](JobSettingsDto.md) | | **sidecar** | [**JobSettingsDto**](JobSettingsDto.md) | | **smart_search** | [**JobSettingsDto**](JobSettingsDto.md) | | **thumbnail_generation** | [**JobSettingsDto**](JobSettingsDto.md) | | **video_conversion** | [**JobSettingsDto**](JobSettingsDto.md) | | +**workflow** | [**JobSettingsDto**](JobSettingsDto.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigLibraryScanDto.md b/generated/immich/openapi_client/docs/SystemConfigLibraryScanDto.md index c6a3550..f447215 100644 --- a/generated/immich/openapi_client/docs/SystemConfigLibraryScanDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigLibraryScanDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**cron_expression** | **str** | | -**enabled** | **bool** | | +**cron_expression** | **str** | Cron expression | +**enabled** | **bool** | Enabled | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigLibraryWatchDto.md b/generated/immich/openapi_client/docs/SystemConfigLibraryWatchDto.md index 17cc12c..f071ae2 100644 --- a/generated/immich/openapi_client/docs/SystemConfigLibraryWatchDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigLibraryWatchDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | +**enabled** | **bool** | Enabled | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigLoggingDto.md b/generated/immich/openapi_client/docs/SystemConfigLoggingDto.md index a0f29ba..b5dd625 100644 --- a/generated/immich/openapi_client/docs/SystemConfigLoggingDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigLoggingDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | +**enabled** | **bool** | Enabled | **level** | [**LogLevel**](LogLevel.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigMachineLearningDto.md b/generated/immich/openapi_client/docs/SystemConfigMachineLearningDto.md index 7d5ac48..a69c505 100644 --- a/generated/immich/openapi_client/docs/SystemConfigMachineLearningDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigMachineLearningDto.md @@ -5,12 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**availability_checks** | [**MachineLearningAvailabilityChecksDto**](MachineLearningAvailabilityChecksDto.md) | | **clip** | [**CLIPConfig**](CLIPConfig.md) | | **duplicate_detection** | [**DuplicateDetectionConfig**](DuplicateDetectionConfig.md) | | -**enabled** | **bool** | | +**enabled** | **bool** | Enabled | **facial_recognition** | [**FacialRecognitionConfig**](FacialRecognitionConfig.md) | | -**url** | **str** | This property was deprecated in v1.122.0 | [optional] -**urls** | **List[str]** | | +**ocr** | [**OcrConfig**](OcrConfig.md) | | +**urls** | **List[str]** | ML service URLs | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigMapDto.md b/generated/immich/openapi_client/docs/SystemConfigMapDto.md index 3899137..8f7025e 100644 --- a/generated/immich/openapi_client/docs/SystemConfigMapDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigMapDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**dark_style** | **str** | | -**enabled** | **bool** | | -**light_style** | **str** | | +**dark_style** | **str** | Dark map style URL | +**enabled** | **bool** | Enabled | +**light_style** | **str** | Light map style URL | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigNewVersionCheckDto.md b/generated/immich/openapi_client/docs/SystemConfigNewVersionCheckDto.md index bbd7fa9..d5c9c75 100644 --- a/generated/immich/openapi_client/docs/SystemConfigNewVersionCheckDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigNewVersionCheckDto.md @@ -5,7 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | +**channel** | [**ReleaseChannel**](ReleaseChannel.md) | | +**enabled** | **bool** | Enabled | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigOAuthDto.md b/generated/immich/openapi_client/docs/SystemConfigOAuthDto.md index 555c694..99e1195 100644 --- a/generated/immich/openapi_client/docs/SystemConfigOAuthDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigOAuthDto.md @@ -5,21 +5,27 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**auto_launch** | **bool** | | -**auto_register** | **bool** | | -**button_text** | **str** | | -**client_id** | **str** | | -**client_secret** | **str** | | -**default_storage_quota** | **float** | | -**enabled** | **bool** | | -**issuer_url** | **str** | | -**mobile_override_enabled** | **bool** | | -**mobile_redirect_uri** | **str** | | -**profile_signing_algorithm** | **str** | | -**scope** | **str** | | -**signing_algorithm** | **str** | | -**storage_label_claim** | **str** | | -**storage_quota_claim** | **str** | | +**allow_insecure_requests** | **bool** | Allow insecure requests | +**auto_launch** | **bool** | Auto launch | +**auto_register** | **bool** | Auto register | +**button_text** | **str** | Button text | +**client_id** | **str** | Client ID | +**client_secret** | **str** | Client secret | +**default_storage_quota** | **int** | Default storage quota | +**enabled** | **bool** | Enabled | +**end_session_endpoint** | **str** | End session endpoint | +**issuer_url** | **str** | Issuer URL | +**mobile_override_enabled** | **bool** | Mobile override enabled | +**mobile_redirect_uri** | **str** | Mobile redirect URI (set to empty string to disable) | +**profile_signing_algorithm** | **str** | Profile signing algorithm | +**prompt** | **str** | OAuth prompt parameter (e.g. select_account, login, consent) | +**role_claim** | **str** | Role claim | +**scope** | **str** | Scope | +**signing_algorithm** | **str** | Signing algorithm | +**storage_label_claim** | **str** | Storage label claim | +**storage_quota_claim** | **str** | Storage quota claim | +**timeout** | **int** | Timeout | +**token_endpoint_auth_method** | [**OAuthTokenEndpointAuthMethod**](OAuthTokenEndpointAuthMethod.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigPasswordLoginDto.md b/generated/immich/openapi_client/docs/SystemConfigPasswordLoginDto.md index c144842..224e905 100644 --- a/generated/immich/openapi_client/docs/SystemConfigPasswordLoginDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigPasswordLoginDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | +**enabled** | **bool** | Enabled | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigReverseGeocodingDto.md b/generated/immich/openapi_client/docs/SystemConfigReverseGeocodingDto.md index a28d185..c84737a 100644 --- a/generated/immich/openapi_client/docs/SystemConfigReverseGeocodingDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigReverseGeocodingDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | +**enabled** | **bool** | Enabled | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigServerDto.md b/generated/immich/openapi_client/docs/SystemConfigServerDto.md index 56ecf79..b087a96 100644 --- a/generated/immich/openapi_client/docs/SystemConfigServerDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigServerDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**external_domain** | **str** | | -**login_page_message** | **str** | | -**public_users** | **bool** | | +**external_domain** | **str** | External domain | +**login_page_message** | **str** | Login page message | +**public_users** | **bool** | Public users | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigSmtpDto.md b/generated/immich/openapi_client/docs/SystemConfigSmtpDto.md index b728bf6..49844b5 100644 --- a/generated/immich/openapi_client/docs/SystemConfigSmtpDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigSmtpDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | -**var_from** | **str** | | -**reply_to** | **str** | | +**enabled** | **bool** | Whether SMTP email notifications are enabled | +**var_from** | **str** | Email address to send from | +**reply_to** | **str** | Email address for replies | **transport** | [**SystemConfigSmtpTransportDto**](SystemConfigSmtpTransportDto.md) | | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigSmtpTransportDto.md b/generated/immich/openapi_client/docs/SystemConfigSmtpTransportDto.md index e5fee1a..f4cd185 100644 --- a/generated/immich/openapi_client/docs/SystemConfigSmtpTransportDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigSmtpTransportDto.md @@ -5,11 +5,12 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**host** | **str** | | -**ignore_cert** | **bool** | | -**password** | **str** | | -**port** | **float** | | -**username** | **str** | | +**host** | **str** | SMTP server hostname | +**ignore_cert** | **bool** | Whether to ignore SSL certificate errors | +**password** | **str** | SMTP password | +**port** | **int** | SMTP server port | +**secure** | **bool** | Whether to use secure connection (TLS/SSL) | +**username** | **str** | SMTP username | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigStorageTemplateDto.md b/generated/immich/openapi_client/docs/SystemConfigStorageTemplateDto.md index b24a2a8..f6dbf07 100644 --- a/generated/immich/openapi_client/docs/SystemConfigStorageTemplateDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigStorageTemplateDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | -**hash_verification_enabled** | **bool** | | -**template** | **str** | | +**enabled** | **bool** | Enabled | +**hash_verification_enabled** | **bool** | Hash verification enabled | +**template** | **str** | Template | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigTemplateEmailsDto.md b/generated/immich/openapi_client/docs/SystemConfigTemplateEmailsDto.md index 89af614..bebc001 100644 --- a/generated/immich/openapi_client/docs/SystemConfigTemplateEmailsDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigTemplateEmailsDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_invite_template** | **str** | | -**album_update_template** | **str** | | -**welcome_template** | **str** | | +**album_invite_template** | **str** | Album invite template | +**album_update_template** | **str** | Album update template | +**welcome_template** | **str** | Welcome template | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigTemplateStorageOptionDto.md b/generated/immich/openapi_client/docs/SystemConfigTemplateStorageOptionDto.md index f4a03d1..36828f5 100644 --- a/generated/immich/openapi_client/docs/SystemConfigTemplateStorageOptionDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigTemplateStorageOptionDto.md @@ -5,14 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**day_options** | **List[str]** | | -**hour_options** | **List[str]** | | -**minute_options** | **List[str]** | | -**month_options** | **List[str]** | | -**preset_options** | **List[str]** | | -**second_options** | **List[str]** | | -**week_options** | **List[str]** | | -**year_options** | **List[str]** | | +**day_options** | **List[str]** | Available day format options for storage template | +**hour_options** | **List[str]** | Available hour format options for storage template | +**minute_options** | **List[str]** | Available minute format options for storage template | +**month_options** | **List[str]** | Available month format options for storage template | +**preset_options** | **List[str]** | Available preset template options | +**second_options** | **List[str]** | Available second format options for storage template | +**week_options** | **List[str]** | Available week format options for storage template | +**year_options** | **List[str]** | Available year format options for storage template | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigThemeDto.md b/generated/immich/openapi_client/docs/SystemConfigThemeDto.md index 2660ef0..7c829b5 100644 --- a/generated/immich/openapi_client/docs/SystemConfigThemeDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigThemeDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**custom_css** | **str** | | +**custom_css** | **str** | Custom CSS for theming | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigTrashDto.md b/generated/immich/openapi_client/docs/SystemConfigTrashDto.md index 7e0bdfc..d5551d1 100644 --- a/generated/immich/openapi_client/docs/SystemConfigTrashDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigTrashDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**days** | **int** | | -**enabled** | **bool** | | +**days** | **int** | Days | +**enabled** | **bool** | Enabled | ## Example diff --git a/generated/immich/openapi_client/docs/SystemConfigUserDto.md b/generated/immich/openapi_client/docs/SystemConfigUserDto.md index 44d7d54..701949e 100644 --- a/generated/immich/openapi_client/docs/SystemConfigUserDto.md +++ b/generated/immich/openapi_client/docs/SystemConfigUserDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**delete_delay** | **int** | | +**delete_delay** | **int** | Delete delay | ## Example diff --git a/generated/immich/openapi_client/docs/SystemMetadataApi.md b/generated/immich/openapi_client/docs/SystemMetadataApi.md index deca9d3..924c45b 100644 --- a/generated/immich/openapi_client/docs/SystemMetadataApi.md +++ b/generated/immich/openapi_client/docs/SystemMetadataApi.md @@ -4,14 +4,19 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_admin_onboarding**](SystemMetadataApi.md#get_admin_onboarding) | **GET** /system-metadata/admin-onboarding | -[**get_reverse_geocoding_state**](SystemMetadataApi.md#get_reverse_geocoding_state) | **GET** /system-metadata/reverse-geocoding-state | -[**update_admin_onboarding**](SystemMetadataApi.md#update_admin_onboarding) | **POST** /system-metadata/admin-onboarding | +[**get_admin_onboarding**](SystemMetadataApi.md#get_admin_onboarding) | **GET** /system-metadata/admin-onboarding | Retrieve admin onboarding +[**get_reverse_geocoding_state**](SystemMetadataApi.md#get_reverse_geocoding_state) | **GET** /system-metadata/reverse-geocoding-state | Retrieve reverse geocoding state +[**get_version_check_state**](SystemMetadataApi.md#get_version_check_state) | **GET** /system-metadata/version-check-state | Retrieve version check state +[**update_admin_onboarding**](SystemMetadataApi.md#update_admin_onboarding) | **POST** /system-metadata/admin-onboarding | Update admin onboarding # **get_admin_onboarding** > AdminOnboardingUpdateDto get_admin_onboarding() +Retrieve admin onboarding + +Retrieve the current admin onboarding status. + ### Example * Api Key Authentication (cookie): @@ -58,6 +63,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SystemMetadataApi(api_client) try: + # Retrieve admin onboarding api_response = api_instance.get_admin_onboarding() print("The response of SystemMetadataApi->get_admin_onboarding:\n") pprint(api_response) @@ -95,6 +101,10 @@ This endpoint does not need any parameter. # **get_reverse_geocoding_state** > ReverseGeocodingStateResponseDto get_reverse_geocoding_state() +Retrieve reverse geocoding state + +Retrieve the current state of the reverse geocoding import. + ### Example * Api Key Authentication (cookie): @@ -141,6 +151,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.SystemMetadataApi(api_client) try: + # Retrieve reverse geocoding state api_response = api_instance.get_reverse_geocoding_state() print("The response of SystemMetadataApi->get_reverse_geocoding_state:\n") pprint(api_response) @@ -175,9 +186,101 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_version_check_state** +> VersionCheckStateResponseDto get_version_check_state() + +Retrieve version check state + +Retrieve the current state of the version check process. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.version_check_state_response_dto import VersionCheckStateResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.SystemMetadataApi(api_client) + + try: + # Retrieve version check state + api_response = api_instance.get_version_check_state() + print("The response of SystemMetadataApi->get_version_check_state:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling SystemMetadataApi->get_version_check_state: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**VersionCheckStateResponseDto**](VersionCheckStateResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **update_admin_onboarding** > update_admin_onboarding(admin_onboarding_update_dto) +Update admin onboarding + +Update the admin onboarding status. + ### Example * Api Key Authentication (cookie): @@ -225,6 +328,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: admin_onboarding_update_dto = generated.immich.openapi_client.AdminOnboardingUpdateDto() # AdminOnboardingUpdateDto | try: + # Update admin onboarding api_instance.update_admin_onboarding(admin_onboarding_update_dto) except Exception as e: print("Exception when calling SystemMetadataApi->update_admin_onboarding: %s\n" % e) diff --git a/generated/immich/openapi_client/docs/TagBulkAssetsDto.md b/generated/immich/openapi_client/docs/TagBulkAssetsDto.md index ee85d03..b1ab8d7 100644 --- a/generated/immich/openapi_client/docs/TagBulkAssetsDto.md +++ b/generated/immich/openapi_client/docs/TagBulkAssetsDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**asset_ids** | **List[str]** | | -**tag_ids** | **List[str]** | | +**asset_ids** | **List[UUID]** | Asset IDs | +**tag_ids** | **List[UUID]** | Tag IDs | ## Example diff --git a/generated/immich/openapi_client/docs/TagBulkAssetsResponseDto.md b/generated/immich/openapi_client/docs/TagBulkAssetsResponseDto.md index 9d1e799..e4629be 100644 --- a/generated/immich/openapi_client/docs/TagBulkAssetsResponseDto.md +++ b/generated/immich/openapi_client/docs/TagBulkAssetsResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**count** | **int** | | +**count** | **int** | Number of assets tagged | ## Example diff --git a/generated/immich/openapi_client/docs/TagCreateDto.md b/generated/immich/openapi_client/docs/TagCreateDto.md index a65a15f..73c1993 100644 --- a/generated/immich/openapi_client/docs/TagCreateDto.md +++ b/generated/immich/openapi_client/docs/TagCreateDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**color** | **str** | | [optional] -**name** | **str** | | -**parent_id** | **str** | | [optional] +**color** | **str** | Tag color (hex) | [optional] +**name** | **str** | Tag name | +**parent_id** | **UUID** | Parent tag ID | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/TagResponseDto.md b/generated/immich/openapi_client/docs/TagResponseDto.md index caba9d9..75eaedb 100644 --- a/generated/immich/openapi_client/docs/TagResponseDto.md +++ b/generated/immich/openapi_client/docs/TagResponseDto.md @@ -5,13 +5,13 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**color** | **str** | | [optional] -**created_at** | **datetime** | | -**id** | **str** | | -**name** | **str** | | -**parent_id** | **str** | | [optional] -**updated_at** | **datetime** | | -**value** | **str** | | +**color** | **str** | Tag color (hex) | [optional] +**created_at** | **datetime** | Creation date | +**id** | **UUID** | Tag ID | +**name** | **str** | Tag name | +**parent_id** | **str** | Parent tag ID | [optional] +**updated_at** | **datetime** | Last update date | +**value** | **str** | Tag value (full path) | ## Example diff --git a/generated/immich/openapi_client/docs/TagUpdateDto.md b/generated/immich/openapi_client/docs/TagUpdateDto.md index bf4bcbb..a18fa38 100644 --- a/generated/immich/openapi_client/docs/TagUpdateDto.md +++ b/generated/immich/openapi_client/docs/TagUpdateDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**color** | **str** | | [optional] +**color** | **str** | Tag color (hex) | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/TagUpsertDto.md b/generated/immich/openapi_client/docs/TagUpsertDto.md index 15aa92a..db9de12 100644 --- a/generated/immich/openapi_client/docs/TagUpsertDto.md +++ b/generated/immich/openapi_client/docs/TagUpsertDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**tags** | **List[str]** | | +**tags** | **List[str]** | Tag names to upsert | ## Example diff --git a/generated/immich/openapi_client/docs/TagsApi.md b/generated/immich/openapi_client/docs/TagsApi.md index a8b631f..0554701 100644 --- a/generated/immich/openapi_client/docs/TagsApi.md +++ b/generated/immich/openapi_client/docs/TagsApi.md @@ -4,20 +4,24 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**bulk_tag_assets**](TagsApi.md#bulk_tag_assets) | **PUT** /tags/assets | -[**create_tag**](TagsApi.md#create_tag) | **POST** /tags | -[**delete_tag**](TagsApi.md#delete_tag) | **DELETE** /tags/{id} | -[**get_all_tags**](TagsApi.md#get_all_tags) | **GET** /tags | -[**get_tag_by_id**](TagsApi.md#get_tag_by_id) | **GET** /tags/{id} | -[**tag_assets**](TagsApi.md#tag_assets) | **PUT** /tags/{id}/assets | -[**untag_assets**](TagsApi.md#untag_assets) | **DELETE** /tags/{id}/assets | -[**update_tag**](TagsApi.md#update_tag) | **PUT** /tags/{id} | -[**upsert_tags**](TagsApi.md#upsert_tags) | **PUT** /tags | +[**bulk_tag_assets**](TagsApi.md#bulk_tag_assets) | **PUT** /tags/assets | Tag assets +[**create_tag**](TagsApi.md#create_tag) | **POST** /tags | Create a tag +[**delete_tag**](TagsApi.md#delete_tag) | **DELETE** /tags/{id} | Delete a tag +[**get_all_tags**](TagsApi.md#get_all_tags) | **GET** /tags | Retrieve tags +[**get_tag_by_id**](TagsApi.md#get_tag_by_id) | **GET** /tags/{id} | Retrieve a tag +[**tag_assets**](TagsApi.md#tag_assets) | **PUT** /tags/{id}/assets | Tag assets +[**untag_assets**](TagsApi.md#untag_assets) | **DELETE** /tags/{id}/assets | Untag assets +[**update_tag**](TagsApi.md#update_tag) | **PUT** /tags/{id} | Update a tag +[**upsert_tags**](TagsApi.md#upsert_tags) | **PUT** /tags | Upsert tags # **bulk_tag_assets** > TagBulkAssetsResponseDto bulk_tag_assets(tag_bulk_assets_dto) +Tag assets + +Add multiple tags to multiple assets in a single request. + ### Example * Api Key Authentication (cookie): @@ -66,6 +70,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: tag_bulk_assets_dto = generated.immich.openapi_client.TagBulkAssetsDto() # TagBulkAssetsDto | try: + # Tag assets api_response = api_instance.bulk_tag_assets(tag_bulk_assets_dto) print("The response of TagsApi->bulk_tag_assets:\n") pprint(api_response) @@ -106,6 +111,10 @@ Name | Type | Description | Notes # **create_tag** > TagResponseDto create_tag(tag_create_dto) +Create a tag + +Create a new tag by providing a name and optional color. + ### Example * Api Key Authentication (cookie): @@ -154,6 +163,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: tag_create_dto = generated.immich.openapi_client.TagCreateDto() # TagCreateDto | try: + # Create a tag api_response = api_instance.create_tag(tag_create_dto) print("The response of TagsApi->create_tag:\n") pprint(api_response) @@ -194,6 +204,10 @@ Name | Type | Description | Notes # **delete_tag** > delete_tag(id) +Delete a tag + +Delete a specific tag by its ID. + ### Example * Api Key Authentication (cookie): @@ -237,9 +251,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.TagsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Delete a tag api_instance.delete_tag(id) except Exception as e: print("Exception when calling TagsApi->delete_tag: %s\n" % e) @@ -252,7 +267,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -278,6 +293,10 @@ void (empty response body) # **get_all_tags** > List[TagResponseDto] get_all_tags() +Retrieve tags + +Retrieve a list of all tags. + ### Example * Api Key Authentication (cookie): @@ -324,6 +343,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.TagsApi(api_client) try: + # Retrieve tags api_response = api_instance.get_all_tags() print("The response of TagsApi->get_all_tags:\n") pprint(api_response) @@ -361,6 +381,10 @@ This endpoint does not need any parameter. # **get_tag_by_id** > TagResponseDto get_tag_by_id(id) +Retrieve a tag + +Retrieve a specific tag by its ID. + ### Example * Api Key Authentication (cookie): @@ -405,9 +429,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.TagsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve a tag api_response = api_instance.get_tag_by_id(id) print("The response of TagsApi->get_tag_by_id:\n") pprint(api_response) @@ -422,7 +447,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -448,6 +473,10 @@ Name | Type | Description | Notes # **tag_assets** > List[BulkIdResponseDto] tag_assets(id, bulk_ids_dto) +Tag assets + +Add a tag to all the specified assets. + ### Example * Api Key Authentication (cookie): @@ -493,10 +522,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.TagsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | try: + # Tag assets api_response = api_instance.tag_assets(id, bulk_ids_dto) print("The response of TagsApi->tag_assets:\n") pprint(api_response) @@ -511,7 +541,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **bulk_ids_dto** | [**BulkIdsDto**](BulkIdsDto.md)| | ### Return type @@ -538,6 +568,10 @@ Name | Type | Description | Notes # **untag_assets** > List[BulkIdResponseDto] untag_assets(id, bulk_ids_dto) +Untag assets + +Remove a tag from all the specified assets. + ### Example * Api Key Authentication (cookie): @@ -583,10 +617,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.TagsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | try: + # Untag assets api_response = api_instance.untag_assets(id, bulk_ids_dto) print("The response of TagsApi->untag_assets:\n") pprint(api_response) @@ -601,7 +636,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **bulk_ids_dto** | [**BulkIdsDto**](BulkIdsDto.md)| | ### Return type @@ -628,6 +663,10 @@ Name | Type | Description | Notes # **update_tag** > TagResponseDto update_tag(id, tag_update_dto) +Update a tag + +Update an existing tag identified by its ID. + ### Example * Api Key Authentication (cookie): @@ -673,10 +712,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.TagsApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | tag_update_dto = generated.immich.openapi_client.TagUpdateDto() # TagUpdateDto | try: + # Update a tag api_response = api_instance.update_tag(id, tag_update_dto) print("The response of TagsApi->update_tag:\n") pprint(api_response) @@ -691,7 +731,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **tag_update_dto** | [**TagUpdateDto**](TagUpdateDto.md)| | ### Return type @@ -718,6 +758,10 @@ Name | Type | Description | Notes # **upsert_tags** > List[TagResponseDto] upsert_tags(tag_upsert_dto) +Upsert tags + +Create or update multiple tags in a single request. + ### Example * Api Key Authentication (cookie): @@ -766,6 +810,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: tag_upsert_dto = generated.immich.openapi_client.TagUpsertDto() # TagUpsertDto | try: + # Upsert tags api_response = api_instance.upsert_tags(tag_upsert_dto) print("The response of TagsApi->upsert_tags:\n") pprint(api_response) diff --git a/generated/immich/openapi_client/docs/TagsResponse.md b/generated/immich/openapi_client/docs/TagsResponse.md index c7bbfec..6b98a7b 100644 --- a/generated/immich/openapi_client/docs/TagsResponse.md +++ b/generated/immich/openapi_client/docs/TagsResponse.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [default to True] -**sidebar_web** | **bool** | | [default to True] +**enabled** | **bool** | Whether tags are enabled | +**sidebar_web** | **bool** | Whether tags appear in web sidebar | ## Example diff --git a/generated/immich/openapi_client/docs/TagsUpdate.md b/generated/immich/openapi_client/docs/TagsUpdate.md index 6dfd911..4790d50 100644 --- a/generated/immich/openapi_client/docs/TagsUpdate.md +++ b/generated/immich/openapi_client/docs/TagsUpdate.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | | [optional] -**sidebar_web** | **bool** | | [optional] +**enabled** | **bool** | Whether tags are enabled | [optional] +**sidebar_web** | **bool** | Whether tags appear in web sidebar | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/TemplateDto.md b/generated/immich/openapi_client/docs/TemplateDto.md index eb64d18..33e6ff0 100644 --- a/generated/immich/openapi_client/docs/TemplateDto.md +++ b/generated/immich/openapi_client/docs/TemplateDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**template** | **str** | | +**template** | **str** | Template name | ## Example diff --git a/generated/immich/openapi_client/docs/TemplateResponseDto.md b/generated/immich/openapi_client/docs/TemplateResponseDto.md index cef4e0f..85c0960 100644 --- a/generated/immich/openapi_client/docs/TemplateResponseDto.md +++ b/generated/immich/openapi_client/docs/TemplateResponseDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**html** | **str** | | -**name** | **str** | | +**html** | **str** | Template HTML content | +**name** | **str** | Template name | ## Example diff --git a/generated/immich/openapi_client/docs/TestEmailResponseDto.md b/generated/immich/openapi_client/docs/TestEmailResponseDto.md index 456a2e3..ef56d62 100644 --- a/generated/immich/openapi_client/docs/TestEmailResponseDto.md +++ b/generated/immich/openapi_client/docs/TestEmailResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**message_id** | **str** | | +**message_id** | **str** | Email message ID | ## Example diff --git a/generated/immich/openapi_client/docs/TimeBucketResponseDto.md b/generated/immich/openapi_client/docs/TimeBucketResponseDto.md deleted file mode 100644 index 23318f8..0000000 --- a/generated/immich/openapi_client/docs/TimeBucketResponseDto.md +++ /dev/null @@ -1,30 +0,0 @@ -# TimeBucketResponseDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**count** | **int** | | -**time_bucket** | **str** | | - -## Example - -```python -from generated.immich.openapi_client.models.time_bucket_response_dto import TimeBucketResponseDto - -# TODO update the JSON string below -json = "{}" -# create an instance of TimeBucketResponseDto from a JSON string -time_bucket_response_dto_instance = TimeBucketResponseDto.from_json(json) -# print the JSON string representation of the object -print(TimeBucketResponseDto.to_json()) - -# convert the object into a dict -time_bucket_response_dto_dict = time_bucket_response_dto_instance.to_dict() -# create an instance of TimeBucketResponseDto from a dict -time_bucket_response_dto_from_dict = TimeBucketResponseDto.from_dict(time_bucket_response_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/TimeBucketSize.md b/generated/immich/openapi_client/docs/TimeBucketSize.md deleted file mode 100644 index a00c39e..0000000 --- a/generated/immich/openapi_client/docs/TimeBucketSize.md +++ /dev/null @@ -1,12 +0,0 @@ -# TimeBucketSize - - -## Enum - -* `DAY` (value: `'DAY'`) - -* `MONTH` (value: `'MONTH'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/TimelineApi.md b/generated/immich/openapi_client/docs/TimelineApi.md index 8bbd976..318c342 100644 --- a/generated/immich/openapi_client/docs/TimelineApi.md +++ b/generated/immich/openapi_client/docs/TimelineApi.md @@ -4,12 +4,16 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**get_time_bucket**](TimelineApi.md#get_time_bucket) | **GET** /timeline/bucket | -[**get_time_buckets**](TimelineApi.md#get_time_buckets) | **GET** /timeline/buckets | +[**get_time_bucket**](TimelineApi.md#get_time_bucket) | **GET** /timeline/bucket | Get time bucket +[**get_time_buckets**](TimelineApi.md#get_time_buckets) | **GET** /timeline/buckets | Get time buckets # **get_time_bucket** -> List[AssetResponseDto] get_time_bucket(size, time_bucket, album_id=album_id, is_archived=is_archived, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, person_id=person_id, tag_id=tag_id, user_id=user_id, with_partners=with_partners, with_stacked=with_stacked) +> TimeBucketAssetResponseDto get_time_bucket(time_bucket, album_id=album_id, bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, order_by=order_by, person_id=person_id, slug=slug, tag_id=tag_id, user_id=user_id, visibility=visibility, with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked) + +Get time bucket + +Retrieve a string of all asset ids in a given time bucket. ### Example @@ -20,8 +24,9 @@ Method | HTTP request | Description ```python import generated.immich.openapi_client 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.time_bucket_size import TimeBucketSize +from generated.immich.openapi_client.models.asset_order_by import AssetOrderBy +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility +from generated.immich.openapi_client.models.time_bucket_asset_response_dto import TimeBucketAssetResponseDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -57,22 +62,26 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.TimelineApi(api_client) - size = generated.immich.openapi_client.TimeBucketSize() # TimeBucketSize | - time_bucket = 'time_bucket_example' # str | - album_id = 'album_id_example' # str | (optional) - is_archived = True # bool | (optional) - is_favorite = True # bool | (optional) - is_trashed = True # bool | (optional) + time_bucket = '2024-01-01' # str | Time bucket identifier in YYYY-MM-DD format + album_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter assets belonging to a specific album (optional) + bbox = '11.075683,49.416711,11.117589,49.454875' # str | Bounding box coordinates as west,south,east,north (WGS84) (optional) + is_favorite = True # bool | Filter by favorite status (true for favorites only, false for non-favorites only) (optional) + is_trashed = True # bool | Filter by trash status (true for trashed assets only, false for non-trashed only) (optional) key = 'key_example' # str | (optional) - order = generated.immich.openapi_client.AssetOrder() # AssetOrder | (optional) - person_id = 'person_id_example' # str | (optional) - tag_id = 'tag_id_example' # str | (optional) - user_id = 'user_id_example' # str | (optional) - with_partners = True # bool | (optional) - with_stacked = True # bool | (optional) + order = generated.immich.openapi_client.AssetOrder() # AssetOrder | Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) (optional) + order_by = generated.immich.openapi_client.AssetOrderBy() # AssetOrderBy | Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) (optional) + person_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter assets containing a specific person (face recognition) (optional) + slug = 'slug_example' # str | (optional) + tag_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter assets with a specific tag (optional) + user_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter assets by specific user ID (optional) + visibility = generated.immich.openapi_client.AssetVisibility() # AssetVisibility | Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) (optional) + with_coordinates = True # bool | Include location data in the response (optional) + with_partners = True # bool | Include assets shared by partners (optional) + with_stacked = True # bool | Include stacked assets in the response. When true, only primary assets from stacks are returned. (optional) try: - api_response = api_instance.get_time_bucket(size, time_bucket, album_id=album_id, is_archived=is_archived, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, person_id=person_id, tag_id=tag_id, user_id=user_id, with_partners=with_partners, with_stacked=with_stacked) + # Get time bucket + api_response = api_instance.get_time_bucket(time_bucket, album_id=album_id, bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, order_by=order_by, person_id=person_id, slug=slug, tag_id=tag_id, user_id=user_id, visibility=visibility, with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked) print("The response of TimelineApi->get_time_bucket:\n") pprint(api_response) except Exception as e: @@ -86,23 +95,26 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **size** | [**TimeBucketSize**](.md)| | - **time_bucket** | **str**| | - **album_id** | **str**| | [optional] - **is_archived** | **bool**| | [optional] - **is_favorite** | **bool**| | [optional] - **is_trashed** | **bool**| | [optional] + **time_bucket** | **str**| Time bucket identifier in YYYY-MM-DD format | + **album_id** | **UUID**| Filter assets belonging to a specific album | [optional] + **bbox** | **str**| Bounding box coordinates as west,south,east,north (WGS84) | [optional] + **is_favorite** | **bool**| Filter by favorite status (true for favorites only, false for non-favorites only) | [optional] + **is_trashed** | **bool**| Filter by trash status (true for trashed assets only, false for non-trashed only) | [optional] **key** | **str**| | [optional] - **order** | [**AssetOrder**](.md)| | [optional] - **person_id** | **str**| | [optional] - **tag_id** | **str**| | [optional] - **user_id** | **str**| | [optional] - **with_partners** | **bool**| | [optional] - **with_stacked** | **bool**| | [optional] + **order** | [**AssetOrder**](.md)| Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) | [optional] + **order_by** | [**AssetOrderBy**](.md)| Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) | [optional] + **person_id** | **UUID**| Filter assets containing a specific person (face recognition) | [optional] + **slug** | **str**| | [optional] + **tag_id** | **UUID**| Filter assets with a specific tag | [optional] + **user_id** | **UUID**| Filter assets by specific user ID | [optional] + **visibility** | [**AssetVisibility**](.md)| Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) | [optional] + **with_coordinates** | **bool**| Include location data in the response | [optional] + **with_partners** | **bool**| Include assets shared by partners | [optional] + **with_stacked** | **bool**| Include stacked assets in the response. When true, only primary assets from stacks are returned. | [optional] ### Return type -[**List[AssetResponseDto]**](AssetResponseDto.md) +[**TimeBucketAssetResponseDto**](TimeBucketAssetResponseDto.md) ### Authorization @@ -122,7 +134,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_time_buckets** -> List[TimeBucketResponseDto] get_time_buckets(size, album_id=album_id, is_archived=is_archived, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, person_id=person_id, tag_id=tag_id, user_id=user_id, with_partners=with_partners, with_stacked=with_stacked) +> List[TimeBucketsResponseDto] get_time_buckets(album_id=album_id, bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, order_by=order_by, person_id=person_id, slug=slug, tag_id=tag_id, user_id=user_id, visibility=visibility, with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked) + +Get time buckets + +Retrieve a list of all minimal time buckets. ### Example @@ -133,8 +149,9 @@ Name | Type | Description | Notes ```python import generated.immich.openapi_client from generated.immich.openapi_client.models.asset_order import AssetOrder -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.asset_order_by import AssetOrderBy +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility +from generated.immich.openapi_client.models.time_buckets_response_dto import TimeBucketsResponseDto from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -170,21 +187,25 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.TimelineApi(api_client) - size = generated.immich.openapi_client.TimeBucketSize() # TimeBucketSize | - album_id = 'album_id_example' # str | (optional) - is_archived = True # bool | (optional) - is_favorite = True # bool | (optional) - is_trashed = True # bool | (optional) + album_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter assets belonging to a specific album (optional) + bbox = '11.075683,49.416711,11.117589,49.454875' # str | Bounding box coordinates as west,south,east,north (WGS84) (optional) + is_favorite = True # bool | Filter by favorite status (true for favorites only, false for non-favorites only) (optional) + is_trashed = True # bool | Filter by trash status (true for trashed assets only, false for non-trashed only) (optional) key = 'key_example' # str | (optional) - order = generated.immich.openapi_client.AssetOrder() # AssetOrder | (optional) - person_id = 'person_id_example' # str | (optional) - tag_id = 'tag_id_example' # str | (optional) - user_id = 'user_id_example' # str | (optional) - with_partners = True # bool | (optional) - with_stacked = True # bool | (optional) + order = generated.immich.openapi_client.AssetOrder() # AssetOrder | Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) (optional) + order_by = generated.immich.openapi_client.AssetOrderBy() # AssetOrderBy | Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) (optional) + person_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter assets containing a specific person (face recognition) (optional) + slug = 'slug_example' # str | (optional) + tag_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter assets with a specific tag (optional) + user_id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | Filter assets by specific user ID (optional) + visibility = generated.immich.openapi_client.AssetVisibility() # AssetVisibility | Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) (optional) + with_coordinates = True # bool | Include location data in the response (optional) + with_partners = True # bool | Include assets shared by partners (optional) + with_stacked = True # bool | Include stacked assets in the response. When true, only primary assets from stacks are returned. (optional) try: - api_response = api_instance.get_time_buckets(size, album_id=album_id, is_archived=is_archived, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, person_id=person_id, tag_id=tag_id, user_id=user_id, with_partners=with_partners, with_stacked=with_stacked) + # Get time buckets + api_response = api_instance.get_time_buckets(album_id=album_id, bbox=bbox, is_favorite=is_favorite, is_trashed=is_trashed, key=key, order=order, order_by=order_by, person_id=person_id, slug=slug, tag_id=tag_id, user_id=user_id, visibility=visibility, with_coordinates=with_coordinates, with_partners=with_partners, with_stacked=with_stacked) print("The response of TimelineApi->get_time_buckets:\n") pprint(api_response) except Exception as e: @@ -198,22 +219,25 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **size** | [**TimeBucketSize**](.md)| | - **album_id** | **str**| | [optional] - **is_archived** | **bool**| | [optional] - **is_favorite** | **bool**| | [optional] - **is_trashed** | **bool**| | [optional] + **album_id** | **UUID**| Filter assets belonging to a specific album | [optional] + **bbox** | **str**| Bounding box coordinates as west,south,east,north (WGS84) | [optional] + **is_favorite** | **bool**| Filter by favorite status (true for favorites only, false for non-favorites only) | [optional] + **is_trashed** | **bool**| Filter by trash status (true for trashed assets only, false for non-trashed only) | [optional] **key** | **str**| | [optional] - **order** | [**AssetOrder**](.md)| | [optional] - **person_id** | **str**| | [optional] - **tag_id** | **str**| | [optional] - **user_id** | **str**| | [optional] - **with_partners** | **bool**| | [optional] - **with_stacked** | **bool**| | [optional] + **order** | [**AssetOrder**](.md)| Sort order for assets within time buckets (ASC for oldest first, DESC for newest first) | [optional] + **order_by** | [**AssetOrderBy**](.md)| Date to group and order assets by (takenAt for date taken, createdAt for date added to Immich) | [optional] + **person_id** | **UUID**| Filter assets containing a specific person (face recognition) | [optional] + **slug** | **str**| | [optional] + **tag_id** | **UUID**| Filter assets with a specific tag | [optional] + **user_id** | **UUID**| Filter assets by specific user ID | [optional] + **visibility** | [**AssetVisibility**](.md)| Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED) | [optional] + **with_coordinates** | **bool**| Include location data in the response | [optional] + **with_partners** | **bool**| Include assets shared by partners | [optional] + **with_stacked** | **bool**| Include stacked assets in the response. When true, only primary assets from stacks are returned. | [optional] ### Return type -[**List[TimeBucketResponseDto]**](TimeBucketResponseDto.md) +[**List[TimeBucketsResponseDto]**](TimeBucketsResponseDto.md) ### Authorization diff --git a/generated/immich/openapi_client/docs/ToneMapping.md b/generated/immich/openapi_client/docs/ToneMapping.md index 122b477..f19c198 100644 --- a/generated/immich/openapi_client/docs/ToneMapping.md +++ b/generated/immich/openapi_client/docs/ToneMapping.md @@ -1,5 +1,6 @@ # ToneMapping +Tone mapping ## Enum diff --git a/generated/immich/openapi_client/docs/TranscodeHWAccel.md b/generated/immich/openapi_client/docs/TranscodeHWAccel.md index be61cd2..52ed904 100644 --- a/generated/immich/openapi_client/docs/TranscodeHWAccel.md +++ b/generated/immich/openapi_client/docs/TranscodeHWAccel.md @@ -1,5 +1,6 @@ # TranscodeHWAccel +Transcode hardware acceleration ## Enum diff --git a/generated/immich/openapi_client/docs/TranscodePolicy.md b/generated/immich/openapi_client/docs/TranscodePolicy.md index 3a52b7a..44f720e 100644 --- a/generated/immich/openapi_client/docs/TranscodePolicy.md +++ b/generated/immich/openapi_client/docs/TranscodePolicy.md @@ -1,5 +1,6 @@ # TranscodePolicy +Transcode policy ## Enum diff --git a/generated/immich/openapi_client/docs/TrashApi.md b/generated/immich/openapi_client/docs/TrashApi.md index b9d18c0..d018a76 100644 --- a/generated/immich/openapi_client/docs/TrashApi.md +++ b/generated/immich/openapi_client/docs/TrashApi.md @@ -4,14 +4,18 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**empty_trash**](TrashApi.md#empty_trash) | **POST** /trash/empty | -[**restore_assets**](TrashApi.md#restore_assets) | **POST** /trash/restore/assets | -[**restore_trash**](TrashApi.md#restore_trash) | **POST** /trash/restore | +[**empty_trash**](TrashApi.md#empty_trash) | **POST** /trash/empty | Empty trash +[**restore_assets**](TrashApi.md#restore_assets) | **POST** /trash/restore/assets | Restore assets +[**restore_trash**](TrashApi.md#restore_trash) | **POST** /trash/restore | Restore trash # **empty_trash** > TrashResponseDto empty_trash() +Empty trash + +Permanently delete all items in the trash. + ### Example * Api Key Authentication (cookie): @@ -58,6 +62,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.TrashApi(api_client) try: + # Empty trash api_response = api_instance.empty_trash() print("The response of TrashApi->empty_trash:\n") pprint(api_response) @@ -95,6 +100,10 @@ This endpoint does not need any parameter. # **restore_assets** > TrashResponseDto restore_assets(bulk_ids_dto) +Restore assets + +Restore specific assets from the trash. + ### Example * Api Key Authentication (cookie): @@ -143,6 +152,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: bulk_ids_dto = generated.immich.openapi_client.BulkIdsDto() # BulkIdsDto | try: + # Restore assets api_response = api_instance.restore_assets(bulk_ids_dto) print("The response of TrashApi->restore_assets:\n") pprint(api_response) @@ -183,6 +193,10 @@ Name | Type | Description | Notes # **restore_trash** > TrashResponseDto restore_trash() +Restore trash + +Restore all items in the trash. + ### Example * Api Key Authentication (cookie): @@ -229,6 +243,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.TrashApi(api_client) try: + # Restore trash api_response = api_instance.restore_trash() print("The response of TrashApi->restore_trash:\n") pprint(api_response) diff --git a/generated/immich/openapi_client/docs/TrashResponseDto.md b/generated/immich/openapi_client/docs/TrashResponseDto.md index a10ae6d..fb4290a 100644 --- a/generated/immich/openapi_client/docs/TrashResponseDto.md +++ b/generated/immich/openapi_client/docs/TrashResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**count** | **int** | | +**count** | **int** | Number of items in trash | ## Example diff --git a/generated/immich/openapi_client/docs/UpdateAlbumDto.md b/generated/immich/openapi_client/docs/UpdateAlbumDto.md index 1a06d79..ee78009 100644 --- a/generated/immich/openapi_client/docs/UpdateAlbumDto.md +++ b/generated/immich/openapi_client/docs/UpdateAlbumDto.md @@ -5,10 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**album_name** | **str** | | [optional] -**album_thumbnail_asset_id** | **str** | | [optional] -**description** | **str** | | [optional] -**is_activity_enabled** | **bool** | | [optional] +**album_name** | **str** | Album name | [optional] +**album_thumbnail_asset_id** | **UUID** | Album thumbnail asset ID | [optional] +**description** | **str** | Album description | [optional] +**is_activity_enabled** | **bool** | Enable activity feed | [optional] **order** | [**AssetOrder**](AssetOrder.md) | | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/UpdateAssetDto.md b/generated/immich/openapi_client/docs/UpdateAssetDto.md index 8fd9e6e..f27046c 100644 --- a/generated/immich/openapi_client/docs/UpdateAssetDto.md +++ b/generated/immich/openapi_client/docs/UpdateAssetDto.md @@ -5,14 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**date_time_original** | **str** | | [optional] -**description** | **str** | | [optional] -**is_archived** | **bool** | | [optional] -**is_favorite** | **bool** | | [optional] -**latitude** | **float** | | [optional] -**live_photo_video_id** | **str** | | [optional] -**longitude** | **float** | | [optional] -**rating** | **float** | | [optional] +**date_time_original** | **str** | Original date and time | [optional] +**description** | **str** | Asset description | [optional] +**is_favorite** | **bool** | Mark as favorite | [optional] +**latitude** | **float** | Latitude coordinate | [optional] +**live_photo_video_id** | **UUID** | Live photo video ID | [optional] +**longitude** | **float** | Longitude coordinate | [optional] +**rating** | **int** | Rating in range [1-5] (starred), -1 (rejected), or null (unrated) | [optional] +**visibility** | [**AssetVisibility**](AssetVisibility.md) | | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/UpdateLibraryDto.md b/generated/immich/openapi_client/docs/UpdateLibraryDto.md index 0164b04..520af4b 100644 --- a/generated/immich/openapi_client/docs/UpdateLibraryDto.md +++ b/generated/immich/openapi_client/docs/UpdateLibraryDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**exclusion_patterns** | **List[str]** | | [optional] -**import_paths** | **List[str]** | | [optional] -**name** | **str** | | [optional] +**exclusion_patterns** | **List[str]** | Exclusion patterns (max 128) | [optional] +**import_paths** | **List[str]** | Import paths (max 128) | [optional] +**name** | **str** | Library name | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/UpdatePartnerDto.md b/generated/immich/openapi_client/docs/UpdatePartnerDto.md deleted file mode 100644 index 87fa7a2..0000000 --- a/generated/immich/openapi_client/docs/UpdatePartnerDto.md +++ /dev/null @@ -1,29 +0,0 @@ -# UpdatePartnerDto - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**in_timeline** | **bool** | | - -## Example - -```python -from generated.immich.openapi_client.models.update_partner_dto import UpdatePartnerDto - -# TODO update the JSON string below -json = "{}" -# create an instance of UpdatePartnerDto from a JSON string -update_partner_dto_instance = UpdatePartnerDto.from_json(json) -# print the JSON string representation of the object -print(UpdatePartnerDto.to_json()) - -# convert the object into a dict -update_partner_dto_dict = update_partner_dto_instance.to_dict() -# create an instance of UpdatePartnerDto from a dict -update_partner_dto_from_dict = UpdatePartnerDto.from_dict(update_partner_dto_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/generated/immich/openapi_client/docs/UsageByUserDto.md b/generated/immich/openapi_client/docs/UsageByUserDto.md index d2d0ed7..63e3f1c 100644 --- a/generated/immich/openapi_client/docs/UsageByUserDto.md +++ b/generated/immich/openapi_client/docs/UsageByUserDto.md @@ -5,14 +5,14 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**photos** | **int** | | -**quota_size_in_bytes** | **int** | | -**usage** | **int** | | -**usage_photos** | **int** | | -**usage_videos** | **int** | | -**user_id** | **str** | | -**user_name** | **str** | | -**videos** | **int** | | +**photos** | **int** | Number of photos | +**quota_size_in_bytes** | **int** | User quota size in bytes (null if unlimited) | +**usage** | **int** | Total storage usage in bytes | +**usage_photos** | **int** | Storage usage for photos in bytes | +**usage_videos** | **int** | Storage usage for videos in bytes | +**user_id** | **UUID** | User ID | +**user_name** | **str** | User name | +**videos** | **int** | Number of videos | ## Example diff --git a/generated/immich/openapi_client/docs/UserAdminCreateDto.md b/generated/immich/openapi_client/docs/UserAdminCreateDto.md index 7f395d2..5cb9e63 100644 --- a/generated/immich/openapi_client/docs/UserAdminCreateDto.md +++ b/generated/immich/openapi_client/docs/UserAdminCreateDto.md @@ -5,13 +5,16 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**email** | **str** | | -**name** | **str** | | -**notify** | **bool** | | [optional] -**password** | **str** | | -**quota_size_in_bytes** | **int** | | [optional] -**should_change_password** | **bool** | | [optional] -**storage_label** | **str** | | [optional] +**avatar_color** | [**UserAvatarColor**](UserAvatarColor.md) | | [optional] +**email** | **str** | User email | +**is_admin** | **bool** | Grant admin privileges | [optional] +**name** | **str** | User name | +**notify** | **bool** | Send notification email | [optional] +**password** | **str** | User password | +**pin_code** | **str** | PIN code | [optional] +**quota_size_in_bytes** | **int** | Storage quota in bytes | [optional] +**should_change_password** | **bool** | Require password change on next login | [optional] +**storage_label** | **str** | Storage label | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/UserAdminDeleteDto.md b/generated/immich/openapi_client/docs/UserAdminDeleteDto.md index f8c2724..e055f77 100644 --- a/generated/immich/openapi_client/docs/UserAdminDeleteDto.md +++ b/generated/immich/openapi_client/docs/UserAdminDeleteDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**force** | **bool** | | [optional] +**force** | **bool** | Force delete even if user has assets | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/UserAdminResponseDto.md b/generated/immich/openapi_client/docs/UserAdminResponseDto.md index 51e27c4..9209d61 100644 --- a/generated/immich/openapi_client/docs/UserAdminResponseDto.md +++ b/generated/immich/openapi_client/docs/UserAdminResponseDto.md @@ -6,22 +6,22 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **avatar_color** | [**UserAvatarColor**](UserAvatarColor.md) | | -**created_at** | **datetime** | | -**deleted_at** | **datetime** | | -**email** | **str** | | -**id** | **str** | | -**is_admin** | **bool** | | +**created_at** | **datetime** | Creation date | +**deleted_at** | **datetime** | Deletion date | +**email** | **str** | User email | +**id** | **UUID** | User ID | +**is_admin** | **bool** | Is admin user | **license** | [**UserLicense**](UserLicense.md) | | -**name** | **str** | | -**oauth_id** | **str** | | -**profile_changed_at** | **datetime** | | -**profile_image_path** | **str** | | -**quota_size_in_bytes** | **int** | | -**quota_usage_in_bytes** | **int** | | -**should_change_password** | **bool** | | +**name** | **str** | User name | +**oauth_id** | **str** | OAuth ID | +**profile_changed_at** | **datetime** | Profile change date | +**profile_image_path** | **str** | Profile image path | +**quota_size_in_bytes** | **int** | Storage quota in bytes | +**quota_usage_in_bytes** | **int** | Storage usage in bytes | +**should_change_password** | **bool** | Require password change on next login | **status** | [**UserStatus**](UserStatus.md) | | -**storage_label** | **str** | | -**updated_at** | **datetime** | | +**storage_label** | **str** | Storage label | +**updated_at** | **datetime** | Last update date | ## Example diff --git a/generated/immich/openapi_client/docs/UserAdminUpdateDto.md b/generated/immich/openapi_client/docs/UserAdminUpdateDto.md index 8dbdd7b..2f988e9 100644 --- a/generated/immich/openapi_client/docs/UserAdminUpdateDto.md +++ b/generated/immich/openapi_client/docs/UserAdminUpdateDto.md @@ -5,12 +5,15 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**email** | **str** | | [optional] -**name** | **str** | | [optional] -**password** | **str** | | [optional] -**quota_size_in_bytes** | **int** | | [optional] -**should_change_password** | **bool** | | [optional] -**storage_label** | **str** | | [optional] +**avatar_color** | [**UserAvatarColor**](UserAvatarColor.md) | | [optional] +**email** | **str** | User email | [optional] +**is_admin** | **bool** | Grant admin privileges | [optional] +**name** | **str** | User name | [optional] +**password** | **str** | User password | [optional] +**pin_code** | **str** | PIN code | [optional] +**quota_size_in_bytes** | **int** | Storage quota in bytes | [optional] +**should_change_password** | **bool** | Require password change on next login | [optional] +**storage_label** | **str** | Storage label | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/UserAvatarColor.md b/generated/immich/openapi_client/docs/UserAvatarColor.md index baa19ff..81d3192 100644 --- a/generated/immich/openapi_client/docs/UserAvatarColor.md +++ b/generated/immich/openapi_client/docs/UserAvatarColor.md @@ -1,5 +1,6 @@ # UserAvatarColor +User avatar color ## Enum diff --git a/generated/immich/openapi_client/docs/UserLicense.md b/generated/immich/openapi_client/docs/UserLicense.md index 728c6c1..490930a 100644 --- a/generated/immich/openapi_client/docs/UserLicense.md +++ b/generated/immich/openapi_client/docs/UserLicense.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**activated_at** | **datetime** | | -**activation_key** | **str** | | -**license_key** | **str** | | +**activated_at** | **datetime** | Activation date | +**activation_key** | **str** | Activation key | +**license_key** | **str** | License key (format: /^IM(SV|CL)(-[\\dA-Za-z]{4}){8}$/) | ## Example diff --git a/generated/immich/openapi_client/docs/UserPreferencesResponseDto.md b/generated/immich/openapi_client/docs/UserPreferencesResponseDto.md index fdf7503..1034294 100644 --- a/generated/immich/openapi_client/docs/UserPreferencesResponseDto.md +++ b/generated/immich/openapi_client/docs/UserPreferencesResponseDto.md @@ -5,7 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**avatar** | [**AvatarResponse**](AvatarResponse.md) | | +**albums** | [**AlbumsResponse**](AlbumsResponse.md) | | +**cast** | [**CastResponse**](CastResponse.md) | | **download** | [**DownloadResponse**](DownloadResponse.md) | | **email_notifications** | [**EmailNotificationsResponse**](EmailNotificationsResponse.md) | | **folders** | [**FoldersResponse**](FoldersResponse.md) | | @@ -13,6 +14,7 @@ Name | Type | Description | Notes **people** | [**PeopleResponse**](PeopleResponse.md) | | **purchase** | [**PurchaseResponse**](PurchaseResponse.md) | | **ratings** | [**RatingsResponse**](RatingsResponse.md) | | +**recently_added** | [**RecentlyAddedResponse**](RecentlyAddedResponse.md) | | **shared_links** | [**SharedLinksResponse**](SharedLinksResponse.md) | | **tags** | [**TagsResponse**](TagsResponse.md) | | diff --git a/generated/immich/openapi_client/docs/UserPreferencesUpdateDto.md b/generated/immich/openapi_client/docs/UserPreferencesUpdateDto.md index 603b13c..cbf1db4 100644 --- a/generated/immich/openapi_client/docs/UserPreferencesUpdateDto.md +++ b/generated/immich/openapi_client/docs/UserPreferencesUpdateDto.md @@ -5,7 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**albums** | [**AlbumsUpdate**](AlbumsUpdate.md) | | [optional] **avatar** | [**AvatarUpdate**](AvatarUpdate.md) | | [optional] +**cast** | [**CastUpdate**](CastUpdate.md) | | [optional] **download** | [**DownloadUpdate**](DownloadUpdate.md) | | [optional] **email_notifications** | [**EmailNotificationsUpdate**](EmailNotificationsUpdate.md) | | [optional] **folders** | [**FoldersUpdate**](FoldersUpdate.md) | | [optional] @@ -13,6 +15,7 @@ Name | Type | Description | Notes **people** | [**PeopleUpdate**](PeopleUpdate.md) | | [optional] **purchase** | [**PurchaseUpdate**](PurchaseUpdate.md) | | [optional] **ratings** | [**RatingsUpdate**](RatingsUpdate.md) | | [optional] +**recently_added** | [**RecentlyAddedUpdate**](RecentlyAddedUpdate.md) | | [optional] **shared_links** | [**SharedLinksUpdate**](SharedLinksUpdate.md) | | [optional] **tags** | [**TagsUpdate**](TagsUpdate.md) | | [optional] diff --git a/generated/immich/openapi_client/docs/UserResponseDto.md b/generated/immich/openapi_client/docs/UserResponseDto.md index c212e9b..fc39a0c 100644 --- a/generated/immich/openapi_client/docs/UserResponseDto.md +++ b/generated/immich/openapi_client/docs/UserResponseDto.md @@ -6,11 +6,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **avatar_color** | [**UserAvatarColor**](UserAvatarColor.md) | | -**email** | **str** | | -**id** | **str** | | -**name** | **str** | | -**profile_changed_at** | **datetime** | | -**profile_image_path** | **str** | | +**email** | **str** | User email | +**id** | **UUID** | User ID | +**name** | **str** | User name | +**profile_changed_at** | **datetime** | Profile change date | +**profile_image_path** | **str** | Profile image path | ## Example diff --git a/generated/immich/openapi_client/docs/UserStatus.md b/generated/immich/openapi_client/docs/UserStatus.md index bd4460c..3558c70 100644 --- a/generated/immich/openapi_client/docs/UserStatus.md +++ b/generated/immich/openapi_client/docs/UserStatus.md @@ -1,5 +1,6 @@ # UserStatus +User status ## Enum diff --git a/generated/immich/openapi_client/docs/UserUpdateMeDto.md b/generated/immich/openapi_client/docs/UserUpdateMeDto.md index c4aa9d8..13c7e43 100644 --- a/generated/immich/openapi_client/docs/UserUpdateMeDto.md +++ b/generated/immich/openapi_client/docs/UserUpdateMeDto.md @@ -5,9 +5,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**email** | **str** | | [optional] -**name** | **str** | | [optional] -**password** | **str** | | [optional] +**avatar_color** | [**UserAvatarColor**](UserAvatarColor.md) | | [optional] +**email** | **str** | User email | [optional] +**name** | **str** | User name | [optional] +**password** | **str** | User password (deprecated, use change password endpoint) | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/UsersAdminApi.md b/generated/immich/openapi_client/docs/UsersAdminApi.md index 02e44a4..2359262 100644 --- a/generated/immich/openapi_client/docs/UsersAdminApi.md +++ b/generated/immich/openapi_client/docs/UsersAdminApi.md @@ -4,19 +4,26 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_user_admin**](UsersAdminApi.md#create_user_admin) | **POST** /admin/users | -[**delete_user_admin**](UsersAdminApi.md#delete_user_admin) | **DELETE** /admin/users/{id} | -[**get_user_admin**](UsersAdminApi.md#get_user_admin) | **GET** /admin/users/{id} | -[**get_user_preferences_admin**](UsersAdminApi.md#get_user_preferences_admin) | **GET** /admin/users/{id}/preferences | -[**restore_user_admin**](UsersAdminApi.md#restore_user_admin) | **POST** /admin/users/{id}/restore | -[**search_users_admin**](UsersAdminApi.md#search_users_admin) | **GET** /admin/users | -[**update_user_admin**](UsersAdminApi.md#update_user_admin) | **PUT** /admin/users/{id} | -[**update_user_preferences_admin**](UsersAdminApi.md#update_user_preferences_admin) | **PUT** /admin/users/{id}/preferences | +[**create_user_admin**](UsersAdminApi.md#create_user_admin) | **POST** /admin/users | Create a user +[**delete_user_admin**](UsersAdminApi.md#delete_user_admin) | **DELETE** /admin/users/{id} | Delete a user +[**get_user_admin**](UsersAdminApi.md#get_user_admin) | **GET** /admin/users/{id} | Retrieve a user +[**get_user_calendar_heatmap_admin**](UsersAdminApi.md#get_user_calendar_heatmap_admin) | **GET** /admin/users/{id}/calendar-heatmap | Retrieve calendar heatmap activity +[**get_user_preferences_admin**](UsersAdminApi.md#get_user_preferences_admin) | **GET** /admin/users/{id}/preferences | Retrieve user preferences +[**get_user_sessions_admin**](UsersAdminApi.md#get_user_sessions_admin) | **GET** /admin/users/{id}/sessions | Retrieve user sessions +[**get_user_statistics_admin**](UsersAdminApi.md#get_user_statistics_admin) | **GET** /admin/users/{id}/statistics | Retrieve user statistics +[**restore_user_admin**](UsersAdminApi.md#restore_user_admin) | **POST** /admin/users/{id}/restore | Restore a deleted user +[**search_users_admin**](UsersAdminApi.md#search_users_admin) | **GET** /admin/users | Search users +[**update_user_admin**](UsersAdminApi.md#update_user_admin) | **PUT** /admin/users/{id} | Update a user +[**update_user_preferences_admin**](UsersAdminApi.md#update_user_preferences_admin) | **PUT** /admin/users/{id}/preferences | Update user preferences # **create_user_admin** > UserAdminResponseDto create_user_admin(user_admin_create_dto) +Create a user + +Create a new user. + ### Example * Api Key Authentication (cookie): @@ -65,6 +72,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: user_admin_create_dto = generated.immich.openapi_client.UserAdminCreateDto() # UserAdminCreateDto | try: + # Create a user api_response = api_instance.create_user_admin(user_admin_create_dto) print("The response of UsersAdminApi->create_user_admin:\n") pprint(api_response) @@ -105,6 +113,10 @@ Name | Type | Description | Notes # **delete_user_admin** > UserAdminResponseDto delete_user_admin(id, user_admin_delete_dto) +Delete a user + +Delete a user. + ### Example * Api Key Authentication (cookie): @@ -150,10 +162,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | user_admin_delete_dto = generated.immich.openapi_client.UserAdminDeleteDto() # UserAdminDeleteDto | try: + # Delete a user api_response = api_instance.delete_user_admin(id, user_admin_delete_dto) print("The response of UsersAdminApi->delete_user_admin:\n") pprint(api_response) @@ -168,7 +181,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **user_admin_delete_dto** | [**UserAdminDeleteDto**](UserAdminDeleteDto.md)| | ### Return type @@ -195,6 +208,10 @@ Name | Type | Description | Notes # **get_user_admin** > UserAdminResponseDto get_user_admin(id) +Retrieve a user + +Retrieve a specific user by their ID. + ### Example * Api Key Authentication (cookie): @@ -239,9 +256,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve a user api_response = api_instance.get_user_admin(id) print("The response of UsersAdminApi->get_user_admin:\n") pprint(api_response) @@ -256,7 +274,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -279,9 +297,112 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_user_calendar_heatmap_admin** +> CalendarHeatmapResponseDto get_user_calendar_heatmap_admin(id, var_from=var_from, to=to, type=type) + +Retrieve calendar heatmap activity + +Retrieve activity counts for a specified period, in a calendar heatmap format. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.calendar_heatmap_response_dto import CalendarHeatmapResponseDto +from generated.immich.openapi_client.models.calendar_heatmap_type import CalendarHeatmapType +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + var_from = 'Mon Jan 01 00:00:00 UTC 2024' # date | Start date in UTC (optional) + to = 'Mon Jan 01 00:00:00 UTC 2024' # date | End date in UTC (optional) + type = generated.immich.openapi_client.CalendarHeatmapType() # CalendarHeatmapType | (optional) + + try: + # Retrieve calendar heatmap activity + api_response = api_instance.get_user_calendar_heatmap_admin(id, var_from=var_from, to=to, type=type) + print("The response of UsersAdminApi->get_user_calendar_heatmap_admin:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersAdminApi->get_user_calendar_heatmap_admin: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **var_from** | **date**| Start date in UTC | [optional] + **to** | **date**| End date in UTC | [optional] + **type** | [**CalendarHeatmapType**](.md)| | [optional] + +### Return type + +[**CalendarHeatmapResponseDto**](CalendarHeatmapResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **get_user_preferences_admin** > UserPreferencesResponseDto get_user_preferences_admin(id) +Retrieve user preferences + +Retrieve the preferences of a specific user. + ### Example * Api Key Authentication (cookie): @@ -326,9 +447,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve user preferences api_response = api_instance.get_user_preferences_admin(id) print("The response of UsersAdminApi->get_user_preferences_admin:\n") pprint(api_response) @@ -343,7 +465,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -366,9 +488,204 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_user_sessions_admin** +> List[SessionResponseDto] get_user_sessions_admin(id) + +Retrieve user sessions + +Retrieve all sessions for a specific user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.session_response_dto import SessionResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + + try: + # Retrieve user sessions + api_response = api_instance.get_user_sessions_admin(id) + print("The response of UsersAdminApi->get_user_sessions_admin:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersAdminApi->get_user_sessions_admin: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + +### Return type + +[**List[SessionResponseDto]**](SessionResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_statistics_admin** +> AssetStatsResponseDto get_user_statistics_admin(id, is_favorite=is_favorite, is_trashed=is_trashed, visibility=visibility) + +Retrieve user statistics + +Retrieve asset statistics for a specific user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.asset_stats_response_dto import AssetStatsResponseDto +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | + is_favorite = True # bool | Filter by favorite status (optional) + is_trashed = True # bool | Filter by trash status (optional) + visibility = generated.immich.openapi_client.AssetVisibility() # AssetVisibility | (optional) + + try: + # Retrieve user statistics + api_response = api_instance.get_user_statistics_admin(id, is_favorite=is_favorite, is_trashed=is_trashed, visibility=visibility) + print("The response of UsersAdminApi->get_user_statistics_admin:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersAdminApi->get_user_statistics_admin: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **UUID**| | + **is_favorite** | **bool**| Filter by favorite status | [optional] + **is_trashed** | **bool**| Filter by trash status | [optional] + **visibility** | [**AssetVisibility**](.md)| | [optional] + +### Return type + +[**AssetStatsResponseDto**](AssetStatsResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **restore_user_admin** > UserAdminResponseDto restore_user_admin(id) +Restore a deleted user + +Restore a previously deleted user. + ### Example * Api Key Authentication (cookie): @@ -413,9 +730,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Restore a deleted user api_response = api_instance.restore_user_admin(id) print("The response of UsersAdminApi->restore_user_admin:\n") pprint(api_response) @@ -430,7 +748,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -454,7 +772,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **search_users_admin** -> List[UserAdminResponseDto] search_users_admin(with_deleted=with_deleted) +> List[UserAdminResponseDto] search_users_admin(id=id, with_deleted=with_deleted) + +Search users + +Search for users. ### Example @@ -500,10 +822,12 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) - with_deleted = True # bool | (optional) + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | User ID filter (optional) + with_deleted = True # bool | Include deleted users (optional) try: - api_response = api_instance.search_users_admin(with_deleted=with_deleted) + # Search users + api_response = api_instance.search_users_admin(id=id, with_deleted=with_deleted) print("The response of UsersAdminApi->search_users_admin:\n") pprint(api_response) except Exception as e: @@ -517,7 +841,8 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **with_deleted** | **bool**| | [optional] + **id** | **UUID**| User ID filter | [optional] + **with_deleted** | **bool**| Include deleted users | [optional] ### Return type @@ -543,6 +868,10 @@ Name | Type | Description | Notes # **update_user_admin** > UserAdminResponseDto update_user_admin(id, user_admin_update_dto) +Update a user + +Update an existing user. + ### Example * Api Key Authentication (cookie): @@ -588,10 +917,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | user_admin_update_dto = generated.immich.openapi_client.UserAdminUpdateDto() # UserAdminUpdateDto | try: + # Update a user api_response = api_instance.update_user_admin(id, user_admin_update_dto) print("The response of UsersAdminApi->update_user_admin:\n") pprint(api_response) @@ -606,7 +936,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **user_admin_update_dto** | [**UserAdminUpdateDto**](UserAdminUpdateDto.md)| | ### Return type @@ -633,6 +963,10 @@ Name | Type | Description | Notes # **update_user_preferences_admin** > UserPreferencesResponseDto update_user_preferences_admin(id, user_preferences_update_dto) +Update user preferences + +Update the preferences of a specific user. + ### Example * Api Key Authentication (cookie): @@ -678,10 +1012,11 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersAdminApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | user_preferences_update_dto = generated.immich.openapi_client.UserPreferencesUpdateDto() # UserPreferencesUpdateDto | try: + # Update user preferences api_response = api_instance.update_user_preferences_admin(id, user_preferences_update_dto) print("The response of UsersAdminApi->update_user_preferences_admin:\n") pprint(api_response) @@ -696,7 +1031,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | **user_preferences_update_dto** | [**UserPreferencesUpdateDto**](UserPreferencesUpdateDto.md)| | ### Return type diff --git a/generated/immich/openapi_client/docs/UsersApi.md b/generated/immich/openapi_client/docs/UsersApi.md index 8ce4f52..17e20de 100644 --- a/generated/immich/openapi_client/docs/UsersApi.md +++ b/generated/immich/openapi_client/docs/UsersApi.md @@ -4,23 +4,31 @@ All URIs are relative to *https://github.com/api* Method | HTTP request | Description ------------- | ------------- | ------------- -[**create_profile_image**](UsersApi.md#create_profile_image) | **POST** /users/profile-image | -[**delete_profile_image**](UsersApi.md#delete_profile_image) | **DELETE** /users/profile-image | -[**delete_user_license**](UsersApi.md#delete_user_license) | **DELETE** /users/me/license | -[**get_my_preferences**](UsersApi.md#get_my_preferences) | **GET** /users/me/preferences | -[**get_my_user**](UsersApi.md#get_my_user) | **GET** /users/me | -[**get_profile_image**](UsersApi.md#get_profile_image) | **GET** /users/{id}/profile-image | -[**get_user**](UsersApi.md#get_user) | **GET** /users/{id} | -[**get_user_license**](UsersApi.md#get_user_license) | **GET** /users/me/license | -[**search_users**](UsersApi.md#search_users) | **GET** /users | -[**set_user_license**](UsersApi.md#set_user_license) | **PUT** /users/me/license | -[**update_my_preferences**](UsersApi.md#update_my_preferences) | **PUT** /users/me/preferences | -[**update_my_user**](UsersApi.md#update_my_user) | **PUT** /users/me | +[**create_profile_image**](UsersApi.md#create_profile_image) | **POST** /users/profile-image | Create user profile image +[**delete_profile_image**](UsersApi.md#delete_profile_image) | **DELETE** /users/profile-image | Delete user profile image +[**delete_user_license**](UsersApi.md#delete_user_license) | **DELETE** /users/me/license | Delete user product key +[**delete_user_onboarding**](UsersApi.md#delete_user_onboarding) | **DELETE** /users/me/onboarding | Delete user onboarding +[**get_my_calendar_heatmap**](UsersApi.md#get_my_calendar_heatmap) | **GET** /users/me/calendar-heatmap | Retrieve calendar heatmap activity +[**get_my_preferences**](UsersApi.md#get_my_preferences) | **GET** /users/me/preferences | Get my preferences +[**get_my_user**](UsersApi.md#get_my_user) | **GET** /users/me | Get current user +[**get_profile_image**](UsersApi.md#get_profile_image) | **GET** /users/{id}/profile-image | Retrieve user profile image +[**get_user**](UsersApi.md#get_user) | **GET** /users/{id} | Retrieve a user +[**get_user_license**](UsersApi.md#get_user_license) | **GET** /users/me/license | Retrieve user product key +[**get_user_onboarding**](UsersApi.md#get_user_onboarding) | **GET** /users/me/onboarding | Retrieve user onboarding +[**search_users**](UsersApi.md#search_users) | **GET** /users | Get all users +[**set_user_license**](UsersApi.md#set_user_license) | **PUT** /users/me/license | Set user product key +[**set_user_onboarding**](UsersApi.md#set_user_onboarding) | **PUT** /users/me/onboarding | Update user onboarding +[**update_my_preferences**](UsersApi.md#update_my_preferences) | **PUT** /users/me/preferences | Update my preferences +[**update_my_user**](UsersApi.md#update_my_user) | **PUT** /users/me | Update current user # **create_profile_image** > CreateProfileImageResponseDto create_profile_image(file) +Create user profile image + +Upload and set a new profile image for the current user. + ### Example * Api Key Authentication (cookie): @@ -65,9 +73,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersApi(api_client) - file = None # bytearray | + file = None # bytearray | Profile image file try: + # Create user profile image api_response = api_instance.create_profile_image(file) print("The response of UsersApi->create_profile_image:\n") pprint(api_response) @@ -82,7 +91,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **file** | **bytearray**| | + **file** | **bytearray**| Profile image file | ### Return type @@ -108,6 +117,10 @@ Name | Type | Description | Notes # **delete_profile_image** > delete_profile_image() +Delete user profile image + +Delete the profile image of the current user. + ### Example * Api Key Authentication (cookie): @@ -153,6 +166,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.UsersApi(api_client) try: + # Delete user profile image api_instance.delete_profile_image() except Exception as e: print("Exception when calling UsersApi->delete_profile_image: %s\n" % e) @@ -188,6 +202,10 @@ void (empty response body) # **delete_user_license** > delete_user_license() +Delete user product key + +Delete the registered product key for the current user. + ### Example * Api Key Authentication (cookie): @@ -233,6 +251,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.UsersApi(api_client) try: + # Delete user product key api_instance.delete_user_license() except Exception as e: print("Exception when calling UsersApi->delete_user_license: %s\n" % e) @@ -259,6 +278,188 @@ void (empty response body) ### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_user_onboarding** +> delete_user_onboarding() + +Delete user onboarding + +Delete the onboarding status of the current user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.UsersApi(api_client) + + try: + # Delete user onboarding + api_instance.delete_user_onboarding() + except Exception as e: + print("Exception when calling UsersApi->delete_user_onboarding: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +void (empty response body) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_my_calendar_heatmap** +> CalendarHeatmapResponseDto get_my_calendar_heatmap(var_from=var_from, to=to, type=type) + +Retrieve calendar heatmap activity + +Retrieve activity counts for a specified period, in a calendar heatmap format. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.calendar_heatmap_response_dto import CalendarHeatmapResponseDto +from generated.immich.openapi_client.models.calendar_heatmap_type import CalendarHeatmapType +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.UsersApi(api_client) + var_from = 'Mon Jan 01 00:00:00 UTC 2024' # date | Start date in UTC (optional) + to = 'Mon Jan 01 00:00:00 UTC 2024' # date | End date in UTC (optional) + type = generated.immich.openapi_client.CalendarHeatmapType() # CalendarHeatmapType | (optional) + + try: + # Retrieve calendar heatmap activity + api_response = api_instance.get_my_calendar_heatmap(var_from=var_from, to=to, type=type) + print("The response of UsersApi->get_my_calendar_heatmap:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersApi->get_my_calendar_heatmap: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **var_from** | **date**| Start date in UTC | [optional] + **to** | **date**| End date in UTC | [optional] + **type** | [**CalendarHeatmapType**](.md)| | [optional] + +### Return type + +[**CalendarHeatmapResponseDto**](CalendarHeatmapResponseDto.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + | Status code | Description | Response headers | |-------------|-------------|------------------| **200** | | - | @@ -268,6 +469,10 @@ void (empty response body) # **get_my_preferences** > UserPreferencesResponseDto get_my_preferences() +Get my preferences + +Retrieve the preferences for the current user. + ### Example * Api Key Authentication (cookie): @@ -314,6 +519,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.UsersApi(api_client) try: + # Get my preferences api_response = api_instance.get_my_preferences() print("The response of UsersApi->get_my_preferences:\n") pprint(api_response) @@ -351,6 +557,10 @@ This endpoint does not need any parameter. # **get_my_user** > UserAdminResponseDto get_my_user() +Get current user + +Retrieve information about the user making the API request. + ### Example * Api Key Authentication (cookie): @@ -397,6 +607,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.UsersApi(api_client) try: + # Get current user api_response = api_instance.get_my_user() print("The response of UsersApi->get_my_user:\n") pprint(api_response) @@ -434,6 +645,10 @@ This endpoint does not need any parameter. # **get_profile_image** > bytearray get_profile_image(id) +Retrieve user profile image + +Retrieve the profile image file for a user. + ### Example * Api Key Authentication (cookie): @@ -477,9 +692,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve user profile image api_response = api_instance.get_profile_image(id) print("The response of UsersApi->get_profile_image:\n") pprint(api_response) @@ -494,7 +710,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -520,6 +736,10 @@ Name | Type | Description | Notes # **get_user** > UserResponseDto get_user(id) +Retrieve a user + +Retrieve a specific user by their ID. + ### Example * Api Key Authentication (cookie): @@ -564,9 +784,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.UsersApi(api_client) - id = 'id_example' # str | + id = UUID('38400000-8cf0-11bd-b23e-10b96e4ef00d') # UUID | try: + # Retrieve a user api_response = api_instance.get_user(id) print("The response of UsersApi->get_user:\n") pprint(api_response) @@ -581,7 +802,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **id** | **str**| | + **id** | **UUID**| | ### Return type @@ -605,7 +826,11 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **get_user_license** -> LicenseResponseDto get_user_license() +> UserLicense get_user_license() + +Retrieve user product key + +Retrieve information about whether the current user has a registered product key. ### Example @@ -615,7 +840,7 @@ Name | Type | Description | Notes ```python import generated.immich.openapi_client -from generated.immich.openapi_client.models.license_response_dto import LicenseResponseDto +from generated.immich.openapi_client.models.user_license import UserLicense from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -653,6 +878,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.UsersApi(api_client) try: + # Retrieve user product key api_response = api_instance.get_user_license() print("The response of UsersApi->get_user_license:\n") pprint(api_response) @@ -668,7 +894,95 @@ This endpoint does not need any parameter. ### Return type -[**LicenseResponseDto**](LicenseResponseDto.md) +[**UserLicense**](UserLicense.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_user_onboarding** +> OnboardingResponseDto get_user_onboarding() + +Retrieve user onboarding + +Retrieve the onboarding status of the current user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +from generated.immich.openapi_client.models.onboarding_response_dto import OnboardingResponseDto +from generated.immich.openapi_client.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.UsersApi(api_client) + + try: + # Retrieve user onboarding + api_response = api_instance.get_user_onboarding() + print("The response of UsersApi->get_user_onboarding:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersApi->get_user_onboarding: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**OnboardingResponseDto**](OnboardingResponseDto.md) ### Authorization @@ -690,6 +1004,10 @@ This endpoint does not need any parameter. # **search_users** > List[UserResponseDto] search_users() +Get all users + +Retrieve a list of all users on the server. + ### Example * Api Key Authentication (cookie): @@ -736,6 +1054,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: api_instance = generated.immich.openapi_client.UsersApi(api_client) try: + # Get all users api_response = api_instance.search_users() print("The response of UsersApi->search_users:\n") pprint(api_response) @@ -771,7 +1090,11 @@ This endpoint does not need any parameter. [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **set_user_license** -> LicenseResponseDto set_user_license(license_key_dto) +> UserLicense set_user_license(license_key_dto) + +Set user product key + +Register a product key for the current user. ### Example @@ -782,7 +1105,7 @@ This endpoint does not need any parameter. ```python import generated.immich.openapi_client 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.user_license import UserLicense from generated.immich.openapi_client.rest import ApiException from pprint import pprint @@ -821,6 +1144,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: license_key_dto = generated.immich.openapi_client.LicenseKeyDto() # LicenseKeyDto | try: + # Set user product key api_response = api_instance.set_user_license(license_key_dto) print("The response of UsersApi->set_user_license:\n") pprint(api_response) @@ -839,7 +1163,100 @@ Name | Type | Description | Notes ### Return type -[**LicenseResponseDto**](LicenseResponseDto.md) +[**UserLicense**](UserLicense.md) + +### Authorization + +[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **set_user_onboarding** +> OnboardingResponseDto set_user_onboarding(onboarding_dto) + +Update user onboarding + +Update the onboarding status of the current user. + +### Example + +* Api Key Authentication (cookie): +* Api Key Authentication (api_key): +* Bearer (JWT) Authentication (bearer): + +```python +import generated.immich.openapi_client +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.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://github.com/api +# See configuration.py for a list of all supported configuration parameters. +configuration = generated.immich.openapi_client.Configuration( + host = "https://github.com/api" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: cookie +configuration.api_key['cookie'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['cookie'] = 'Bearer' + +# Configure API key authorization: api_key +configuration.api_key['api_key'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['api_key'] = 'Bearer' + +# Configure Bearer authorization (JWT): bearer +configuration = generated.immich.openapi_client.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with generated.immich.openapi_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = generated.immich.openapi_client.UsersApi(api_client) + onboarding_dto = generated.immich.openapi_client.OnboardingDto() # OnboardingDto | + + try: + # Update user onboarding + api_response = api_instance.set_user_onboarding(onboarding_dto) + print("The response of UsersApi->set_user_onboarding:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling UsersApi->set_user_onboarding: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **onboarding_dto** | [**OnboardingDto**](OnboardingDto.md)| | + +### Return type + +[**OnboardingResponseDto**](OnboardingResponseDto.md) ### Authorization @@ -861,6 +1278,10 @@ Name | Type | Description | Notes # **update_my_preferences** > UserPreferencesResponseDto update_my_preferences(user_preferences_update_dto) +Update my preferences + +Update the preferences of the current user. + ### Example * Api Key Authentication (cookie): @@ -909,6 +1330,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: user_preferences_update_dto = generated.immich.openapi_client.UserPreferencesUpdateDto() # UserPreferencesUpdateDto | try: + # Update my preferences api_response = api_instance.update_my_preferences(user_preferences_update_dto) print("The response of UsersApi->update_my_preferences:\n") pprint(api_response) @@ -949,6 +1371,10 @@ Name | Type | Description | Notes # **update_my_user** > UserAdminResponseDto update_my_user(user_update_me_dto) +Update current user + +Update the current user making the API request. + ### Example * Api Key Authentication (cookie): @@ -997,6 +1423,7 @@ with generated.immich.openapi_client.ApiClient(configuration) as api_client: user_update_me_dto = generated.immich.openapi_client.UserUpdateMeDto() # UserUpdateMeDto | try: + # Update current user api_response = api_instance.update_my_user(user_update_me_dto) print("The response of UsersApi->update_my_user:\n") pprint(api_response) diff --git a/generated/immich/openapi_client/docs/ValidateAccessTokenResponseDto.md b/generated/immich/openapi_client/docs/ValidateAccessTokenResponseDto.md index 3f2b185..df95fff 100644 --- a/generated/immich/openapi_client/docs/ValidateAccessTokenResponseDto.md +++ b/generated/immich/openapi_client/docs/ValidateAccessTokenResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**auth_status** | **bool** | | +**auth_status** | **bool** | Authentication status | ## Example diff --git a/generated/immich/openapi_client/docs/ValidateLibraryDto.md b/generated/immich/openapi_client/docs/ValidateLibraryDto.md index 3129a38..5c6438a 100644 --- a/generated/immich/openapi_client/docs/ValidateLibraryDto.md +++ b/generated/immich/openapi_client/docs/ValidateLibraryDto.md @@ -5,8 +5,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**exclusion_patterns** | **List[str]** | | [optional] -**import_paths** | **List[str]** | | [optional] +**exclusion_patterns** | **List[str]** | Exclusion patterns (max 128) | [optional] +**import_paths** | **List[str]** | Import paths to validate (max 128) | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/ValidateLibraryImportPathResponseDto.md b/generated/immich/openapi_client/docs/ValidateLibraryImportPathResponseDto.md index 5355cde..75b332b 100644 --- a/generated/immich/openapi_client/docs/ValidateLibraryImportPathResponseDto.md +++ b/generated/immich/openapi_client/docs/ValidateLibraryImportPathResponseDto.md @@ -5,9 +5,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**import_path** | **str** | | -**is_valid** | **bool** | | [default to False] -**message** | **str** | | [optional] +**import_path** | **str** | Import path | +**is_valid** | **bool** | Is valid | +**message** | **str** | Validation message | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/ValidateLibraryResponseDto.md b/generated/immich/openapi_client/docs/ValidateLibraryResponseDto.md index e4bc460..e029783 100644 --- a/generated/immich/openapi_client/docs/ValidateLibraryResponseDto.md +++ b/generated/immich/openapi_client/docs/ValidateLibraryResponseDto.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**import_paths** | [**List[ValidateLibraryImportPathResponseDto]**](ValidateLibraryImportPathResponseDto.md) | | [optional] +**import_paths** | [**List[ValidateLibraryImportPathResponseDto]**](ValidateLibraryImportPathResponseDto.md) | Validation results for import paths | [optional] ## Example diff --git a/generated/immich/openapi_client/docs/VideoCodec.md b/generated/immich/openapi_client/docs/VideoCodec.md index 01c5d84..1003951 100644 --- a/generated/immich/openapi_client/docs/VideoCodec.md +++ b/generated/immich/openapi_client/docs/VideoCodec.md @@ -1,5 +1,6 @@ # VideoCodec +Target video codec ## Enum diff --git a/generated/immich/openapi_client/docs/VideoContainer.md b/generated/immich/openapi_client/docs/VideoContainer.md index 7605bec..74371fc 100644 --- a/generated/immich/openapi_client/docs/VideoContainer.md +++ b/generated/immich/openapi_client/docs/VideoContainer.md @@ -1,5 +1,6 @@ # VideoContainer +Accepted video containers ## Enum diff --git a/generated/immich/openapi_client/docs/ViewApi.md b/generated/immich/openapi_client/docs/ViewApi.md deleted file mode 100644 index 7d9dc55..0000000 --- a/generated/immich/openapi_client/docs/ViewApi.md +++ /dev/null @@ -1,179 +0,0 @@ -# generated.immich.openapi_client.ViewApi - -All URIs are relative to *https://github.com/api* - -Method | HTTP request | Description -------------- | ------------- | ------------- -[**get_assets_by_original_path**](ViewApi.md#get_assets_by_original_path) | **GET** /view/folder | -[**get_unique_original_paths**](ViewApi.md#get_unique_original_paths) | **GET** /view/folder/unique-paths | - - -# **get_assets_by_original_path** -> List[AssetResponseDto] get_assets_by_original_path(path) - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.ViewApi(api_client) - path = 'path_example' # str | - - try: - api_response = api_instance.get_assets_by_original_path(path) - print("The response of ViewApi->get_assets_by_original_path:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ViewApi->get_assets_by_original_path: %s\n" % e) -``` - - - -### Parameters - - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **path** | **str**| | - -### Return type - -[**List[AssetResponseDto]**](AssetResponseDto.md) - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **get_unique_original_paths** -> List[str] get_unique_original_paths() - -### Example - -* Api Key Authentication (cookie): -* Api Key Authentication (api_key): -* Bearer (JWT) Authentication (bearer): - -```python -import generated.immich.openapi_client -from generated.immich.openapi_client.rest import ApiException -from pprint import pprint - -# Defining the host is optional and defaults to https://github.com/api -# See configuration.py for a list of all supported configuration parameters. -configuration = generated.immich.openapi_client.Configuration( - host = "https://github.com/api" -) - -# The client must configure the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. - -# Configure API key authorization: cookie -configuration.api_key['cookie'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['cookie'] = 'Bearer' - -# Configure API key authorization: api_key -configuration.api_key['api_key'] = os.environ["API_KEY"] - -# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed -# configuration.api_key_prefix['api_key'] = 'Bearer' - -# Configure Bearer authorization (JWT): bearer -configuration = generated.immich.openapi_client.Configuration( - access_token = os.environ["BEARER_TOKEN"] -) - -# Enter a context with an instance of the API client -with generated.immich.openapi_client.ApiClient(configuration) as api_client: - # Create an instance of the API class - api_instance = generated.immich.openapi_client.ViewApi(api_client) - - try: - api_response = api_instance.get_unique_original_paths() - print("The response of ViewApi->get_unique_original_paths:\n") - pprint(api_response) - except Exception as e: - print("Exception when calling ViewApi->get_unique_original_paths: %s\n" % e) -``` - - - -### Parameters - -This endpoint does not need any parameter. - -### Return type - -**List[str]** - -### Authorization - -[cookie](../README.md#cookie), [api_key](../README.md#api_key), [bearer](../README.md#bearer) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - -### HTTP response details - -| Status code | Description | Response headers | -|-------------|-------------|------------------| -**200** | | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/generated/immich/openapi_client/exceptions.py b/generated/immich/openapi_client/exceptions.py index 5b29b9b..ea6c122 100644 --- a/generated/immich/openapi_client/exceptions.py +++ b/generated/immich/openapi_client/exceptions.py @@ -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. @@ -128,7 +128,7 @@ class ApiException(OpenApiException): self.body = http_resp.data.decode('utf-8') except Exception: pass - self.headers = http_resp.getheaders() + self.headers = http_resp.headers @classmethod def from_response( @@ -169,8 +169,11 @@ class ApiException(OpenApiException): error_message += "HTTP response headers: {0}\n".format( self.headers) - if self.data or self.body: - error_message += "HTTP response body: {0}\n".format(self.data or self.body) + if self.body: + error_message += "HTTP response body: {0}\n".format(self.body) + + if self.data: + error_message += "HTTP response data: {0}\n".format(self.data) return error_message diff --git a/generated/immich/openapi_client/models/__init__.py b/generated/immich/openapi_client/models/__init__.py index 882f88d..a44a0b5 100644 --- a/generated/immich/openapi_client/models/__init__.py +++ b/generated/immich/openapi_client/models/__init__.py @@ -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 + diff --git a/generated/immich/openapi_client/models/activity_create_dto.py b/generated/immich/openapi_client/models/activity_create_dto.py index 5e28b28..b989836 100644 --- a/generated/immich/openapi_client/models/activity_create_dto.py +++ b/generated/immich/openapi_client/models/activity_create_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/activity_response_dto.py b/generated/immich/openapi_client/models/activity_response_dto.py index c5447e5..55a9072 100644 --- a/generated/immich/openapi_client/models/activity_response_dto.py +++ b/generated/immich/openapi_client/models/activity_response_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/activity_statistics_response_dto.py b/generated/immich/openapi_client/models/activity_statistics_response_dto.py index 460a375..d51198d 100644 --- a/generated/immich/openapi_client/models/activity_statistics_response_dto.py +++ b/generated/immich/openapi_client/models/activity_statistics_response_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/add_users_dto.py b/generated/immich/openapi_client/models/add_users_dto.py index 1d77341..daa871a 100644 --- a/generated/immich/openapi_client/models/add_users_dto.py +++ b/generated/immich/openapi_client/models/add_users_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/admin_onboarding_update_dto.py b/generated/immich/openapi_client/models/admin_onboarding_update_dto.py index 37b9bba..3309df4 100644 --- a/generated/immich/openapi_client/models/admin_onboarding_update_dto.py +++ b/generated/immich/openapi_client/models/admin_onboarding_update_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/album_response_dto.py b/generated/immich/openapi_client/models/album_response_dto.py index 23b5c48..236a82a 100644 --- a/generated/immich/openapi_client/models/album_response_dto.py +++ b/generated/immich/openapi_client/models/album_response_dto.py @@ -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") diff --git a/generated/immich/openapi_client/models/album_statistics_response_dto.py b/generated/immich/openapi_client/models/album_statistics_response_dto.py index 09300d9..772d62a 100644 --- a/generated/immich/openapi_client/models/album_statistics_response_dto.py +++ b/generated/immich/openapi_client/models/album_statistics_response_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/album_user_add_dto.py b/generated/immich/openapi_client/models/album_user_add_dto.py index ae684de..544a827 100644 --- a/generated/immich/openapi_client/models/album_user_add_dto.py +++ b/generated/immich/openapi_client/models/album_user_add_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/album_user_create_dto.py b/generated/immich/openapi_client/models/album_user_create_dto.py index d6d6cd1..a73794b 100644 --- a/generated/immich/openapi_client/models/album_user_create_dto.py +++ b/generated/immich/openapi_client/models/album_user_create_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/album_user_response_dto.py b/generated/immich/openapi_client/models/album_user_response_dto.py index 4a32288..f71ecb9 100644 --- a/generated/immich/openapi_client/models/album_user_response_dto.py +++ b/generated/immich/openapi_client/models/album_user_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/models/album_user_role.py b/generated/immich/openapi_client/models/album_user_role.py index 65ce57d..3ab118d 100644 --- a/generated/immich/openapi_client/models/album_user_role.py +++ b/generated/immich/openapi_client/models/album_user_role.py @@ -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 diff --git a/generated/immich/openapi_client/models/all_job_status_response_dto.py b/generated/immich/openapi_client/models/all_job_status_response_dto.py deleted file mode 100644 index ba5eefe..0000000 --- a/generated/immich/openapi_client/models/all_job_status_response_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/api_key_create_dto.py b/generated/immich/openapi_client/models/api_key_create_dto.py index 5a6ab88..32daefd 100644 --- a/generated/immich/openapi_client/models/api_key_create_dto.py +++ b/generated/immich/openapi_client/models/api_key_create_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/api_key_create_response_dto.py b/generated/immich/openapi_client/models/api_key_create_response_dto.py index 4be2d17..6da08cf 100644 --- a/generated/immich/openapi_client/models/api_key_create_response_dto.py +++ b/generated/immich/openapi_client/models/api_key_create_response_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/api_key_response_dto.py b/generated/immich/openapi_client/models/api_key_response_dto.py index 493dd84..33c30db 100644 --- a/generated/immich/openapi_client/models/api_key_response_dto.py +++ b/generated/immich/openapi_client/models/api_key_response_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/api_key_update_dto.py b/generated/immich/openapi_client/models/api_key_update_dto.py index cef964b..e71facd 100644 --- a/generated/immich/openapi_client/models/api_key_update_dto.py +++ b/generated/immich/openapi_client/models/api_key_update_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/asset_bulk_delete_dto.py b/generated/immich/openapi_client/models/asset_bulk_delete_dto.py index 1bfd7dd..b825aa1 100644 --- a/generated/immich/openapi_client/models/asset_bulk_delete_dto.py +++ b/generated/immich/openapi_client/models/asset_bulk_delete_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_bulk_update_dto.py b/generated/immich/openapi_client/models/asset_bulk_update_dto.py index 4929671..890c2bc 100644 --- a/generated/immich/openapi_client/models/asset_bulk_update_dto.py +++ b/generated/immich/openapi_client/models/asset_bulk_update_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/asset_bulk_upload_check_dto.py b/generated/immich/openapi_client/models/asset_bulk_upload_check_dto.py index feacdf1..a8cada1 100644 --- a/generated/immich/openapi_client/models/asset_bulk_upload_check_dto.py +++ b/generated/immich/openapi_client/models/asset_bulk_upload_check_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_bulk_upload_check_item.py b/generated/immich/openapi_client/models/asset_bulk_upload_check_item.py index 73c743b..d8bcb2a 100644 --- a/generated/immich/openapi_client/models/asset_bulk_upload_check_item.py +++ b/generated/immich/openapi_client/models/asset_bulk_upload_check_item.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_bulk_upload_check_response_dto.py b/generated/immich/openapi_client/models/asset_bulk_upload_check_response_dto.py index eb85233..374d76e 100644 --- a/generated/immich/openapi_client/models/asset_bulk_upload_check_response_dto.py +++ b/generated/immich/openapi_client/models/asset_bulk_upload_check_response_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_bulk_upload_check_result.py b/generated/immich/openapi_client/models/asset_bulk_upload_check_result.py index 82e3bb0..656eb79 100644 --- a/generated/immich/openapi_client/models/asset_bulk_upload_check_result.py +++ b/generated/immich/openapi_client/models/asset_bulk_upload_check_result.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_delta_sync_dto.py b/generated/immich/openapi_client/models/asset_delta_sync_dto.py deleted file mode 100644 index 33f31cf..0000000 --- a/generated/immich/openapi_client/models/asset_delta_sync_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/asset_delta_sync_response_dto.py b/generated/immich/openapi_client/models/asset_delta_sync_response_dto.py deleted file mode 100644 index 24919a9..0000000 --- a/generated/immich/openapi_client/models/asset_delta_sync_response_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/asset_face_create_dto.py b/generated/immich/openapi_client/models/asset_face_create_dto.py index 90eec80..57d9a06 100644 --- a/generated/immich/openapi_client/models/asset_face_create_dto.py +++ b/generated/immich/openapi_client/models/asset_face_create_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/asset_face_delete_dto.py b/generated/immich/openapi_client/models/asset_face_delete_dto.py index 4f38747..002cc4f 100644 --- a/generated/immich/openapi_client/models/asset_face_delete_dto.py +++ b/generated/immich/openapi_client/models/asset_face_delete_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_face_response_dto.py b/generated/immich/openapi_client/models/asset_face_response_dto.py index d5f4ed9..51170c0 100644 --- a/generated/immich/openapi_client/models/asset_face_response_dto.py +++ b/generated/immich/openapi_client/models/asset_face_response_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/asset_face_update_dto.py b/generated/immich/openapi_client/models/asset_face_update_dto.py index e762894..f9b9e2b 100644 --- a/generated/immich/openapi_client/models/asset_face_update_dto.py +++ b/generated/immich/openapi_client/models/asset_face_update_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_face_update_item.py b/generated/immich/openapi_client/models/asset_face_update_item.py index 6a48b39..99e19d6 100644 --- a/generated/immich/openapi_client/models/asset_face_update_item.py +++ b/generated/immich/openapi_client/models/asset_face_update_item.py @@ -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, diff --git a/generated/immich/openapi_client/models/asset_face_without_person_response_dto.py b/generated/immich/openapi_client/models/asset_face_without_person_response_dto.py deleted file mode 100644 index a354846..0000000 --- a/generated/immich/openapi_client/models/asset_face_without_person_response_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/asset_full_sync_dto.py b/generated/immich/openapi_client/models/asset_full_sync_dto.py deleted file mode 100644 index fb5f20e..0000000 --- a/generated/immich/openapi_client/models/asset_full_sync_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/asset_ids_dto.py b/generated/immich/openapi_client/models/asset_ids_dto.py index e4114bc..36af9cd 100644 --- a/generated/immich/openapi_client/models/asset_ids_dto.py +++ b/generated/immich/openapi_client/models/asset_ids_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_ids_response_dto.py b/generated/immich/openapi_client/models/asset_ids_response_dto.py index 963f353..aa8f465 100644 --- a/generated/immich/openapi_client/models/asset_ids_response_dto.py +++ b/generated/immich/openapi_client/models/asset_ids_response_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_job_name.py b/generated/immich/openapi_client/models/asset_job_name.py index dd68d68..bf435e9 100644 --- a/generated/immich/openapi_client/models/asset_job_name.py +++ b/generated/immich/openapi_client/models/asset_job_name.py @@ -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 """ """ diff --git a/generated/immich/openapi_client/models/asset_jobs_dto.py b/generated/immich/openapi_client/models/asset_jobs_dto.py index 7c49540..06ac5f0 100644 --- a/generated/immich/openapi_client/models/asset_jobs_dto.py +++ b/generated/immich/openapi_client/models/asset_jobs_dto.py @@ -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"] diff --git a/generated/immich/openapi_client/models/asset_media_response_dto.py b/generated/immich/openapi_client/models/asset_media_response_dto.py index c811e3e..d3c416a 100644 --- a/generated/immich/openapi_client/models/asset_media_response_dto.py +++ b/generated/immich/openapi_client/models/asset_media_response_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/asset_media_size.py b/generated/immich/openapi_client/models/asset_media_size.py index 9b65be8..7acac5d 100644 --- a/generated/immich/openapi_client/models/asset_media_size.py +++ b/generated/immich/openapi_client/models/asset_media_size.py @@ -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' diff --git a/generated/immich/openapi_client/models/asset_media_status.py b/generated/immich/openapi_client/models/asset_media_status.py index 3c132cd..6c26b5a 100644 --- a/generated/immich/openapi_client/models/asset_media_status.py +++ b/generated/immich/openapi_client/models/asset_media_status.py @@ -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 diff --git a/generated/immich/openapi_client/models/asset_order.py b/generated/immich/openapi_client/models/asset_order.py index 67d5a52..5fe76b7 100644 --- a/generated/immich/openapi_client/models/asset_order.py +++ b/generated/immich/openapi_client/models/asset_order.py @@ -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 """ """ diff --git a/generated/immich/openapi_client/models/asset_response_dto.py b/generated/immich/openapi_client/models/asset_response_dto.py index 7e6fad0..d58847d 100644 --- a/generated/immich/openapi_client/models/asset_response_dto.py +++ b/generated/immich/openapi_client/models/asset_response_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/asset_stack_response_dto.py b/generated/immich/openapi_client/models/asset_stack_response_dto.py index fda1886..d12c673 100644 --- a/generated/immich/openapi_client/models/asset_stack_response_dto.py +++ b/generated/immich/openapi_client/models/asset_stack_response_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/asset_stats_response_dto.py b/generated/immich/openapi_client/models/asset_stats_response_dto.py index bdd9825..0276964 100644 --- a/generated/immich/openapi_client/models/asset_stats_response_dto.py +++ b/generated/immich/openapi_client/models/asset_stats_response_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/asset_type_enum.py b/generated/immich/openapi_client/models/asset_type_enum.py index b825950..c11c8a8 100644 --- a/generated/immich/openapi_client/models/asset_type_enum.py +++ b/generated/immich/openapi_client/models/asset_type_enum.py @@ -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 """ """ diff --git a/generated/immich/openapi_client/models/audio_codec.py b/generated/immich/openapi_client/models/audio_codec.py index 3991ab9..faa8ab2 100644 --- a/generated/immich/openapi_client/models/audio_codec.py +++ b/generated/immich/openapi_client/models/audio_codec.py @@ -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 diff --git a/generated/immich/openapi_client/models/avatar_response.py b/generated/immich/openapi_client/models/avatar_response.py deleted file mode 100644 index 72f1d41..0000000 --- a/generated/immich/openapi_client/models/avatar_response.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/avatar_update.py b/generated/immich/openapi_client/models/avatar_update.py index cb7457e..a8ec04b 100644 --- a/generated/immich/openapi_client/models/avatar_update.py +++ b/generated/immich/openapi_client/models/avatar_update.py @@ -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. diff --git a/generated/immich/openapi_client/models/bulk_id_response_dto.py b/generated/immich/openapi_client/models/bulk_id_response_dto.py index 80776c9..8c2d661 100644 --- a/generated/immich/openapi_client/models/bulk_id_response_dto.py +++ b/generated/immich/openapi_client/models/bulk_id_response_dto.py @@ -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") }) diff --git a/generated/immich/openapi_client/models/bulk_ids_dto.py b/generated/immich/openapi_client/models/bulk_ids_dto.py index f5727f4..411a43e 100644 --- a/generated/immich/openapi_client/models/bulk_ids_dto.py +++ b/generated/immich/openapi_client/models/bulk_ids_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/change_password_dto.py b/generated/immich/openapi_client/models/change_password_dto.py index ed5f2b2..b6a6a5c 100644 --- a/generated/immich/openapi_client/models/change_password_dto.py +++ b/generated/immich/openapi_client/models/change_password_dto.py @@ -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") }) diff --git a/generated/immich/openapi_client/models/check_existing_assets_dto.py b/generated/immich/openapi_client/models/check_existing_assets_dto.py deleted file mode 100644 index 03d92ae..0000000 --- a/generated/immich/openapi_client/models/check_existing_assets_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/check_existing_assets_response_dto.py b/generated/immich/openapi_client/models/check_existing_assets_response_dto.py deleted file mode 100644 index 65b4069..0000000 --- a/generated/immich/openapi_client/models/check_existing_assets_response_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/clip_config.py b/generated/immich/openapi_client/models/clip_config.py index c6717d0..5d3c3d8 100644 --- a/generated/immich/openapi_client/models/clip_config.py +++ b/generated/immich/openapi_client/models/clip_config.py @@ -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( diff --git a/generated/immich/openapi_client/models/colorspace.py b/generated/immich/openapi_client/models/colorspace.py index 0acec34..43a77e3 100644 --- a/generated/immich/openapi_client/models/colorspace.py +++ b/generated/immich/openapi_client/models/colorspace.py @@ -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. diff --git a/generated/immich/openapi_client/models/cq_mode.py b/generated/immich/openapi_client/models/cq_mode.py index 5991cce..ea26099 100644 --- a/generated/immich/openapi_client/models/cq_mode.py +++ b/generated/immich/openapi_client/models/cq_mode.py @@ -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 """ """ diff --git a/generated/immich/openapi_client/models/create_album_dto.py b/generated/immich/openapi_client/models/create_album_dto.py index cfc60ab..73c50e0 100644 --- a/generated/immich/openapi_client/models/create_album_dto.py +++ b/generated/immich/openapi_client/models/create_album_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/create_library_dto.py b/generated/immich/openapi_client/models/create_library_dto.py index b2412b4..f2535ad 100644 --- a/generated/immich/openapi_client/models/create_library_dto.py +++ b/generated/immich/openapi_client/models/create_library_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/create_profile_image_response_dto.py b/generated/immich/openapi_client/models/create_profile_image_response_dto.py index 5f8cebc..b77f091 100644 --- a/generated/immich/openapi_client/models/create_profile_image_response_dto.py +++ b/generated/immich/openapi_client/models/create_profile_image_response_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/database_backup_config.py b/generated/immich/openapi_client/models/database_backup_config.py index 999fb16..b115040 100644 --- a/generated/immich/openapi_client/models/database_backup_config.py +++ b/generated/immich/openapi_client/models/database_backup_config.py @@ -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( diff --git a/generated/immich/openapi_client/models/download_archive_info.py b/generated/immich/openapi_client/models/download_archive_info.py index 3c0421a..6175c7a 100644 --- a/generated/immich/openapi_client/models/download_archive_info.py +++ b/generated/immich/openapi_client/models/download_archive_info.py @@ -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( diff --git a/generated/immich/openapi_client/models/download_info_dto.py b/generated/immich/openapi_client/models/download_info_dto.py index 8a99c36..d604782 100644 --- a/generated/immich/openapi_client/models/download_info_dto.py +++ b/generated/immich/openapi_client/models/download_info_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/download_response.py b/generated/immich/openapi_client/models/download_response.py index c874a6d..9e54cb4 100644 --- a/generated/immich/openapi_client/models/download_response.py +++ b/generated/immich/openapi_client/models/download_response.py @@ -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 diff --git a/generated/immich/openapi_client/models/download_response_dto.py b/generated/immich/openapi_client/models/download_response_dto.py index 0ee0793..ab6dbb0 100644 --- a/generated/immich/openapi_client/models/download_response_dto.py +++ b/generated/immich/openapi_client/models/download_response_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/download_update.py b/generated/immich/openapi_client/models/download_update.py index 0f1ad72..cc266ea 100644 --- a/generated/immich/openapi_client/models/download_update.py +++ b/generated/immich/openapi_client/models/download_update.py @@ -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( diff --git a/generated/immich/openapi_client/models/duplicate_detection_config.py b/generated/immich/openapi_client/models/duplicate_detection_config.py index 6b21676..ede30ed 100644 --- a/generated/immich/openapi_client/models/duplicate_detection_config.py +++ b/generated/immich/openapi_client/models/duplicate_detection_config.py @@ -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( diff --git a/generated/immich/openapi_client/models/duplicate_response_dto.py b/generated/immich/openapi_client/models/duplicate_response_dto.py index 22c4a79..259236c 100644 --- a/generated/immich/openapi_client/models/duplicate_response_dto.py +++ b/generated/immich/openapi_client/models/duplicate_response_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/email_notifications_response.py b/generated/immich/openapi_client/models/email_notifications_response.py index 81f39ec..872c0ea 100644 --- a/generated/immich/openapi_client/models/email_notifications_response.py +++ b/generated/immich/openapi_client/models/email_notifications_response.py @@ -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( diff --git a/generated/immich/openapi_client/models/email_notifications_update.py b/generated/immich/openapi_client/models/email_notifications_update.py index a1c82e1..ddbf243 100644 --- a/generated/immich/openapi_client/models/email_notifications_update.py +++ b/generated/immich/openapi_client/models/email_notifications_update.py @@ -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( diff --git a/generated/immich/openapi_client/models/exif_response_dto.py b/generated/immich/openapi_client/models/exif_response_dto.py index 4ac310c..099b8b1 100644 --- a/generated/immich/openapi_client/models/exif_response_dto.py +++ b/generated/immich/openapi_client/models/exif_response_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/face_dto.py b/generated/immich/openapi_client/models/face_dto.py index 8461fc1..3381d92 100644 --- a/generated/immich/openapi_client/models/face_dto.py +++ b/generated/immich/openapi_client/models/face_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/facial_recognition_config.py b/generated/immich/openapi_client/models/facial_recognition_config.py index 9ec93e0..7e05f6c 100644 --- a/generated/immich/openapi_client/models/facial_recognition_config.py +++ b/generated/immich/openapi_client/models/facial_recognition_config.py @@ -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( diff --git a/generated/immich/openapi_client/models/file_checksum_dto.py b/generated/immich/openapi_client/models/file_checksum_dto.py deleted file mode 100644 index 520f7a4..0000000 --- a/generated/immich/openapi_client/models/file_checksum_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/file_checksum_response_dto.py b/generated/immich/openapi_client/models/file_checksum_response_dto.py deleted file mode 100644 index 66e1441..0000000 --- a/generated/immich/openapi_client/models/file_checksum_response_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/file_report_dto.py b/generated/immich/openapi_client/models/file_report_dto.py deleted file mode 100644 index a851fb4..0000000 --- a/generated/immich/openapi_client/models/file_report_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/file_report_fix_dto.py b/generated/immich/openapi_client/models/file_report_fix_dto.py deleted file mode 100644 index ddb9c3a..0000000 --- a/generated/immich/openapi_client/models/file_report_fix_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/file_report_item_dto.py b/generated/immich/openapi_client/models/file_report_item_dto.py deleted file mode 100644 index e520b6c..0000000 --- a/generated/immich/openapi_client/models/file_report_item_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/folders_response.py b/generated/immich/openapi_client/models/folders_response.py index db6f198..24c0a46 100644 --- a/generated/immich/openapi_client/models/folders_response.py +++ b/generated/immich/openapi_client/models/folders_response.py @@ -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 diff --git a/generated/immich/openapi_client/models/folders_update.py b/generated/immich/openapi_client/models/folders_update.py index 9903054..4574c6c 100644 --- a/generated/immich/openapi_client/models/folders_update.py +++ b/generated/immich/openapi_client/models/folders_update.py @@ -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( diff --git a/generated/immich/openapi_client/models/image_format.py b/generated/immich/openapi_client/models/image_format.py index c5ddb40..16135a0 100644 --- a/generated/immich/openapi_client/models/image_format.py +++ b/generated/immich/openapi_client/models/image_format.py @@ -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 """ """ diff --git a/generated/immich/openapi_client/models/job_command.py b/generated/immich/openapi_client/models/job_command.py deleted file mode 100644 index c60f75c..0000000 --- a/generated/immich/openapi_client/models/job_command.py +++ /dev/null @@ -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)) - - diff --git a/generated/immich/openapi_client/models/job_command_dto.py b/generated/immich/openapi_client/models/job_command_dto.py deleted file mode 100644 index 50cd4d2..0000000 --- a/generated/immich/openapi_client/models/job_command_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/job_counts_dto.py b/generated/immich/openapi_client/models/job_counts_dto.py deleted file mode 100644 index da9d202..0000000 --- a/generated/immich/openapi_client/models/job_counts_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/job_create_dto.py b/generated/immich/openapi_client/models/job_create_dto.py index 66cc923..a134ca1 100644 --- a/generated/immich/openapi_client/models/job_create_dto.py +++ b/generated/immich/openapi_client/models/job_create_dto.py @@ -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. diff --git a/generated/immich/openapi_client/models/job_name.py b/generated/immich/openapi_client/models/job_name.py index 276f6bf..3962a3c 100644 --- a/generated/immich/openapi_client/models/job_name.py +++ b/generated/immich/openapi_client/models/job_name.py @@ -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: diff --git a/generated/immich/openapi_client/models/job_settings_dto.py b/generated/immich/openapi_client/models/job_settings_dto.py index 00a7b5c..2d752ec 100644 --- a/generated/immich/openapi_client/models/job_settings_dto.py +++ b/generated/immich/openapi_client/models/job_settings_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/job_status_dto.py b/generated/immich/openapi_client/models/job_status_dto.py deleted file mode 100644 index 306ff06..0000000 --- a/generated/immich/openapi_client/models/job_status_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/library_response_dto.py b/generated/immich/openapi_client/models/library_response_dto.py index fc10b60..e6fa128 100644 --- a/generated/immich/openapi_client/models/library_response_dto.py +++ b/generated/immich/openapi_client/models/library_response_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/library_stats_response_dto.py b/generated/immich/openapi_client/models/library_stats_response_dto.py index fdffca0..e8ae841 100644 --- a/generated/immich/openapi_client/models/library_stats_response_dto.py +++ b/generated/immich/openapi_client/models/library_stats_response_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/license_key_dto.py b/generated/immich/openapi_client/models/license_key_dto.py index 3943019..124db20 100644 --- a/generated/immich/openapi_client/models/license_key_dto.py +++ b/generated/immich/openapi_client/models/license_key_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/license_response_dto.py b/generated/immich/openapi_client/models/license_response_dto.py deleted file mode 100644 index 105122d..0000000 --- a/generated/immich/openapi_client/models/license_response_dto.py +++ /dev/null @@ -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 - - diff --git a/generated/immich/openapi_client/models/log_level.py b/generated/immich/openapi_client/models/log_level.py index 9629ec3..cba4fcd 100644 --- a/generated/immich/openapi_client/models/log_level.py +++ b/generated/immich/openapi_client/models/log_level.py @@ -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 """ """ diff --git a/generated/immich/openapi_client/models/login_credential_dto.py b/generated/immich/openapi_client/models/login_credential_dto.py index cdd30b1..c5e942d 100644 --- a/generated/immich/openapi_client/models/login_credential_dto.py +++ b/generated/immich/openapi_client/models/login_credential_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/login_response_dto.py b/generated/immich/openapi_client/models/login_response_dto.py index a201b98..113763f 100644 --- a/generated/immich/openapi_client/models/login_response_dto.py +++ b/generated/immich/openapi_client/models/login_response_dto.py @@ -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"), diff --git a/generated/immich/openapi_client/models/logout_response_dto.py b/generated/immich/openapi_client/models/logout_response_dto.py index 48c18a4..4af82cb 100644 --- a/generated/immich/openapi_client/models/logout_response_dto.py +++ b/generated/immich/openapi_client/models/logout_response_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/manual_job_name.py b/generated/immich/openapi_client/models/manual_job_name.py index ff6be37..60b4948 100644 --- a/generated/immich/openapi_client/models/manual_job_name.py +++ b/generated/immich/openapi_client/models/manual_job_name.py @@ -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: diff --git a/generated/immich/openapi_client/models/map_marker_response_dto.py b/generated/immich/openapi_client/models/map_marker_response_dto.py index 39b74f1..7ff3880 100644 --- a/generated/immich/openapi_client/models/map_marker_response_dto.py +++ b/generated/immich/openapi_client/models/map_marker_response_dto.py @@ -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, diff --git a/generated/immich/openapi_client/models/map_reverse_geocode_response_dto.py b/generated/immich/openapi_client/models/map_reverse_geocode_response_dto.py index 0410e50..ddd5fa5 100644 --- a/generated/immich/openapi_client/models/map_reverse_geocode_response_dto.py +++ b/generated/immich/openapi_client/models/map_reverse_geocode_response_dto.py @@ -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( diff --git a/generated/immich/openapi_client/models/memories_response.py b/generated/immich/openapi_client/models/memories_response.py index acbc5c8..f17c2fe 100644 --- a/generated/immich/openapi_client/models/memories_response.py +++ b/generated/immich/openapi_client/models/memories_response.py @@ -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 diff --git a/generated/immich/openapi_client/models/memories_update.py b/generated/immich/openapi_client/models/memories_update.py index 46b31b3..0a6fd37 100644 --- a/generated/immich/openapi_client/models/memories_update.py +++ b/generated/immich/openapi_client/models/memories_update.py @@ -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 diff --git a/generated/immich/openapi_client/models/memory_create_dto.py b/generated/immich/openapi_client/models/memory_create_dto.py index 480f1d7..50bebc7 100644 --- a/generated/immich/openapi_client/models/memory_create_dto.py +++ b/generated/immich/openapi_client/models/memory_create_dto.py @@ -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 diff --git a/generated/immich/openapi_client/models/memory_lane_response_dto.py b/generated/immich/openapi_client/models/memory_lane_response_dto.py deleted file mode 100644 index 459b872..0000000 --- a/generated/immich/openapi_client/models/memory_lane_response_dto.py +++ /dev/null @@ -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, StrictInt -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 MemoryLaneResponseDto(BaseModel): - """ - MemoryLaneResponseDto - """ # noqa: E501 - assets: List[AssetResponseDto] - years_ago: StrictInt = Field(alias="yearsAgo") - __properties: ClassVar[List[str]] = ["assets", "yearsAgo"] - - 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 MemoryLaneResponseDto 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 assets (list) - _items = [] - if self.assets: - for _item_assets in self.assets: - if _item_assets: - _items.append(_item_assets.to_dict()) - _dict['assets'] = _items - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of MemoryLaneResponseDto from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "assets": [AssetResponseDto.from_dict(_item) for _item in obj["assets"]] if obj.get("assets") is not None else None, - "yearsAgo": obj.get("yearsAgo") - }) - return _obj - - diff --git a/generated/immich/openapi_client/models/memory_response_dto.py b/generated/immich/openapi_client/models/memory_response_dto.py index 93f3384..f8d873d 100644 --- a/generated/immich/openapi_client/models/memory_response_dto.py +++ b/generated/immich/openapi_client/models/memory_response_dto.py @@ -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.asset_response_dto import AssetResponseDto from generated.immich.openapi_client.models.memory_type import MemoryType from generated.immich.openapi_client.models.on_this_day_dto import OnThisDayDto @@ -31,20 +32,95 @@ class MemoryResponseDto(BaseModel): MemoryResponseDto """ # noqa: E501 assets: List[AssetResponseDto] - created_at: datetime = Field(alias="createdAt") + created_at: datetime = Field(description="Creation date", alias="createdAt") data: OnThisDayDto - deleted_at: Optional[datetime] = Field(default=None, alias="deletedAt") - hide_at: Optional[datetime] = Field(default=None, alias="hideAt") - id: StrictStr - is_saved: StrictBool = Field(alias="isSaved") - memory_at: datetime = Field(alias="memoryAt") - owner_id: StrictStr = Field(alias="ownerId") - seen_at: Optional[datetime] = Field(default=None, alias="seenAt") - show_at: Optional[datetime] = Field(default=None, alias="showAt") + deleted_at: Optional[datetime] = Field(default=None, description="Deletion date", alias="deletedAt") + hide_at: Optional[datetime] = Field(default=None, description="Date when memory should be hidden", alias="hideAt") + id: UUID = Field(description="Memory ID") + is_saved: StrictBool = Field(description="Is memory saved", alias="isSaved") + memory_at: datetime = Field(description="Memory date", alias="memoryAt") + owner_id: UUID = Field(description="Owner user ID", alias="ownerId") + 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 - updated_at: datetime = Field(alias="updatedAt") + updated_at: datetime = Field(description="Last update date", alias="updatedAt") __properties: ClassVar[List[str]] = ["assets", "createdAt", "data", "deletedAt", "hideAt", "id", "isSaved", "memoryAt", "ownerId", "seenAt", "showAt", "type", "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('deleted_at') + def deleted_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('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('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('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('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('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 + + @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, diff --git a/generated/immich/openapi_client/models/memory_type.py b/generated/immich/openapi_client/models/memory_type.py index eeb0d32..92be466 100644 --- a/generated/immich/openapi_client/models/memory_type.py +++ b/generated/immich/openapi_client/models/memory_type.py @@ -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 MemoryType(str, Enum): """ - MemoryType + Memory type """ """ diff --git a/generated/immich/openapi_client/models/memory_update_dto.py b/generated/immich/openapi_client/models/memory_update_dto.py index 4391be7..a049cd7 100644 --- a/generated/immich/openapi_client/models/memory_update_dto.py +++ b/generated/immich/openapi_client/models/memory_update_dto.py @@ -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,31 @@ class MemoryUpdateDto(BaseModel): """ MemoryUpdateDto """ # noqa: E501 - is_saved: Optional[StrictBool] = Field(default=None, alias="isSaved") - memory_at: Optional[datetime] = Field(default=None, alias="memoryAt") - seen_at: Optional[datetime] = Field(default=None, alias="seenAt") + is_saved: Optional[StrictBool] = Field(default=None, description="Is memory saved", alias="isSaved") + memory_at: Optional[datetime] = Field(default=None, description="Memory date", alias="memoryAt") + seen_at: Optional[datetime] = Field(default=None, description="Date when memory was seen", alias="seenAt") __properties: ClassVar[List[str]] = ["isSaved", "memoryAt", "seenAt"] + @field_validator('memory_at') + def memory_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('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 + model_config = ConfigDict( populate_by_name=True, validate_assignment=True, diff --git a/generated/immich/openapi_client/models/merge_person_dto.py b/generated/immich/openapi_client/models/merge_person_dto.py index ea853c2..5902096 100644 --- a/generated/immich/openapi_client/models/merge_person_dto.py +++ b/generated/immich/openapi_client/models/merge_person_dto.py @@ -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 MergePersonDto(BaseModel): """ MergePersonDto """ # noqa: E501 - ids: List[StrictStr] + ids: List[UUID] = Field(description="Person IDs to merge") __properties: ClassVar[List[str]] = ["ids"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/metadata_search_dto.py b/generated/immich/openapi_client/models/metadata_search_dto.py index 895a875..ee742e5 100644 --- a/generated/immich/openapi_client/models/metadata_search_dto.py +++ b/generated/immich/openapi_client/models/metadata_search_dto.py @@ -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,10 +19,12 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from uuid import UUID from generated.immich.openapi_client.models.asset_order import AssetOrder from generated.immich.openapi_client.models.asset_type_enum import AssetTypeEnum +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility from typing import Optional, Set from typing_extensions import Self @@ -30,51 +32,149 @@ class MetadataSearchDto(BaseModel): """ MetadataSearchDto """ # noqa: E501 - checksum: Optional[StrictStr] = None - city: Optional[StrictStr] = None - country: Optional[StrictStr] = None - created_after: Optional[datetime] = Field(default=None, alias="createdAfter") - created_before: Optional[datetime] = Field(default=None, alias="createdBefore") - description: Optional[StrictStr] = None - device_asset_id: Optional[StrictStr] = Field(default=None, alias="deviceAssetId") - device_id: Optional[StrictStr] = Field(default=None, alias="deviceId") - encoded_video_path: Optional[StrictStr] = Field(default=None, alias="encodedVideoPath") - id: Optional[StrictStr] = None - is_archived: Optional[StrictBool] = Field(default=None, alias="isArchived") - is_encoded: Optional[StrictBool] = Field(default=None, alias="isEncoded") - is_favorite: Optional[StrictBool] = Field(default=None, alias="isFavorite") - is_motion: Optional[StrictBool] = Field(default=None, alias="isMotion") - is_not_in_album: Optional[StrictBool] = Field(default=None, alias="isNotInAlbum") - is_offline: Optional[StrictBool] = Field(default=None, alias="isOffline") - is_visible: Optional[StrictBool] = Field(default=None, alias="isVisible") - lens_model: Optional[StrictStr] = Field(default=None, alias="lensModel") - library_id: Optional[StrictStr] = Field(default=None, alias="libraryId") - make: Optional[StrictStr] = None - model: Optional[StrictStr] = None + album_ids: Optional[List[UUID]] = Field(default=None, description="Filter by album IDs", alias="albumIds") + checksum: Optional[StrictStr] = Field(default=None, description="Filter by file checksum") + city: Optional[StrictStr] = Field(default=None, description="Filter by city name") + country: Optional[StrictStr] = Field(default=None, description="Filter by country name") + created_after: Optional[datetime] = Field(default=None, description="Filter by creation date (after)", alias="createdAfter") + created_before: Optional[datetime] = Field(default=None, description="Filter by creation date (before)", alias="createdBefore") + description: Optional[StrictStr] = Field(default=None, description="Filter by description text") + encoded_video_path: Optional[StrictStr] = Field(default=None, description="Filter by encoded video file path", alias="encodedVideoPath") + id: Optional[UUID] = Field(default=None, description="Filter by asset ID") + is_encoded: Optional[StrictBool] = Field(default=None, description="Filter by encoded status", alias="isEncoded") + is_favorite: Optional[StrictBool] = Field(default=None, description="Filter by favorite status", alias="isFavorite") + is_motion: Optional[StrictBool] = Field(default=None, description="Filter by motion photo status", alias="isMotion") + is_not_in_album: Optional[StrictBool] = Field(default=None, description="Filter assets not in any album", alias="isNotInAlbum") + is_offline: Optional[StrictBool] = Field(default=None, description="Filter by offline status", alias="isOffline") + lens_model: Optional[StrictStr] = Field(default=None, description="Filter by lens model", alias="lensModel") + library_id: Optional[UUID] = Field(default=None, description="Library ID to filter by", alias="libraryId") + make: Optional[StrictStr] = Field(default=None, description="Filter by camera make") + model: Optional[StrictStr] = Field(default=None, description="Filter by camera model") + ocr: Optional[StrictStr] = Field(default=None, description="Filter by OCR text content") order: Optional[AssetOrder] = None - original_file_name: Optional[StrictStr] = Field(default=None, alias="originalFileName") - original_path: Optional[StrictStr] = Field(default=None, alias="originalPath") - page: Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]] = None - person_ids: Optional[List[StrictStr]] = Field(default=None, alias="personIds") - preview_path: Optional[StrictStr] = Field(default=None, alias="previewPath") - rating: Optional[Union[Annotated[float, Field(le=5, strict=True, ge=-1)], Annotated[int, Field(le=5, strict=True, ge=-1)]]] = None - size: Optional[Union[Annotated[float, Field(le=1000, strict=True, ge=1)], Annotated[int, Field(le=1000, strict=True, ge=1)]]] = None - state: Optional[StrictStr] = None - tag_ids: Optional[List[StrictStr]] = Field(default=None, alias="tagIds") - taken_after: Optional[datetime] = Field(default=None, alias="takenAfter") - taken_before: Optional[datetime] = Field(default=None, alias="takenBefore") - thumbnail_path: Optional[StrictStr] = Field(default=None, alias="thumbnailPath") - trashed_after: Optional[datetime] = Field(default=None, alias="trashedAfter") - trashed_before: Optional[datetime] = Field(default=None, alias="trashedBefore") + original_file_name: Optional[StrictStr] = Field(default=None, description="Filter by original file name", alias="originalFileName") + original_path: Optional[StrictStr] = Field(default=None, description="Filter by original file path", alias="originalPath") + page: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]] = Field(default=None, description="Page number") + person_ids: Optional[List[UUID]] = Field(default=None, description="Filter by person IDs", alias="personIds") + preview_path: Optional[StrictStr] = Field(default=None, description="Filter by preview file path", alias="previewPath") + rating: Optional[Annotated[int, Field(le=5, strict=True, ge=1)]] = Field(default=None, description="Filter by rating [1-5], or null for unrated") + size: Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]] = Field(default=None, description="Number of results to return") + state: Optional[StrictStr] = Field(default=None, description="Filter by state/province name") + tag_ids: Optional[List[UUID]] = Field(default=None, description="Filter by tag IDs", alias="tagIds") + taken_after: Optional[datetime] = Field(default=None, description="Filter by taken date (after)", alias="takenAfter") + taken_before: Optional[datetime] = Field(default=None, description="Filter by taken date (before)", alias="takenBefore") + thumbnail_path: Optional[StrictStr] = Field(default=None, description="Filter by thumbnail file path", alias="thumbnailPath") + trashed_after: Optional[datetime] = Field(default=None, description="Filter by trash date (after)", alias="trashedAfter") + trashed_before: Optional[datetime] = Field(default=None, description="Filter by trash date (before)", alias="trashedBefore") type: Optional[AssetTypeEnum] = None - updated_after: Optional[datetime] = Field(default=None, alias="updatedAfter") - updated_before: Optional[datetime] = Field(default=None, alias="updatedBefore") - with_archived: Optional[StrictBool] = Field(default=False, alias="withArchived") - with_deleted: Optional[StrictBool] = Field(default=None, alias="withDeleted") - with_exif: Optional[StrictBool] = Field(default=None, alias="withExif") - with_people: Optional[StrictBool] = Field(default=None, alias="withPeople") - with_stacked: Optional[StrictBool] = Field(default=None, alias="withStacked") - __properties: ClassVar[List[str]] = ["checksum", "city", "country", "createdAfter", "createdBefore", "description", "deviceAssetId", "deviceId", "encodedVideoPath", "id", "isArchived", "isEncoded", "isFavorite", "isMotion", "isNotInAlbum", "isOffline", "isVisible", "lensModel", "libraryId", "make", "model", "order", "originalFileName", "originalPath", "page", "personIds", "previewPath", "rating", "size", "state", "tagIds", "takenAfter", "takenBefore", "thumbnailPath", "trashedAfter", "trashedBefore", "type", "updatedAfter", "updatedBefore", "withArchived", "withDeleted", "withExif", "withPeople", "withStacked"] + updated_after: Optional[datetime] = Field(default=None, description="Filter by update date (after)", alias="updatedAfter") + updated_before: Optional[datetime] = Field(default=None, description="Filter by update date (before)", alias="updatedBefore") + visibility: Optional[AssetVisibility] = None + with_deleted: Optional[StrictBool] = Field(default=None, description="Include deleted assets", alias="withDeleted") + with_exif: Optional[StrictBool] = Field(default=None, description="Include EXIF data in response", alias="withExif") + with_people: Optional[StrictBool] = Field(default=None, description="Include people data in response", alias="withPeople") + with_stacked: Optional[StrictBool] = Field(default=None, description="Include stacked assets", alias="withStacked") + __properties: ClassVar[List[str]] = ["albumIds", "checksum", "city", "country", "createdAfter", "createdBefore", "description", "encodedVideoPath", "id", "isEncoded", "isFavorite", "isMotion", "isNotInAlbum", "isOffline", "lensModel", "libraryId", "make", "model", "ocr", "order", "originalFileName", "originalPath", "page", "personIds", "previewPath", "rating", "size", "state", "tagIds", "takenAfter", "takenBefore", "thumbnailPath", "trashedAfter", "trashedBefore", "type", "updatedAfter", "updatedBefore", "visibility", "withDeleted", "withExif", "withPeople", "withStacked"] + + @field_validator('created_after') + def created_after_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('created_before') + def created_before_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('id') + def 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('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('taken_after') + def taken_after_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('taken_before') + def taken_before_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('trashed_after') + def trashed_after_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('trashed_before') + def trashed_before_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_after') + def updated_after_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_before') + def updated_before_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, @@ -135,16 +235,31 @@ class MetadataSearchDto(BaseModel): if self.library_id is None and "library_id" in self.model_fields_set: _dict['libraryId'] = None + # set to None if make (nullable) is None + # and model_fields_set contains the field + if self.make is None and "make" in self.model_fields_set: + _dict['make'] = None + # set to None if model (nullable) is None # and model_fields_set contains the field if self.model is None and "model" in self.model_fields_set: _dict['model'] = 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 + # set to None if state (nullable) is None # and model_fields_set contains the field if self.state is None and "state" in self.model_fields_set: _dict['state'] = None + # set to None if tag_ids (nullable) is None + # and model_fields_set contains the field + if self.tag_ids is None and "tag_ids" in self.model_fields_set: + _dict['tagIds'] = None + return _dict @classmethod @@ -157,27 +272,25 @@ class MetadataSearchDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "albumIds": obj.get("albumIds"), "checksum": obj.get("checksum"), "city": obj.get("city"), "country": obj.get("country"), "createdAfter": obj.get("createdAfter"), "createdBefore": obj.get("createdBefore"), "description": obj.get("description"), - "deviceAssetId": obj.get("deviceAssetId"), - "deviceId": obj.get("deviceId"), "encodedVideoPath": obj.get("encodedVideoPath"), "id": obj.get("id"), - "isArchived": obj.get("isArchived"), "isEncoded": obj.get("isEncoded"), "isFavorite": obj.get("isFavorite"), "isMotion": obj.get("isMotion"), "isNotInAlbum": obj.get("isNotInAlbum"), "isOffline": obj.get("isOffline"), - "isVisible": obj.get("isVisible"), "lensModel": obj.get("lensModel"), "libraryId": obj.get("libraryId"), "make": obj.get("make"), "model": obj.get("model"), + "ocr": obj.get("ocr"), "order": obj.get("order"), "originalFileName": obj.get("originalFileName"), "originalPath": obj.get("originalPath"), @@ -196,7 +309,7 @@ class MetadataSearchDto(BaseModel): "type": obj.get("type"), "updatedAfter": obj.get("updatedAfter"), "updatedBefore": obj.get("updatedBefore"), - "withArchived": obj.get("withArchived") if obj.get("withArchived") is not None else False, + "visibility": obj.get("visibility"), "withDeleted": obj.get("withDeleted"), "withExif": obj.get("withExif"), "withPeople": obj.get("withPeople"), diff --git a/generated/immich/openapi_client/models/o_auth_authorize_response_dto.py b/generated/immich/openapi_client/models/o_auth_authorize_response_dto.py index c2223c5..c35a389 100644 --- a/generated/immich/openapi_client/models/o_auth_authorize_response_dto.py +++ b/generated/immich/openapi_client/models/o_auth_authorize_response_dto.py @@ -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 from typing import Optional, Set from typing_extensions import Self @@ -26,7 +26,7 @@ class OAuthAuthorizeResponseDto(BaseModel): """ OAuthAuthorizeResponseDto """ # noqa: E501 - url: StrictStr + url: StrictStr = Field(description="OAuth authorization URL") __properties: ClassVar[List[str]] = ["url"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/o_auth_callback_dto.py b/generated/immich/openapi_client/models/o_auth_callback_dto.py index 05cef0d..8d89dd9 100644 --- a/generated/immich/openapi_client/models/o_auth_callback_dto.py +++ b/generated/immich/openapi_client/models/o_auth_callback_dto.py @@ -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 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 typing import Optional, Set from typing_extensions import Self @@ -26,8 +27,10 @@ class OAuthCallbackDto(BaseModel): """ OAuthCallbackDto """ # noqa: E501 - url: StrictStr - __properties: ClassVar[List[str]] = ["url"] + code_verifier: Optional[StrictStr] = Field(default=None, description="OAuth code verifier (PKCE)", alias="codeVerifier") + state: Optional[StrictStr] = Field(default=None, description="OAuth state parameter") + url: Annotated[str, Field(min_length=1, strict=True)] = Field(description="OAuth callback URL") + __properties: ClassVar[List[str]] = ["codeVerifier", "state", "url"] model_config = ConfigDict( populate_by_name=True, @@ -80,6 +83,8 @@ class OAuthCallbackDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "codeVerifier": obj.get("codeVerifier"), + "state": obj.get("state"), "url": obj.get("url") }) return _obj diff --git a/generated/immich/openapi_client/models/o_auth_config_dto.py b/generated/immich/openapi_client/models/o_auth_config_dto.py index 8fb30f9..d7cfafb 100644 --- a/generated/immich/openapi_client/models/o_auth_config_dto.py +++ b/generated/immich/openapi_client/models/o_auth_config_dto.py @@ -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, StrictStr -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self @@ -26,8 +26,10 @@ class OAuthConfigDto(BaseModel): """ OAuthConfigDto """ # noqa: E501 - redirect_uri: StrictStr = Field(alias="redirectUri") - __properties: ClassVar[List[str]] = ["redirectUri"] + code_challenge: Optional[StrictStr] = Field(default=None, description="OAuth code challenge (PKCE)", alias="codeChallenge") + redirect_uri: StrictStr = Field(description="OAuth redirect URI", alias="redirectUri") + state: Optional[StrictStr] = Field(default=None, description="OAuth state parameter") + __properties: ClassVar[List[str]] = ["codeChallenge", "redirectUri", "state"] model_config = ConfigDict( populate_by_name=True, @@ -80,7 +82,9 @@ class OAuthConfigDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "redirectUri": obj.get("redirectUri") + "codeChallenge": obj.get("codeChallenge"), + "redirectUri": obj.get("redirectUri"), + "state": obj.get("state") }) return _obj diff --git a/generated/immich/openapi_client/models/on_this_day_dto.py b/generated/immich/openapi_client/models/on_this_day_dto.py index 17d3bed..fb5b9e0 100644 --- a/generated/immich/openapi_client/models/on_this_day_dto.py +++ b/generated/immich/openapi_client/models/on_this_day_dto.py @@ -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 -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,7 +27,7 @@ class OnThisDayDto(BaseModel): """ OnThisDayDto """ # noqa: E501 - year: Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]] + year: Annotated[int, Field(le=9999, strict=True, ge=1000)] = Field(description="Year for on this day memory") __properties: ClassVar[List[str]] = ["year"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/partner_direction.py b/generated/immich/openapi_client/models/partner_direction.py index f1d9040..ba1e727 100644 --- a/generated/immich/openapi_client/models/partner_direction.py +++ b/generated/immich/openapi_client/models/partner_direction.py @@ -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 PartnerDirection(str, Enum): """ - PartnerDirection + Partner direction """ """ diff --git a/generated/immich/openapi_client/models/partner_response_dto.py b/generated/immich/openapi_client/models/partner_response_dto.py index de557f9..8f209c2 100644 --- a/generated/immich/openapi_client/models/partner_response_dto.py +++ b/generated/immich/openapi_client/models/partner_response_dto.py @@ -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,25 +18,41 @@ 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, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from uuid import UUID from generated.immich.openapi_client.models.user_avatar_color import UserAvatarColor from typing import Optional, Set from typing_extensions import Self class PartnerResponseDto(BaseModel): """ - PartnerResponseDto + Partner response """ # noqa: E501 avatar_color: UserAvatarColor = Field(alias="avatarColor") - email: StrictStr - id: StrictStr - in_timeline: Optional[StrictBool] = Field(default=None, alias="inTimeline") - name: StrictStr - profile_changed_at: datetime = Field(alias="profileChangedAt") - profile_image_path: StrictStr = Field(alias="profileImagePath") + email: Annotated[str, Field(strict=True)] = Field(description="User email") + id: UUID = Field(description="User ID") + in_timeline: Optional[StrictBool] = Field(default=None, description="Show in timeline", alias="inTimeline") + name: StrictStr = Field(description="User name") + profile_changed_at: datetime = Field(description="Profile change date", alias="profileChangedAt") + profile_image_path: StrictStr = Field(description="Profile image path", alias="profileImagePath") __properties: ClassVar[List[str]] = ["avatarColor", "email", "id", "inTimeline", "name", "profileChangedAt", "profileImagePath"] + @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 + + @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, diff --git a/generated/immich/openapi_client/models/path_entity_type.py b/generated/immich/openapi_client/models/path_entity_type.py deleted file mode 100644 index 89cdf1c..0000000 --- a/generated/immich/openapi_client/models/path_entity_type.py +++ /dev/null @@ -1,38 +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 PathEntityType(str, Enum): - """ - PathEntityType - """ - - """ - allowed enum values - """ - ASSET = 'asset' - PERSON = 'person' - USER = 'user' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of PathEntityType from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/generated/immich/openapi_client/models/path_type.py b/generated/immich/openapi_client/models/path_type.py deleted file mode 100644 index af7f951..0000000 --- a/generated/immich/openapi_client/models/path_type.py +++ /dev/null @@ -1,43 +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 PathType(str, Enum): - """ - PathType - """ - - """ - allowed enum values - """ - ORIGINAL = 'original' - FULLSIZE = 'fullsize' - PREVIEW = 'preview' - THUMBNAIL = 'thumbnail' - ENCODED_VIDEO = 'encoded_video' - SIDECAR = 'sidecar' - FACE = 'face' - PROFILE = 'profile' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of PathType from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/generated/immich/openapi_client/models/people_response.py b/generated/immich/openapi_client/models/people_response.py index a11f126..2e13618 100644 --- a/generated/immich/openapi_client/models/people_response.py +++ b/generated/immich/openapi_client/models/people_response.py @@ -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,8 @@ import re # noqa: F401 import json from pydantic import BaseModel, ConfigDict, Field, StrictBool -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self @@ -26,9 +27,10 @@ class PeopleResponse(BaseModel): """ PeopleResponse """ # noqa: E501 - enabled: StrictBool - sidebar_web: StrictBool = Field(alias="sidebarWeb") - __properties: ClassVar[List[str]] = ["enabled", "sidebarWeb"] + enabled: StrictBool = Field(description="Whether people are enabled") + minimum_faces: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]] = Field(default=None, description="People face threshold", alias="minimumFaces") + sidebar_web: StrictBool = Field(description="Whether people appear in web sidebar", alias="sidebarWeb") + __properties: ClassVar[List[str]] = ["enabled", "minimumFaces", "sidebarWeb"] model_config = ConfigDict( populate_by_name=True, @@ -81,8 +83,9 @@ class PeopleResponse(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "sidebarWeb": obj.get("sidebarWeb") if obj.get("sidebarWeb") is not None else False + "enabled": obj.get("enabled"), + "minimumFaces": obj.get("minimumFaces"), + "sidebarWeb": obj.get("sidebarWeb") }) return _obj diff --git a/generated/immich/openapi_client/models/people_response_dto.py b/generated/immich/openapi_client/models/people_response_dto.py index 3c6c12b..ba6c883 100644 --- a/generated/immich/openapi_client/models/people_response_dto.py +++ b/generated/immich/openapi_client/models/people_response_dto.py @@ -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,20 +17,21 @@ 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, Optional +from typing_extensions import Annotated from generated.immich.openapi_client.models.person_response_dto import PersonResponseDto from typing import Optional, Set from typing_extensions import Self class PeopleResponseDto(BaseModel): """ - PeopleResponseDto + People response """ # noqa: E501 - has_next_page: Optional[StrictBool] = Field(default=None, description="This property was added in v1.110.0", alias="hasNextPage") - hidden: StrictInt + has_next_page: Optional[StrictBool] = Field(default=None, description="Whether there are more pages", alias="hasNextPage") + hidden: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of hidden people") people: List[PersonResponseDto] - total: StrictInt + total: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Total number of people") __properties: ClassVar[List[str]] = ["hasNextPage", "hidden", "people", "total"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/people_update.py b/generated/immich/openapi_client/models/people_update.py index 2c72c4b..7d45b0b 100644 --- a/generated/immich/openapi_client/models/people_update.py +++ b/generated/immich/openapi_client/models/people_update.py @@ -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, 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,9 +27,10 @@ class PeopleUpdate(BaseModel): """ PeopleUpdate """ # noqa: E501 - enabled: Optional[StrictBool] = None - sidebar_web: Optional[StrictBool] = Field(default=None, alias="sidebarWeb") - __properties: ClassVar[List[str]] = ["enabled", "sidebarWeb"] + enabled: Optional[StrictBool] = Field(default=None, description="Whether people are enabled") + minimum_faces: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]] = Field(default=None, description="People face threshold", alias="minimumFaces") + sidebar_web: Optional[StrictBool] = Field(default=None, description="Whether people appear in web sidebar", alias="sidebarWeb") + __properties: ClassVar[List[str]] = ["enabled", "minimumFaces", "sidebarWeb"] model_config = ConfigDict( populate_by_name=True, @@ -82,6 +84,7 @@ class PeopleUpdate(BaseModel): _obj = cls.model_validate({ "enabled": obj.get("enabled"), + "minimumFaces": obj.get("minimumFaces"), "sidebarWeb": obj.get("sidebarWeb") }) return _obj diff --git a/generated/immich/openapi_client/models/people_update_dto.py b/generated/immich/openapi_client/models/people_update_dto.py index 2ed0b24..b5efde1 100644 --- a/generated/immich/openapi_client/models/people_update_dto.py +++ b/generated/immich/openapi_client/models/people_update_dto.py @@ -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.people_update_item import PeopleUpdateItem from typing import Optional, Set @@ -27,7 +27,7 @@ class PeopleUpdateDto(BaseModel): """ PeopleUpdateDto """ # noqa: E501 - people: List[PeopleUpdateItem] + people: List[PeopleUpdateItem] = Field(description="People to update") __properties: ClassVar[List[str]] = ["people"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/people_update_item.py b/generated/immich/openapi_client/models/people_update_item.py index f61d82f..97c5482 100644 --- a/generated/immich/openapi_client/models/people_update_item.py +++ b/generated/immich/openapi_client/models/people_update_item.py @@ -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 date -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, Optional +from typing_extensions import Annotated +from uuid import UUID from typing import Optional, Set from typing_extensions import Self @@ -27,15 +29,42 @@ class PeopleUpdateItem(BaseModel): """ PeopleUpdateItem """ # noqa: E501 - birth_date: Optional[date] = Field(default=None, description="Person date of birth. Note: the mobile app cannot currently set the birth date to null.", alias="birthDate") - color: Optional[StrictStr] = None - feature_face_asset_id: Optional[StrictStr] = Field(default=None, description="Asset is used to get the feature face thumbnail.", alias="featureFaceAssetId") - id: StrictStr = Field(description="Person id.") - is_favorite: Optional[StrictBool] = Field(default=None, alias="isFavorite") - is_hidden: Optional[StrictBool] = Field(default=None, description="Person visibility", alias="isHidden") - name: Optional[StrictStr] = Field(default=None, description="Person name.") + birth_date: Optional[date] = Field(default=None, description="Person date of birth", alias="birthDate") + color: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Person color (hex)") + feature_face_asset_id: Optional[UUID] = Field(default=None, description="Asset ID used for feature face thumbnail", alias="featureFaceAssetId") + id: UUID = Field(description="Person ID") + is_favorite: Optional[StrictBool] = Field(default=None, description="Mark as favorite", alias="isFavorite") + is_hidden: Optional[StrictBool] = Field(default=None, description="Person visibility (hidden)", alias="isHidden") + name: Optional[StrictStr] = Field(default=None, description="Person name") __properties: ClassVar[List[str]] = ["birthDate", "color", "featureFaceAssetId", "id", "isFavorite", "isHidden", "name"] + @field_validator('color') + def color_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$", value): + raise ValueError(r"must validate the regular expression /^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/") + return value + + @field_validator('feature_face_asset_id') + def feature_face_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, validate_assignment=True, diff --git a/generated/immich/openapi_client/models/permission.py b/generated/immich/openapi_client/models/permission.py index c55daa0..f90aafd 100644 --- a/generated/immich/openapi_client/models/permission.py +++ b/generated/immich/openapi_client/models/permission.py @@ -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 Permission(str, Enum): """ - Permission + List of permissions """ """ @@ -39,25 +39,44 @@ class Permission(str, Enum): ASSET_DOT_READ = 'asset.read' ASSET_DOT_UPDATE = 'asset.update' ASSET_DOT_DELETE = 'asset.delete' + ASSET_DOT_STATISTICS = 'asset.statistics' ASSET_DOT_SHARE = 'asset.share' ASSET_DOT_VIEW = 'asset.view' ASSET_DOT_DOWNLOAD = 'asset.download' ASSET_DOT_UPLOAD = 'asset.upload' + ASSET_DOT_COPY = 'asset.copy' + ASSET_DOT_DERIVE = 'asset.derive' + ASSET_DOT_EDIT_DOT_GET = 'asset.edit.get' + ASSET_DOT_EDIT_DOT_CREATE = 'asset.edit.create' + ASSET_DOT_EDIT_DOT_DELETE = 'asset.edit.delete' ALBUM_DOT_CREATE = 'album.create' ALBUM_DOT_READ = 'album.read' ALBUM_DOT_UPDATE = 'album.update' ALBUM_DOT_DELETE = 'album.delete' ALBUM_DOT_STATISTICS = 'album.statistics' - ALBUM_DOT_ADD_ASSET = 'album.addAsset' - ALBUM_DOT_REMOVE_ASSET = 'album.removeAsset' ALBUM_DOT_SHARE = 'album.share' ALBUM_DOT_DOWNLOAD = 'album.download' + ALBUM_ASSET_DOT_CREATE = 'albumAsset.create' + ALBUM_ASSET_DOT_DELETE = 'albumAsset.delete' + ALBUM_USER_DOT_CREATE = 'albumUser.create' + ALBUM_USER_DOT_UPDATE = 'albumUser.update' + ALBUM_USER_DOT_DELETE = 'albumUser.delete' + AUTH_DOT_CHANGE_PASSWORD = 'auth.changePassword' AUTH_DEVICE_DOT_DELETE = 'authDevice.delete' ARCHIVE_DOT_READ = 'archive.read' + BACKUP_DOT_LIST = 'backup.list' + BACKUP_DOT_DOWNLOAD = 'backup.download' + BACKUP_DOT_UPLOAD = 'backup.upload' + BACKUP_DOT_DELETE = 'backup.delete' + DUPLICATE_DOT_READ = 'duplicate.read' + DUPLICATE_DOT_DELETE = 'duplicate.delete' FACE_DOT_CREATE = 'face.create' FACE_DOT_READ = 'face.read' FACE_DOT_UPDATE = 'face.update' FACE_DOT_DELETE = 'face.delete' + FOLDER_DOT_READ = 'folder.read' + JOB_DOT_CREATE = 'job.create' + JOB_DOT_READ = 'job.read' LIBRARY_DOT_CREATE = 'library.create' LIBRARY_DOT_READ = 'library.read' LIBRARY_DOT_UPDATE = 'library.update' @@ -65,10 +84,20 @@ class Permission(str, Enum): LIBRARY_DOT_STATISTICS = 'library.statistics' TIMELINE_DOT_READ = 'timeline.read' TIMELINE_DOT_DOWNLOAD = 'timeline.download' + MAINTENANCE = 'maintenance' + MAP_DOT_READ = 'map.read' + MAP_DOT_SEARCH = 'map.search' MEMORY_DOT_CREATE = 'memory.create' MEMORY_DOT_READ = 'memory.read' MEMORY_DOT_UPDATE = 'memory.update' MEMORY_DOT_DELETE = 'memory.delete' + MEMORY_DOT_STATISTICS = 'memory.statistics' + MEMORY_ASSET_DOT_CREATE = 'memoryAsset.create' + MEMORY_ASSET_DOT_DELETE = 'memoryAsset.delete' + NOTIFICATION_DOT_CREATE = 'notification.create' + NOTIFICATION_DOT_READ = 'notification.read' + NOTIFICATION_DOT_UPDATE = 'notification.update' + NOTIFICATION_DOT_DELETE = 'notification.delete' PARTNER_DOT_CREATE = 'partner.create' PARTNER_DOT_READ = 'partner.read' PARTNER_DOT_UPDATE = 'partner.update' @@ -80,9 +109,26 @@ class Permission(str, Enum): PERSON_DOT_STATISTICS = 'person.statistics' PERSON_DOT_MERGE = 'person.merge' PERSON_DOT_REASSIGN = 'person.reassign' + PIN_CODE_DOT_CREATE = 'pinCode.create' + PIN_CODE_DOT_UPDATE = 'pinCode.update' + PIN_CODE_DOT_DELETE = 'pinCode.delete' + PLUGIN_DOT_CREATE = 'plugin.create' + PLUGIN_DOT_READ = 'plugin.read' + PLUGIN_DOT_UPDATE = 'plugin.update' + PLUGIN_DOT_DELETE = 'plugin.delete' + SERVER_DOT_ABOUT = 'server.about' + SERVER_DOT_APK_LINKS = 'server.apkLinks' + SERVER_DOT_STORAGE = 'server.storage' + SERVER_DOT_STATISTICS = 'server.statistics' + SERVER_DOT_VERSION_CHECK = 'server.versionCheck' + SERVER_LICENSE_DOT_READ = 'serverLicense.read' + SERVER_LICENSE_DOT_UPDATE = 'serverLicense.update' + SERVER_LICENSE_DOT_DELETE = 'serverLicense.delete' + SESSION_DOT_CREATE = 'session.create' SESSION_DOT_READ = 'session.read' SESSION_DOT_UPDATE = 'session.update' SESSION_DOT_DELETE = 'session.delete' + SESSION_DOT_LOCK = 'session.lock' SHARED_LINK_DOT_CREATE = 'sharedLink.create' SHARED_LINK_DOT_READ = 'sharedLink.read' SHARED_LINK_DOT_UPDATE = 'sharedLink.update' @@ -91,6 +137,10 @@ class Permission(str, Enum): STACK_DOT_READ = 'stack.read' STACK_DOT_UPDATE = 'stack.update' STACK_DOT_DELETE = 'stack.delete' + SYNC_DOT_STREAM = 'sync.stream' + SYNC_CHECKPOINT_DOT_READ = 'syncCheckpoint.read' + SYNC_CHECKPOINT_DOT_UPDATE = 'syncCheckpoint.update' + SYNC_CHECKPOINT_DOT_DELETE = 'syncCheckpoint.delete' SYSTEM_CONFIG_DOT_READ = 'systemConfig.read' SYSTEM_CONFIG_DOT_UPDATE = 'systemConfig.update' SYSTEM_METADATA_DOT_READ = 'systemMetadata.read' @@ -100,10 +150,37 @@ class Permission(str, Enum): TAG_DOT_UPDATE = 'tag.update' TAG_DOT_DELETE = 'tag.delete' TAG_DOT_ASSET = 'tag.asset' - ADMIN_DOT_USER_DOT_CREATE = 'admin.user.create' - ADMIN_DOT_USER_DOT_READ = 'admin.user.read' - ADMIN_DOT_USER_DOT_UPDATE = 'admin.user.update' - ADMIN_DOT_USER_DOT_DELETE = 'admin.user.delete' + USER_DOT_READ = 'user.read' + USER_DOT_UPDATE = 'user.update' + USER_LICENSE_DOT_CREATE = 'userLicense.create' + USER_LICENSE_DOT_READ = 'userLicense.read' + USER_LICENSE_DOT_UPDATE = 'userLicense.update' + USER_LICENSE_DOT_DELETE = 'userLicense.delete' + USER_ONBOARDING_DOT_READ = 'userOnboarding.read' + USER_ONBOARDING_DOT_UPDATE = 'userOnboarding.update' + USER_ONBOARDING_DOT_DELETE = 'userOnboarding.delete' + USER_PREFERENCE_DOT_READ = 'userPreference.read' + USER_PREFERENCE_DOT_UPDATE = 'userPreference.update' + USER_PROFILE_IMAGE_DOT_CREATE = 'userProfileImage.create' + USER_PROFILE_IMAGE_DOT_READ = 'userProfileImage.read' + USER_PROFILE_IMAGE_DOT_UPDATE = 'userProfileImage.update' + USER_PROFILE_IMAGE_DOT_DELETE = 'userProfileImage.delete' + QUEUE_DOT_READ = 'queue.read' + QUEUE_DOT_UPDATE = 'queue.update' + QUEUE_JOB_DOT_CREATE = 'queueJob.create' + QUEUE_JOB_DOT_READ = 'queueJob.read' + QUEUE_JOB_DOT_UPDATE = 'queueJob.update' + QUEUE_JOB_DOT_DELETE = 'queueJob.delete' + WORKFLOW_DOT_CREATE = 'workflow.create' + WORKFLOW_DOT_READ = 'workflow.read' + WORKFLOW_DOT_UPDATE = 'workflow.update' + WORKFLOW_DOT_DELETE = 'workflow.delete' + ADMIN_USER_DOT_CREATE = 'adminUser.create' + ADMIN_USER_DOT_READ = 'adminUser.read' + ADMIN_USER_DOT_UPDATE = 'adminUser.update' + ADMIN_USER_DOT_DELETE = 'adminUser.delete' + ADMIN_SESSION_DOT_READ = 'adminSession.read' + ADMIN_AUTH_DOT_UNLINK_ALL = 'adminAuth.unlinkAll' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/generated/immich/openapi_client/models/person_create_dto.py b/generated/immich/openapi_client/models/person_create_dto.py index 7322be0..f24248d 100644 --- a/generated/immich/openapi_client/models/person_create_dto.py +++ b/generated/immich/openapi_client/models/person_create_dto.py @@ -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 date -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, Optional +from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self @@ -27,13 +28,23 @@ class PersonCreateDto(BaseModel): """ PersonCreateDto """ # noqa: E501 - birth_date: Optional[date] = Field(default=None, description="Person date of birth. Note: the mobile app cannot currently set the birth date to null.", alias="birthDate") - color: Optional[StrictStr] = None - is_favorite: Optional[StrictBool] = Field(default=None, alias="isFavorite") - is_hidden: Optional[StrictBool] = Field(default=None, description="Person visibility", alias="isHidden") - name: Optional[StrictStr] = Field(default=None, description="Person name.") + birth_date: Optional[date] = Field(default=None, description="Person date of birth", alias="birthDate") + color: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Person color (hex)") + is_favorite: Optional[StrictBool] = Field(default=None, description="Mark as favorite", alias="isFavorite") + is_hidden: Optional[StrictBool] = Field(default=None, description="Person visibility (hidden)", alias="isHidden") + name: Optional[StrictStr] = Field(default=None, description="Person name") __properties: ClassVar[List[str]] = ["birthDate", "color", "isFavorite", "isHidden", "name"] + @field_validator('color') + def color_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$", value): + raise ValueError(r"must validate the regular expression /^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/") + return value + model_config = ConfigDict( populate_by_name=True, validate_assignment=True, diff --git a/generated/immich/openapi_client/models/person_response_dto.py b/generated/immich/openapi_client/models/person_response_dto.py index 96c97b8..e182d7e 100644 --- a/generated/immich/openapi_client/models/person_response_dto.py +++ b/generated/immich/openapi_client/models/person_response_dto.py @@ -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 date, datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from uuid import UUID from typing import Optional, Set from typing_extensions import Self @@ -27,16 +28,23 @@ class PersonResponseDto(BaseModel): """ PersonResponseDto """ # noqa: E501 - birth_date: Optional[date] = Field(alias="birthDate") - color: Optional[StrictStr] = Field(default=None, description="This property was added in v1.126.0") - id: StrictStr - is_favorite: Optional[StrictBool] = Field(default=None, description="This property was added in v1.126.0", alias="isFavorite") - is_hidden: StrictBool = Field(alias="isHidden") - name: StrictStr - thumbnail_path: StrictStr = Field(alias="thumbnailPath") - updated_at: Optional[datetime] = Field(default=None, description="This property was added in v1.107.0", alias="updatedAt") + birth_date: Optional[date] = Field(description="Person date of birth", alias="birthDate") + color: Optional[StrictStr] = Field(default=None, description="Person color (hex)") + id: UUID = Field(description="Person ID") + is_favorite: Optional[StrictBool] = Field(default=None, description="Is favorite", alias="isFavorite") + is_hidden: StrictBool = Field(description="Is hidden", alias="isHidden") + name: StrictStr = Field(description="Person name") + thumbnail_path: StrictStr = Field(description="Thumbnail path", alias="thumbnailPath") + updated_at: Optional[datetime] = Field(default=None, description="Last update date", alias="updatedAt") __properties: ClassVar[List[str]] = ["birthDate", "color", "id", "isFavorite", "isHidden", "name", "thumbnailPath", "updatedAt"] + @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, diff --git a/generated/immich/openapi_client/models/person_statistics_response_dto.py b/generated/immich/openapi_client/models/person_statistics_response_dto.py index c64267c..3f17889 100644 --- a/generated/immich/openapi_client/models/person_statistics_response_dto.py +++ b/generated/immich/openapi_client/models/person_statistics_response_dto.py @@ -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,7 +27,7 @@ class PersonStatisticsResponseDto(BaseModel): """ PersonStatisticsResponseDto """ # noqa: E501 - assets: StrictInt + assets: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of assets") __properties: ClassVar[List[str]] = ["assets"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/person_update_dto.py b/generated/immich/openapi_client/models/person_update_dto.py index db60ef6..db9b76a 100644 --- a/generated/immich/openapi_client/models/person_update_dto.py +++ b/generated/immich/openapi_client/models/person_update_dto.py @@ -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 date -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, Optional +from typing_extensions import Annotated +from uuid import UUID from typing import Optional, Set from typing_extensions import Self @@ -27,14 +29,34 @@ class PersonUpdateDto(BaseModel): """ PersonUpdateDto """ # noqa: E501 - birth_date: Optional[date] = Field(default=None, description="Person date of birth. Note: the mobile app cannot currently set the birth date to null.", alias="birthDate") - color: Optional[StrictStr] = None - feature_face_asset_id: Optional[StrictStr] = Field(default=None, description="Asset is used to get the feature face thumbnail.", alias="featureFaceAssetId") - is_favorite: Optional[StrictBool] = Field(default=None, alias="isFavorite") - is_hidden: Optional[StrictBool] = Field(default=None, description="Person visibility", alias="isHidden") - name: Optional[StrictStr] = Field(default=None, description="Person name.") + birth_date: Optional[date] = Field(default=None, description="Person date of birth", alias="birthDate") + color: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Person color (hex)") + feature_face_asset_id: Optional[UUID] = Field(default=None, description="Asset ID used for feature face thumbnail", alias="featureFaceAssetId") + is_favorite: Optional[StrictBool] = Field(default=None, description="Mark as favorite", alias="isFavorite") + is_hidden: Optional[StrictBool] = Field(default=None, description="Person visibility (hidden)", alias="isHidden") + name: Optional[StrictStr] = Field(default=None, description="Person name") __properties: ClassVar[List[str]] = ["birthDate", "color", "featureFaceAssetId", "isFavorite", "isHidden", "name"] + @field_validator('color') + def color_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$", value): + raise ValueError(r"must validate the regular expression /^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/") + return value + + @field_validator('feature_face_asset_id') + def feature_face_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, diff --git a/generated/immich/openapi_client/models/person_with_faces_response_dto.py b/generated/immich/openapi_client/models/person_with_faces_response_dto.py deleted file mode 100644 index 6982365..0000000 --- a/generated/immich/openapi_client/models/person_with_faces_response_dto.py +++ /dev/null @@ -1,117 +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 date, 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 import Optional, Set -from typing_extensions import Self - -class PersonWithFacesResponseDto(BaseModel): - """ - PersonWithFacesResponseDto - """ # noqa: E501 - birth_date: Optional[date] = Field(alias="birthDate") - color: Optional[StrictStr] = Field(default=None, description="This property was added in v1.126.0") - faces: List[AssetFaceWithoutPersonResponseDto] - id: StrictStr - is_favorite: Optional[StrictBool] = Field(default=None, description="This property was added in v1.126.0", alias="isFavorite") - is_hidden: StrictBool = Field(alias="isHidden") - name: StrictStr - thumbnail_path: StrictStr = Field(alias="thumbnailPath") - updated_at: Optional[datetime] = Field(default=None, description="This property was added in v1.107.0", alias="updatedAt") - __properties: ClassVar[List[str]] = ["birthDate", "color", "faces", "id", "isFavorite", "isHidden", "name", "thumbnailPath", "updatedAt"] - - 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 PersonWithFacesResponseDto 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 faces (list) - _items = [] - if self.faces: - for _item_faces in self.faces: - if _item_faces: - _items.append(_item_faces.to_dict()) - _dict['faces'] = _items - # set to None if birth_date (nullable) is None - # and model_fields_set contains the field - if self.birth_date is None and "birth_date" in self.model_fields_set: - _dict['birthDate'] = None - - return _dict - - @classmethod - def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of PersonWithFacesResponseDto from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "birthDate": obj.get("birthDate"), - "color": obj.get("color"), - "faces": [AssetFaceWithoutPersonResponseDto.from_dict(_item) for _item in obj["faces"]] if obj.get("faces") is not None else None, - "id": obj.get("id"), - "isFavorite": obj.get("isFavorite"), - "isHidden": obj.get("isHidden"), - "name": obj.get("name"), - "thumbnailPath": obj.get("thumbnailPath"), - "updatedAt": obj.get("updatedAt") - }) - return _obj - - diff --git a/generated/immich/openapi_client/models/places_response_dto.py b/generated/immich/openapi_client/models/places_response_dto.py index 8492cf2..0c1b292 100644 --- a/generated/immich/openapi_client/models/places_response_dto.py +++ b/generated/immich/openapi_client/models/places_response_dto.py @@ -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, StrictFloat, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional, Union from typing import Optional, Set from typing_extensions import Self @@ -26,11 +26,11 @@ class PlacesResponseDto(BaseModel): """ PlacesResponseDto """ # noqa: E501 - admin1name: Optional[StrictStr] = None - admin2name: Optional[StrictStr] = None - latitude: Union[StrictFloat, StrictInt] - longitude: Union[StrictFloat, StrictInt] - name: StrictStr + admin1name: Optional[StrictStr] = Field(default=None, description="Administrative level 1 name (state/province)") + admin2name: Optional[StrictStr] = Field(default=None, description="Administrative level 2 name (county/district)") + latitude: Union[StrictFloat, StrictInt] = Field(description="Latitude coordinate") + longitude: Union[StrictFloat, StrictInt] = Field(description="Longitude coordinate") + name: StrictStr = Field(description="Place name") __properties: ClassVar[List[str]] = ["admin1name", "admin2name", "latitude", "longitude", "name"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/purchase_response.py b/generated/immich/openapi_client/models/purchase_response.py index f764c60..29ad27f 100644 --- a/generated/immich/openapi_client/models/purchase_response.py +++ b/generated/immich/openapi_client/models/purchase_response.py @@ -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 PurchaseResponse(BaseModel): """ PurchaseResponse """ # noqa: E501 - hide_buy_button_until: StrictStr = Field(alias="hideBuyButtonUntil") - show_support_badge: StrictBool = Field(alias="showSupportBadge") + hide_buy_button_until: StrictStr = Field(description="Date until which to hide buy button", alias="hideBuyButtonUntil") + show_support_badge: StrictBool = Field(description="Whether to show support badge", alias="showSupportBadge") __properties: ClassVar[List[str]] = ["hideBuyButtonUntil", "showSupportBadge"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/purchase_update.py b/generated/immich/openapi_client/models/purchase_update.py index f1a89d9..ef4734c 100644 --- a/generated/immich/openapi_client/models/purchase_update.py +++ b/generated/immich/openapi_client/models/purchase_update.py @@ -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 PurchaseUpdate(BaseModel): """ PurchaseUpdate """ # noqa: E501 - hide_buy_button_until: Optional[StrictStr] = Field(default=None, alias="hideBuyButtonUntil") - show_support_badge: Optional[StrictBool] = Field(default=None, alias="showSupportBadge") + hide_buy_button_until: Optional[StrictStr] = Field(default=None, description="Date until which to hide buy button", alias="hideBuyButtonUntil") + show_support_badge: Optional[StrictBool] = Field(default=None, description="Whether to show support badge", alias="showSupportBadge") __properties: ClassVar[List[str]] = ["hideBuyButtonUntil", "showSupportBadge"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/queue_status_dto.py b/generated/immich/openapi_client/models/queue_status_dto.py deleted file mode 100644 index ed615ef..0000000 --- a/generated/immich/openapi_client/models/queue_status_dto.py +++ /dev/null @@ -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, Field, StrictBool -from typing import Any, ClassVar, Dict, List -from typing import Optional, Set -from typing_extensions import Self - -class QueueStatusDto(BaseModel): - """ - QueueStatusDto - """ # noqa: E501 - is_active: StrictBool = Field(alias="isActive") - is_paused: StrictBool = Field(alias="isPaused") - __properties: ClassVar[List[str]] = ["isActive", "isPaused"] - - 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 QueueStatusDto 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 QueueStatusDto from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "isActive": obj.get("isActive"), - "isPaused": obj.get("isPaused") - }) - return _obj - - diff --git a/generated/immich/openapi_client/models/random_search_dto.py b/generated/immich/openapi_client/models/random_search_dto.py index 228f284..adaea94 100644 --- a/generated/immich/openapi_client/models/random_search_dto.py +++ b/generated/immich/openapi_client/models/random_search_dto.py @@ -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,9 +19,11 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from uuid import UUID from generated.immich.openapi_client.models.asset_type_enum import AssetTypeEnum +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility from typing import Optional, Set from typing_extensions import Self @@ -29,40 +31,129 @@ class RandomSearchDto(BaseModel): """ RandomSearchDto """ # noqa: E501 - city: Optional[StrictStr] = None - country: Optional[StrictStr] = None - created_after: Optional[datetime] = Field(default=None, alias="createdAfter") - created_before: Optional[datetime] = Field(default=None, alias="createdBefore") - device_id: Optional[StrictStr] = Field(default=None, alias="deviceId") - is_archived: Optional[StrictBool] = Field(default=None, alias="isArchived") - is_encoded: Optional[StrictBool] = Field(default=None, alias="isEncoded") - is_favorite: Optional[StrictBool] = Field(default=None, alias="isFavorite") - is_motion: Optional[StrictBool] = Field(default=None, alias="isMotion") - is_not_in_album: Optional[StrictBool] = Field(default=None, alias="isNotInAlbum") - is_offline: Optional[StrictBool] = Field(default=None, alias="isOffline") - is_visible: Optional[StrictBool] = Field(default=None, alias="isVisible") - lens_model: Optional[StrictStr] = Field(default=None, alias="lensModel") - library_id: Optional[StrictStr] = Field(default=None, alias="libraryId") - make: Optional[StrictStr] = None - model: Optional[StrictStr] = None - person_ids: Optional[List[StrictStr]] = Field(default=None, alias="personIds") - rating: Optional[Union[Annotated[float, Field(le=5, strict=True, ge=-1)], Annotated[int, Field(le=5, strict=True, ge=-1)]]] = None - size: Optional[Union[Annotated[float, Field(le=1000, strict=True, ge=1)], Annotated[int, Field(le=1000, strict=True, ge=1)]]] = None - state: Optional[StrictStr] = None - tag_ids: Optional[List[StrictStr]] = Field(default=None, alias="tagIds") - taken_after: Optional[datetime] = Field(default=None, alias="takenAfter") - taken_before: Optional[datetime] = Field(default=None, alias="takenBefore") - trashed_after: Optional[datetime] = Field(default=None, alias="trashedAfter") - trashed_before: Optional[datetime] = Field(default=None, alias="trashedBefore") + album_ids: Optional[List[UUID]] = Field(default=None, description="Filter by album IDs", alias="albumIds") + city: Optional[StrictStr] = Field(default=None, description="Filter by city name") + country: Optional[StrictStr] = Field(default=None, description="Filter by country name") + created_after: Optional[datetime] = Field(default=None, description="Filter by creation date (after)", alias="createdAfter") + created_before: Optional[datetime] = Field(default=None, description="Filter by creation date (before)", alias="createdBefore") + is_encoded: Optional[StrictBool] = Field(default=None, description="Filter by encoded status", alias="isEncoded") + is_favorite: Optional[StrictBool] = Field(default=None, description="Filter by favorite status", alias="isFavorite") + is_motion: Optional[StrictBool] = Field(default=None, description="Filter by motion photo status", alias="isMotion") + is_not_in_album: Optional[StrictBool] = Field(default=None, description="Filter assets not in any album", alias="isNotInAlbum") + is_offline: Optional[StrictBool] = Field(default=None, description="Filter by offline status", alias="isOffline") + lens_model: Optional[StrictStr] = Field(default=None, description="Filter by lens model", alias="lensModel") + library_id: Optional[UUID] = Field(default=None, description="Library ID to filter by", alias="libraryId") + make: Optional[StrictStr] = Field(default=None, description="Filter by camera make") + model: Optional[StrictStr] = Field(default=None, description="Filter by camera model") + ocr: Optional[StrictStr] = Field(default=None, description="Filter by OCR text content") + person_ids: Optional[List[UUID]] = Field(default=None, description="Filter by person IDs", alias="personIds") + rating: Optional[Annotated[int, Field(le=5, strict=True, ge=1)]] = Field(default=None, description="Filter by rating [1-5], or null for unrated") + size: Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]] = Field(default=None, description="Number of results to return") + state: Optional[StrictStr] = Field(default=None, description="Filter by state/province name") + tag_ids: Optional[List[UUID]] = Field(default=None, description="Filter by tag IDs", alias="tagIds") + taken_after: Optional[datetime] = Field(default=None, description="Filter by taken date (after)", alias="takenAfter") + taken_before: Optional[datetime] = Field(default=None, description="Filter by taken date (before)", alias="takenBefore") + trashed_after: Optional[datetime] = Field(default=None, description="Filter by trash date (after)", alias="trashedAfter") + trashed_before: Optional[datetime] = Field(default=None, description="Filter by trash date (before)", alias="trashedBefore") type: Optional[AssetTypeEnum] = None - updated_after: Optional[datetime] = Field(default=None, alias="updatedAfter") - updated_before: Optional[datetime] = Field(default=None, alias="updatedBefore") - with_archived: Optional[StrictBool] = Field(default=False, alias="withArchived") - with_deleted: Optional[StrictBool] = Field(default=None, alias="withDeleted") - with_exif: Optional[StrictBool] = Field(default=None, alias="withExif") - with_people: Optional[StrictBool] = Field(default=None, alias="withPeople") - with_stacked: Optional[StrictBool] = Field(default=None, alias="withStacked") - __properties: ClassVar[List[str]] = ["city", "country", "createdAfter", "createdBefore", "deviceId", "isArchived", "isEncoded", "isFavorite", "isMotion", "isNotInAlbum", "isOffline", "isVisible", "lensModel", "libraryId", "make", "model", "personIds", "rating", "size", "state", "tagIds", "takenAfter", "takenBefore", "trashedAfter", "trashedBefore", "type", "updatedAfter", "updatedBefore", "withArchived", "withDeleted", "withExif", "withPeople", "withStacked"] + updated_after: Optional[datetime] = Field(default=None, description="Filter by update date (after)", alias="updatedAfter") + updated_before: Optional[datetime] = Field(default=None, description="Filter by update date (before)", alias="updatedBefore") + visibility: Optional[AssetVisibility] = None + with_deleted: Optional[StrictBool] = Field(default=None, description="Include deleted assets", alias="withDeleted") + with_exif: Optional[StrictBool] = Field(default=None, description="Include EXIF data in response", alias="withExif") + with_people: Optional[StrictBool] = Field(default=None, description="Include people data in response", alias="withPeople") + with_stacked: Optional[StrictBool] = Field(default=None, description="Include stacked assets", alias="withStacked") + __properties: ClassVar[List[str]] = ["albumIds", "city", "country", "createdAfter", "createdBefore", "isEncoded", "isFavorite", "isMotion", "isNotInAlbum", "isOffline", "lensModel", "libraryId", "make", "model", "ocr", "personIds", "rating", "size", "state", "tagIds", "takenAfter", "takenBefore", "trashedAfter", "trashedBefore", "type", "updatedAfter", "updatedBefore", "visibility", "withDeleted", "withExif", "withPeople", "withStacked"] + + @field_validator('created_after') + def created_after_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('created_before') + def created_before_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('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('taken_after') + def taken_after_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('taken_before') + def taken_before_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('trashed_after') + def trashed_after_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('trashed_before') + def trashed_before_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_after') + def updated_after_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_before') + def updated_before_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, @@ -123,16 +214,31 @@ class RandomSearchDto(BaseModel): if self.library_id is None and "library_id" in self.model_fields_set: _dict['libraryId'] = None + # set to None if make (nullable) is None + # and model_fields_set contains the field + if self.make is None and "make" in self.model_fields_set: + _dict['make'] = None + # set to None if model (nullable) is None # and model_fields_set contains the field if self.model is None and "model" in self.model_fields_set: _dict['model'] = 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 + # set to None if state (nullable) is None # and model_fields_set contains the field if self.state is None and "state" in self.model_fields_set: _dict['state'] = None + # set to None if tag_ids (nullable) is None + # and model_fields_set contains the field + if self.tag_ids is None and "tag_ids" in self.model_fields_set: + _dict['tagIds'] = None + return _dict @classmethod @@ -145,22 +251,21 @@ class RandomSearchDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "albumIds": obj.get("albumIds"), "city": obj.get("city"), "country": obj.get("country"), "createdAfter": obj.get("createdAfter"), "createdBefore": obj.get("createdBefore"), - "deviceId": obj.get("deviceId"), - "isArchived": obj.get("isArchived"), "isEncoded": obj.get("isEncoded"), "isFavorite": obj.get("isFavorite"), "isMotion": obj.get("isMotion"), "isNotInAlbum": obj.get("isNotInAlbum"), "isOffline": obj.get("isOffline"), - "isVisible": obj.get("isVisible"), "lensModel": obj.get("lensModel"), "libraryId": obj.get("libraryId"), "make": obj.get("make"), "model": obj.get("model"), + "ocr": obj.get("ocr"), "personIds": obj.get("personIds"), "rating": obj.get("rating"), "size": obj.get("size"), @@ -173,7 +278,7 @@ class RandomSearchDto(BaseModel): "type": obj.get("type"), "updatedAfter": obj.get("updatedAfter"), "updatedBefore": obj.get("updatedBefore"), - "withArchived": obj.get("withArchived") if obj.get("withArchived") is not None else False, + "visibility": obj.get("visibility"), "withDeleted": obj.get("withDeleted"), "withExif": obj.get("withExif"), "withPeople": obj.get("withPeople"), diff --git a/generated/immich/openapi_client/models/ratings_response.py b/generated/immich/openapi_client/models/ratings_response.py index 191a1d0..67e58f4 100644 --- a/generated/immich/openapi_client/models/ratings_response.py +++ b/generated/immich/openapi_client/models/ratings_response.py @@ -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 RatingsResponse(BaseModel): """ RatingsResponse """ # noqa: E501 - enabled: StrictBool + enabled: StrictBool = Field(description="Whether ratings are enabled") __properties: ClassVar[List[str]] = ["enabled"] model_config = ConfigDict( @@ -80,7 +80,7 @@ class RatingsResponse(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "enabled": obj.get("enabled") if obj.get("enabled") is not None else False + "enabled": obj.get("enabled") }) return _obj diff --git a/generated/immich/openapi_client/models/ratings_update.py b/generated/immich/openapi_client/models/ratings_update.py index 14282a9..af8c4a8 100644 --- a/generated/immich/openapi_client/models/ratings_update.py +++ b/generated/immich/openapi_client/models/ratings_update.py @@ -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, Optional from typing import Optional, Set from typing_extensions import Self @@ -26,7 +26,7 @@ class RatingsUpdate(BaseModel): """ RatingsUpdate """ # noqa: E501 - enabled: Optional[StrictBool] = None + enabled: Optional[StrictBool] = Field(default=None, description="Whether ratings are enabled") __properties: ClassVar[List[str]] = ["enabled"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/reaction_level.py b/generated/immich/openapi_client/models/reaction_level.py index 24dcd1c..aee855f 100644 --- a/generated/immich/openapi_client/models/reaction_level.py +++ b/generated/immich/openapi_client/models/reaction_level.py @@ -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 ReactionLevel(str, Enum): """ - ReactionLevel + Reaction level """ """ diff --git a/generated/immich/openapi_client/models/reaction_type.py b/generated/immich/openapi_client/models/reaction_type.py index 5ae601b..bc315a5 100644 --- a/generated/immich/openapi_client/models/reaction_type.py +++ b/generated/immich/openapi_client/models/reaction_type.py @@ -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 ReactionType(str, Enum): """ - ReactionType + Reaction type """ """ diff --git a/generated/immich/openapi_client/models/reverse_geocoding_state_response_dto.py b/generated/immich/openapi_client/models/reverse_geocoding_state_response_dto.py index 1699a43..b39ab3f 100644 --- a/generated/immich/openapi_client/models/reverse_geocoding_state_response_dto.py +++ b/generated/immich/openapi_client/models/reverse_geocoding_state_response_dto.py @@ -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 ReverseGeocodingStateResponseDto(BaseModel): """ ReverseGeocodingStateResponseDto """ # noqa: E501 - last_import_file_name: Optional[StrictStr] = Field(alias="lastImportFileName") - last_update: Optional[StrictStr] = Field(alias="lastUpdate") + last_import_file_name: Optional[StrictStr] = Field(description="Last import file name", alias="lastImportFileName") + last_update: Optional[StrictStr] = Field(description="Last update timestamp", alias="lastUpdate") __properties: ClassVar[List[str]] = ["lastImportFileName", "lastUpdate"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/search_album_response_dto.py b/generated/immich/openapi_client/models/search_album_response_dto.py index aff933c..134d27e 100644 --- a/generated/immich/openapi_client/models/search_album_response_dto.py +++ b/generated/immich/openapi_client/models/search_album_response_dto.py @@ -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 generated.immich.openapi_client.models.album_response_dto import AlbumResponseDto from generated.immich.openapi_client.models.search_facet_response_dto import SearchFacetResponseDto from typing import Optional, Set @@ -28,10 +29,10 @@ class SearchAlbumResponseDto(BaseModel): """ SearchAlbumResponseDto """ # noqa: E501 - count: StrictInt + count: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of albums in this page") facets: List[SearchFacetResponseDto] items: List[AlbumResponseDto] - total: StrictInt + total: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Total number of matching albums") __properties: ClassVar[List[str]] = ["count", "facets", "items", "total"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/search_asset_response_dto.py b/generated/immich/openapi_client/models/search_asset_response_dto.py index 46dbaaa..1c2abb6 100644 --- a/generated/immich/openapi_client/models/search_asset_response_dto.py +++ b/generated/immich/openapi_client/models/search_asset_response_dto.py @@ -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, StrictStr +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.asset_response_dto import AssetResponseDto from generated.immich.openapi_client.models.search_facet_response_dto import SearchFacetResponseDto from typing import Optional, Set @@ -28,11 +29,11 @@ class SearchAssetResponseDto(BaseModel): """ SearchAssetResponseDto """ # noqa: E501 - count: StrictInt + count: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of assets in this page") facets: List[SearchFacetResponseDto] items: List[AssetResponseDto] - next_page: Optional[StrictStr] = Field(alias="nextPage") - total: StrictInt + next_page: Optional[StrictStr] = Field(description="Next page token", alias="nextPage") + total: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Total number of matching assets") __properties: ClassVar[List[str]] = ["count", "facets", "items", "nextPage", "total"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/search_explore_item.py b/generated/immich/openapi_client/models/search_explore_item.py index afe80ca..2d6de29 100644 --- a/generated/immich/openapi_client/models/search_explore_item.py +++ b/generated/immich/openapi_client/models/search_explore_item.py @@ -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 from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto from typing import Optional, Set @@ -28,7 +28,7 @@ class SearchExploreItem(BaseModel): SearchExploreItem """ # noqa: E501 data: AssetResponseDto - value: StrictStr + value: StrictStr = Field(description="Explore value") __properties: ClassVar[List[str]] = ["data", "value"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/search_explore_response_dto.py b/generated/immich/openapi_client/models/search_explore_response_dto.py index d7b86e4..20e867f 100644 --- a/generated/immich/openapi_client/models/search_explore_response_dto.py +++ b/generated/immich/openapi_client/models/search_explore_response_dto.py @@ -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 SearchExploreResponseDto(BaseModel): """ SearchExploreResponseDto """ # noqa: E501 - field_name: StrictStr = Field(alias="fieldName") + field_name: StrictStr = Field(description="Explore field name", alias="fieldName") items: List[SearchExploreItem] __properties: ClassVar[List[str]] = ["fieldName", "items"] diff --git a/generated/immich/openapi_client/models/search_facet_count_response_dto.py b/generated/immich/openapi_client/models/search_facet_count_response_dto.py index 2cbcd92..4e35b7c 100644 --- a/generated/immich/openapi_client/models/search_facet_count_response_dto.py +++ b/generated/immich/openapi_client/models/search_facet_count_response_dto.py @@ -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, StrictStr +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 @@ -26,8 +27,8 @@ class SearchFacetCountResponseDto(BaseModel): """ SearchFacetCountResponseDto """ # noqa: E501 - count: StrictInt - value: StrictStr + count: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Number of assets with this facet value") + value: StrictStr = Field(description="Facet value") __properties: ClassVar[List[str]] = ["count", "value"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/search_facet_response_dto.py b/generated/immich/openapi_client/models/search_facet_response_dto.py index 846d3d1..1b0b80c 100644 --- a/generated/immich/openapi_client/models/search_facet_response_dto.py +++ b/generated/immich/openapi_client/models/search_facet_response_dto.py @@ -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 SearchFacetResponseDto(BaseModel): SearchFacetResponseDto """ # noqa: E501 counts: List[SearchFacetCountResponseDto] - field_name: StrictStr = Field(alias="fieldName") + field_name: StrictStr = Field(description="Facet field name", alias="fieldName") __properties: ClassVar[List[str]] = ["counts", "fieldName"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/search_response_dto.py b/generated/immich/openapi_client/models/search_response_dto.py index 7440922..9ea26cd 100644 --- a/generated/immich/openapi_client/models/search_response_dto.py +++ b/generated/immich/openapi_client/models/search_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/models/search_suggestion_type.py b/generated/immich/openapi_client/models/search_suggestion_type.py index 01c89ed..4798c19 100644 --- a/generated/immich/openapi_client/models/search_suggestion_type.py +++ b/generated/immich/openapi_client/models/search_suggestion_type.py @@ -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 SearchSuggestionType(str, Enum): """ - SearchSuggestionType + Suggestion type """ """ @@ -31,6 +31,7 @@ class SearchSuggestionType(str, Enum): CITY = 'city' CAMERA_MINUS_MAKE = 'camera-make' CAMERA_MINUS_MODEL = 'camera-model' + CAMERA_MINUS_LENS_MINUS_MODEL = 'camera-lens-model' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/generated/immich/openapi_client/models/server_about_response_dto.py b/generated/immich/openapi_client/models/server_about_response_dto.py index 969973e..e3225dc 100644 --- a/generated/immich/openapi_client/models/server_about_response_dto.py +++ b/generated/immich/openapi_client/models/server_about_response_dto.py @@ -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,27 +26,27 @@ class ServerAboutResponseDto(BaseModel): """ ServerAboutResponseDto """ # noqa: E501 - build: Optional[StrictStr] = None - build_image: Optional[StrictStr] = Field(default=None, alias="buildImage") - build_image_url: Optional[StrictStr] = Field(default=None, alias="buildImageUrl") - build_url: Optional[StrictStr] = Field(default=None, alias="buildUrl") - exiftool: Optional[StrictStr] = None - ffmpeg: Optional[StrictStr] = None - imagemagick: Optional[StrictStr] = None - libvips: Optional[StrictStr] = None - licensed: StrictBool - nodejs: Optional[StrictStr] = None - repository: Optional[StrictStr] = None - repository_url: Optional[StrictStr] = Field(default=None, alias="repositoryUrl") - source_commit: Optional[StrictStr] = Field(default=None, alias="sourceCommit") - source_ref: Optional[StrictStr] = Field(default=None, alias="sourceRef") - source_url: Optional[StrictStr] = Field(default=None, alias="sourceUrl") - third_party_bug_feature_url: Optional[StrictStr] = Field(default=None, alias="thirdPartyBugFeatureUrl") - third_party_documentation_url: Optional[StrictStr] = Field(default=None, alias="thirdPartyDocumentationUrl") - third_party_source_url: Optional[StrictStr] = Field(default=None, alias="thirdPartySourceUrl") - third_party_support_url: Optional[StrictStr] = Field(default=None, alias="thirdPartySupportUrl") - version: StrictStr - version_url: StrictStr = Field(alias="versionUrl") + build: Optional[StrictStr] = Field(default=None, description="Build identifier") + build_image: Optional[StrictStr] = Field(default=None, description="Build image name", alias="buildImage") + build_image_url: Optional[StrictStr] = Field(default=None, description="Build image URL", alias="buildImageUrl") + build_url: Optional[StrictStr] = Field(default=None, description="Build URL", alias="buildUrl") + exiftool: Optional[StrictStr] = Field(default=None, description="ExifTool version") + ffmpeg: Optional[StrictStr] = Field(default=None, description="FFmpeg version") + imagemagick: Optional[StrictStr] = Field(default=None, description="ImageMagick version") + libvips: Optional[StrictStr] = Field(default=None, description="libvips version") + licensed: StrictBool = Field(description="Whether the server is licensed") + nodejs: Optional[StrictStr] = Field(default=None, description="Node.js version") + repository: Optional[StrictStr] = Field(default=None, description="Repository name") + repository_url: Optional[StrictStr] = Field(default=None, description="Repository URL", alias="repositoryUrl") + source_commit: Optional[StrictStr] = Field(default=None, description="Source commit hash", alias="sourceCommit") + source_ref: Optional[StrictStr] = Field(default=None, description="Source reference (branch/tag)", alias="sourceRef") + source_url: Optional[StrictStr] = Field(default=None, description="Source URL", alias="sourceUrl") + third_party_bug_feature_url: Optional[StrictStr] = Field(default=None, description="Third-party bug/feature URL", alias="thirdPartyBugFeatureUrl") + third_party_documentation_url: Optional[StrictStr] = Field(default=None, description="Third-party documentation URL", alias="thirdPartyDocumentationUrl") + third_party_source_url: Optional[StrictStr] = Field(default=None, description="Third-party source URL", alias="thirdPartySourceUrl") + third_party_support_url: Optional[StrictStr] = Field(default=None, description="Third-party support URL", alias="thirdPartySupportUrl") + version: StrictStr = Field(description="Server version") + version_url: StrictStr = Field(description="URL to version information", alias="versionUrl") __properties: ClassVar[List[str]] = ["build", "buildImage", "buildImageUrl", "buildUrl", "exiftool", "ffmpeg", "imagemagick", "libvips", "licensed", "nodejs", "repository", "repositoryUrl", "sourceCommit", "sourceRef", "sourceUrl", "thirdPartyBugFeatureUrl", "thirdPartyDocumentationUrl", "thirdPartySourceUrl", "thirdPartySupportUrl", "version", "versionUrl"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/server_config_dto.py b/generated/immich/openapi_client/models/server_config_dto.py index 925aa2e..6d022c5 100644 --- a/generated/immich/openapi_client/models/server_config_dto.py +++ b/generated/immich/openapi_client/models/server_config_dto.py @@ -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, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self @@ -26,17 +27,19 @@ class ServerConfigDto(BaseModel): """ ServerConfigDto """ # noqa: E501 - external_domain: StrictStr = Field(alias="externalDomain") - is_initialized: StrictBool = Field(alias="isInitialized") - is_onboarded: StrictBool = Field(alias="isOnboarded") - login_page_message: StrictStr = Field(alias="loginPageMessage") - map_dark_style_url: StrictStr = Field(alias="mapDarkStyleUrl") - map_light_style_url: StrictStr = Field(alias="mapLightStyleUrl") - oauth_button_text: StrictStr = Field(alias="oauthButtonText") - public_users: StrictBool = Field(alias="publicUsers") - trash_days: StrictInt = Field(alias="trashDays") - user_delete_delay: StrictInt = Field(alias="userDeleteDelay") - __properties: ClassVar[List[str]] = ["externalDomain", "isInitialized", "isOnboarded", "loginPageMessage", "mapDarkStyleUrl", "mapLightStyleUrl", "oauthButtonText", "publicUsers", "trashDays", "userDeleteDelay"] + external_domain: StrictStr = Field(description="External domain URL", alias="externalDomain") + is_initialized: StrictBool = Field(description="Whether the server has been initialized", alias="isInitialized") + is_onboarded: StrictBool = Field(description="Whether the admin has completed onboarding", alias="isOnboarded") + login_page_message: StrictStr = Field(description="Login page message", alias="loginPageMessage") + maintenance_mode: StrictBool = Field(description="Whether maintenance mode is active", alias="maintenanceMode") + map_dark_style_url: StrictStr = Field(description="Map dark style URL", alias="mapDarkStyleUrl") + map_light_style_url: StrictStr = Field(description="Map light style URL", alias="mapLightStyleUrl") + min_faces: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="People min faces server default", alias="minFaces") + oauth_button_text: StrictStr = Field(description="OAuth button text", alias="oauthButtonText") + public_users: StrictBool = Field(description="Whether public user registration is enabled", alias="publicUsers") + trash_days: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of days before trashed assets are permanently deleted", alias="trashDays") + user_delete_delay: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Delay in days before deleted users are permanently removed", alias="userDeleteDelay") + __properties: ClassVar[List[str]] = ["externalDomain", "isInitialized", "isOnboarded", "loginPageMessage", "maintenanceMode", "mapDarkStyleUrl", "mapLightStyleUrl", "minFaces", "oauthButtonText", "publicUsers", "trashDays", "userDeleteDelay"] model_config = ConfigDict( populate_by_name=True, @@ -93,8 +96,10 @@ class ServerConfigDto(BaseModel): "isInitialized": obj.get("isInitialized"), "isOnboarded": obj.get("isOnboarded"), "loginPageMessage": obj.get("loginPageMessage"), + "maintenanceMode": obj.get("maintenanceMode"), "mapDarkStyleUrl": obj.get("mapDarkStyleUrl"), "mapLightStyleUrl": obj.get("mapLightStyleUrl"), + "minFaces": obj.get("minFaces"), "oauthButtonText": obj.get("oauthButtonText"), "publicUsers": obj.get("publicUsers"), "trashDays": obj.get("trashDays"), diff --git a/generated/immich/openapi_client/models/server_features_dto.py b/generated/immich/openapi_client/models/server_features_dto.py index 40b6f55..96c7adb 100644 --- a/generated/immich/openapi_client/models/server_features_dto.py +++ b/generated/immich/openapi_client/models/server_features_dto.py @@ -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,21 +26,23 @@ class ServerFeaturesDto(BaseModel): """ ServerFeaturesDto """ # noqa: E501 - config_file: StrictBool = Field(alias="configFile") - duplicate_detection: StrictBool = Field(alias="duplicateDetection") - email: StrictBool - facial_recognition: StrictBool = Field(alias="facialRecognition") - import_faces: StrictBool = Field(alias="importFaces") - map: StrictBool - oauth: StrictBool - oauth_auto_launch: StrictBool = Field(alias="oauthAutoLaunch") - password_login: StrictBool = Field(alias="passwordLogin") - reverse_geocoding: StrictBool = Field(alias="reverseGeocoding") - search: StrictBool - sidecar: StrictBool - smart_search: StrictBool = Field(alias="smartSearch") - trash: StrictBool - __properties: ClassVar[List[str]] = ["configFile", "duplicateDetection", "email", "facialRecognition", "importFaces", "map", "oauth", "oauthAutoLaunch", "passwordLogin", "reverseGeocoding", "search", "sidecar", "smartSearch", "trash"] + config_file: StrictBool = Field(description="Whether config file is available", alias="configFile") + duplicate_detection: StrictBool = Field(description="Whether duplicate detection is enabled", alias="duplicateDetection") + email: StrictBool = Field(description="Whether email notifications are enabled") + facial_recognition: StrictBool = Field(description="Whether facial recognition is enabled", alias="facialRecognition") + import_faces: StrictBool = Field(description="Whether face import is enabled", alias="importFaces") + map: StrictBool = Field(description="Whether map feature is enabled") + oauth: StrictBool = Field(description="Whether OAuth is enabled") + oauth_auto_launch: StrictBool = Field(description="Whether OAuth auto-launch is enabled", alias="oauthAutoLaunch") + ocr: StrictBool = Field(description="Whether OCR is enabled") + password_login: StrictBool = Field(description="Whether password login is enabled", alias="passwordLogin") + realtime_transcoding: StrictBool = Field(description="Whether real-time transcoding is enabled", alias="realtimeTranscoding") + reverse_geocoding: StrictBool = Field(description="Whether reverse geocoding is enabled", alias="reverseGeocoding") + search: StrictBool = Field(description="Whether search is enabled") + sidecar: StrictBool = Field(description="Whether sidecar files are supported") + smart_search: StrictBool = Field(description="Whether smart search is enabled", alias="smartSearch") + trash: StrictBool = Field(description="Whether trash feature is enabled") + __properties: ClassVar[List[str]] = ["configFile", "duplicateDetection", "email", "facialRecognition", "importFaces", "map", "oauth", "oauthAutoLaunch", "ocr", "passwordLogin", "realtimeTranscoding", "reverseGeocoding", "search", "sidecar", "smartSearch", "trash"] model_config = ConfigDict( populate_by_name=True, @@ -101,7 +103,9 @@ class ServerFeaturesDto(BaseModel): "map": obj.get("map"), "oauth": obj.get("oauth"), "oauthAutoLaunch": obj.get("oauthAutoLaunch"), + "ocr": obj.get("ocr"), "passwordLogin": obj.get("passwordLogin"), + "realtimeTranscoding": obj.get("realtimeTranscoding"), "reverseGeocoding": obj.get("reverseGeocoding"), "search": obj.get("search"), "sidecar": obj.get("sidecar"), diff --git a/generated/immich/openapi_client/models/server_media_types_response_dto.py b/generated/immich/openapi_client/models/server_media_types_response_dto.py index b747002..057498b 100644 --- a/generated/immich/openapi_client/models/server_media_types_response_dto.py +++ b/generated/immich/openapi_client/models/server_media_types_response_dto.py @@ -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 from typing import Optional, Set from typing_extensions import Self @@ -26,9 +26,9 @@ class ServerMediaTypesResponseDto(BaseModel): """ ServerMediaTypesResponseDto """ # noqa: E501 - image: List[StrictStr] - sidecar: List[StrictStr] - video: List[StrictStr] + image: List[StrictStr] = Field(description="Supported image MIME types") + sidecar: List[StrictStr] = Field(description="Supported sidecar MIME types") + video: List[StrictStr] = Field(description="Supported video MIME types") __properties: ClassVar[List[str]] = ["image", "sidecar", "video"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/server_ping_response.py b/generated/immich/openapi_client/models/server_ping_response.py index 3598f7e..fbfd055 100644 --- a/generated/immich/openapi_client/models/server_ping_response.py +++ b/generated/immich/openapi_client/models/server_ping_response.py @@ -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. @@ -59,10 +59,8 @@ class ServerPingResponse(BaseModel): * `None` is only added to the output dict for nullable fields that were set at model initialization. Other fields with value `None` are ignored. - * OpenAPI `readOnly` fields are excluded. """ excluded_fields: Set[str] = set([ - "res", ]) _dict = self.model_dump( diff --git a/generated/immich/openapi_client/models/server_stats_response_dto.py b/generated/immich/openapi_client/models/server_stats_response_dto.py index 6a6dea2..c0829e8 100644 --- a/generated/immich/openapi_client/models/server_stats_response_dto.py +++ b/generated/immich/openapi_client/models/server_stats_response_dto.py @@ -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.usage_by_user_dto import UsageByUserDto from typing import Optional, Set from typing_extensions import Self @@ -27,12 +28,12 @@ class ServerStatsResponseDto(BaseModel): """ ServerStatsResponseDto """ # noqa: E501 - photos: StrictInt - usage: StrictInt - usage_by_user: List[UsageByUserDto] = Field(alias="usageByUser") - usage_photos: StrictInt = Field(alias="usagePhotos") - usage_videos: StrictInt = Field(alias="usageVideos") - videos: StrictInt + photos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Total number of photos") + usage: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Total storage usage in bytes") + usage_by_user: List[UsageByUserDto] = Field(description="Array of usage for each user", alias="usageByUser") + usage_photos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Storage usage for photos in bytes", alias="usagePhotos") + usage_videos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Storage usage for videos in bytes", alias="usageVideos") + videos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Total number of videos") __properties: ClassVar[List[str]] = ["photos", "usage", "usageByUser", "usagePhotos", "usageVideos", "videos"] model_config = ConfigDict( @@ -93,12 +94,12 @@ class ServerStatsResponseDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "photos": obj.get("photos") if obj.get("photos") is not None else 0, - "usage": obj.get("usage") if obj.get("usage") is not None else 0, + "photos": obj.get("photos"), + "usage": obj.get("usage"), "usageByUser": [UsageByUserDto.from_dict(_item) for _item in obj["usageByUser"]] if obj.get("usageByUser") is not None else None, - "usagePhotos": obj.get("usagePhotos") if obj.get("usagePhotos") is not None else 0, - "usageVideos": obj.get("usageVideos") if obj.get("usageVideos") is not None else 0, - "videos": obj.get("videos") if obj.get("videos") is not None else 0 + "usagePhotos": obj.get("usagePhotos"), + "usageVideos": obj.get("usageVideos"), + "videos": obj.get("videos") }) return _obj diff --git a/generated/immich/openapi_client/models/server_storage_response_dto.py b/generated/immich/openapi_client/models/server_storage_response_dto.py index 559ba64..22ab855 100644 --- a/generated/immich/openapi_client/models/server_storage_response_dto.py +++ b/generated/immich/openapi_client/models/server_storage_response_dto.py @@ -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, StrictFloat, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Union +from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self @@ -26,13 +27,13 @@ class ServerStorageResponseDto(BaseModel): """ ServerStorageResponseDto """ # noqa: E501 - disk_available: StrictStr = Field(alias="diskAvailable") - disk_available_raw: StrictInt = Field(alias="diskAvailableRaw") - disk_size: StrictStr = Field(alias="diskSize") - disk_size_raw: StrictInt = Field(alias="diskSizeRaw") - disk_usage_percentage: Union[StrictFloat, StrictInt] = Field(alias="diskUsagePercentage") - disk_use: StrictStr = Field(alias="diskUse") - disk_use_raw: StrictInt = Field(alias="diskUseRaw") + disk_available: StrictStr = Field(description="Available disk space (human-readable format)", alias="diskAvailable") + disk_available_raw: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Available disk space in bytes", alias="diskAvailableRaw") + disk_size: StrictStr = Field(description="Total disk size (human-readable format)", alias="diskSize") + disk_size_raw: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Total disk size in bytes", alias="diskSizeRaw") + disk_usage_percentage: Union[StrictFloat, StrictInt] = Field(description="Disk usage percentage (0-100)", alias="diskUsagePercentage") + disk_use: StrictStr = Field(description="Used disk space (human-readable format)", alias="diskUse") + disk_use_raw: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Used disk space in bytes", alias="diskUseRaw") __properties: ClassVar[List[str]] = ["diskAvailable", "diskAvailableRaw", "diskSize", "diskSizeRaw", "diskUsagePercentage", "diskUse", "diskUseRaw"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/server_theme_dto.py b/generated/immich/openapi_client/models/server_theme_dto.py deleted file mode 100644 index d928c94..0000000 --- a/generated/immich/openapi_client/models/server_theme_dto.py +++ /dev/null @@ -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 ServerThemeDto(BaseModel): - """ - ServerThemeDto - """ # noqa: E501 - custom_css: StrictStr = Field(alias="customCss") - __properties: ClassVar[List[str]] = ["customCss"] - - 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 ServerThemeDto 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 ServerThemeDto from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "customCss": obj.get("customCss") - }) - return _obj - - diff --git a/generated/immich/openapi_client/models/server_version_history_response_dto.py b/generated/immich/openapi_client/models/server_version_history_response_dto.py index 4ede118..a14b050 100644 --- a/generated/immich/openapi_client/models/server_version_history_response_dto.py +++ b/generated/immich/openapi_client/models/server_version_history_response_dto.py @@ -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 ServerVersionHistoryResponseDto(BaseModel): """ ServerVersionHistoryResponseDto """ # noqa: E501 - created_at: datetime = Field(alias="createdAt") - id: StrictStr - version: StrictStr + created_at: datetime = Field(description="When this version was first seen", alias="createdAt") + id: UUID = Field(description="Version history entry ID") + version: StrictStr = Field(description="Version string") __properties: ClassVar[List[str]] = ["createdAt", "id", "version"] + @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, diff --git a/generated/immich/openapi_client/models/server_version_response_dto.py b/generated/immich/openapi_client/models/server_version_response_dto.py index 7db8604..117f7db 100644 --- a/generated/immich/openapi_client/models/server_version_response_dto.py +++ b/generated/immich/openapi_client/models/server_version_response_dto.py @@ -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 typing import Any, ClassVar, Dict, List +from pydantic import BaseModel, ConfigDict, Field +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self @@ -26,10 +27,11 @@ class ServerVersionResponseDto(BaseModel): """ ServerVersionResponseDto """ # noqa: E501 - major: StrictInt - minor: StrictInt - patch: StrictInt - __properties: ClassVar[List[str]] = ["major", "minor", "patch"] + major: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Major version number") + minor: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Minor version number") + patch: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Patch version number") + prerelease: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(description="Pre-release version number") + __properties: ClassVar[List[str]] = ["major", "minor", "patch", "prerelease"] model_config = ConfigDict( populate_by_name=True, @@ -70,6 +72,11 @@ class ServerVersionResponseDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if prerelease (nullable) is None + # and model_fields_set contains the field + if self.prerelease is None and "prerelease" in self.model_fields_set: + _dict['prerelease'] = None + return _dict @classmethod @@ -84,7 +91,8 @@ class ServerVersionResponseDto(BaseModel): _obj = cls.model_validate({ "major": obj.get("major"), "minor": obj.get("minor"), - "patch": obj.get("patch") + "patch": obj.get("patch"), + "prerelease": obj.get("prerelease") }) return _obj diff --git a/generated/immich/openapi_client/models/session_response_dto.py b/generated/immich/openapi_client/models/session_response_dto.py index ddf2f69..242e8e5 100644 --- a/generated/immich/openapi_client/models/session_response_dto.py +++ b/generated/immich/openapi_client/models/session_response_dto.py @@ -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,8 @@ import re # noqa: F401 import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional +from uuid import UUID from typing import Optional, Set from typing_extensions import Self @@ -26,13 +27,23 @@ class SessionResponseDto(BaseModel): """ SessionResponseDto """ # noqa: E501 - created_at: StrictStr = Field(alias="createdAt") - current: StrictBool - device_os: StrictStr = Field(alias="deviceOS") - device_type: StrictStr = Field(alias="deviceType") - id: StrictStr - updated_at: StrictStr = Field(alias="updatedAt") - __properties: ClassVar[List[str]] = ["createdAt", "current", "deviceOS", "deviceType", "id", "updatedAt"] + app_version: Optional[StrictStr] = Field(description="App version", alias="appVersion") + created_at: StrictStr = Field(description="Creation date", alias="createdAt") + current: StrictBool = Field(description="Is current session") + device_os: StrictStr = Field(description="Device OS", alias="deviceOS") + device_type: StrictStr = Field(description="Device type", alias="deviceType") + expires_at: Optional[StrictStr] = Field(default=None, description="Expiration date", alias="expiresAt") + id: UUID = Field(description="Session ID") + is_pending_sync_reset: StrictBool = Field(description="Is pending sync reset", alias="isPendingSyncReset") + updated_at: StrictStr = Field(description="Last update date", alias="updatedAt") + __properties: ClassVar[List[str]] = ["appVersion", "createdAt", "current", "deviceOS", "deviceType", "expiresAt", "id", "isPendingSyncReset", "updatedAt"] + + @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, @@ -73,6 +84,11 @@ class SessionResponseDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if app_version (nullable) is None + # and model_fields_set contains the field + if self.app_version is None and "app_version" in self.model_fields_set: + _dict['appVersion'] = None + return _dict @classmethod @@ -85,11 +101,14 @@ class SessionResponseDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "appVersion": obj.get("appVersion"), "createdAt": obj.get("createdAt"), "current": obj.get("current"), "deviceOS": obj.get("deviceOS"), "deviceType": obj.get("deviceType"), + "expiresAt": obj.get("expiresAt"), "id": obj.get("id"), + "isPendingSyncReset": obj.get("isPendingSyncReset"), "updatedAt": obj.get("updatedAt") }) return _obj diff --git a/generated/immich/openapi_client/models/shared_link_create_dto.py b/generated/immich/openapi_client/models/shared_link_create_dto.py index d4425b6..7453dc4 100644 --- a/generated/immich/openapi_client/models/shared_link_create_dto.py +++ b/generated/immich/openapi_client/models/shared_link_create_dto.py @@ -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, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from uuid import UUID from generated.immich.openapi_client.models.shared_link_type import SharedLinkType from typing import Optional, Set from typing_extensions import Self @@ -28,16 +29,37 @@ class SharedLinkCreateDto(BaseModel): """ SharedLinkCreateDto """ # noqa: E501 - album_id: Optional[StrictStr] = Field(default=None, alias="albumId") - allow_download: Optional[StrictBool] = Field(default=True, alias="allowDownload") - allow_upload: Optional[StrictBool] = Field(default=None, alias="allowUpload") - asset_ids: Optional[List[StrictStr]] = Field(default=None, alias="assetIds") - description: Optional[StrictStr] = None - expires_at: Optional[datetime] = Field(default=None, alias="expiresAt") - password: Optional[StrictStr] = None - show_metadata: Optional[StrictBool] = Field(default=True, alias="showMetadata") + album_id: Optional[UUID] = Field(default=None, description="Album ID (for album sharing)", alias="albumId") + allow_download: Optional[StrictBool] = Field(default=True, description="Allow downloads", alias="allowDownload") + allow_upload: Optional[StrictBool] = Field(default=None, description="Allow uploads", alias="allowUpload") + asset_ids: Optional[List[UUID]] = Field(default=None, description="Asset IDs (for individual assets)", alias="assetIds") + description: Optional[StrictStr] = Field(default=None, description="Link description") + expires_at: Optional[datetime] = Field(default=None, description="Expiration date", alias="expiresAt") + password: Optional[StrictStr] = Field(default=None, description="Link password") + show_metadata: Optional[StrictBool] = Field(default=True, description="Show metadata", alias="showMetadata") + slug: Optional[StrictStr] = Field(default=None, description="Custom URL slug") type: SharedLinkType - __properties: ClassVar[List[str]] = ["albumId", "allowDownload", "allowUpload", "assetIds", "description", "expiresAt", "password", "showMetadata", "type"] + __properties: ClassVar[List[str]] = ["albumId", "allowDownload", "allowUpload", "assetIds", "description", "expiresAt", "password", "showMetadata", "slug", "type"] + + @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('expires_at') + def expires_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, @@ -78,11 +100,26 @@ class SharedLinkCreateDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + # set to None if expires_at (nullable) is None # and model_fields_set contains the field if self.expires_at is None and "expires_at" in self.model_fields_set: _dict['expiresAt'] = None + # set to None if password (nullable) is None + # and model_fields_set contains the field + if self.password is None and "password" in self.model_fields_set: + _dict['password'] = None + + # set to None if slug (nullable) is None + # and model_fields_set contains the field + if self.slug is None and "slug" in self.model_fields_set: + _dict['slug'] = None + return _dict @classmethod @@ -103,6 +140,7 @@ class SharedLinkCreateDto(BaseModel): "expiresAt": obj.get("expiresAt"), "password": obj.get("password"), "showMetadata": obj.get("showMetadata") if obj.get("showMetadata") is not None else True, + "slug": obj.get("slug"), "type": obj.get("type") }) return _obj diff --git a/generated/immich/openapi_client/models/shared_link_edit_dto.py b/generated/immich/openapi_client/models/shared_link_edit_dto.py index ecfe517..5183a82 100644 --- a/generated/immich/openapi_client/models/shared_link_edit_dto.py +++ b/generated/immich/openapi_client/models/shared_link_edit_dto.py @@ -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,14 +27,24 @@ class SharedLinkEditDto(BaseModel): """ SharedLinkEditDto """ # noqa: E501 - allow_download: Optional[StrictBool] = Field(default=None, alias="allowDownload") - allow_upload: Optional[StrictBool] = Field(default=None, alias="allowUpload") - change_expiry_time: Optional[StrictBool] = Field(default=None, description="Few clients cannot send null to set the expiryTime to never. Setting this flag and not sending expiryAt is considered as null instead. Clients that can send null values can ignore this.", alias="changeExpiryTime") - description: Optional[StrictStr] = None - expires_at: Optional[datetime] = Field(default=None, alias="expiresAt") - password: Optional[StrictStr] = None - show_metadata: Optional[StrictBool] = Field(default=None, alias="showMetadata") - __properties: ClassVar[List[str]] = ["allowDownload", "allowUpload", "changeExpiryTime", "description", "expiresAt", "password", "showMetadata"] + allow_download: Optional[StrictBool] = Field(default=None, description="Allow downloads", alias="allowDownload") + allow_upload: Optional[StrictBool] = Field(default=None, description="Allow uploads", alias="allowUpload") + description: Optional[StrictStr] = Field(default=None, description="Link description") + expires_at: Optional[datetime] = Field(default=None, description="Expiration date", alias="expiresAt") + password: Optional[StrictStr] = Field(default=None, description="Link password") + show_metadata: Optional[StrictBool] = Field(default=None, description="Show metadata", alias="showMetadata") + slug: Optional[StrictStr] = Field(default=None, description="Custom URL slug") + __properties: ClassVar[List[str]] = ["allowDownload", "allowUpload", "description", "expiresAt", "password", "showMetadata", "slug"] + + @field_validator('expires_at') + def expires_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, @@ -75,11 +85,26 @@ class SharedLinkEditDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if description (nullable) is None + # and model_fields_set contains the field + if self.description is None and "description" in self.model_fields_set: + _dict['description'] = None + # set to None if expires_at (nullable) is None # and model_fields_set contains the field if self.expires_at is None and "expires_at" in self.model_fields_set: _dict['expiresAt'] = None + # set to None if password (nullable) is None + # and model_fields_set contains the field + if self.password is None and "password" in self.model_fields_set: + _dict['password'] = None + + # set to None if slug (nullable) is None + # and model_fields_set contains the field + if self.slug is None and "slug" in self.model_fields_set: + _dict['slug'] = None + return _dict @classmethod @@ -94,11 +119,11 @@ class SharedLinkEditDto(BaseModel): _obj = cls.model_validate({ "allowDownload": obj.get("allowDownload"), "allowUpload": obj.get("allowUpload"), - "changeExpiryTime": obj.get("changeExpiryTime"), "description": obj.get("description"), "expiresAt": obj.get("expiresAt"), "password": obj.get("password"), - "showMetadata": obj.get("showMetadata") + "showMetadata": obj.get("showMetadata"), + "slug": obj.get("slug") }) return _obj diff --git a/generated/immich/openapi_client/models/shared_link_response_dto.py b/generated/immich/openapi_client/models/shared_link_response_dto.py index 2962143..c493c34 100644 --- a/generated/immich/openapi_client/models/shared_link_response_dto.py +++ b/generated/immich/openapi_client/models/shared_link_response_dto.py @@ -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, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from uuid import UUID from generated.immich.openapi_client.models.album_response_dto import AlbumResponseDto from generated.immich.openapi_client.models.asset_response_dto import AssetResponseDto from generated.immich.openapi_client.models.shared_link_type import SharedLinkType @@ -28,23 +29,54 @@ from typing_extensions import Self class SharedLinkResponseDto(BaseModel): """ - SharedLinkResponseDto + Shared link response """ # noqa: E501 album: Optional[AlbumResponseDto] = None - allow_download: StrictBool = Field(alias="allowDownload") - allow_upload: StrictBool = Field(alias="allowUpload") + allow_download: StrictBool = Field(description="Allow downloads", alias="allowDownload") + allow_upload: StrictBool = Field(description="Allow uploads", alias="allowUpload") assets: List[AssetResponseDto] - created_at: datetime = Field(alias="createdAt") - description: Optional[StrictStr] - expires_at: Optional[datetime] = Field(alias="expiresAt") - id: StrictStr - key: StrictStr - password: Optional[StrictStr] - show_metadata: StrictBool = Field(alias="showMetadata") - token: Optional[StrictStr] = None + created_at: datetime = Field(description="Creation date", alias="createdAt") + description: Optional[StrictStr] = Field(description="Link description") + expires_at: Optional[datetime] = Field(description="Expiration date", alias="expiresAt") + id: UUID = Field(description="Shared link ID") + key: StrictStr = Field(description="Encryption key (base64url)") + password: Optional[StrictStr] = Field(description="Has password") + show_metadata: StrictBool = Field(description="Show metadata", alias="showMetadata") + slug: Optional[StrictStr] = Field(description="Custom URL slug") type: SharedLinkType - user_id: StrictStr = Field(alias="userId") - __properties: ClassVar[List[str]] = ["album", "allowDownload", "allowUpload", "assets", "createdAt", "description", "expiresAt", "id", "key", "password", "showMetadata", "token", "type", "userId"] + user_id: UUID = Field(description="Owner user ID", alias="userId") + __properties: ClassVar[List[str]] = ["album", "allowDownload", "allowUpload", "assets", "createdAt", "description", "expiresAt", "id", "key", "password", "showMetadata", "slug", "type", "userId"] + + @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('expires_at') + def expires_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('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('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, @@ -110,10 +142,10 @@ class SharedLinkResponseDto(BaseModel): if self.password is None and "password" in self.model_fields_set: _dict['password'] = None - # set to None if token (nullable) is None + # set to None if slug (nullable) is None # and model_fields_set contains the field - if self.token is None and "token" in self.model_fields_set: - _dict['token'] = None + if self.slug is None and "slug" in self.model_fields_set: + _dict['slug'] = None return _dict @@ -138,7 +170,7 @@ class SharedLinkResponseDto(BaseModel): "key": obj.get("key"), "password": obj.get("password"), "showMetadata": obj.get("showMetadata"), - "token": obj.get("token"), + "slug": obj.get("slug"), "type": obj.get("type"), "userId": obj.get("userId") }) diff --git a/generated/immich/openapi_client/models/shared_link_type.py b/generated/immich/openapi_client/models/shared_link_type.py index 56af699..a670db2 100644 --- a/generated/immich/openapi_client/models/shared_link_type.py +++ b/generated/immich/openapi_client/models/shared_link_type.py @@ -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 SharedLinkType(str, Enum): """ - SharedLinkType + Shared link type """ """ diff --git a/generated/immich/openapi_client/models/shared_links_response.py b/generated/immich/openapi_client/models/shared_links_response.py index d223437..d6c5d40 100644 --- a/generated/immich/openapi_client/models/shared_links_response.py +++ b/generated/immich/openapi_client/models/shared_links_response.py @@ -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 SharedLinksResponse(BaseModel): """ SharedLinksResponse """ # noqa: E501 - enabled: StrictBool - sidebar_web: StrictBool = Field(alias="sidebarWeb") + enabled: StrictBool = Field(description="Whether shared links are enabled") + sidebar_web: StrictBool = Field(description="Whether shared links appear in web sidebar", alias="sidebarWeb") __properties: ClassVar[List[str]] = ["enabled", "sidebarWeb"] model_config = ConfigDict( @@ -81,8 +81,8 @@ class SharedLinksResponse(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "sidebarWeb": obj.get("sidebarWeb") if obj.get("sidebarWeb") is not None else False + "enabled": obj.get("enabled"), + "sidebarWeb": obj.get("sidebarWeb") }) return _obj diff --git a/generated/immich/openapi_client/models/shared_links_update.py b/generated/immich/openapi_client/models/shared_links_update.py index af05dca..8f94f56 100644 --- a/generated/immich/openapi_client/models/shared_links_update.py +++ b/generated/immich/openapi_client/models/shared_links_update.py @@ -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 SharedLinksUpdate(BaseModel): """ SharedLinksUpdate """ # noqa: E501 - enabled: Optional[StrictBool] = None - sidebar_web: Optional[StrictBool] = Field(default=None, alias="sidebarWeb") + enabled: Optional[StrictBool] = Field(default=None, description="Whether shared links are enabled") + sidebar_web: Optional[StrictBool] = Field(default=None, description="Whether shared links appear in web sidebar", alias="sidebarWeb") __properties: ClassVar[List[str]] = ["enabled", "sidebarWeb"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/sign_up_dto.py b/generated/immich/openapi_client/models/sign_up_dto.py index db10d60..ca030c7 100644 --- a/generated/immich/openapi_client/models/sign_up_dto.py +++ b/generated/immich/openapi_client/models/sign_up_dto.py @@ -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,11 +27,18 @@ class SignUpDto(BaseModel): """ SignUpDto """ # noqa: E501 - email: StrictStr - name: StrictStr - password: StrictStr + email: Annotated[str, Field(strict=True)] = Field(description="User email") + name: StrictStr = Field(description="User name") + password: StrictStr = Field(description="User password") __properties: ClassVar[List[str]] = ["email", "name", "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, diff --git a/generated/immich/openapi_client/models/smart_search_dto.py b/generated/immich/openapi_client/models/smart_search_dto.py index 02833ba..2914303 100644 --- a/generated/immich/openapi_client/models/smart_search_dto.py +++ b/generated/immich/openapi_client/models/smart_search_dto.py @@ -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,9 +19,11 @@ import json from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from uuid import UUID from generated.immich.openapi_client.models.asset_type_enum import AssetTypeEnum +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility from typing import Optional, Set from typing_extensions import Self @@ -29,41 +31,141 @@ class SmartSearchDto(BaseModel): """ SmartSearchDto """ # noqa: E501 - city: Optional[StrictStr] = None - country: Optional[StrictStr] = None - created_after: Optional[datetime] = Field(default=None, alias="createdAfter") - created_before: Optional[datetime] = Field(default=None, alias="createdBefore") - device_id: Optional[StrictStr] = Field(default=None, alias="deviceId") - is_archived: Optional[StrictBool] = Field(default=None, alias="isArchived") - is_encoded: Optional[StrictBool] = Field(default=None, alias="isEncoded") - is_favorite: Optional[StrictBool] = Field(default=None, alias="isFavorite") - is_motion: Optional[StrictBool] = Field(default=None, alias="isMotion") - is_not_in_album: Optional[StrictBool] = Field(default=None, alias="isNotInAlbum") - is_offline: Optional[StrictBool] = Field(default=None, alias="isOffline") - is_visible: Optional[StrictBool] = Field(default=None, alias="isVisible") - language: Optional[StrictStr] = None - lens_model: Optional[StrictStr] = Field(default=None, alias="lensModel") - library_id: Optional[StrictStr] = Field(default=None, alias="libraryId") - make: Optional[StrictStr] = None - model: Optional[StrictStr] = None - page: Optional[Union[Annotated[float, Field(strict=True, ge=1)], Annotated[int, Field(strict=True, ge=1)]]] = None - person_ids: Optional[List[StrictStr]] = Field(default=None, alias="personIds") - query: StrictStr - rating: Optional[Union[Annotated[float, Field(le=5, strict=True, ge=-1)], Annotated[int, Field(le=5, strict=True, ge=-1)]]] = None - size: Optional[Union[Annotated[float, Field(le=1000, strict=True, ge=1)], Annotated[int, Field(le=1000, strict=True, ge=1)]]] = None - state: Optional[StrictStr] = None - tag_ids: Optional[List[StrictStr]] = Field(default=None, alias="tagIds") - taken_after: Optional[datetime] = Field(default=None, alias="takenAfter") - taken_before: Optional[datetime] = Field(default=None, alias="takenBefore") - trashed_after: Optional[datetime] = Field(default=None, alias="trashedAfter") - trashed_before: Optional[datetime] = Field(default=None, alias="trashedBefore") + album_ids: Optional[List[UUID]] = Field(default=None, description="Filter by album IDs", alias="albumIds") + city: Optional[StrictStr] = Field(default=None, description="Filter by city name") + country: Optional[StrictStr] = Field(default=None, description="Filter by country name") + created_after: Optional[datetime] = Field(default=None, description="Filter by creation date (after)", alias="createdAfter") + created_before: Optional[datetime] = Field(default=None, description="Filter by creation date (before)", alias="createdBefore") + is_encoded: Optional[StrictBool] = Field(default=None, description="Filter by encoded status", alias="isEncoded") + is_favorite: Optional[StrictBool] = Field(default=None, description="Filter by favorite status", alias="isFavorite") + is_motion: Optional[StrictBool] = Field(default=None, description="Filter by motion photo status", alias="isMotion") + is_not_in_album: Optional[StrictBool] = Field(default=None, description="Filter assets not in any album", alias="isNotInAlbum") + is_offline: Optional[StrictBool] = Field(default=None, description="Filter by offline status", alias="isOffline") + language: Optional[StrictStr] = Field(default=None, description="Search language code") + lens_model: Optional[StrictStr] = Field(default=None, description="Filter by lens model", alias="lensModel") + library_id: Optional[UUID] = Field(default=None, description="Library ID to filter by", alias="libraryId") + make: Optional[StrictStr] = Field(default=None, description="Filter by camera make") + model: Optional[StrictStr] = Field(default=None, description="Filter by camera model") + ocr: Optional[StrictStr] = Field(default=None, description="Filter by OCR text content") + page: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=1)]] = Field(default=None, description="Page number") + person_ids: Optional[List[UUID]] = Field(default=None, description="Filter by person IDs", alias="personIds") + query: Optional[StrictStr] = Field(default=None, description="Natural language search query") + query_asset_id: Optional[UUID] = Field(default=None, description="Asset ID to use as search reference", alias="queryAssetId") + rating: Optional[Annotated[int, Field(le=5, strict=True, ge=1)]] = Field(default=None, description="Filter by rating [1-5], or null for unrated") + size: Optional[Annotated[int, Field(le=1000, strict=True, ge=1)]] = Field(default=None, description="Number of results to return") + state: Optional[StrictStr] = Field(default=None, description="Filter by state/province name") + tag_ids: Optional[List[UUID]] = Field(default=None, description="Filter by tag IDs", alias="tagIds") + taken_after: Optional[datetime] = Field(default=None, description="Filter by taken date (after)", alias="takenAfter") + taken_before: Optional[datetime] = Field(default=None, description="Filter by taken date (before)", alias="takenBefore") + trashed_after: Optional[datetime] = Field(default=None, description="Filter by trash date (after)", alias="trashedAfter") + trashed_before: Optional[datetime] = Field(default=None, description="Filter by trash date (before)", alias="trashedBefore") type: Optional[AssetTypeEnum] = None - updated_after: Optional[datetime] = Field(default=None, alias="updatedAfter") - updated_before: Optional[datetime] = Field(default=None, alias="updatedBefore") - with_archived: Optional[StrictBool] = Field(default=False, alias="withArchived") - with_deleted: Optional[StrictBool] = Field(default=None, alias="withDeleted") - with_exif: Optional[StrictBool] = Field(default=None, alias="withExif") - __properties: ClassVar[List[str]] = ["city", "country", "createdAfter", "createdBefore", "deviceId", "isArchived", "isEncoded", "isFavorite", "isMotion", "isNotInAlbum", "isOffline", "isVisible", "language", "lensModel", "libraryId", "make", "model", "page", "personIds", "query", "rating", "size", "state", "tagIds", "takenAfter", "takenBefore", "trashedAfter", "trashedBefore", "type", "updatedAfter", "updatedBefore", "withArchived", "withDeleted", "withExif"] + updated_after: Optional[datetime] = Field(default=None, description="Filter by update date (after)", alias="updatedAfter") + updated_before: Optional[datetime] = Field(default=None, description="Filter by update date (before)", alias="updatedBefore") + visibility: Optional[AssetVisibility] = None + with_deleted: Optional[StrictBool] = Field(default=None, description="Include deleted assets", alias="withDeleted") + with_exif: Optional[StrictBool] = Field(default=None, description="Include EXIF data in response", alias="withExif") + __properties: ClassVar[List[str]] = ["albumIds", "city", "country", "createdAfter", "createdBefore", "isEncoded", "isFavorite", "isMotion", "isNotInAlbum", "isOffline", "language", "lensModel", "libraryId", "make", "model", "ocr", "page", "personIds", "query", "queryAssetId", "rating", "size", "state", "tagIds", "takenAfter", "takenBefore", "trashedAfter", "trashedBefore", "type", "updatedAfter", "updatedBefore", "visibility", "withDeleted", "withExif"] + + @field_validator('created_after') + def created_after_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('created_before') + def created_before_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('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('query_asset_id') + def query_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('taken_after') + def taken_after_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('taken_before') + def taken_before_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('trashed_after') + def trashed_after_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('trashed_before') + def trashed_before_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_after') + def updated_after_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_before') + def updated_before_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, @@ -124,16 +226,31 @@ class SmartSearchDto(BaseModel): if self.library_id is None and "library_id" in self.model_fields_set: _dict['libraryId'] = None + # set to None if make (nullable) is None + # and model_fields_set contains the field + if self.make is None and "make" in self.model_fields_set: + _dict['make'] = None + # set to None if model (nullable) is None # and model_fields_set contains the field if self.model is None and "model" in self.model_fields_set: _dict['model'] = 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 + # set to None if state (nullable) is None # and model_fields_set contains the field if self.state is None and "state" in self.model_fields_set: _dict['state'] = None + # set to None if tag_ids (nullable) is None + # and model_fields_set contains the field + if self.tag_ids is None and "tag_ids" in self.model_fields_set: + _dict['tagIds'] = None + return _dict @classmethod @@ -146,26 +263,26 @@ class SmartSearchDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "albumIds": obj.get("albumIds"), "city": obj.get("city"), "country": obj.get("country"), "createdAfter": obj.get("createdAfter"), "createdBefore": obj.get("createdBefore"), - "deviceId": obj.get("deviceId"), - "isArchived": obj.get("isArchived"), "isEncoded": obj.get("isEncoded"), "isFavorite": obj.get("isFavorite"), "isMotion": obj.get("isMotion"), "isNotInAlbum": obj.get("isNotInAlbum"), "isOffline": obj.get("isOffline"), - "isVisible": obj.get("isVisible"), "language": obj.get("language"), "lensModel": obj.get("lensModel"), "libraryId": obj.get("libraryId"), "make": obj.get("make"), "model": obj.get("model"), + "ocr": obj.get("ocr"), "page": obj.get("page"), "personIds": obj.get("personIds"), "query": obj.get("query"), + "queryAssetId": obj.get("queryAssetId"), "rating": obj.get("rating"), "size": obj.get("size"), "state": obj.get("state"), @@ -177,7 +294,7 @@ class SmartSearchDto(BaseModel): "type": obj.get("type"), "updatedAfter": obj.get("updatedAfter"), "updatedBefore": obj.get("updatedBefore"), - "withArchived": obj.get("withArchived") if obj.get("withArchived") is not None else False, + "visibility": obj.get("visibility"), "withDeleted": obj.get("withDeleted"), "withExif": obj.get("withExif") }) diff --git a/generated/immich/openapi_client/models/source_type.py b/generated/immich/openapi_client/models/source_type.py index d7459a8..4020834 100644 --- a/generated/immich/openapi_client/models/source_type.py +++ b/generated/immich/openapi_client/models/source_type.py @@ -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 SourceType(str, Enum): """ - SourceType + Face detection source type """ """ diff --git a/generated/immich/openapi_client/models/stack_create_dto.py b/generated/immich/openapi_client/models/stack_create_dto.py index e8838b9..6e0b88d 100644 --- a/generated/immich/openapi_client/models/stack_create_dto.py +++ b/generated/immich/openapi_client/models/stack_create_dto.py @@ -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 from typing_extensions import Annotated +from uuid import UUID from typing import Optional, Set from typing_extensions import Self @@ -27,7 +28,7 @@ class StackCreateDto(BaseModel): """ StackCreateDto """ # noqa: E501 - asset_ids: Annotated[List[StrictStr], Field(min_length=2)] = Field(description="first asset becomes the primary", alias="assetIds") + asset_ids: Annotated[List[UUID], Field(min_length=2)] = Field(description="Asset IDs (first becomes primary, min 2)", alias="assetIds") __properties: ClassVar[List[str]] = ["assetIds"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/stack_response_dto.py b/generated/immich/openapi_client/models/stack_response_dto.py index 5849297..0a64604 100644 --- a/generated/immich/openapi_client/models/stack_response_dto.py +++ b/generated/immich/openapi_client/models/stack_response_dto.py @@ -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,21 +17,36 @@ 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 class StackResponseDto(BaseModel): """ - StackResponseDto + Stack response """ # noqa: E501 assets: List[AssetResponseDto] - id: StrictStr - primary_asset_id: StrictStr = Field(alias="primaryAssetId") + id: UUID = Field(description="Stack ID") + primary_asset_id: UUID = Field(description="Primary asset ID", alias="primaryAssetId") __properties: ClassVar[List[str]] = ["assets", "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, diff --git a/generated/immich/openapi_client/models/stack_update_dto.py b/generated/immich/openapi_client/models/stack_update_dto.py index 1a234bd..e3e527d 100644 --- a/generated/immich/openapi_client/models/stack_update_dto.py +++ b/generated/immich/openapi_client/models/stack_update_dto.py @@ -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 typing import Optional, Set from typing_extensions import Self @@ -26,9 +27,19 @@ class StackUpdateDto(BaseModel): """ StackUpdateDto """ # noqa: E501 - primary_asset_id: Optional[StrictStr] = Field(default=None, alias="primaryAssetId") + primary_asset_id: Optional[UUID] = Field(default=None, description="Primary asset ID", alias="primaryAssetId") __properties: ClassVar[List[str]] = ["primaryAssetId"] + @field_validator('primary_asset_id') + def primary_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, diff --git a/generated/immich/openapi_client/models/sync_ack_delete_dto.py b/generated/immich/openapi_client/models/sync_ack_delete_dto.py index 70cd79d..bc36e05 100644 --- a/generated/immich/openapi_client/models/sync_ack_delete_dto.py +++ b/generated/immich/openapi_client/models/sync_ack_delete_dto.py @@ -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, Optional from generated.immich.openapi_client.models.sync_entity_type import SyncEntityType from typing import Optional, Set @@ -27,7 +27,7 @@ class SyncAckDeleteDto(BaseModel): """ SyncAckDeleteDto """ # noqa: E501 - types: Optional[List[SyncEntityType]] = None + types: Optional[List[SyncEntityType]] = Field(default=None, description="Sync entity types to delete acks for") __properties: ClassVar[List[str]] = ["types"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/sync_ack_dto.py b/generated/immich/openapi_client/models/sync_ack_dto.py index 61565d5..0ec910c 100644 --- a/generated/immich/openapi_client/models/sync_ack_dto.py +++ b/generated/immich/openapi_client/models/sync_ack_dto.py @@ -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 from generated.immich.openapi_client.models.sync_entity_type import SyncEntityType from typing import Optional, Set @@ -27,7 +27,7 @@ class SyncAckDto(BaseModel): """ SyncAckDto """ # noqa: E501 - ack: StrictStr + ack: StrictStr = Field(description="Acknowledgment ID") type: SyncEntityType __properties: ClassVar[List[str]] = ["ack", "type"] diff --git a/generated/immich/openapi_client/models/sync_ack_set_dto.py b/generated/immich/openapi_client/models/sync_ack_set_dto.py index c731b97..9ca2646 100644 --- a/generated/immich/openapi_client/models/sync_ack_set_dto.py +++ b/generated/immich/openapi_client/models/sync_ack_set_dto.py @@ -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 from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self @@ -26,7 +27,7 @@ class SyncAckSetDto(BaseModel): """ SyncAckSetDto """ # noqa: E501 - acks: List[StrictStr] + acks: Annotated[List[StrictStr], Field(max_length=1000)] = Field(description="Acknowledgment IDs (max 1000)") __properties: ClassVar[List[str]] = ["acks"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/sync_asset_delete_v1.py b/generated/immich/openapi_client/models/sync_asset_delete_v1.py index 7cc8e29..8fd1b46 100644 --- a/generated/immich/openapi_client/models/sync_asset_delete_v1.py +++ b/generated/immich/openapi_client/models/sync_asset_delete_v1.py @@ -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,9 +27,16 @@ class SyncAssetDeleteV1(BaseModel): """ SyncAssetDeleteV1 """ # noqa: E501 - asset_id: StrictStr = Field(alias="assetId") + asset_id: UUID = Field(description="Asset ID", alias="assetId") __properties: ClassVar[List[str]] = ["assetId"] + @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( populate_by_name=True, validate_assignment=True, diff --git a/generated/immich/openapi_client/models/sync_asset_exif_v1.py b/generated/immich/openapi_client/models/sync_asset_exif_v1.py index b970a34..d4aefa7 100644 --- a/generated/immich/openapi_client/models/sync_asset_exif_v1.py +++ b/generated/immich/openapi_client/models/sync_asset_exif_v1.py @@ -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 typing import Any, ClassVar, Dict, List, Optional +from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from uuid import UUID from typing import Optional, Set from typing_extensions import Self @@ -27,33 +29,60 @@ class SyncAssetExifV1(BaseModel): """ SyncAssetExifV1 """ # noqa: E501 - asset_id: StrictStr = Field(alias="assetId") - city: Optional[StrictStr] - country: Optional[StrictStr] - date_time_original: Optional[datetime] = Field(alias="dateTimeOriginal") - description: Optional[StrictStr] - exif_image_height: Optional[StrictInt] = Field(alias="exifImageHeight") - exif_image_width: Optional[StrictInt] = Field(alias="exifImageWidth") - exposure_time: Optional[StrictStr] = Field(alias="exposureTime") - f_number: Optional[StrictInt] = Field(alias="fNumber") - file_size_in_byte: Optional[StrictInt] = Field(alias="fileSizeInByte") - focal_length: Optional[StrictInt] = Field(alias="focalLength") - fps: Optional[StrictInt] - iso: Optional[StrictInt] - latitude: Optional[StrictInt] - lens_model: Optional[StrictStr] = Field(alias="lensModel") - longitude: Optional[StrictInt] - make: Optional[StrictStr] - model: Optional[StrictStr] - modify_date: Optional[datetime] = Field(alias="modifyDate") - orientation: Optional[StrictStr] - profile_description: Optional[StrictStr] = Field(alias="profileDescription") - projection_type: Optional[StrictStr] = Field(alias="projectionType") - rating: Optional[StrictInt] - state: Optional[StrictStr] - time_zone: Optional[StrictStr] = Field(alias="timeZone") + asset_id: UUID = Field(description="Asset ID", alias="assetId") + city: Optional[StrictStr] = Field(description="City") + country: Optional[StrictStr] = Field(description="Country") + date_time_original: Optional[datetime] = Field(description="Date time original", alias="dateTimeOriginal") + description: Optional[StrictStr] = Field(description="Description") + exif_image_height: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(description="Exif image height", alias="exifImageHeight") + exif_image_width: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(description="Exif image width", alias="exifImageWidth") + exposure_time: Optional[StrictStr] = Field(description="Exposure time", alias="exposureTime") + f_number: Optional[Union[StrictFloat, StrictInt]] = Field(description="F number", alias="fNumber") + file_size_in_byte: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(description="File size in byte", alias="fileSizeInByte") + focal_length: Optional[Union[StrictFloat, StrictInt]] = Field(description="Focal length", alias="focalLength") + fps: Optional[Union[StrictFloat, StrictInt]] = Field(description="FPS") + iso: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(description="ISO") + latitude: Optional[Union[StrictFloat, StrictInt]] = Field(description="Latitude") + lens_model: Optional[StrictStr] = Field(description="Lens model", alias="lensModel") + longitude: Optional[Union[StrictFloat, StrictInt]] = Field(description="Longitude") + make: Optional[StrictStr] = Field(description="Make") + model: Optional[StrictStr] = Field(description="Model") + modify_date: Optional[datetime] = Field(description="Modify date", alias="modifyDate") + orientation: Optional[StrictStr] = Field(description="Orientation") + profile_description: Optional[StrictStr] = Field(description="Profile description", alias="profileDescription") + projection_type: Optional[StrictStr] = Field(description="Projection type", alias="projectionType") + rating: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(description="Rating") + state: Optional[StrictStr] = Field(description="State") + time_zone: Optional[StrictStr] = Field(description="Time zone", alias="timeZone") __properties: ClassVar[List[str]] = ["assetId", "city", "country", "dateTimeOriginal", "description", "exifImageHeight", "exifImageWidth", "exposureTime", "fNumber", "fileSizeInByte", "focalLength", "fps", "iso", "latitude", "lensModel", "longitude", "make", "model", "modifyDate", "orientation", "profileDescription", "projectionType", "rating", "state", "timeZone"] + @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('date_time_original') + def date_time_original_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('modify_date') + def modify_date_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, validate_assignment=True, diff --git a/generated/immich/openapi_client/models/sync_asset_v1.py b/generated/immich/openapi_client/models/sync_asset_v1.py index 81fe176..9861793 100644 --- a/generated/immich/openapi_client/models/sync_asset_v1.py +++ b/generated/immich/openapi_client/models/sync_asset_v1.py @@ -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,12 @@ import re # noqa: F401 import json from datetime import datetime -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 typing_extensions import Annotated +from uuid import UUID +from generated.immich.openapi_client.models.asset_type_enum import AssetTypeEnum +from generated.immich.openapi_client.models.asset_visibility import AssetVisibility from typing import Optional, Set from typing_extensions import Self @@ -27,24 +31,90 @@ class SyncAssetV1(BaseModel): """ SyncAssetV1 """ # noqa: E501 - checksum: StrictStr - deleted_at: Optional[datetime] = Field(alias="deletedAt") - file_created_at: Optional[datetime] = Field(alias="fileCreatedAt") - file_modified_at: Optional[datetime] = Field(alias="fileModifiedAt") - id: StrictStr - is_favorite: StrictBool = Field(alias="isFavorite") - is_visible: StrictBool = Field(alias="isVisible") - local_date_time: Optional[datetime] = Field(alias="localDateTime") - owner_id: StrictStr = Field(alias="ownerId") - thumbhash: Optional[StrictStr] - type: StrictStr - __properties: ClassVar[List[str]] = ["checksum", "deletedAt", "fileCreatedAt", "fileModifiedAt", "id", "isFavorite", "isVisible", "localDateTime", "ownerId", "thumbhash", "type"] + checksum: StrictStr = Field(description="Checksum") + created_at: Optional[datetime] = Field(description="Uploaded to Immich at", alias="createdAt") + deleted_at: Optional[datetime] = Field(description="Deleted at", alias="deletedAt") + duration: Optional[StrictStr] = Field(description="Duration") + file_created_at: Optional[datetime] = Field(description="File created at", alias="fileCreatedAt") + file_modified_at: Optional[datetime] = Field(description="File modified at", alias="fileModifiedAt") + height: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(description="Asset height") + id: UUID = Field(description="Asset ID") + is_edited: StrictBool = Field(description="Is edited", alias="isEdited") + is_favorite: StrictBool = Field(description="Is favorite", alias="isFavorite") + library_id: Optional[StrictStr] = Field(description="Library ID", alias="libraryId") + live_photo_video_id: Optional[StrictStr] = Field(description="Live photo video ID", alias="livePhotoVideoId") + local_date_time: Optional[datetime] = Field(description="Local date time", alias="localDateTime") + original_file_name: StrictStr = Field(description="Original file name", alias="originalFileName") + owner_id: UUID = Field(description="Owner ID", alias="ownerId") + stack_id: Optional[StrictStr] = Field(description="Stack ID", alias="stackId") + thumbhash: Optional[StrictStr] = Field(description="Thumbhash") + type: AssetTypeEnum + visibility: AssetVisibility + width: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(description="Asset width") + __properties: ClassVar[List[str]] = ["checksum", "createdAt", "deletedAt", "duration", "fileCreatedAt", "fileModifiedAt", "height", "id", "isEdited", "isFavorite", "libraryId", "livePhotoVideoId", "localDateTime", "originalFileName", "ownerId", "stackId", "thumbhash", "type", "visibility", "width"] - @field_validator('type') - def type_validate_enum(cls, value): - """Validates the enum""" - if value not in set(['IMAGE', 'VIDEO', 'AUDIO', 'OTHER']): - raise ValueError("must be one of enum values ('IMAGE', 'VIDEO', 'AUDIO', 'OTHER')") + @field_validator('created_at') + def created_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('deleted_at') + def deleted_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('file_created_at') + def file_created_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('file_modified_at') + def file_modified_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('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('local_date_time') + def local_date_time_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('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( @@ -86,11 +156,21 @@ class SyncAssetV1(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if created_at (nullable) is None + # and model_fields_set contains the field + if self.created_at is None and "created_at" in self.model_fields_set: + _dict['createdAt'] = None + # set to None if deleted_at (nullable) is None # and model_fields_set contains the field if self.deleted_at is None and "deleted_at" in self.model_fields_set: _dict['deletedAt'] = 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 file_created_at (nullable) is None # and model_fields_set contains the field if self.file_created_at is None and "file_created_at" in self.model_fields_set: @@ -101,16 +181,41 @@ class SyncAssetV1(BaseModel): if self.file_modified_at is None and "file_modified_at" in self.model_fields_set: _dict['fileModifiedAt'] = 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: + _dict['libraryId'] = None + + # set to None if live_photo_video_id (nullable) is None + # and model_fields_set contains the field + if self.live_photo_video_id is None and "live_photo_video_id" in self.model_fields_set: + _dict['livePhotoVideoId'] = None + # set to None if local_date_time (nullable) is None # and model_fields_set contains the field if self.local_date_time is None and "local_date_time" in self.model_fields_set: _dict['localDateTime'] = None + # set to None if stack_id (nullable) is None + # and model_fields_set contains the field + if self.stack_id is None and "stack_id" in self.model_fields_set: + _dict['stackId'] = None + # set to None if thumbhash (nullable) is None # and model_fields_set contains the field 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 @@ -124,16 +229,25 @@ class SyncAssetV1(BaseModel): _obj = cls.model_validate({ "checksum": obj.get("checksum"), + "createdAt": obj.get("createdAt"), "deletedAt": obj.get("deletedAt"), + "duration": obj.get("duration"), "fileCreatedAt": obj.get("fileCreatedAt"), "fileModifiedAt": obj.get("fileModifiedAt"), + "height": obj.get("height"), "id": obj.get("id"), + "isEdited": obj.get("isEdited"), "isFavorite": obj.get("isFavorite"), - "isVisible": obj.get("isVisible"), + "libraryId": obj.get("libraryId"), + "livePhotoVideoId": obj.get("livePhotoVideoId"), "localDateTime": obj.get("localDateTime"), + "originalFileName": obj.get("originalFileName"), "ownerId": obj.get("ownerId"), + "stackId": obj.get("stackId"), "thumbhash": obj.get("thumbhash"), - "type": obj.get("type") + "type": obj.get("type"), + "visibility": obj.get("visibility"), + "width": obj.get("width") }) return _obj diff --git a/generated/immich/openapi_client/models/sync_entity_type.py b/generated/immich/openapi_client/models/sync_entity_type.py index 934fac5..caf25ce 100644 --- a/generated/immich/openapi_client/models/sync_entity_type.py +++ b/generated/immich/openapi_client/models/sync_entity_type.py @@ -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,22 +20,71 @@ from typing_extensions import Self class SyncEntityType(str, Enum): """ - SyncEntityType + Sync entity type """ """ allowed enum values """ + AUTHUSERV1 = 'AuthUserV1' USERV1 = 'UserV1' USERDELETEV1 = 'UserDeleteV1' - PARTNERV1 = 'PartnerV1' - PARTNERDELETEV1 = 'PartnerDeleteV1' ASSETV1 = 'AssetV1' + ASSETV2 = 'AssetV2' ASSETDELETEV1 = 'AssetDeleteV1' ASSETEXIFV1 = 'AssetExifV1' + ASSETEDITV1 = 'AssetEditV1' + ASSETEDITDELETEV1 = 'AssetEditDeleteV1' + ASSETMETADATAV1 = 'AssetMetadataV1' + ASSETMETADATADELETEV1 = 'AssetMetadataDeleteV1' + ASSETOCRV1 = 'AssetOcrV1' + ASSETOCRDELETEV1 = 'AssetOcrDeleteV1' + PARTNERV1 = 'PartnerV1' + PARTNERDELETEV1 = 'PartnerDeleteV1' PARTNERASSETV1 = 'PartnerAssetV1' + PARTNERASSETV2 = 'PartnerAssetV2' + PARTNERASSETBACKFILLV1 = 'PartnerAssetBackfillV1' + PARTNERASSETBACKFILLV2 = 'PartnerAssetBackfillV2' PARTNERASSETDELETEV1 = 'PartnerAssetDeleteV1' PARTNERASSETEXIFV1 = 'PartnerAssetExifV1' + PARTNERASSETEXIFBACKFILLV1 = 'PartnerAssetExifBackfillV1' + PARTNERSTACKBACKFILLV1 = 'PartnerStackBackfillV1' + PARTNERSTACKDELETEV1 = 'PartnerStackDeleteV1' + PARTNERSTACKV1 = 'PartnerStackV1' + ALBUMV1 = 'AlbumV1' + ALBUMV2 = 'AlbumV2' + ALBUMDELETEV1 = 'AlbumDeleteV1' + ALBUMUSERV1 = 'AlbumUserV1' + ALBUMUSERBACKFILLV1 = 'AlbumUserBackfillV1' + ALBUMUSERDELETEV1 = 'AlbumUserDeleteV1' + ALBUMASSETCREATEV1 = 'AlbumAssetCreateV1' + ALBUMASSETCREATEV2 = 'AlbumAssetCreateV2' + ALBUMASSETUPDATEV1 = 'AlbumAssetUpdateV1' + ALBUMASSETUPDATEV2 = 'AlbumAssetUpdateV2' + ALBUMASSETBACKFILLV1 = 'AlbumAssetBackfillV1' + ALBUMASSETBACKFILLV2 = 'AlbumAssetBackfillV2' + ALBUMASSETEXIFCREATEV1 = 'AlbumAssetExifCreateV1' + ALBUMASSETEXIFUPDATEV1 = 'AlbumAssetExifUpdateV1' + ALBUMASSETEXIFBACKFILLV1 = 'AlbumAssetExifBackfillV1' + ALBUMTOASSETV1 = 'AlbumToAssetV1' + ALBUMTOASSETDELETEV1 = 'AlbumToAssetDeleteV1' + ALBUMTOASSETBACKFILLV1 = 'AlbumToAssetBackfillV1' + MEMORYV1 = 'MemoryV1' + MEMORYDELETEV1 = 'MemoryDeleteV1' + MEMORYTOASSETV1 = 'MemoryToAssetV1' + MEMORYTOASSETDELETEV1 = 'MemoryToAssetDeleteV1' + STACKV1 = 'StackV1' + STACKDELETEV1 = 'StackDeleteV1' + PERSONV1 = 'PersonV1' + PERSONDELETEV1 = 'PersonDeleteV1' + ASSETFACEV1 = 'AssetFaceV1' + ASSETFACEV2 = 'AssetFaceV2' + ASSETFACEDELETEV1 = 'AssetFaceDeleteV1' + USERMETADATAV1 = 'UserMetadataV1' + USERMETADATADELETEV1 = 'UserMetadataDeleteV1' + SYNCACKV1 = 'SyncAckV1' + SYNCRESETV1 = 'SyncResetV1' + SYNCCOMPLETEV1 = 'SyncCompleteV1' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/generated/immich/openapi_client/models/sync_partner_delete_v1.py b/generated/immich/openapi_client/models/sync_partner_delete_v1.py index bc31927..55b8d0f 100644 --- a/generated/immich/openapi_client/models/sync_partner_delete_v1.py +++ b/generated/immich/openapi_client/models/sync_partner_delete_v1.py @@ -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 SyncPartnerDeleteV1(BaseModel): """ SyncPartnerDeleteV1 """ # noqa: E501 - shared_by_id: StrictStr = Field(alias="sharedById") - shared_with_id: StrictStr = Field(alias="sharedWithId") + shared_by_id: UUID = Field(description="Shared by ID", alias="sharedById") + shared_with_id: UUID = Field(description="Shared with ID", alias="sharedWithId") __properties: ClassVar[List[str]] = ["sharedById", "sharedWithId"] + @field_validator('shared_by_id') + def shared_by_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('shared_with_id') + def shared_with_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, diff --git a/generated/immich/openapi_client/models/sync_partner_v1.py b/generated/immich/openapi_client/models/sync_partner_v1.py index a0f81a2..5108df0 100644 --- a/generated/immich/openapi_client/models/sync_partner_v1.py +++ b/generated/immich/openapi_client/models/sync_partner_v1.py @@ -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, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool from typing import Any, ClassVar, Dict, List +from uuid import UUID from typing import Optional, Set from typing_extensions import Self @@ -26,11 +27,25 @@ class SyncPartnerV1(BaseModel): """ SyncPartnerV1 """ # noqa: E501 - in_timeline: StrictBool = Field(alias="inTimeline") - shared_by_id: StrictStr = Field(alias="sharedById") - shared_with_id: StrictStr = Field(alias="sharedWithId") + in_timeline: StrictBool = Field(description="In timeline", alias="inTimeline") + shared_by_id: UUID = Field(description="Shared by ID", alias="sharedById") + shared_with_id: UUID = Field(description="Shared with ID", alias="sharedWithId") __properties: ClassVar[List[str]] = ["inTimeline", "sharedById", "sharedWithId"] + @field_validator('shared_by_id') + def shared_by_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('shared_with_id') + def shared_with_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, diff --git a/generated/immich/openapi_client/models/sync_request_type.py b/generated/immich/openapi_client/models/sync_request_type.py index cddf4cd..9628beb 100644 --- a/generated/immich/openapi_client/models/sync_request_type.py +++ b/generated/immich/openapi_client/models/sync_request_type.py @@ -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,18 +20,39 @@ from typing_extensions import Self class SyncRequestType(str, Enum): """ - SyncRequestType + Sync request type """ """ allowed enum values """ - USERSV1 = 'UsersV1' - PARTNERSV1 = 'PartnersV1' + ALBUMSV1 = 'AlbumsV1' + ALBUMSV2 = 'AlbumsV2' + ALBUMUSERSV1 = 'AlbumUsersV1' + ALBUMTOASSETSV1 = 'AlbumToAssetsV1' + ALBUMASSETSV1 = 'AlbumAssetsV1' + ALBUMASSETSV2 = 'AlbumAssetsV2' + ALBUMASSETEXIFSV1 = 'AlbumAssetExifsV1' ASSETSV1 = 'AssetsV1' + ASSETSV2 = 'AssetsV2' ASSETEXIFSV1 = 'AssetExifsV1' + ASSETEDITSV1 = 'AssetEditsV1' + ASSETMETADATAV1 = 'AssetMetadataV1' + ASSETOCRV1 = 'AssetOcrV1' + AUTHUSERSV1 = 'AuthUsersV1' + MEMORIESV1 = 'MemoriesV1' + MEMORYTOASSETSV1 = 'MemoryToAssetsV1' + PARTNERSV1 = 'PartnersV1' PARTNERASSETSV1 = 'PartnerAssetsV1' + PARTNERASSETSV2 = 'PartnerAssetsV2' PARTNERASSETEXIFSV1 = 'PartnerAssetExifsV1' + PARTNERSTACKSV1 = 'PartnerStacksV1' + STACKSV1 = 'StacksV1' + USERSV1 = 'UsersV1' + PEOPLEV1 = 'PeopleV1' + ASSETFACESV1 = 'AssetFacesV1' + ASSETFACESV2 = 'AssetFacesV2' + USERMETADATAV1 = 'UserMetadataV1' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/generated/immich/openapi_client/models/sync_stream_dto.py b/generated/immich/openapi_client/models/sync_stream_dto.py index 392129e..1e078e4 100644 --- a/generated/immich/openapi_client/models/sync_stream_dto.py +++ b/generated/immich/openapi_client/models/sync_stream_dto.py @@ -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 -from typing import Any, ClassVar, Dict, List +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional from generated.immich.openapi_client.models.sync_request_type import SyncRequestType from typing import Optional, Set from typing_extensions import Self @@ -27,8 +27,9 @@ class SyncStreamDto(BaseModel): """ SyncStreamDto """ # noqa: E501 - types: List[SyncRequestType] - __properties: ClassVar[List[str]] = ["types"] + reset: Optional[StrictBool] = Field(default=None, description="Reset sync state") + types: List[SyncRequestType] = Field(description="Sync request types") + __properties: ClassVar[List[str]] = ["reset", "types"] model_config = ConfigDict( populate_by_name=True, @@ -81,6 +82,7 @@ class SyncStreamDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "reset": obj.get("reset"), "types": obj.get("types") }) return _obj diff --git a/generated/immich/openapi_client/models/sync_user_delete_v1.py b/generated/immich/openapi_client/models/sync_user_delete_v1.py index 4cd12fd..a347c7f 100644 --- a/generated/immich/openapi_client/models/sync_user_delete_v1.py +++ b/generated/immich/openapi_client/models/sync_user_delete_v1.py @@ -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,9 +27,16 @@ class SyncUserDeleteV1(BaseModel): """ SyncUserDeleteV1 """ # noqa: E501 - user_id: StrictStr = Field(alias="userId") + user_id: UUID = Field(description="User ID", alias="userId") __properties: ClassVar[List[str]] = ["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, diff --git a/generated/immich/openapi_client/models/sync_user_v1.py b/generated/immich/openapi_client/models/sync_user_v1.py index 2b4634e..6abe4bc 100644 --- a/generated/immich/openapi_client/models/sync_user_v1.py +++ b/generated/immich/openapi_client/models/sync_user_v1.py @@ -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, StrictStr +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.user_avatar_color import UserAvatarColor from typing import Optional, Set from typing_extensions import Self @@ -27,11 +29,38 @@ class SyncUserV1(BaseModel): """ SyncUserV1 """ # noqa: E501 - deleted_at: Optional[datetime] = Field(alias="deletedAt") - email: StrictStr - id: StrictStr - name: StrictStr - __properties: ClassVar[List[str]] = ["deletedAt", "email", "id", "name"] + avatar_color: Optional[UserAvatarColor] = Field(default=None, alias="avatarColor") + deleted_at: Optional[datetime] = Field(description="User deleted at", alias="deletedAt") + email: StrictStr = Field(description="User email") + has_profile_image: StrictBool = Field(description="User has profile image", alias="hasProfileImage") + id: UUID = Field(description="User ID") + name: StrictStr = Field(description="User name") + profile_changed_at: datetime = Field(description="User profile changed at", alias="profileChangedAt") + __properties: ClassVar[List[str]] = ["avatarColor", "deletedAt", "email", "hasProfileImage", "id", "name", "profileChangedAt"] + + @field_validator('deleted_at') + def deleted_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('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('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 model_config = ConfigDict( populate_by_name=True, @@ -72,6 +101,11 @@ class SyncUserV1(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if avatar_color (nullable) is None + # and model_fields_set contains the field + if self.avatar_color is None and "avatar_color" in self.model_fields_set: + _dict['avatarColor'] = None + # set to None if deleted_at (nullable) is None # and model_fields_set contains the field if self.deleted_at is None and "deleted_at" in self.model_fields_set: @@ -89,10 +123,13 @@ class SyncUserV1(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "avatarColor": obj.get("avatarColor"), "deletedAt": obj.get("deletedAt"), "email": obj.get("email"), + "hasProfileImage": obj.get("hasProfileImage"), "id": obj.get("id"), - "name": obj.get("name") + "name": obj.get("name"), + "profileChangedAt": obj.get("profileChangedAt") }) return _obj diff --git a/generated/immich/openapi_client/models/system_config_backups_dto.py b/generated/immich/openapi_client/models/system_config_backups_dto.py index 1af2ba4..b9c7186 100644 --- a/generated/immich/openapi_client/models/system_config_backups_dto.py +++ b/generated/immich/openapi_client/models/system_config_backups_dto.py @@ -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. diff --git a/generated/immich/openapi_client/models/system_config_dto.py b/generated/immich/openapi_client/models/system_config_dto.py index 23e0c58..5be5591 100644 --- a/generated/immich/openapi_client/models/system_config_dto.py +++ b/generated/immich/openapi_client/models/system_config_dto.py @@ -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. @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from generated.immich.openapi_client.models.system_config_backups_dto import SystemConfigBackupsDto from generated.immich.openapi_client.models.system_config_f_fmpeg_dto import SystemConfigFFmpegDto 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_job_dto import SystemConfigJobDto from generated.immich.openapi_client.models.system_config_library_dto import SystemConfigLibraryDto from generated.immich.openapi_client.models.system_config_logging_dto import SystemConfigLoggingDto @@ -29,6 +30,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 @@ -44,11 +46,12 @@ from typing_extensions import Self class SystemConfigDto(BaseModel): """ - SystemConfigDto + System configuration """ # noqa: E501 backup: SystemConfigBackupsDto ffmpeg: SystemConfigFFmpegDto image: SystemConfigImageDto + integrity_checks: SystemConfigIntegrityChecks = Field(alias="integrityChecks") job: SystemConfigJobDto library: SystemConfigLibraryDto logging: SystemConfigLoggingDto @@ -56,6 +59,7 @@ class SystemConfigDto(BaseModel): map: SystemConfigMapDto metadata: SystemConfigMetadataDto new_version_check: SystemConfigNewVersionCheckDto = Field(alias="newVersionCheck") + nightly_tasks: SystemConfigNightlyTasksDto = Field(alias="nightlyTasks") notifications: SystemConfigNotificationsDto oauth: SystemConfigOAuthDto password_login: SystemConfigPasswordLoginDto = Field(alias="passwordLogin") @@ -66,7 +70,7 @@ class SystemConfigDto(BaseModel): theme: SystemConfigThemeDto trash: SystemConfigTrashDto user: SystemConfigUserDto - __properties: ClassVar[List[str]] = ["backup", "ffmpeg", "image", "job", "library", "logging", "machineLearning", "map", "metadata", "newVersionCheck", "notifications", "oauth", "passwordLogin", "reverseGeocoding", "server", "storageTemplate", "templates", "theme", "trash", "user"] + __properties: ClassVar[List[str]] = ["backup", "ffmpeg", "image", "integrityChecks", "job", "library", "logging", "machineLearning", "map", "metadata", "newVersionCheck", "nightlyTasks", "notifications", "oauth", "passwordLogin", "reverseGeocoding", "server", "storageTemplate", "templates", "theme", "trash", "user"] model_config = ConfigDict( populate_by_name=True, @@ -116,6 +120,9 @@ class SystemConfigDto(BaseModel): # override the default output from pydantic by calling `to_dict()` of image if self.image: _dict['image'] = self.image.to_dict() + # override the default output from pydantic by calling `to_dict()` of integrity_checks + if self.integrity_checks: + _dict['integrityChecks'] = self.integrity_checks.to_dict() # override the default output from pydantic by calling `to_dict()` of job if self.job: _dict['job'] = self.job.to_dict() @@ -137,6 +144,9 @@ class SystemConfigDto(BaseModel): # override the default output from pydantic by calling `to_dict()` of new_version_check if self.new_version_check: _dict['newVersionCheck'] = self.new_version_check.to_dict() + # override the default output from pydantic by calling `to_dict()` of nightly_tasks + if self.nightly_tasks: + _dict['nightlyTasks'] = self.nightly_tasks.to_dict() # override the default output from pydantic by calling `to_dict()` of notifications if self.notifications: _dict['notifications'] = self.notifications.to_dict() @@ -182,6 +192,7 @@ class SystemConfigDto(BaseModel): "backup": SystemConfigBackupsDto.from_dict(obj["backup"]) if obj.get("backup") is not None else None, "ffmpeg": SystemConfigFFmpegDto.from_dict(obj["ffmpeg"]) if obj.get("ffmpeg") is not None else None, "image": SystemConfigImageDto.from_dict(obj["image"]) if obj.get("image") is not None else None, + "integrityChecks": SystemConfigIntegrityChecks.from_dict(obj["integrityChecks"]) if obj.get("integrityChecks") is not None else None, "job": SystemConfigJobDto.from_dict(obj["job"]) if obj.get("job") is not None else None, "library": SystemConfigLibraryDto.from_dict(obj["library"]) if obj.get("library") is not None else None, "logging": SystemConfigLoggingDto.from_dict(obj["logging"]) if obj.get("logging") is not None else None, @@ -189,6 +200,7 @@ class SystemConfigDto(BaseModel): "map": SystemConfigMapDto.from_dict(obj["map"]) if obj.get("map") is not None else None, "metadata": SystemConfigMetadataDto.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None, "newVersionCheck": SystemConfigNewVersionCheckDto.from_dict(obj["newVersionCheck"]) if obj.get("newVersionCheck") is not None else None, + "nightlyTasks": SystemConfigNightlyTasksDto.from_dict(obj["nightlyTasks"]) if obj.get("nightlyTasks") is not None else None, "notifications": SystemConfigNotificationsDto.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None, "oauth": SystemConfigOAuthDto.from_dict(obj["oauth"]) if obj.get("oauth") is not None else None, "passwordLogin": SystemConfigPasswordLoginDto.from_dict(obj["passwordLogin"]) if obj.get("passwordLogin") is not None else None, diff --git a/generated/immich/openapi_client/models/system_config_f_fmpeg_dto.py b/generated/immich/openapi_client/models/system_config_f_fmpeg_dto.py index 2ac62e2..197e425 100644 --- a/generated/immich/openapi_client/models/system_config_f_fmpeg_dto.py +++ b/generated/immich/openapi_client/models/system_config_f_fmpeg_dto.py @@ -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. @@ -22,6 +22,7 @@ from typing import Any, ClassVar, Dict, List from typing_extensions import Annotated from generated.immich.openapi_client.models.audio_codec import AudioCodec from generated.immich.openapi_client.models.cq_mode import CQMode +from generated.immich.openapi_client.models.system_config_f_fmpeg_realtime_dto import SystemConfigFFmpegRealtimeDto 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 @@ -35,27 +36,28 @@ class SystemConfigFFmpegDto(BaseModel): SystemConfigFFmpegDto """ # noqa: E501 accel: TranscodeHWAccel - accel_decode: StrictBool = Field(alias="accelDecode") - accepted_audio_codecs: List[AudioCodec] = Field(alias="acceptedAudioCodecs") - accepted_containers: List[VideoContainer] = Field(alias="acceptedContainers") - accepted_video_codecs: List[VideoCodec] = Field(alias="acceptedVideoCodecs") - bframes: Annotated[int, Field(le=16, strict=True, ge=-1)] + accel_decode: StrictBool = Field(description="Accelerated decode", alias="accelDecode") + accepted_audio_codecs: List[AudioCodec] = Field(description="Accepted audio codecs", alias="acceptedAudioCodecs") + accepted_containers: List[VideoContainer] = Field(description="Accepted containers", alias="acceptedContainers") + accepted_video_codecs: List[VideoCodec] = Field(description="Accepted video codecs", alias="acceptedVideoCodecs") + bframes: Annotated[int, Field(le=16, strict=True, ge=-1)] = Field(description="B-frames") cq_mode: CQMode = Field(alias="cqMode") - crf: Annotated[int, Field(le=51, strict=True, ge=0)] - gop_size: Annotated[int, Field(strict=True, ge=0)] = Field(alias="gopSize") - max_bitrate: StrictStr = Field(alias="maxBitrate") - preferred_hw_device: StrictStr = Field(alias="preferredHwDevice") - preset: StrictStr - refs: Annotated[int, Field(le=6, strict=True, ge=0)] + crf: Annotated[int, Field(le=51, strict=True, ge=0)] = Field(description="CRF") + gop_size: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="GOP size", alias="gopSize") + max_bitrate: StrictStr = Field(description="Max bitrate", alias="maxBitrate") + preferred_hw_device: StrictStr = Field(description="Preferred hardware device", alias="preferredHwDevice") + preset: StrictStr = Field(description="Preset") + realtime: SystemConfigFFmpegRealtimeDto + refs: Annotated[int, Field(le=6, strict=True, ge=0)] = Field(description="References") target_audio_codec: AudioCodec = Field(alias="targetAudioCodec") - target_resolution: StrictStr = Field(alias="targetResolution") + target_resolution: StrictStr = Field(description="Target resolution", alias="targetResolution") target_video_codec: VideoCodec = Field(alias="targetVideoCodec") - temporal_aq: StrictBool = Field(alias="temporalAQ") - threads: Annotated[int, Field(strict=True, ge=0)] + temporal_aq: StrictBool = Field(description="Temporal AQ", alias="temporalAQ") + threads: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Threads") tonemap: ToneMapping transcode: TranscodePolicy - two_pass: StrictBool = Field(alias="twoPass") - __properties: ClassVar[List[str]] = ["accel", "accelDecode", "acceptedAudioCodecs", "acceptedContainers", "acceptedVideoCodecs", "bframes", "cqMode", "crf", "gopSize", "maxBitrate", "preferredHwDevice", "preset", "refs", "targetAudioCodec", "targetResolution", "targetVideoCodec", "temporalAQ", "threads", "tonemap", "transcode", "twoPass"] + two_pass: StrictBool = Field(description="Two pass", alias="twoPass") + __properties: ClassVar[List[str]] = ["accel", "accelDecode", "acceptedAudioCodecs", "acceptedContainers", "acceptedVideoCodecs", "bframes", "cqMode", "crf", "gopSize", "maxBitrate", "preferredHwDevice", "preset", "realtime", "refs", "targetAudioCodec", "targetResolution", "targetVideoCodec", "temporalAQ", "threads", "tonemap", "transcode", "twoPass"] model_config = ConfigDict( populate_by_name=True, @@ -96,6 +98,9 @@ class SystemConfigFFmpegDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of realtime + if self.realtime: + _dict['realtime'] = self.realtime.to_dict() return _dict @classmethod @@ -120,6 +125,7 @@ class SystemConfigFFmpegDto(BaseModel): "maxBitrate": obj.get("maxBitrate"), "preferredHwDevice": obj.get("preferredHwDevice"), "preset": obj.get("preset"), + "realtime": SystemConfigFFmpegRealtimeDto.from_dict(obj["realtime"]) if obj.get("realtime") is not None else None, "refs": obj.get("refs"), "targetAudioCodec": obj.get("targetAudioCodec"), "targetResolution": obj.get("targetResolution"), diff --git a/generated/immich/openapi_client/models/system_config_faces_dto.py b/generated/immich/openapi_client/models/system_config_faces_dto.py index 3f007aa..737b04b 100644 --- a/generated/immich/openapi_client/models/system_config_faces_dto.py +++ b/generated/immich/openapi_client/models/system_config_faces_dto.py @@ -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 SystemConfigFacesDto(BaseModel): """ SystemConfigFacesDto """ # noqa: E501 - var_import: StrictBool = Field(alias="import") + var_import: StrictBool = Field(description="Import", alias="import") __properties: ClassVar[List[str]] = ["import"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_generated_fullsize_image_dto.py b/generated/immich/openapi_client/models/system_config_generated_fullsize_image_dto.py index 041f7c6..3d112ab 100644 --- a/generated/immich/openapi_client/models/system_config_generated_fullsize_image_dto.py +++ b/generated/immich/openapi_client/models/system_config_generated_fullsize_image_dto.py @@ -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 -from typing import Any, ClassVar, Dict, List +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from generated.immich.openapi_client.models.image_format import ImageFormat from typing import Optional, Set @@ -28,10 +28,11 @@ class SystemConfigGeneratedFullsizeImageDto(BaseModel): """ SystemConfigGeneratedFullsizeImageDto """ # noqa: E501 - enabled: StrictBool + enabled: StrictBool = Field(description="Enabled") format: ImageFormat - quality: Annotated[int, Field(le=100, strict=True, ge=1)] - __properties: ClassVar[List[str]] = ["enabled", "format", "quality"] + progressive: Optional[StrictBool] = Field(default=None, description="Progressive") + quality: Annotated[int, Field(le=100, strict=True, ge=1)] = Field(description="Quality") + __properties: ClassVar[List[str]] = ["enabled", "format", "progressive", "quality"] model_config = ConfigDict( populate_by_name=True, @@ -86,6 +87,7 @@ class SystemConfigGeneratedFullsizeImageDto(BaseModel): _obj = cls.model_validate({ "enabled": obj.get("enabled"), "format": obj.get("format"), + "progressive": obj.get("progressive"), "quality": obj.get("quality") }) return _obj diff --git a/generated/immich/openapi_client/models/system_config_generated_image_dto.py b/generated/immich/openapi_client/models/system_config_generated_image_dto.py index 566955f..f97ae86 100644 --- a/generated/immich/openapi_client/models/system_config_generated_image_dto.py +++ b/generated/immich/openapi_client/models/system_config_generated_image_dto.py @@ -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 -from typing import Any, ClassVar, Dict, List +from pydantic import BaseModel, ConfigDict, Field, StrictBool +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from generated.immich.openapi_client.models.image_format import ImageFormat from typing import Optional, Set @@ -29,9 +29,10 @@ class SystemConfigGeneratedImageDto(BaseModel): SystemConfigGeneratedImageDto """ # noqa: E501 format: ImageFormat - quality: Annotated[int, Field(le=100, strict=True, ge=1)] - size: Annotated[int, Field(strict=True, ge=1)] - __properties: ClassVar[List[str]] = ["format", "quality", "size"] + progressive: Optional[StrictBool] = Field(default=None, description="Progressive") + quality: Annotated[int, Field(le=100, strict=True, ge=1)] = Field(description="Quality") + size: Annotated[int, Field(le=9007199254740991, strict=True, ge=1)] = Field(description="Size") + __properties: ClassVar[List[str]] = ["format", "progressive", "quality", "size"] model_config = ConfigDict( populate_by_name=True, @@ -85,6 +86,7 @@ class SystemConfigGeneratedImageDto(BaseModel): _obj = cls.model_validate({ "format": obj.get("format"), + "progressive": obj.get("progressive"), "quality": obj.get("quality"), "size": obj.get("size") }) diff --git a/generated/immich/openapi_client/models/system_config_image_dto.py b/generated/immich/openapi_client/models/system_config_image_dto.py index f3a9240..6af96b0 100644 --- a/generated/immich/openapi_client/models/system_config_image_dto.py +++ b/generated/immich/openapi_client/models/system_config_image_dto.py @@ -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. @@ -30,7 +30,7 @@ class SystemConfigImageDto(BaseModel): SystemConfigImageDto """ # noqa: E501 colorspace: Colorspace - extract_embedded: StrictBool = Field(alias="extractEmbedded") + extract_embedded: StrictBool = Field(description="Extract embedded", alias="extractEmbedded") fullsize: SystemConfigGeneratedFullsizeImageDto preview: SystemConfigGeneratedImageDto thumbnail: SystemConfigGeneratedImageDto diff --git a/generated/immich/openapi_client/models/system_config_job_dto.py b/generated/immich/openapi_client/models/system_config_job_dto.py index 0a53f90..add9260 100644 --- a/generated/immich/openapi_client/models/system_config_job_dto.py +++ b/generated/immich/openapi_client/models/system_config_job_dto.py @@ -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,17 +28,21 @@ class SystemConfigJobDto(BaseModel): SystemConfigJobDto """ # noqa: E501 background_task: JobSettingsDto = Field(alias="backgroundTask") + editor: JobSettingsDto face_detection: JobSettingsDto = Field(alias="faceDetection") + integrity_check: JobSettingsDto = Field(alias="integrityCheck") library: JobSettingsDto metadata_extraction: JobSettingsDto = Field(alias="metadataExtraction") migration: JobSettingsDto notifications: JobSettingsDto + ocr: JobSettingsDto search: JobSettingsDto sidecar: JobSettingsDto smart_search: JobSettingsDto = Field(alias="smartSearch") thumbnail_generation: JobSettingsDto = Field(alias="thumbnailGeneration") video_conversion: JobSettingsDto = Field(alias="videoConversion") - __properties: ClassVar[List[str]] = ["backgroundTask", "faceDetection", "library", "metadataExtraction", "migration", "notifications", "search", "sidecar", "smartSearch", "thumbnailGeneration", "videoConversion"] + workflow: JobSettingsDto + __properties: ClassVar[List[str]] = ["backgroundTask", "editor", "faceDetection", "integrityCheck", "library", "metadataExtraction", "migration", "notifications", "ocr", "search", "sidecar", "smartSearch", "thumbnailGeneration", "videoConversion", "workflow"] model_config = ConfigDict( populate_by_name=True, @@ -82,9 +86,15 @@ class SystemConfigJobDto(BaseModel): # 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 editor + if self.editor: + _dict['editor'] = self.editor.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 integrity_check + if self.integrity_check: + _dict['integrityCheck'] = self.integrity_check.to_dict() # override the default output from pydantic by calling `to_dict()` of library if self.library: _dict['library'] = self.library.to_dict() @@ -97,6 +107,9 @@ class SystemConfigJobDto(BaseModel): # 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 ocr + if self.ocr: + _dict['ocr'] = self.ocr.to_dict() # override the default output from pydantic by calling `to_dict()` of search if self.search: _dict['search'] = self.search.to_dict() @@ -112,6 +125,9 @@ class SystemConfigJobDto(BaseModel): # override the default output from pydantic by calling `to_dict()` of video_conversion if self.video_conversion: _dict['videoConversion'] = self.video_conversion.to_dict() + # override the default output from pydantic by calling `to_dict()` of workflow + if self.workflow: + _dict['workflow'] = self.workflow.to_dict() return _dict @classmethod @@ -125,16 +141,20 @@ class SystemConfigJobDto(BaseModel): _obj = cls.model_validate({ "backgroundTask": JobSettingsDto.from_dict(obj["backgroundTask"]) if obj.get("backgroundTask") is not None else None, + "editor": JobSettingsDto.from_dict(obj["editor"]) if obj.get("editor") is not None else None, "faceDetection": JobSettingsDto.from_dict(obj["faceDetection"]) if obj.get("faceDetection") is not None else None, + "integrityCheck": JobSettingsDto.from_dict(obj["integrityCheck"]) if obj.get("integrityCheck") is not None else None, "library": JobSettingsDto.from_dict(obj["library"]) if obj.get("library") is not None else None, "metadataExtraction": JobSettingsDto.from_dict(obj["metadataExtraction"]) if obj.get("metadataExtraction") is not None else None, "migration": JobSettingsDto.from_dict(obj["migration"]) if obj.get("migration") is not None else None, "notifications": JobSettingsDto.from_dict(obj["notifications"]) if obj.get("notifications") is not None else None, + "ocr": JobSettingsDto.from_dict(obj["ocr"]) if obj.get("ocr") is not None else None, "search": JobSettingsDto.from_dict(obj["search"]) if obj.get("search") is not None else None, "sidecar": JobSettingsDto.from_dict(obj["sidecar"]) if obj.get("sidecar") is not None else None, "smartSearch": JobSettingsDto.from_dict(obj["smartSearch"]) if obj.get("smartSearch") is not None else None, "thumbnailGeneration": JobSettingsDto.from_dict(obj["thumbnailGeneration"]) if obj.get("thumbnailGeneration") is not None else None, - "videoConversion": JobSettingsDto.from_dict(obj["videoConversion"]) if obj.get("videoConversion") is not None else None + "videoConversion": JobSettingsDto.from_dict(obj["videoConversion"]) if obj.get("videoConversion") is not None else None, + "workflow": JobSettingsDto.from_dict(obj["workflow"]) if obj.get("workflow") is not None else None }) return _obj diff --git a/generated/immich/openapi_client/models/system_config_library_dto.py b/generated/immich/openapi_client/models/system_config_library_dto.py index c360f72..0e8797e 100644 --- a/generated/immich/openapi_client/models/system_config_library_dto.py +++ b/generated/immich/openapi_client/models/system_config_library_dto.py @@ -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. diff --git a/generated/immich/openapi_client/models/system_config_library_scan_dto.py b/generated/immich/openapi_client/models/system_config_library_scan_dto.py index 6a48d59..c326c59 100644 --- a/generated/immich/openapi_client/models/system_config_library_scan_dto.py +++ b/generated/immich/openapi_client/models/system_config_library_scan_dto.py @@ -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 SystemConfigLibraryScanDto(BaseModel): """ SystemConfigLibraryScanDto """ # noqa: E501 - cron_expression: StrictStr = Field(alias="cronExpression") - enabled: StrictBool + cron_expression: StrictStr = Field(description="Cron expression", alias="cronExpression") + enabled: StrictBool = Field(description="Enabled") __properties: ClassVar[List[str]] = ["cronExpression", "enabled"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_library_watch_dto.py b/generated/immich/openapi_client/models/system_config_library_watch_dto.py index d0a59dd..ded2a70 100644 --- a/generated/immich/openapi_client/models/system_config_library_watch_dto.py +++ b/generated/immich/openapi_client/models/system_config_library_watch_dto.py @@ -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 SystemConfigLibraryWatchDto(BaseModel): """ SystemConfigLibraryWatchDto """ # noqa: E501 - enabled: StrictBool + enabled: StrictBool = Field(description="Enabled") __properties: ClassVar[List[str]] = ["enabled"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_logging_dto.py b/generated/immich/openapi_client/models/system_config_logging_dto.py index 0ee89ad..007fba2 100644 --- a/generated/immich/openapi_client/models/system_config_logging_dto.py +++ b/generated/immich/openapi_client/models/system_config_logging_dto.py @@ -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 generated.immich.openapi_client.models.log_level import LogLevel from typing import Optional, Set @@ -27,7 +27,7 @@ class SystemConfigLoggingDto(BaseModel): """ SystemConfigLoggingDto """ # noqa: E501 - enabled: StrictBool + enabled: StrictBool = Field(description="Enabled") level: LogLevel __properties: ClassVar[List[str]] = ["enabled", "level"] diff --git a/generated/immich/openapi_client/models/system_config_machine_learning_dto.py b/generated/immich/openapi_client/models/system_config_machine_learning_dto.py index 10a9f62..541171b 100644 --- a/generated/immich/openapi_client/models/system_config_machine_learning_dto.py +++ b/generated/immich/openapi_client/models/system_config_machine_learning_dto.py @@ -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,11 +18,13 @@ import re # noqa: F401 import json from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Optional +from typing import Any, ClassVar, Dict, List from typing_extensions import Annotated from generated.immich.openapi_client.models.clip_config import CLIPConfig from generated.immich.openapi_client.models.duplicate_detection_config import DuplicateDetectionConfig from generated.immich.openapi_client.models.facial_recognition_config import FacialRecognitionConfig +from generated.immich.openapi_client.models.machine_learning_availability_checks_dto import MachineLearningAvailabilityChecksDto +from generated.immich.openapi_client.models.ocr_config import OcrConfig from typing import Optional, Set from typing_extensions import Self @@ -30,13 +32,14 @@ class SystemConfigMachineLearningDto(BaseModel): """ SystemConfigMachineLearningDto """ # noqa: E501 + availability_checks: MachineLearningAvailabilityChecksDto = Field(alias="availabilityChecks") clip: CLIPConfig duplicate_detection: DuplicateDetectionConfig = Field(alias="duplicateDetection") - enabled: StrictBool + enabled: StrictBool = Field(description="Enabled") facial_recognition: FacialRecognitionConfig = Field(alias="facialRecognition") - url: Optional[StrictStr] = Field(default=None, description="This property was deprecated in v1.122.0") - urls: Annotated[List[StrictStr], Field(min_length=1)] - __properties: ClassVar[List[str]] = ["clip", "duplicateDetection", "enabled", "facialRecognition", "url", "urls"] + ocr: OcrConfig + urls: Annotated[List[StrictStr], Field(min_length=1)] = Field(description="ML service URLs") + __properties: ClassVar[List[str]] = ["availabilityChecks", "clip", "duplicateDetection", "enabled", "facialRecognition", "ocr", "urls"] model_config = ConfigDict( populate_by_name=True, @@ -77,6 +80,9 @@ class SystemConfigMachineLearningDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of availability_checks + if self.availability_checks: + _dict['availabilityChecks'] = self.availability_checks.to_dict() # override the default output from pydantic by calling `to_dict()` of clip if self.clip: _dict['clip'] = self.clip.to_dict() @@ -86,6 +92,9 @@ class SystemConfigMachineLearningDto(BaseModel): # 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 ocr + if self.ocr: + _dict['ocr'] = self.ocr.to_dict() return _dict @classmethod @@ -98,11 +107,12 @@ class SystemConfigMachineLearningDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "availabilityChecks": MachineLearningAvailabilityChecksDto.from_dict(obj["availabilityChecks"]) if obj.get("availabilityChecks") is not None else None, "clip": CLIPConfig.from_dict(obj["clip"]) if obj.get("clip") is not None else None, "duplicateDetection": DuplicateDetectionConfig.from_dict(obj["duplicateDetection"]) if obj.get("duplicateDetection") is not None else None, "enabled": obj.get("enabled"), "facialRecognition": FacialRecognitionConfig.from_dict(obj["facialRecognition"]) if obj.get("facialRecognition") is not None else None, - "url": obj.get("url"), + "ocr": OcrConfig.from_dict(obj["ocr"]) if obj.get("ocr") is not None else None, "urls": obj.get("urls") }) return _obj diff --git a/generated/immich/openapi_client/models/system_config_map_dto.py b/generated/immich/openapi_client/models/system_config_map_dto.py index 725ec90..ac9431a 100644 --- a/generated/immich/openapi_client/models/system_config_map_dto.py +++ b/generated/immich/openapi_client/models/system_config_map_dto.py @@ -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 SystemConfigMapDto(BaseModel): """ SystemConfigMapDto """ # noqa: E501 - dark_style: StrictStr = Field(alias="darkStyle") - enabled: StrictBool - light_style: StrictStr = Field(alias="lightStyle") + dark_style: StrictStr = Field(description="Dark map style URL", alias="darkStyle") + enabled: StrictBool = Field(description="Enabled") + light_style: StrictStr = Field(description="Light map style URL", alias="lightStyle") __properties: ClassVar[List[str]] = ["darkStyle", "enabled", "lightStyle"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_metadata_dto.py b/generated/immich/openapi_client/models/system_config_metadata_dto.py index 29a80be..d173f79 100644 --- a/generated/immich/openapi_client/models/system_config_metadata_dto.py +++ b/generated/immich/openapi_client/models/system_config_metadata_dto.py @@ -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. diff --git a/generated/immich/openapi_client/models/system_config_new_version_check_dto.py b/generated/immich/openapi_client/models/system_config_new_version_check_dto.py index 01ef91f..5269223 100644 --- a/generated/immich/openapi_client/models/system_config_new_version_check_dto.py +++ b/generated/immich/openapi_client/models/system_config_new_version_check_dto.py @@ -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 generated.immich.openapi_client.models.release_channel import ReleaseChannel from typing import Optional, Set from typing_extensions import Self @@ -26,8 +27,9 @@ class SystemConfigNewVersionCheckDto(BaseModel): """ SystemConfigNewVersionCheckDto """ # noqa: E501 - enabled: StrictBool - __properties: ClassVar[List[str]] = ["enabled"] + channel: ReleaseChannel + enabled: StrictBool = Field(description="Enabled") + __properties: ClassVar[List[str]] = ["channel", "enabled"] model_config = ConfigDict( populate_by_name=True, @@ -80,6 +82,7 @@ class SystemConfigNewVersionCheckDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "channel": obj.get("channel"), "enabled": obj.get("enabled") }) return _obj diff --git a/generated/immich/openapi_client/models/system_config_notifications_dto.py b/generated/immich/openapi_client/models/system_config_notifications_dto.py index 7890e43..2c44c60 100644 --- a/generated/immich/openapi_client/models/system_config_notifications_dto.py +++ b/generated/immich/openapi_client/models/system_config_notifications_dto.py @@ -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. diff --git a/generated/immich/openapi_client/models/system_config_o_auth_dto.py b/generated/immich/openapi_client/models/system_config_o_auth_dto.py index dc60bf8..a3b35aa 100644 --- a/generated/immich/openapi_client/models/system_config_o_auth_dto.py +++ b/generated/immich/openapi_client/models/system_config_o_auth_dto.py @@ -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 pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr -from typing import Any, ClassVar, Dict, List, Union +from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from generated.immich.openapi_client.models.o_auth_token_endpoint_auth_method import OAuthTokenEndpointAuthMethod from typing import Optional, Set from typing_extensions import Self @@ -27,22 +28,28 @@ class SystemConfigOAuthDto(BaseModel): """ SystemConfigOAuthDto """ # noqa: E501 - auto_launch: StrictBool = Field(alias="autoLaunch") - auto_register: StrictBool = Field(alias="autoRegister") - button_text: StrictStr = Field(alias="buttonText") - client_id: StrictStr = Field(alias="clientId") - client_secret: StrictStr = Field(alias="clientSecret") - default_storage_quota: Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]] = Field(alias="defaultStorageQuota") - enabled: StrictBool - issuer_url: StrictStr = Field(alias="issuerUrl") - mobile_override_enabled: StrictBool = Field(alias="mobileOverrideEnabled") - mobile_redirect_uri: StrictStr = Field(alias="mobileRedirectUri") - profile_signing_algorithm: StrictStr = Field(alias="profileSigningAlgorithm") - scope: StrictStr - signing_algorithm: StrictStr = Field(alias="signingAlgorithm") - storage_label_claim: StrictStr = Field(alias="storageLabelClaim") - storage_quota_claim: StrictStr = Field(alias="storageQuotaClaim") - __properties: ClassVar[List[str]] = ["autoLaunch", "autoRegister", "buttonText", "clientId", "clientSecret", "defaultStorageQuota", "enabled", "issuerUrl", "mobileOverrideEnabled", "mobileRedirectUri", "profileSigningAlgorithm", "scope", "signingAlgorithm", "storageLabelClaim", "storageQuotaClaim"] + allow_insecure_requests: StrictBool = Field(description="Allow insecure requests", alias="allowInsecureRequests") + auto_launch: StrictBool = Field(description="Auto launch", alias="autoLaunch") + auto_register: StrictBool = Field(description="Auto register", alias="autoRegister") + button_text: StrictStr = Field(description="Button text", alias="buttonText") + client_id: StrictStr = Field(description="Client ID", alias="clientId") + client_secret: StrictStr = Field(description="Client secret", alias="clientSecret") + default_storage_quota: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(description="Default storage quota", alias="defaultStorageQuota") + enabled: StrictBool = Field(description="Enabled") + end_session_endpoint: StrictStr = Field(description="End session endpoint", alias="endSessionEndpoint") + issuer_url: StrictStr = Field(description="Issuer URL", alias="issuerUrl") + mobile_override_enabled: StrictBool = Field(description="Mobile override enabled", alias="mobileOverrideEnabled") + mobile_redirect_uri: StrictStr = Field(description="Mobile redirect URI (set to empty string to disable)", alias="mobileRedirectUri") + profile_signing_algorithm: StrictStr = Field(description="Profile signing algorithm", alias="profileSigningAlgorithm") + prompt: StrictStr = Field(description="OAuth prompt parameter (e.g. select_account, login, consent)") + role_claim: StrictStr = Field(description="Role claim", alias="roleClaim") + scope: StrictStr = Field(description="Scope") + signing_algorithm: StrictStr = Field(description="Signing algorithm", alias="signingAlgorithm") + storage_label_claim: StrictStr = Field(description="Storage label claim", alias="storageLabelClaim") + storage_quota_claim: StrictStr = Field(description="Storage quota claim", alias="storageQuotaClaim") + timeout: Annotated[int, Field(le=9007199254740991, strict=True, ge=1)] = Field(description="Timeout") + token_endpoint_auth_method: OAuthTokenEndpointAuthMethod = Field(alias="tokenEndpointAuthMethod") + __properties: ClassVar[List[str]] = ["allowInsecureRequests", "autoLaunch", "autoRegister", "buttonText", "clientId", "clientSecret", "defaultStorageQuota", "enabled", "endSessionEndpoint", "issuerUrl", "mobileOverrideEnabled", "mobileRedirectUri", "profileSigningAlgorithm", "prompt", "roleClaim", "scope", "signingAlgorithm", "storageLabelClaim", "storageQuotaClaim", "timeout", "tokenEndpointAuthMethod"] model_config = ConfigDict( populate_by_name=True, @@ -83,6 +90,11 @@ class SystemConfigOAuthDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if default_storage_quota (nullable) is None + # and model_fields_set contains the field + if self.default_storage_quota is None and "default_storage_quota" in self.model_fields_set: + _dict['defaultStorageQuota'] = None + return _dict @classmethod @@ -95,6 +107,7 @@ class SystemConfigOAuthDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "allowInsecureRequests": obj.get("allowInsecureRequests"), "autoLaunch": obj.get("autoLaunch"), "autoRegister": obj.get("autoRegister"), "buttonText": obj.get("buttonText"), @@ -102,14 +115,19 @@ class SystemConfigOAuthDto(BaseModel): "clientSecret": obj.get("clientSecret"), "defaultStorageQuota": obj.get("defaultStorageQuota"), "enabled": obj.get("enabled"), + "endSessionEndpoint": obj.get("endSessionEndpoint"), "issuerUrl": obj.get("issuerUrl"), "mobileOverrideEnabled": obj.get("mobileOverrideEnabled"), "mobileRedirectUri": obj.get("mobileRedirectUri"), "profileSigningAlgorithm": obj.get("profileSigningAlgorithm"), + "prompt": obj.get("prompt"), + "roleClaim": obj.get("roleClaim"), "scope": obj.get("scope"), "signingAlgorithm": obj.get("signingAlgorithm"), "storageLabelClaim": obj.get("storageLabelClaim"), - "storageQuotaClaim": obj.get("storageQuotaClaim") + "storageQuotaClaim": obj.get("storageQuotaClaim"), + "timeout": obj.get("timeout"), + "tokenEndpointAuthMethod": obj.get("tokenEndpointAuthMethod") }) return _obj diff --git a/generated/immich/openapi_client/models/system_config_password_login_dto.py b/generated/immich/openapi_client/models/system_config_password_login_dto.py index f9d50da..6dd6bf0 100644 --- a/generated/immich/openapi_client/models/system_config_password_login_dto.py +++ b/generated/immich/openapi_client/models/system_config_password_login_dto.py @@ -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 SystemConfigPasswordLoginDto(BaseModel): """ SystemConfigPasswordLoginDto """ # noqa: E501 - enabled: StrictBool + enabled: StrictBool = Field(description="Enabled") __properties: ClassVar[List[str]] = ["enabled"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_reverse_geocoding_dto.py b/generated/immich/openapi_client/models/system_config_reverse_geocoding_dto.py index 43b9740..300877a 100644 --- a/generated/immich/openapi_client/models/system_config_reverse_geocoding_dto.py +++ b/generated/immich/openapi_client/models/system_config_reverse_geocoding_dto.py @@ -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 SystemConfigReverseGeocodingDto(BaseModel): """ SystemConfigReverseGeocodingDto """ # noqa: E501 - enabled: StrictBool + enabled: StrictBool = Field(description="Enabled") __properties: ClassVar[List[str]] = ["enabled"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_server_dto.py b/generated/immich/openapi_client/models/system_config_server_dto.py index 9c203f9..662f567 100644 --- a/generated/immich/openapi_client/models/system_config_server_dto.py +++ b/generated/immich/openapi_client/models/system_config_server_dto.py @@ -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 SystemConfigServerDto(BaseModel): """ SystemConfigServerDto """ # noqa: E501 - external_domain: StrictStr = Field(alias="externalDomain") - login_page_message: StrictStr = Field(alias="loginPageMessage") - public_users: StrictBool = Field(alias="publicUsers") + external_domain: StrictStr = Field(description="External domain", alias="externalDomain") + login_page_message: StrictStr = Field(description="Login page message", alias="loginPageMessage") + public_users: StrictBool = Field(description="Public users", alias="publicUsers") __properties: ClassVar[List[str]] = ["externalDomain", "loginPageMessage", "publicUsers"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_smtp_dto.py b/generated/immich/openapi_client/models/system_config_smtp_dto.py index 165ace6..5bb3db0 100644 --- a/generated/immich/openapi_client/models/system_config_smtp_dto.py +++ b/generated/immich/openapi_client/models/system_config_smtp_dto.py @@ -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,9 +27,9 @@ class SystemConfigSmtpDto(BaseModel): """ SystemConfigSmtpDto """ # noqa: E501 - enabled: StrictBool - var_from: StrictStr = Field(alias="from") - reply_to: StrictStr = Field(alias="replyTo") + enabled: StrictBool = Field(description="Whether SMTP email notifications are enabled") + var_from: StrictStr = Field(description="Email address to send from", alias="from") + reply_to: StrictStr = Field(description="Email address for replies", alias="replyTo") transport: SystemConfigSmtpTransportDto __properties: ClassVar[List[str]] = ["enabled", "from", "replyTo", "transport"] diff --git a/generated/immich/openapi_client/models/system_config_smtp_transport_dto.py b/generated/immich/openapi_client/models/system_config_smtp_transport_dto.py index 4f3d819..73bda41 100644 --- a/generated/immich/openapi_client/models/system_config_smtp_transport_dto.py +++ b/generated/immich/openapi_client/models/system_config_smtp_transport_dto.py @@ -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,12 +27,13 @@ class SystemConfigSmtpTransportDto(BaseModel): """ SystemConfigSmtpTransportDto """ # noqa: E501 - host: StrictStr - ignore_cert: StrictBool = Field(alias="ignoreCert") - password: StrictStr - port: Union[Annotated[float, Field(le=65535, strict=True, ge=0)], Annotated[int, Field(le=65535, strict=True, ge=0)]] - username: StrictStr - __properties: ClassVar[List[str]] = ["host", "ignoreCert", "password", "port", "username"] + host: StrictStr = Field(description="SMTP server hostname") + ignore_cert: StrictBool = Field(description="Whether to ignore SSL certificate errors", alias="ignoreCert") + password: StrictStr = Field(description="SMTP password") + port: Annotated[int, Field(le=65535, strict=True, ge=0)] = Field(description="SMTP server port") + secure: StrictBool = Field(description="Whether to use secure connection (TLS/SSL)") + username: StrictStr = Field(description="SMTP username") + __properties: ClassVar[List[str]] = ["host", "ignoreCert", "password", "port", "secure", "username"] model_config = ConfigDict( populate_by_name=True, @@ -89,6 +90,7 @@ class SystemConfigSmtpTransportDto(BaseModel): "ignoreCert": obj.get("ignoreCert"), "password": obj.get("password"), "port": obj.get("port"), + "secure": obj.get("secure"), "username": obj.get("username") }) return _obj diff --git a/generated/immich/openapi_client/models/system_config_storage_template_dto.py b/generated/immich/openapi_client/models/system_config_storage_template_dto.py index 44c39b0..50a3d53 100644 --- a/generated/immich/openapi_client/models/system_config_storage_template_dto.py +++ b/generated/immich/openapi_client/models/system_config_storage_template_dto.py @@ -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 SystemConfigStorageTemplateDto(BaseModel): """ SystemConfigStorageTemplateDto """ # noqa: E501 - enabled: StrictBool - hash_verification_enabled: StrictBool = Field(alias="hashVerificationEnabled") - template: StrictStr + enabled: StrictBool = Field(description="Enabled") + hash_verification_enabled: StrictBool = Field(description="Hash verification enabled", alias="hashVerificationEnabled") + template: StrictStr = Field(description="Template") __properties: ClassVar[List[str]] = ["enabled", "hashVerificationEnabled", "template"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_template_emails_dto.py b/generated/immich/openapi_client/models/system_config_template_emails_dto.py index e57f58a..eae49de 100644 --- a/generated/immich/openapi_client/models/system_config_template_emails_dto.py +++ b/generated/immich/openapi_client/models/system_config_template_emails_dto.py @@ -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 SystemConfigTemplateEmailsDto(BaseModel): """ SystemConfigTemplateEmailsDto """ # noqa: E501 - album_invite_template: StrictStr = Field(alias="albumInviteTemplate") - album_update_template: StrictStr = Field(alias="albumUpdateTemplate") - welcome_template: StrictStr = Field(alias="welcomeTemplate") + album_invite_template: StrictStr = Field(description="Album invite template", alias="albumInviteTemplate") + album_update_template: StrictStr = Field(description="Album update template", alias="albumUpdateTemplate") + welcome_template: StrictStr = Field(description="Welcome template", alias="welcomeTemplate") __properties: ClassVar[List[str]] = ["albumInviteTemplate", "albumUpdateTemplate", "welcomeTemplate"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_template_storage_option_dto.py b/generated/immich/openapi_client/models/system_config_template_storage_option_dto.py index d66bbee..4a69fb3 100644 --- a/generated/immich/openapi_client/models/system_config_template_storage_option_dto.py +++ b/generated/immich/openapi_client/models/system_config_template_storage_option_dto.py @@ -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,14 +26,14 @@ class SystemConfigTemplateStorageOptionDto(BaseModel): """ SystemConfigTemplateStorageOptionDto """ # noqa: E501 - day_options: List[StrictStr] = Field(alias="dayOptions") - hour_options: List[StrictStr] = Field(alias="hourOptions") - minute_options: List[StrictStr] = Field(alias="minuteOptions") - month_options: List[StrictStr] = Field(alias="monthOptions") - preset_options: List[StrictStr] = Field(alias="presetOptions") - second_options: List[StrictStr] = Field(alias="secondOptions") - week_options: List[StrictStr] = Field(alias="weekOptions") - year_options: List[StrictStr] = Field(alias="yearOptions") + day_options: List[StrictStr] = Field(description="Available day format options for storage template", alias="dayOptions") + hour_options: List[StrictStr] = Field(description="Available hour format options for storage template", alias="hourOptions") + minute_options: List[StrictStr] = Field(description="Available minute format options for storage template", alias="minuteOptions") + month_options: List[StrictStr] = Field(description="Available month format options for storage template", alias="monthOptions") + preset_options: List[StrictStr] = Field(description="Available preset template options", alias="presetOptions") + second_options: List[StrictStr] = Field(description="Available second format options for storage template", alias="secondOptions") + week_options: List[StrictStr] = Field(description="Available week format options for storage template", alias="weekOptions") + year_options: List[StrictStr] = Field(description="Available year format options for storage template", alias="yearOptions") __properties: ClassVar[List[str]] = ["dayOptions", "hourOptions", "minuteOptions", "monthOptions", "presetOptions", "secondOptions", "weekOptions", "yearOptions"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_templates_dto.py b/generated/immich/openapi_client/models/system_config_templates_dto.py index 30fc648..63cd09d 100644 --- a/generated/immich/openapi_client/models/system_config_templates_dto.py +++ b/generated/immich/openapi_client/models/system_config_templates_dto.py @@ -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. diff --git a/generated/immich/openapi_client/models/system_config_theme_dto.py b/generated/immich/openapi_client/models/system_config_theme_dto.py index 43789e9..9dc8461 100644 --- a/generated/immich/openapi_client/models/system_config_theme_dto.py +++ b/generated/immich/openapi_client/models/system_config_theme_dto.py @@ -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 SystemConfigThemeDto(BaseModel): """ SystemConfigThemeDto """ # noqa: E501 - custom_css: StrictStr = Field(alias="customCss") + custom_css: StrictStr = Field(description="Custom CSS for theming", alias="customCss") __properties: ClassVar[List[str]] = ["customCss"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_trash_dto.py b/generated/immich/openapi_client/models/system_config_trash_dto.py index 51dce3b..2f0e0e0 100644 --- a/generated/immich/openapi_client/models/system_config_trash_dto.py +++ b/generated/immich/openapi_client/models/system_config_trash_dto.py @@ -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 SystemConfigTrashDto(BaseModel): """ SystemConfigTrashDto """ # noqa: E501 - days: Annotated[int, Field(strict=True, ge=0)] - enabled: StrictBool + days: Annotated[int, Field(le=9007199254740991, strict=True, ge=0)] = Field(description="Days") + enabled: StrictBool = Field(description="Enabled") __properties: ClassVar[List[str]] = ["days", "enabled"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/system_config_user_dto.py b/generated/immich/openapi_client/models/system_config_user_dto.py index a2e504a..ce6d7f5 100644 --- a/generated/immich/openapi_client/models/system_config_user_dto.py +++ b/generated/immich/openapi_client/models/system_config_user_dto.py @@ -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 SystemConfigUserDto(BaseModel): """ SystemConfigUserDto """ # noqa: E501 - delete_delay: Annotated[int, Field(strict=True, ge=1)] = Field(alias="deleteDelay") + delete_delay: Annotated[int, Field(le=9007199254740991, strict=True, ge=1)] = Field(description="Delete delay", alias="deleteDelay") __properties: ClassVar[List[str]] = ["deleteDelay"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/tag_bulk_assets_dto.py b/generated/immich/openapi_client/models/tag_bulk_assets_dto.py index 0bf0007..020f3f8 100644 --- a/generated/immich/openapi_client/models/tag_bulk_assets_dto.py +++ b/generated/immich/openapi_client/models/tag_bulk_assets_dto.py @@ -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,8 +27,8 @@ class TagBulkAssetsDto(BaseModel): """ TagBulkAssetsDto """ # noqa: E501 - asset_ids: List[StrictStr] = Field(alias="assetIds") - tag_ids: List[StrictStr] = Field(alias="tagIds") + asset_ids: List[UUID] = Field(description="Asset IDs", alias="assetIds") + tag_ids: List[UUID] = Field(description="Tag IDs", alias="tagIds") __properties: ClassVar[List[str]] = ["assetIds", "tagIds"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/tag_bulk_assets_response_dto.py b/generated/immich/openapi_client/models/tag_bulk_assets_response_dto.py index 2e52e95..31f976b 100644 --- a/generated/immich/openapi_client/models/tag_bulk_assets_response_dto.py +++ b/generated/immich/openapi_client/models/tag_bulk_assets_response_dto.py @@ -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,7 +27,7 @@ class TagBulkAssetsResponseDto(BaseModel): """ TagBulkAssetsResponseDto """ # noqa: E501 - count: StrictInt + count: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of assets tagged") __properties: ClassVar[List[str]] = ["count"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/tag_create_dto.py b/generated/immich/openapi_client/models/tag_create_dto.py index 6e3cf1d..f64b99a 100644 --- a/generated/immich/openapi_client/models/tag_create_dto.py +++ b/generated/immich/openapi_client/models/tag_create_dto.py @@ -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, field_validator 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,9 +28,9 @@ class TagCreateDto(BaseModel): """ TagCreateDto """ # noqa: E501 - color: Optional[Annotated[str, Field(strict=True)]] = None - name: StrictStr - parent_id: Optional[StrictStr] = Field(default=None, alias="parentId") + color: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Tag color (hex)") + name: StrictStr = Field(description="Tag name") + parent_id: Optional[UUID] = Field(default=None, description="Parent tag ID", alias="parentId") __properties: ClassVar[List[str]] = ["color", "name", "parentId"] @field_validator('color') @@ -38,8 +39,18 @@ class TagCreateDto(BaseModel): if value is None: return value - if not re.match(r"^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$", value): - raise ValueError(r"must validate the regular expression /^#?([0-9A-F]{3}|[0-9A-F]{4}|[0-9A-F]{6}|[0-9A-F]{8})$/") + if not re.match(r"^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$", value): + raise ValueError(r"must validate the regular expression /^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/") + return value + + @field_validator('parent_id') + def parent_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( @@ -81,6 +92,11 @@ class TagCreateDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if color (nullable) is None + # and model_fields_set contains the field + if self.color is None and "color" in self.model_fields_set: + _dict['color'] = None + # set to None if parent_id (nullable) is None # and model_fields_set contains the field if self.parent_id is None and "parent_id" in self.model_fields_set: diff --git a/generated/immich/openapi_client/models/tag_response_dto.py b/generated/immich/openapi_client/models/tag_response_dto.py index d23a4d3..fc10f04 100644 --- a/generated/immich/openapi_client/models/tag_response_dto.py +++ b/generated/immich/openapi_client/models/tag_response_dto.py @@ -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 typing import Optional, Set from typing_extensions import Self @@ -27,15 +28,22 @@ class TagResponseDto(BaseModel): """ TagResponseDto """ # noqa: E501 - color: Optional[StrictStr] = None - created_at: datetime = Field(alias="createdAt") - id: StrictStr - name: StrictStr - parent_id: Optional[StrictStr] = Field(default=None, alias="parentId") - updated_at: datetime = Field(alias="updatedAt") - value: StrictStr + color: Optional[StrictStr] = Field(default=None, description="Tag color (hex)") + created_at: datetime = Field(description="Creation date", alias="createdAt") + id: UUID = Field(description="Tag ID") + name: StrictStr = Field(description="Tag name") + parent_id: Optional[StrictStr] = Field(default=None, description="Parent tag ID", alias="parentId") + updated_at: datetime = Field(description="Last update date", alias="updatedAt") + value: StrictStr = Field(description="Tag value (full path)") __properties: ClassVar[List[str]] = ["color", "createdAt", "id", "name", "parentId", "updatedAt", "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, diff --git a/generated/immich/openapi_client/models/tag_update_dto.py b/generated/immich/openapi_client/models/tag_update_dto.py index 4b2fb0e..943dfc6 100644 --- a/generated/immich/openapi_client/models/tag_update_dto.py +++ b/generated/immich/openapi_client/models/tag_update_dto.py @@ -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, field_validator from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated from typing import Optional, Set from typing_extensions import Self @@ -26,9 +27,19 @@ class TagUpdateDto(BaseModel): """ TagUpdateDto """ # noqa: E501 - color: Optional[StrictStr] = None + color: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="Tag color (hex)") __properties: ClassVar[List[str]] = ["color"] + @field_validator('color') + def color_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$", value): + raise ValueError(r"must validate the regular expression /^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/") + return value + model_config = ConfigDict( populate_by_name=True, validate_assignment=True, diff --git a/generated/immich/openapi_client/models/tag_upsert_dto.py b/generated/immich/openapi_client/models/tag_upsert_dto.py index fda0396..45faa3d 100644 --- a/generated/immich/openapi_client/models/tag_upsert_dto.py +++ b/generated/immich/openapi_client/models/tag_upsert_dto.py @@ -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 from typing import Optional, Set from typing_extensions import Self @@ -26,7 +26,7 @@ class TagUpsertDto(BaseModel): """ TagUpsertDto """ # noqa: E501 - tags: List[StrictStr] + tags: List[StrictStr] = Field(description="Tag names to upsert") __properties: ClassVar[List[str]] = ["tags"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/tags_response.py b/generated/immich/openapi_client/models/tags_response.py index de9c47e..3daaa4e 100644 --- a/generated/immich/openapi_client/models/tags_response.py +++ b/generated/immich/openapi_client/models/tags_response.py @@ -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 TagsResponse(BaseModel): """ TagsResponse """ # noqa: E501 - enabled: StrictBool - sidebar_web: StrictBool = Field(alias="sidebarWeb") + enabled: StrictBool = Field(description="Whether tags are enabled") + sidebar_web: StrictBool = Field(description="Whether tags appear in web sidebar", alias="sidebarWeb") __properties: ClassVar[List[str]] = ["enabled", "sidebarWeb"] model_config = ConfigDict( @@ -81,8 +81,8 @@ class TagsResponse(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "enabled": obj.get("enabled") if obj.get("enabled") is not None else True, - "sidebarWeb": obj.get("sidebarWeb") if obj.get("sidebarWeb") is not None else True + "enabled": obj.get("enabled"), + "sidebarWeb": obj.get("sidebarWeb") }) return _obj diff --git a/generated/immich/openapi_client/models/tags_update.py b/generated/immich/openapi_client/models/tags_update.py index 4df6617..e87e9ae 100644 --- a/generated/immich/openapi_client/models/tags_update.py +++ b/generated/immich/openapi_client/models/tags_update.py @@ -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 TagsUpdate(BaseModel): """ TagsUpdate """ # noqa: E501 - enabled: Optional[StrictBool] = None - sidebar_web: Optional[StrictBool] = Field(default=None, alias="sidebarWeb") + enabled: Optional[StrictBool] = Field(default=None, description="Whether tags are enabled") + sidebar_web: Optional[StrictBool] = Field(default=None, description="Whether tags appear in web sidebar", alias="sidebarWeb") __properties: ClassVar[List[str]] = ["enabled", "sidebarWeb"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/template_dto.py b/generated/immich/openapi_client/models/template_dto.py index 42a12e5..8e7ceab 100644 --- a/generated/immich/openapi_client/models/template_dto.py +++ b/generated/immich/openapi_client/models/template_dto.py @@ -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 from typing import Optional, Set from typing_extensions import Self @@ -26,7 +26,7 @@ class TemplateDto(BaseModel): """ TemplateDto """ # noqa: E501 - template: StrictStr + template: StrictStr = Field(description="Template name") __properties: ClassVar[List[str]] = ["template"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/template_response_dto.py b/generated/immich/openapi_client/models/template_response_dto.py index 35b2321..942fbc5 100644 --- a/generated/immich/openapi_client/models/template_response_dto.py +++ b/generated/immich/openapi_client/models/template_response_dto.py @@ -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 from typing import Optional, Set from typing_extensions import Self @@ -26,8 +26,8 @@ class TemplateResponseDto(BaseModel): """ TemplateResponseDto """ # noqa: E501 - html: StrictStr - name: StrictStr + html: StrictStr = Field(description="Template HTML content") + name: StrictStr = Field(description="Template name") __properties: ClassVar[List[str]] = ["html", "name"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/test_email_response_dto.py b/generated/immich/openapi_client/models/test_email_response_dto.py index 6479372..3b2e208 100644 --- a/generated/immich/openapi_client/models/test_email_response_dto.py +++ b/generated/immich/openapi_client/models/test_email_response_dto.py @@ -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 TestEmailResponseDto(BaseModel): """ TestEmailResponseDto """ # noqa: E501 - message_id: StrictStr = Field(alias="messageId") + message_id: StrictStr = Field(description="Email message ID", alias="messageId") __properties: ClassVar[List[str]] = ["messageId"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/time_bucket_response_dto.py b/generated/immich/openapi_client/models/time_bucket_response_dto.py deleted file mode 100644 index cd7bb4d..0000000 --- a/generated/immich/openapi_client/models/time_bucket_response_dto.py +++ /dev/null @@ -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, Field, StrictInt, StrictStr -from typing import Any, ClassVar, Dict, List -from typing import Optional, Set -from typing_extensions import Self - -class TimeBucketResponseDto(BaseModel): - """ - TimeBucketResponseDto - """ # noqa: E501 - count: StrictInt - time_bucket: StrictStr = Field(alias="timeBucket") - __properties: ClassVar[List[str]] = ["count", "timeBucket"] - - 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 TimeBucketResponseDto 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 TimeBucketResponseDto from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "count": obj.get("count"), - "timeBucket": obj.get("timeBucket") - }) - return _obj - - diff --git a/generated/immich/openapi_client/models/time_bucket_size.py b/generated/immich/openapi_client/models/time_bucket_size.py deleted file mode 100644 index 8a285d6..0000000 --- a/generated/immich/openapi_client/models/time_bucket_size.py +++ /dev/null @@ -1,37 +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 TimeBucketSize(str, Enum): - """ - TimeBucketSize - """ - - """ - allowed enum values - """ - DAY = 'DAY' - MONTH = 'MONTH' - - @classmethod - def from_json(cls, json_str: str) -> Self: - """Create an instance of TimeBucketSize from a JSON string""" - return cls(json.loads(json_str)) - - diff --git a/generated/immich/openapi_client/models/tone_mapping.py b/generated/immich/openapi_client/models/tone_mapping.py index 17f7245..e5894aa 100644 --- a/generated/immich/openapi_client/models/tone_mapping.py +++ b/generated/immich/openapi_client/models/tone_mapping.py @@ -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 ToneMapping(str, Enum): """ - ToneMapping + Tone mapping """ """ diff --git a/generated/immich/openapi_client/models/transcode_hw_accel.py b/generated/immich/openapi_client/models/transcode_hw_accel.py index 7408d7e..e9aaa32 100644 --- a/generated/immich/openapi_client/models/transcode_hw_accel.py +++ b/generated/immich/openapi_client/models/transcode_hw_accel.py @@ -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 TranscodeHWAccel(str, Enum): """ - TranscodeHWAccel + Transcode hardware acceleration """ """ diff --git a/generated/immich/openapi_client/models/transcode_policy.py b/generated/immich/openapi_client/models/transcode_policy.py index bda9fdc..1d2d913 100644 --- a/generated/immich/openapi_client/models/transcode_policy.py +++ b/generated/immich/openapi_client/models/transcode_policy.py @@ -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 TranscodePolicy(str, Enum): """ - TranscodePolicy + Transcode policy """ """ diff --git a/generated/immich/openapi_client/models/trash_response_dto.py b/generated/immich/openapi_client/models/trash_response_dto.py index f1b6a2b..1d3d286 100644 --- a/generated/immich/openapi_client/models/trash_response_dto.py +++ b/generated/immich/openapi_client/models/trash_response_dto.py @@ -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,7 +27,7 @@ class TrashResponseDto(BaseModel): """ TrashResponseDto """ # noqa: E501 - count: StrictInt + count: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of items in trash") __properties: ClassVar[List[str]] = ["count"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/update_album_dto.py b/generated/immich/openapi_client/models/update_album_dto.py index 3da5845..0c1a998 100644 --- a/generated/immich/openapi_client/models/update_album_dto.py +++ b/generated/immich/openapi_client/models/update_album_dto.py @@ -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, StrictBool, StrictStr from typing import Any, ClassVar, Dict, List, Optional +from uuid import UUID from generated.immich.openapi_client.models.asset_order import AssetOrder from typing import Optional, Set from typing_extensions import Self @@ -27,13 +28,23 @@ class UpdateAlbumDto(BaseModel): """ UpdateAlbumDto """ # noqa: E501 - album_name: Optional[StrictStr] = Field(default=None, alias="albumName") - album_thumbnail_asset_id: Optional[StrictStr] = Field(default=None, alias="albumThumbnailAssetId") - description: Optional[StrictStr] = None - is_activity_enabled: Optional[StrictBool] = Field(default=None, alias="isActivityEnabled") + album_name: Optional[StrictStr] = Field(default=None, description="Album name", alias="albumName") + album_thumbnail_asset_id: Optional[UUID] = Field(default=None, description="Album thumbnail asset ID", alias="albumThumbnailAssetId") + description: Optional[StrictStr] = Field(default=None, description="Album description") + is_activity_enabled: Optional[StrictBool] = Field(default=None, description="Enable activity feed", alias="isActivityEnabled") order: Optional[AssetOrder] = None __properties: ClassVar[List[str]] = ["albumName", "albumThumbnailAssetId", "description", "isActivityEnabled", "order"] + @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 + model_config = ConfigDict( populate_by_name=True, validate_assignment=True, diff --git a/generated/immich/openapi_client/models/update_album_user_dto.py b/generated/immich/openapi_client/models/update_album_user_dto.py index 5f39832..1194eed 100644 --- a/generated/immich/openapi_client/models/update_album_user_dto.py +++ b/generated/immich/openapi_client/models/update_album_user_dto.py @@ -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. diff --git a/generated/immich/openapi_client/models/update_asset_dto.py b/generated/immich/openapi_client/models/update_asset_dto.py index daf7880..20dd4cb 100644 --- a/generated/immich/openapi_client/models/update_asset_dto.py +++ b/generated/immich/openapi_client/models/update_asset_dto.py @@ -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,25 @@ class UpdateAssetDto(BaseModel): """ UpdateAssetDto """ # noqa: E501 - date_time_original: Optional[StrictStr] = Field(default=None, alias="dateTimeOriginal") - description: Optional[StrictStr] = None - is_archived: Optional[StrictBool] = Field(default=None, alias="isArchived") - is_favorite: Optional[StrictBool] = Field(default=None, alias="isFavorite") - latitude: Optional[Union[StrictFloat, StrictInt]] = None - live_photo_video_id: Optional[StrictStr] = Field(default=None, alias="livePhotoVideoId") - 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", "description", "isArchived", "isFavorite", "latitude", "livePhotoVideoId", "longitude", "rating"] + date_time_original: Optional[StrictStr] = Field(default=None, description="Original date and time", alias="dateTimeOriginal") + description: Optional[StrictStr] = Field(default=None, description="Asset description") + 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") + live_photo_video_id: Optional[UUID] = Field(default=None, description="Live photo video ID", alias="livePhotoVideoId") + 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)") + visibility: Optional[AssetVisibility] = None + __properties: ClassVar[List[str]] = ["dateTimeOriginal", "description", "isFavorite", "latitude", "livePhotoVideoId", "longitude", "rating", "visibility"] + + @field_validator('live_photo_video_id') + def live_photo_video_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, @@ -81,6 +93,11 @@ class UpdateAssetDto(BaseModel): if self.live_photo_video_id is None and "live_photo_video_id" in self.model_fields_set: _dict['livePhotoVideoId'] = 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 @@ -95,12 +112,12 @@ class UpdateAssetDto(BaseModel): _obj = cls.model_validate({ "dateTimeOriginal": obj.get("dateTimeOriginal"), "description": obj.get("description"), - "isArchived": obj.get("isArchived"), "isFavorite": obj.get("isFavorite"), "latitude": obj.get("latitude"), "livePhotoVideoId": obj.get("livePhotoVideoId"), "longitude": obj.get("longitude"), - "rating": obj.get("rating") + "rating": obj.get("rating"), + "visibility": obj.get("visibility") }) return _obj diff --git a/generated/immich/openapi_client/models/update_library_dto.py b/generated/immich/openapi_client/models/update_library_dto.py index a6c29b5..174a5a9 100644 --- a/generated/immich/openapi_client/models/update_library_dto.py +++ b/generated/immich/openapi_client/models/update_library_dto.py @@ -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,9 +27,9 @@ class UpdateLibraryDto(BaseModel): """ UpdateLibraryDto """ # 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 + 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") __properties: ClassVar[List[str]] = ["exclusionPatterns", "importPaths", "name"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/update_partner_dto.py b/generated/immich/openapi_client/models/update_partner_dto.py deleted file mode 100644 index 352b09a..0000000 --- a/generated/immich/openapi_client/models/update_partner_dto.py +++ /dev/null @@ -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, StrictBool -from typing import Any, ClassVar, Dict, List -from typing import Optional, Set -from typing_extensions import Self - -class UpdatePartnerDto(BaseModel): - """ - UpdatePartnerDto - """ # noqa: E501 - in_timeline: StrictBool = Field(alias="inTimeline") - __properties: ClassVar[List[str]] = ["inTimeline"] - - 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 UpdatePartnerDto 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 UpdatePartnerDto from a dict""" - if obj is None: - return None - - if not isinstance(obj, dict): - return cls.model_validate(obj) - - _obj = cls.model_validate({ - "inTimeline": obj.get("inTimeline") - }) - return _obj - - diff --git a/generated/immich/openapi_client/models/usage_by_user_dto.py b/generated/immich/openapi_client/models/usage_by_user_dto.py index e922ff7..f759390 100644 --- a/generated/immich/openapi_client/models/usage_by_user_dto.py +++ b/generated/immich/openapi_client/models/usage_by_user_dto.py @@ -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, 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 @@ -26,16 +28,23 @@ class UsageByUserDto(BaseModel): """ UsageByUserDto """ # noqa: E501 - photos: StrictInt - quota_size_in_bytes: Optional[StrictInt] = Field(alias="quotaSizeInBytes") - usage: StrictInt - usage_photos: StrictInt = Field(alias="usagePhotos") - usage_videos: StrictInt = Field(alias="usageVideos") - user_id: StrictStr = Field(alias="userId") - user_name: StrictStr = Field(alias="userName") - videos: StrictInt + photos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of photos") + quota_size_in_bytes: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)]] = Field(description="User quota size in bytes (null if unlimited)", alias="quotaSizeInBytes") + usage: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Total storage usage in bytes") + usage_photos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Storage usage for photos in bytes", alias="usagePhotos") + usage_videos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Storage usage for videos in bytes", alias="usageVideos") + user_id: UUID = Field(description="User ID", alias="userId") + user_name: StrictStr = Field(description="User name", alias="userName") + videos: Annotated[int, Field(le=9007199254740991, strict=True, ge=-9007199254740991)] = Field(description="Number of videos") __properties: ClassVar[List[str]] = ["photos", "quotaSizeInBytes", "usage", "usagePhotos", "usageVideos", "userId", "userName", "videos"] + @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, diff --git a/generated/immich/openapi_client/models/user_admin_create_dto.py b/generated/immich/openapi_client/models/user_admin_create_dto.py index 2287474..3b27973 100644 --- a/generated/immich/openapi_client/models/user_admin_create_dto.py +++ b/generated/immich/openapi_client/models/user_admin_create_dto.py @@ -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, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from generated.immich.openapi_client.models.user_avatar_color import UserAvatarColor from typing import Optional, Set from typing_extensions import Self @@ -27,14 +28,34 @@ class UserAdminCreateDto(BaseModel): """ UserAdminCreateDto """ # noqa: E501 - email: StrictStr - name: StrictStr - notify: Optional[StrictBool] = None - password: StrictStr - quota_size_in_bytes: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="quotaSizeInBytes") - should_change_password: Optional[StrictBool] = Field(default=None, alias="shouldChangePassword") - storage_label: Optional[StrictStr] = Field(default=None, alias="storageLabel") - __properties: ClassVar[List[str]] = ["email", "name", "notify", "password", "quotaSizeInBytes", "shouldChangePassword", "storageLabel"] + avatar_color: Optional[UserAvatarColor] = Field(default=None, alias="avatarColor") + email: Annotated[str, Field(strict=True)] = Field(description="User email") + is_admin: Optional[StrictBool] = Field(default=None, description="Grant admin privileges", alias="isAdmin") + name: StrictStr = Field(description="User name") + notify: Optional[StrictBool] = Field(default=None, description="Send notification email") + password: StrictStr = Field(description="User password") + pin_code: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="PIN code", alias="pinCode") + quota_size_in_bytes: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(default=None, description="Storage quota in bytes", alias="quotaSizeInBytes") + should_change_password: Optional[StrictBool] = Field(default=None, description="Require password change on next login", alias="shouldChangePassword") + storage_label: Optional[StrictStr] = Field(default=None, description="Storage label", alias="storageLabel") + __properties: ClassVar[List[str]] = ["avatarColor", "email", "isAdmin", "name", "notify", "password", "pinCode", "quotaSizeInBytes", "shouldChangePassword", "storageLabel"] + + @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 + + @field_validator('pin_code') + def pin_code_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^\d{6}$", value): + raise ValueError(r"must validate the regular expression /^\d{6}$/") + return value model_config = ConfigDict( populate_by_name=True, @@ -75,6 +96,16 @@ class UserAdminCreateDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if avatar_color (nullable) is None + # and model_fields_set contains the field + if self.avatar_color is None and "avatar_color" in self.model_fields_set: + _dict['avatarColor'] = None + + # set to None if pin_code (nullable) is None + # and model_fields_set contains the field + if self.pin_code is None and "pin_code" in self.model_fields_set: + _dict['pinCode'] = None + # set to None if quota_size_in_bytes (nullable) is None # and model_fields_set contains the field if self.quota_size_in_bytes is None and "quota_size_in_bytes" in self.model_fields_set: @@ -97,10 +128,13 @@ class UserAdminCreateDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "avatarColor": obj.get("avatarColor"), "email": obj.get("email"), + "isAdmin": obj.get("isAdmin"), "name": obj.get("name"), "notify": obj.get("notify"), "password": obj.get("password"), + "pinCode": obj.get("pinCode"), "quotaSizeInBytes": obj.get("quotaSizeInBytes"), "shouldChangePassword": obj.get("shouldChangePassword"), "storageLabel": obj.get("storageLabel") diff --git a/generated/immich/openapi_client/models/user_admin_delete_dto.py b/generated/immich/openapi_client/models/user_admin_delete_dto.py index 7770f45..059d47d 100644 --- a/generated/immich/openapi_client/models/user_admin_delete_dto.py +++ b/generated/immich/openapi_client/models/user_admin_delete_dto.py @@ -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, Optional from typing import Optional, Set from typing_extensions import Self @@ -26,7 +26,7 @@ class UserAdminDeleteDto(BaseModel): """ UserAdminDeleteDto """ # noqa: E501 - force: Optional[StrictBool] = None + force: Optional[StrictBool] = Field(default=None, description="Force delete even if user has assets") __properties: ClassVar[List[str]] = ["force"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/user_admin_response_dto.py b/generated/immich/openapi_client/models/user_admin_response_dto.py index 5bd3d07..fbd79c2 100644 --- a/generated/immich/openapi_client/models/user_admin_response_dto.py +++ b/generated/immich/openapi_client/models/user_admin_response_dto.py @@ -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, StrictBool, StrictInt, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from uuid import UUID 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_status import UserStatus @@ -31,24 +33,62 @@ class UserAdminResponseDto(BaseModel): UserAdminResponseDto """ # noqa: E501 avatar_color: UserAvatarColor = Field(alias="avatarColor") - created_at: datetime = Field(alias="createdAt") - deleted_at: Optional[datetime] = Field(alias="deletedAt") - email: StrictStr - id: StrictStr - is_admin: StrictBool = Field(alias="isAdmin") + created_at: datetime = Field(description="Creation date", alias="createdAt") + deleted_at: Optional[datetime] = Field(description="Deletion date", alias="deletedAt") + email: Annotated[str, Field(strict=True)] = Field(description="User email") + id: UUID = Field(description="User ID") + is_admin: StrictBool = Field(description="Is admin user", alias="isAdmin") license: Optional[UserLicense] - name: StrictStr - oauth_id: StrictStr = Field(alias="oauthId") - profile_changed_at: datetime = Field(alias="profileChangedAt") - profile_image_path: StrictStr = Field(alias="profileImagePath") - quota_size_in_bytes: Optional[StrictInt] = Field(alias="quotaSizeInBytes") - quota_usage_in_bytes: Optional[StrictInt] = Field(alias="quotaUsageInBytes") - should_change_password: StrictBool = Field(alias="shouldChangePassword") + name: StrictStr = Field(description="User name") + oauth_id: StrictStr = Field(description="OAuth ID", alias="oauthId") + profile_changed_at: datetime = Field(description="Profile change date", alias="profileChangedAt") + profile_image_path: StrictStr = Field(description="Profile image path", alias="profileImagePath") + quota_size_in_bytes: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(description="Storage quota in bytes", alias="quotaSizeInBytes") + quota_usage_in_bytes: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(description="Storage usage in bytes", alias="quotaUsageInBytes") + should_change_password: StrictBool = Field(description="Require password change on next login", alias="shouldChangePassword") status: UserStatus - storage_label: Optional[StrictStr] = Field(alias="storageLabel") - updated_at: datetime = Field(alias="updatedAt") + storage_label: Optional[StrictStr] = Field(description="Storage label", alias="storageLabel") + updated_at: datetime = Field(description="Last update date", alias="updatedAt") __properties: ClassVar[List[str]] = ["avatarColor", "createdAt", "deletedAt", "email", "id", "isAdmin", "license", "name", "oauthId", "profileChangedAt", "profileImagePath", "quotaSizeInBytes", "quotaUsageInBytes", "shouldChangePassword", "status", "storageLabel", "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('deleted_at') + def deleted_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('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 + + @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, diff --git a/generated/immich/openapi_client/models/user_admin_update_dto.py b/generated/immich/openapi_client/models/user_admin_update_dto.py index cfe4b69..f8e0289 100644 --- a/generated/immich/openapi_client/models/user_admin_update_dto.py +++ b/generated/immich/openapi_client/models/user_admin_update_dto.py @@ -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, StrictBool, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated +from generated.immich.openapi_client.models.user_avatar_color import UserAvatarColor from typing import Optional, Set from typing_extensions import Self @@ -27,13 +28,36 @@ class UserAdminUpdateDto(BaseModel): """ UserAdminUpdateDto """ # noqa: E501 - email: Optional[StrictStr] = None - name: Optional[StrictStr] = None - password: Optional[StrictStr] = None - quota_size_in_bytes: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, alias="quotaSizeInBytes") - should_change_password: Optional[StrictBool] = Field(default=None, alias="shouldChangePassword") - storage_label: Optional[StrictStr] = Field(default=None, alias="storageLabel") - __properties: ClassVar[List[str]] = ["email", "name", "password", "quotaSizeInBytes", "shouldChangePassword", "storageLabel"] + avatar_color: Optional[UserAvatarColor] = Field(default=None, alias="avatarColor") + email: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="User email") + is_admin: Optional[StrictBool] = Field(default=None, description="Grant admin privileges", alias="isAdmin") + name: Optional[StrictStr] = Field(default=None, description="User name") + password: Optional[StrictStr] = Field(default=None, description="User password") + pin_code: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="PIN code", alias="pinCode") + quota_size_in_bytes: Optional[Annotated[int, Field(le=9007199254740991, strict=True, ge=0)]] = Field(default=None, description="Storage quota in bytes", alias="quotaSizeInBytes") + should_change_password: Optional[StrictBool] = Field(default=None, description="Require password change on next login", alias="shouldChangePassword") + storage_label: Optional[StrictStr] = Field(default=None, description="Storage label", alias="storageLabel") + __properties: ClassVar[List[str]] = ["avatarColor", "email", "isAdmin", "name", "password", "pinCode", "quotaSizeInBytes", "shouldChangePassword", "storageLabel"] + + @field_validator('email') + def email_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + 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('pin_code') + def pin_code_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + if not re.match(r"^\d{6}$", value): + raise ValueError(r"must validate the regular expression /^\d{6}$/") + return value model_config = ConfigDict( populate_by_name=True, @@ -74,6 +98,16 @@ class UserAdminUpdateDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if avatar_color (nullable) is None + # and model_fields_set contains the field + if self.avatar_color is None and "avatar_color" in self.model_fields_set: + _dict['avatarColor'] = None + + # set to None if pin_code (nullable) is None + # and model_fields_set contains the field + if self.pin_code is None and "pin_code" in self.model_fields_set: + _dict['pinCode'] = None + # set to None if quota_size_in_bytes (nullable) is None # and model_fields_set contains the field if self.quota_size_in_bytes is None and "quota_size_in_bytes" in self.model_fields_set: @@ -96,9 +130,12 @@ class UserAdminUpdateDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "avatarColor": obj.get("avatarColor"), "email": obj.get("email"), + "isAdmin": obj.get("isAdmin"), "name": obj.get("name"), "password": obj.get("password"), + "pinCode": obj.get("pinCode"), "quotaSizeInBytes": obj.get("quotaSizeInBytes"), "shouldChangePassword": obj.get("shouldChangePassword"), "storageLabel": obj.get("storageLabel") diff --git a/generated/immich/openapi_client/models/user_avatar_color.py b/generated/immich/openapi_client/models/user_avatar_color.py index cffce2c..823ce97 100644 --- a/generated/immich/openapi_client/models/user_avatar_color.py +++ b/generated/immich/openapi_client/models/user_avatar_color.py @@ -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 UserAvatarColor(str, Enum): """ - UserAvatarColor + User avatar color """ """ diff --git a/generated/immich/openapi_client/models/user_license.py b/generated/immich/openapi_client/models/user_license.py index 1a04565..bc93ec2 100644 --- a/generated/immich/openapi_client/models/user_license.py +++ b/generated/immich/openapi_client/models/user_license.py @@ -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, 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 @@ -27,11 +28,25 @@ class UserLicense(BaseModel): """ UserLicense """ # noqa: E501 - activated_at: datetime = Field(alias="activatedAt") - activation_key: StrictStr = Field(alias="activationKey") - license_key: StrictStr = Field(alias="licenseKey") + activated_at: datetime = Field(description="Activation date", alias="activatedAt") + 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]] = ["activatedAt", "activationKey", "licenseKey"] + @field_validator('activated_at') + def activated_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('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, diff --git a/generated/immich/openapi_client/models/user_preferences_response_dto.py b/generated/immich/openapi_client/models/user_preferences_response_dto.py index ee60a27..484306b 100644 --- a/generated/immich/openapi_client/models/user_preferences_response_dto.py +++ b/generated/immich/openapi_client/models/user_preferences_response_dto.py @@ -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,7 +19,8 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List -from generated.immich.openapi_client.models.avatar_response import AvatarResponse +from generated.immich.openapi_client.models.albums_response import AlbumsResponse +from generated.immich.openapi_client.models.cast_response import CastResponse from generated.immich.openapi_client.models.download_response import DownloadResponse from generated.immich.openapi_client.models.email_notifications_response import EmailNotificationsResponse from generated.immich.openapi_client.models.folders_response import FoldersResponse @@ -27,6 +28,7 @@ from generated.immich.openapi_client.models.memories_response import MemoriesRes from generated.immich.openapi_client.models.people_response import PeopleResponse from generated.immich.openapi_client.models.purchase_response import PurchaseResponse from generated.immich.openapi_client.models.ratings_response import RatingsResponse +from generated.immich.openapi_client.models.recently_added_response import RecentlyAddedResponse from generated.immich.openapi_client.models.shared_links_response import SharedLinksResponse from generated.immich.openapi_client.models.tags_response import TagsResponse from typing import Optional, Set @@ -36,7 +38,8 @@ class UserPreferencesResponseDto(BaseModel): """ UserPreferencesResponseDto """ # noqa: E501 - avatar: AvatarResponse + albums: AlbumsResponse + cast: CastResponse download: DownloadResponse email_notifications: EmailNotificationsResponse = Field(alias="emailNotifications") folders: FoldersResponse @@ -44,9 +47,10 @@ class UserPreferencesResponseDto(BaseModel): people: PeopleResponse purchase: PurchaseResponse ratings: RatingsResponse + recently_added: RecentlyAddedResponse = Field(alias="recentlyAdded") shared_links: SharedLinksResponse = Field(alias="sharedLinks") tags: TagsResponse - __properties: ClassVar[List[str]] = ["avatar", "download", "emailNotifications", "folders", "memories", "people", "purchase", "ratings", "sharedLinks", "tags"] + __properties: ClassVar[List[str]] = ["albums", "cast", "download", "emailNotifications", "folders", "memories", "people", "purchase", "ratings", "recentlyAdded", "sharedLinks", "tags"] model_config = ConfigDict( populate_by_name=True, @@ -87,9 +91,12 @@ class UserPreferencesResponseDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of avatar - if self.avatar: - _dict['avatar'] = self.avatar.to_dict() + # override the default output from pydantic by calling `to_dict()` of albums + if self.albums: + _dict['albums'] = self.albums.to_dict() + # override the default output from pydantic by calling `to_dict()` of cast + if self.cast: + _dict['cast'] = self.cast.to_dict() # override the default output from pydantic by calling `to_dict()` of download if self.download: _dict['download'] = self.download.to_dict() @@ -111,6 +118,9 @@ class UserPreferencesResponseDto(BaseModel): # override the default output from pydantic by calling `to_dict()` of ratings if self.ratings: _dict['ratings'] = self.ratings.to_dict() + # override the default output from pydantic by calling `to_dict()` of recently_added + if self.recently_added: + _dict['recentlyAdded'] = self.recently_added.to_dict() # override the default output from pydantic by calling `to_dict()` of shared_links if self.shared_links: _dict['sharedLinks'] = self.shared_links.to_dict() @@ -129,7 +139,8 @@ class UserPreferencesResponseDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ - "avatar": AvatarResponse.from_dict(obj["avatar"]) if obj.get("avatar") is not None else None, + "albums": AlbumsResponse.from_dict(obj["albums"]) if obj.get("albums") is not None else None, + "cast": CastResponse.from_dict(obj["cast"]) if obj.get("cast") is not None else None, "download": DownloadResponse.from_dict(obj["download"]) if obj.get("download") is not None else None, "emailNotifications": EmailNotificationsResponse.from_dict(obj["emailNotifications"]) if obj.get("emailNotifications") is not None else None, "folders": FoldersResponse.from_dict(obj["folders"]) if obj.get("folders") is not None else None, @@ -137,6 +148,7 @@ class UserPreferencesResponseDto(BaseModel): "people": PeopleResponse.from_dict(obj["people"]) if obj.get("people") is not None else None, "purchase": PurchaseResponse.from_dict(obj["purchase"]) if obj.get("purchase") is not None else None, "ratings": RatingsResponse.from_dict(obj["ratings"]) if obj.get("ratings") is not None else None, + "recentlyAdded": RecentlyAddedResponse.from_dict(obj["recentlyAdded"]) if obj.get("recentlyAdded") is not None else None, "sharedLinks": SharedLinksResponse.from_dict(obj["sharedLinks"]) if obj.get("sharedLinks") is not None else None, "tags": TagsResponse.from_dict(obj["tags"]) if obj.get("tags") is not None else None }) diff --git a/generated/immich/openapi_client/models/user_preferences_update_dto.py b/generated/immich/openapi_client/models/user_preferences_update_dto.py index 4be5590..c2ae667 100644 --- a/generated/immich/openapi_client/models/user_preferences_update_dto.py +++ b/generated/immich/openapi_client/models/user_preferences_update_dto.py @@ -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,7 +19,9 @@ import json from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional +from generated.immich.openapi_client.models.albums_update import AlbumsUpdate from generated.immich.openapi_client.models.avatar_update import AvatarUpdate +from generated.immich.openapi_client.models.cast_update import CastUpdate from generated.immich.openapi_client.models.download_update import DownloadUpdate from generated.immich.openapi_client.models.email_notifications_update import EmailNotificationsUpdate from generated.immich.openapi_client.models.folders_update import FoldersUpdate @@ -27,6 +29,7 @@ from generated.immich.openapi_client.models.memories_update import MemoriesUpdat from generated.immich.openapi_client.models.people_update import PeopleUpdate from generated.immich.openapi_client.models.purchase_update import PurchaseUpdate from generated.immich.openapi_client.models.ratings_update import RatingsUpdate +from generated.immich.openapi_client.models.recently_added_update import RecentlyAddedUpdate from generated.immich.openapi_client.models.shared_links_update import SharedLinksUpdate from generated.immich.openapi_client.models.tags_update import TagsUpdate from typing import Optional, Set @@ -36,7 +39,9 @@ class UserPreferencesUpdateDto(BaseModel): """ UserPreferencesUpdateDto """ # noqa: E501 + albums: Optional[AlbumsUpdate] = None avatar: Optional[AvatarUpdate] = None + cast: Optional[CastUpdate] = None download: Optional[DownloadUpdate] = None email_notifications: Optional[EmailNotificationsUpdate] = Field(default=None, alias="emailNotifications") folders: Optional[FoldersUpdate] = None @@ -44,9 +49,10 @@ class UserPreferencesUpdateDto(BaseModel): people: Optional[PeopleUpdate] = None purchase: Optional[PurchaseUpdate] = None ratings: Optional[RatingsUpdate] = None + recently_added: Optional[RecentlyAddedUpdate] = Field(default=None, alias="recentlyAdded") shared_links: Optional[SharedLinksUpdate] = Field(default=None, alias="sharedLinks") tags: Optional[TagsUpdate] = None - __properties: ClassVar[List[str]] = ["avatar", "download", "emailNotifications", "folders", "memories", "people", "purchase", "ratings", "sharedLinks", "tags"] + __properties: ClassVar[List[str]] = ["albums", "avatar", "cast", "download", "emailNotifications", "folders", "memories", "people", "purchase", "ratings", "recentlyAdded", "sharedLinks", "tags"] model_config = ConfigDict( populate_by_name=True, @@ -87,9 +93,15 @@ class UserPreferencesUpdateDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of albums + if self.albums: + _dict['albums'] = self.albums.to_dict() # override the default output from pydantic by calling `to_dict()` of avatar if self.avatar: _dict['avatar'] = self.avatar.to_dict() + # override the default output from pydantic by calling `to_dict()` of cast + if self.cast: + _dict['cast'] = self.cast.to_dict() # override the default output from pydantic by calling `to_dict()` of download if self.download: _dict['download'] = self.download.to_dict() @@ -111,6 +123,9 @@ class UserPreferencesUpdateDto(BaseModel): # override the default output from pydantic by calling `to_dict()` of ratings if self.ratings: _dict['ratings'] = self.ratings.to_dict() + # override the default output from pydantic by calling `to_dict()` of recently_added + if self.recently_added: + _dict['recentlyAdded'] = self.recently_added.to_dict() # override the default output from pydantic by calling `to_dict()` of shared_links if self.shared_links: _dict['sharedLinks'] = self.shared_links.to_dict() @@ -129,7 +144,9 @@ class UserPreferencesUpdateDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "albums": AlbumsUpdate.from_dict(obj["albums"]) if obj.get("albums") is not None else None, "avatar": AvatarUpdate.from_dict(obj["avatar"]) if obj.get("avatar") is not None else None, + "cast": CastUpdate.from_dict(obj["cast"]) if obj.get("cast") is not None else None, "download": DownloadUpdate.from_dict(obj["download"]) if obj.get("download") is not None else None, "emailNotifications": EmailNotificationsUpdate.from_dict(obj["emailNotifications"]) if obj.get("emailNotifications") is not None else None, "folders": FoldersUpdate.from_dict(obj["folders"]) if obj.get("folders") is not None else None, @@ -137,6 +154,7 @@ class UserPreferencesUpdateDto(BaseModel): "people": PeopleUpdate.from_dict(obj["people"]) if obj.get("people") is not None else None, "purchase": PurchaseUpdate.from_dict(obj["purchase"]) if obj.get("purchase") is not None else None, "ratings": RatingsUpdate.from_dict(obj["ratings"]) if obj.get("ratings") is not None else None, + "recentlyAdded": RecentlyAddedUpdate.from_dict(obj["recentlyAdded"]) if obj.get("recentlyAdded") is not None else None, "sharedLinks": SharedLinksUpdate.from_dict(obj["sharedLinks"]) if obj.get("sharedLinks") is not None else None, "tags": TagsUpdate.from_dict(obj["tags"]) if obj.get("tags") is not None else None }) diff --git a/generated/immich/openapi_client/models/user_response_dto.py b/generated/immich/openapi_client/models/user_response_dto.py index 06b852c..099e30d 100644 --- a/generated/immich/openapi_client/models/user_response_dto.py +++ b/generated/immich/openapi_client/models/user_response_dto.py @@ -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, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator from typing import Any, ClassVar, Dict, List +from typing_extensions import Annotated +from uuid import UUID from generated.immich.openapi_client.models.user_avatar_color import UserAvatarColor from typing import Optional, Set from typing_extensions import Self @@ -29,13 +31,27 @@ class UserResponseDto(BaseModel): UserResponseDto """ # noqa: E501 avatar_color: UserAvatarColor = Field(alias="avatarColor") - email: StrictStr - id: StrictStr - name: StrictStr - profile_changed_at: datetime = Field(alias="profileChangedAt") - profile_image_path: StrictStr = Field(alias="profileImagePath") + email: Annotated[str, Field(strict=True)] = Field(description="User email") + id: UUID = Field(description="User ID") + name: StrictStr = Field(description="User name") + profile_changed_at: datetime = Field(description="Profile change date", alias="profileChangedAt") + profile_image_path: StrictStr = Field(description="Profile image path", alias="profileImagePath") __properties: ClassVar[List[str]] = ["avatarColor", "email", "id", "name", "profileChangedAt", "profileImagePath"] + @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 + + @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, diff --git a/generated/immich/openapi_client/models/user_status.py b/generated/immich/openapi_client/models/user_status.py index 629bf83..704482f 100644 --- a/generated/immich/openapi_client/models/user_status.py +++ b/generated/immich/openapi_client/models/user_status.py @@ -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 UserStatus(str, Enum): """ - UserStatus + User status """ """ diff --git a/generated/immich/openapi_client/models/user_update_me_dto.py b/generated/immich/openapi_client/models/user_update_me_dto.py index 2e086c5..4ae4af6 100644 --- a/generated/immich/openapi_client/models/user_update_me_dto.py +++ b/generated/immich/openapi_client/models/user_update_me_dto.py @@ -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, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from generated.immich.openapi_client.models.user_avatar_color import UserAvatarColor from typing import Optional, Set from typing_extensions import Self @@ -26,10 +28,21 @@ class UserUpdateMeDto(BaseModel): """ UserUpdateMeDto """ # noqa: E501 - email: Optional[StrictStr] = None - name: Optional[StrictStr] = None - password: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["email", "name", "password"] + avatar_color: Optional[UserAvatarColor] = Field(default=None, alias="avatarColor") + email: Optional[Annotated[str, Field(strict=True)]] = Field(default=None, description="User email") + name: Optional[StrictStr] = Field(default=None, description="User name") + password: Optional[StrictStr] = Field(default=None, description="User password (deprecated, use change password endpoint)") + __properties: ClassVar[List[str]] = ["avatarColor", "email", "name", "password"] + + @field_validator('email') + def email_validate_regular_expression(cls, value): + """Validates the regular expression""" + if value is None: + return value + + 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, @@ -70,6 +83,11 @@ class UserUpdateMeDto(BaseModel): exclude=excluded_fields, exclude_none=True, ) + # set to None if avatar_color (nullable) is None + # and model_fields_set contains the field + if self.avatar_color is None and "avatar_color" in self.model_fields_set: + _dict['avatarColor'] = None + return _dict @classmethod @@ -82,6 +100,7 @@ class UserUpdateMeDto(BaseModel): return cls.model_validate(obj) _obj = cls.model_validate({ + "avatarColor": obj.get("avatarColor"), "email": obj.get("email"), "name": obj.get("name"), "password": obj.get("password") diff --git a/generated/immich/openapi_client/models/validate_access_token_response_dto.py b/generated/immich/openapi_client/models/validate_access_token_response_dto.py index 988ad88..7133add 100644 --- a/generated/immich/openapi_client/models/validate_access_token_response_dto.py +++ b/generated/immich/openapi_client/models/validate_access_token_response_dto.py @@ -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 ValidateAccessTokenResponseDto(BaseModel): """ ValidateAccessTokenResponseDto """ # noqa: E501 - auth_status: StrictBool = Field(alias="authStatus") + auth_status: StrictBool = Field(description="Authentication status", alias="authStatus") __properties: ClassVar[List[str]] = ["authStatus"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/validate_library_dto.py b/generated/immich/openapi_client/models/validate_library_dto.py index 8f29d8d..29ea97b 100644 --- a/generated/immich/openapi_client/models/validate_library_dto.py +++ b/generated/immich/openapi_client/models/validate_library_dto.py @@ -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 ValidateLibraryDto(BaseModel): """ ValidateLibraryDto """ # 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") + 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 to validate (max 128)", alias="importPaths") __properties: ClassVar[List[str]] = ["exclusionPatterns", "importPaths"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/validate_library_import_path_response_dto.py b/generated/immich/openapi_client/models/validate_library_import_path_response_dto.py index fe3f7ae..0eae48f 100644 --- a/generated/immich/openapi_client/models/validate_library_import_path_response_dto.py +++ b/generated/immich/openapi_client/models/validate_library_import_path_response_dto.py @@ -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 ValidateLibraryImportPathResponseDto(BaseModel): """ ValidateLibraryImportPathResponseDto """ # noqa: E501 - import_path: StrictStr = Field(alias="importPath") - is_valid: StrictBool = Field(alias="isValid") - message: Optional[StrictStr] = None + import_path: StrictStr = Field(description="Import path", alias="importPath") + is_valid: StrictBool = Field(description="Is valid", alias="isValid") + message: Optional[StrictStr] = Field(default=None, description="Validation message") __properties: ClassVar[List[str]] = ["importPath", "isValid", "message"] model_config = ConfigDict( @@ -83,7 +83,7 @@ class ValidateLibraryImportPathResponseDto(BaseModel): _obj = cls.model_validate({ "importPath": obj.get("importPath"), - "isValid": obj.get("isValid") if obj.get("isValid") is not None else False, + "isValid": obj.get("isValid"), "message": obj.get("message") }) return _obj diff --git a/generated/immich/openapi_client/models/validate_library_response_dto.py b/generated/immich/openapi_client/models/validate_library_response_dto.py index af29785..3e93fce 100644 --- a/generated/immich/openapi_client/models/validate_library_response_dto.py +++ b/generated/immich/openapi_client/models/validate_library_response_dto.py @@ -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 ValidateLibraryResponseDto(BaseModel): """ ValidateLibraryResponseDto """ # noqa: E501 - import_paths: Optional[List[ValidateLibraryImportPathResponseDto]] = Field(default=None, alias="importPaths") + import_paths: Optional[List[ValidateLibraryImportPathResponseDto]] = Field(default=None, description="Validation results for import paths", alias="importPaths") __properties: ClassVar[List[str]] = ["importPaths"] model_config = ConfigDict( diff --git a/generated/immich/openapi_client/models/video_codec.py b/generated/immich/openapi_client/models/video_codec.py index ffde409..a642622 100644 --- a/generated/immich/openapi_client/models/video_codec.py +++ b/generated/immich/openapi_client/models/video_codec.py @@ -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 VideoCodec(str, Enum): """ - VideoCodec + Target video codec """ """ diff --git a/generated/immich/openapi_client/models/video_container.py b/generated/immich/openapi_client/models/video_container.py index 5fd5616..99793c9 100644 --- a/generated/immich/openapi_client/models/video_container.py +++ b/generated/immich/openapi_client/models/video_container.py @@ -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 VideoContainer(str, Enum): """ - VideoContainer + Accepted video containers """ """ diff --git a/generated/immich/openapi_client/rest.py b/generated/immich/openapi_client/rest.py index 6ca1715..971bb53 100644 --- a/generated/immich/openapi_client/rest.py +++ b/generated/immich/openapi_client/rest.py @@ -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. @@ -48,12 +48,17 @@ class RESTResponse(io.IOBase): self.data = self.response.data return self.data + @property + def headers(self): + """Returns a dictionary of response headers.""" + return self.response.headers + def getheaders(self): - """Returns a dictionary of the response headers.""" + """Returns a dictionary of the response headers; use ``headers`` instead.""" return self.response.headers def getheader(self, name, default=None): - """Returns a given response header.""" + """Returns a given response header; use ``headers.get()`` instead.""" return self.response.headers.get(name, default) diff --git a/generated/immich/openapi_client/test/test_activities_api.py b/generated/immich/openapi_client/test/test_activities_api.py index dbc554e..b3d0a34 100644 --- a/generated/immich/openapi_client/test/test_activities_api.py +++ b/generated/immich/openapi_client/test/test_activities_api.py @@ -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. @@ -29,24 +29,28 @@ class TestActivitiesApi(unittest.TestCase): def test_create_activity(self) -> None: """Test case for create_activity + Create an activity """ pass def test_delete_activity(self) -> None: """Test case for delete_activity + Delete an activity """ pass def test_get_activities(self) -> None: """Test case for get_activities + List all activities """ pass def test_get_activity_statistics(self) -> None: """Test case for get_activity_statistics + Retrieve activity statistics """ pass diff --git a/generated/immich/openapi_client/test/test_activity_create_dto.py b/generated/immich/openapi_client/test/test_activity_create_dto.py index 79d5529..9ed64b2 100644 --- a/generated/immich/openapi_client/test/test_activity_create_dto.py +++ b/generated/immich/openapi_client/test/test_activity_create_dto.py @@ -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. @@ -35,14 +35,14 @@ class TestActivityCreateDto(unittest.TestCase): model = ActivityCreateDto() if include_optional: return ActivityCreateDto( - album_id = '', - asset_id = '', + album_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', comment = '', type = 'comment' ) else: return ActivityCreateDto( - album_id = '', + album_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', type = 'comment', ) """ diff --git a/generated/immich/openapi_client/test/test_activity_response_dto.py b/generated/immich/openapi_client/test/test_activity_response_dto.py index 4656c40..b79253e 100644 --- a/generated/immich/openapi_client/test/test_activity_response_dto.py +++ b/generated/immich/openapi_client/test/test_activity_response_dto.py @@ -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. @@ -35,29 +35,29 @@ class TestActivityResponseDto(unittest.TestCase): model = ActivityResponseDto() if include_optional: return ActivityResponseDto( - asset_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', comment = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + created_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', type = 'comment', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ) ) else: return ActivityResponseDto( - asset_id = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + created_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', type = 'comment', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), diff --git a/generated/immich/openapi_client/test/test_activity_statistics_response_dto.py b/generated/immich/openapi_client/test/test_activity_statistics_response_dto.py index 8c97859..3e5d74f 100644 --- a/generated/immich/openapi_client/test/test_activity_statistics_response_dto.py +++ b/generated/immich/openapi_client/test/test_activity_statistics_response_dto.py @@ -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. @@ -35,11 +35,13 @@ class TestActivityStatisticsResponseDto(unittest.TestCase): model = ActivityStatisticsResponseDto() if include_optional: return ActivityStatisticsResponseDto( - comments = 56 + comments = 0, + likes = 0 ) else: return ActivityStatisticsResponseDto( - comments = 56, + comments = 0, + likes = 0, ) """ diff --git a/generated/immich/openapi_client/test/test_add_users_dto.py b/generated/immich/openapi_client/test/test_add_users_dto.py index b2899c6..065c318 100644 --- a/generated/immich/openapi_client/test/test_add_users_dto.py +++ b/generated/immich/openapi_client/test/test_add_users_dto.py @@ -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. @@ -37,16 +37,16 @@ class TestAddUsersDto(unittest.TestCase): return AddUsersDto( album_users = [ generated.immich.openapi_client.models.album_user_add_dto.AlbumUserAddDto( - role = null, - user_id = '', ) + role = 'editor', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ] ) else: return AddUsersDto( album_users = [ generated.immich.openapi_client.models.album_user_add_dto.AlbumUserAddDto( - role = null, - user_id = '', ) + role = 'editor', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ], ) """ diff --git a/generated/immich/openapi_client/test/test_admin_onboarding_update_dto.py b/generated/immich/openapi_client/test/test_admin_onboarding_update_dto.py index e7f79b0..0641aea 100644 --- a/generated/immich/openapi_client/test/test_admin_onboarding_update_dto.py +++ b/generated/immich/openapi_client/test/test_admin_onboarding_update_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_album_response_dto.py b/generated/immich/openapi_client/test/test_album_response_dto.py index 153110d..d057c75 100644 --- a/generated/immich/openapi_client/test/test_album_response_dto.py +++ b/generated/immich/openapi_client/test/test_album_response_dto.py @@ -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. @@ -36,136 +36,32 @@ class TestAlbumResponseDto(unittest.TestCase): if include_optional: return AlbumResponseDto( album_name = '', - album_thumbnail_asset_id = '', + album_thumbnail_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', album_users = [ generated.immich.openapi_client.models.album_user_response_dto.AlbumUserResponseDto( - role = null, + role = 'editor', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), ) ], - asset_count = 56, - assets = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + asset_count = 0, + contributor_counts = [ + generated.immich.openapi_client.models.contributor_count_response_dto.ContributorCountResponseDto( + asset_count = 0, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ], created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_shared_link = True, - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_activity_enabled = True, last_modified_asset_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), order = 'asc', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', shared = True, start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') @@ -173,133 +69,24 @@ class TestAlbumResponseDto(unittest.TestCase): else: return AlbumResponseDto( album_name = '', - album_thumbnail_asset_id = '', + album_thumbnail_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', album_users = [ generated.immich.openapi_client.models.album_user_response_dto.AlbumUserResponseDto( - role = null, + role = 'editor', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), ) ], - asset_count = 56, - assets = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], + asset_count = 0, created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', has_shared_link = True, - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_activity_enabled = True, - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', shared = True, updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) diff --git a/generated/immich/openapi_client/test/test_album_statistics_response_dto.py b/generated/immich/openapi_client/test/test_album_statistics_response_dto.py index d85ac25..ffd5adb 100644 --- a/generated/immich/openapi_client/test/test_album_statistics_response_dto.py +++ b/generated/immich/openapi_client/test/test_album_statistics_response_dto.py @@ -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. @@ -35,15 +35,15 @@ class TestAlbumStatisticsResponseDto(unittest.TestCase): model = AlbumStatisticsResponseDto() if include_optional: return AlbumStatisticsResponseDto( - not_shared = 56, - owned = 56, - shared = 56 + not_shared = 0, + owned = 0, + shared = 0 ) else: return AlbumStatisticsResponseDto( - not_shared = 56, - owned = 56, - shared = 56, + not_shared = 0, + owned = 0, + shared = 0, ) """ diff --git a/generated/immich/openapi_client/test/test_album_user_add_dto.py b/generated/immich/openapi_client/test/test_album_user_add_dto.py index 50c8d40..cd9563d 100644 --- a/generated/immich/openapi_client/test/test_album_user_add_dto.py +++ b/generated/immich/openapi_client/test/test_album_user_add_dto.py @@ -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. @@ -36,11 +36,11 @@ class TestAlbumUserAddDto(unittest.TestCase): if include_optional: return AlbumUserAddDto( role = 'editor', - user_id = '' + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return AlbumUserAddDto( - user_id = '', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_album_user_create_dto.py b/generated/immich/openapi_client/test/test_album_user_create_dto.py index 0677b1d..304608b 100644 --- a/generated/immich/openapi_client/test/test_album_user_create_dto.py +++ b/generated/immich/openapi_client/test/test_album_user_create_dto.py @@ -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. @@ -36,12 +36,12 @@ class TestAlbumUserCreateDto(unittest.TestCase): if include_optional: return AlbumUserCreateDto( role = 'editor', - user_id = '' + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return AlbumUserCreateDto( role = 'editor', - user_id = '', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_album_user_response_dto.py b/generated/immich/openapi_client/test/test_album_user_response_dto.py index c471887..256f365 100644 --- a/generated/immich/openapi_client/test/test_album_user_response_dto.py +++ b/generated/immich/openapi_client/test/test_album_user_response_dto.py @@ -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. @@ -37,9 +37,9 @@ class TestAlbumUserResponseDto(unittest.TestCase): return AlbumUserResponseDto( role = 'editor', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ) @@ -48,9 +48,9 @@ class TestAlbumUserResponseDto(unittest.TestCase): return AlbumUserResponseDto( role = 'editor', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), diff --git a/generated/immich/openapi_client/test/test_album_user_role.py b/generated/immich/openapi_client/test/test_album_user_role.py index 3e92fba..63aeb6d 100644 --- a/generated/immich/openapi_client/test/test_album_user_role.py +++ b/generated/immich/openapi_client/test/test_album_user_role.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_albums_api.py b/generated/immich/openapi_client/test/test_albums_api.py index 0456bdc..6f6d4bd 100644 --- a/generated/immich/openapi_client/test/test_albums_api.py +++ b/generated/immich/openapi_client/test/test_albums_api.py @@ -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. @@ -29,66 +29,91 @@ class TestAlbumsApi(unittest.TestCase): def test_add_assets_to_album(self) -> None: """Test case for add_assets_to_album + Add assets to an album + """ + pass + + def test_add_assets_to_albums(self) -> None: + """Test case for add_assets_to_albums + + Add assets to albums """ pass def test_add_users_to_album(self) -> None: """Test case for add_users_to_album + Share album with users """ pass def test_create_album(self) -> None: """Test case for create_album + Create an album """ pass def test_delete_album(self) -> None: """Test case for delete_album + Delete an album """ pass def test_get_album_info(self) -> None: """Test case for get_album_info + Retrieve an album + """ + pass + + def test_get_album_map_markers(self) -> None: + """Test case for get_album_map_markers + + Retrieve album map markers """ pass def test_get_album_statistics(self) -> None: """Test case for get_album_statistics + Retrieve album statistics """ pass def test_get_all_albums(self) -> None: """Test case for get_all_albums + List all albums """ pass def test_remove_asset_from_album(self) -> None: """Test case for remove_asset_from_album + Remove assets from an album """ pass def test_remove_user_from_album(self) -> None: """Test case for remove_user_from_album + Remove user from album """ pass def test_update_album_info(self) -> None: """Test case for update_album_info + Update an album """ pass def test_update_album_user(self) -> None: """Test case for update_album_user + Update user role """ pass diff --git a/generated/immich/openapi_client/test/test_all_job_status_response_dto.py b/generated/immich/openapi_client/test/test_all_job_status_response_dto.py deleted file mode 100644 index f760907..0000000 --- a/generated/immich/openapi_client/test/test_all_job_status_response_dto.py +++ /dev/null @@ -1,380 +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 - - -import unittest - -from generated.immich.openapi_client.models.all_job_status_response_dto import AllJobStatusResponseDto - -class TestAllJobStatusResponseDto(unittest.TestCase): - """AllJobStatusResponseDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> AllJobStatusResponseDto: - """Test AllJobStatusResponseDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `AllJobStatusResponseDto` - """ - model = AllJobStatusResponseDto() - if include_optional: - return AllJobStatusResponseDto( - background_task = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - backup_database = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - duplicate_detection = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - face_detection = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - facial_recognition = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - library = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - metadata_extraction = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - migration = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - notifications = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - search = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - sidecar = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - smart_search = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - storage_template_migration = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - thumbnail_generation = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - video_conversion = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ) - ) - else: - return AllJobStatusResponseDto( - background_task = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - backup_database = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - duplicate_detection = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - face_detection = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - facial_recognition = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - library = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - metadata_extraction = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - migration = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - notifications = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - search = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - sidecar = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - smart_search = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - storage_template_migration = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - thumbnail_generation = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - video_conversion = generated.immich.openapi_client.models.job_status_dto.JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), ), - ) - """ - - def testAllJobStatusResponseDto(self): - """Test AllJobStatusResponseDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_api_key_create_dto.py b/generated/immich/openapi_client/test/test_api_key_create_dto.py index 751ffa6..f933b6d 100644 --- a/generated/immich/openapi_client/test/test_api_key_create_dto.py +++ b/generated/immich/openapi_client/test/test_api_key_create_dto.py @@ -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. @@ -14,10 +14,10 @@ import unittest -from generated.immich.openapi_client.models.api_key_create_dto import APIKeyCreateDto +from generated.immich.openapi_client.models.api_key_create_dto import ApiKeyCreateDto -class TestAPIKeyCreateDto(unittest.TestCase): - """APIKeyCreateDto unit test stubs""" +class TestApiKeyCreateDto(unittest.TestCase): + """ApiKeyCreateDto unit test stubs""" def setUp(self): pass @@ -25,31 +25,31 @@ class TestAPIKeyCreateDto(unittest.TestCase): def tearDown(self): pass - def make_instance(self, include_optional) -> APIKeyCreateDto: - """Test APIKeyCreateDto + def make_instance(self, include_optional) -> ApiKeyCreateDto: + """Test ApiKeyCreateDto include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `APIKeyCreateDto` + # uncomment below to create an instance of `ApiKeyCreateDto` """ - model = APIKeyCreateDto() + model = ApiKeyCreateDto() if include_optional: - return APIKeyCreateDto( + return ApiKeyCreateDto( name = '', permissions = [ 'all' ] ) else: - return APIKeyCreateDto( + return ApiKeyCreateDto( permissions = [ 'all' ], ) """ - def testAPIKeyCreateDto(self): - """Test APIKeyCreateDto""" + def testApiKeyCreateDto(self): + """Test ApiKeyCreateDto""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/generated/immich/openapi_client/test/test_api_key_create_response_dto.py b/generated/immich/openapi_client/test/test_api_key_create_response_dto.py index 280967c..dcd36ee 100644 --- a/generated/immich/openapi_client/test/test_api_key_create_response_dto.py +++ b/generated/immich/openapi_client/test/test_api_key_create_response_dto.py @@ -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. @@ -14,10 +14,10 @@ import unittest -from generated.immich.openapi_client.models.api_key_create_response_dto import APIKeyCreateResponseDto +from generated.immich.openapi_client.models.api_key_create_response_dto import ApiKeyCreateResponseDto -class TestAPIKeyCreateResponseDto(unittest.TestCase): - """APIKeyCreateResponseDto unit test stubs""" +class TestApiKeyCreateResponseDto(unittest.TestCase): + """ApiKeyCreateResponseDto unit test stubs""" def setUp(self): pass @@ -25,42 +25,42 @@ class TestAPIKeyCreateResponseDto(unittest.TestCase): def tearDown(self): pass - def make_instance(self, include_optional) -> APIKeyCreateResponseDto: - """Test APIKeyCreateResponseDto + def make_instance(self, include_optional) -> ApiKeyCreateResponseDto: + """Test ApiKeyCreateResponseDto include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `APIKeyCreateResponseDto` + # uncomment below to create an instance of `ApiKeyCreateResponseDto` """ - model = APIKeyCreateResponseDto() + model = ApiKeyCreateResponseDto() if include_optional: - return APIKeyCreateResponseDto( - api_key = generated.immich.openapi_client.models.api_key_response_dto.APIKeyResponseDto( - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + return ApiKeyCreateResponseDto( + api_key = generated.immich.openapi_client.models.api_key_response_dto.ApiKeyResponseDto( + created_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', permissions = [ 'all' ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + updated_at = '2024-01-01T00:00Z', ), secret = '' ) else: - return APIKeyCreateResponseDto( - api_key = generated.immich.openapi_client.models.api_key_response_dto.APIKeyResponseDto( - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + return ApiKeyCreateResponseDto( + api_key = generated.immich.openapi_client.models.api_key_response_dto.ApiKeyResponseDto( + created_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', permissions = [ 'all' ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + updated_at = '2024-01-01T00:00Z', ), secret = '', ) """ - def testAPIKeyCreateResponseDto(self): - """Test APIKeyCreateResponseDto""" + def testApiKeyCreateResponseDto(self): + """Test ApiKeyCreateResponseDto""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/generated/immich/openapi_client/test/test_api_key_response_dto.py b/generated/immich/openapi_client/test/test_api_key_response_dto.py index 56d5e7e..b454a66 100644 --- a/generated/immich/openapi_client/test/test_api_key_response_dto.py +++ b/generated/immich/openapi_client/test/test_api_key_response_dto.py @@ -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. @@ -14,10 +14,10 @@ import unittest -from generated.immich.openapi_client.models.api_key_response_dto import APIKeyResponseDto +from generated.immich.openapi_client.models.api_key_response_dto import ApiKeyResponseDto -class TestAPIKeyResponseDto(unittest.TestCase): - """APIKeyResponseDto unit test stubs""" +class TestApiKeyResponseDto(unittest.TestCase): + """ApiKeyResponseDto unit test stubs""" def setUp(self): pass @@ -25,38 +25,38 @@ class TestAPIKeyResponseDto(unittest.TestCase): def tearDown(self): pass - def make_instance(self, include_optional) -> APIKeyResponseDto: - """Test APIKeyResponseDto + def make_instance(self, include_optional) -> ApiKeyResponseDto: + """Test ApiKeyResponseDto include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `APIKeyResponseDto` + # uncomment below to create an instance of `ApiKeyResponseDto` """ - model = APIKeyResponseDto() + model = ApiKeyResponseDto() if include_optional: - return APIKeyResponseDto( - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + return ApiKeyResponseDto( + created_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', permissions = [ 'all' ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + updated_at = '2024-01-01T00:00Z' ) else: - return APIKeyResponseDto( - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + return ApiKeyResponseDto( + created_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', permissions = [ 'all' ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = '2024-01-01T00:00Z', ) """ - def testAPIKeyResponseDto(self): - """Test APIKeyResponseDto""" + def testApiKeyResponseDto(self): + """Test ApiKeyResponseDto""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/generated/immich/openapi_client/test/test_api_key_update_dto.py b/generated/immich/openapi_client/test/test_api_key_update_dto.py index 445a45c..b090b8d 100644 --- a/generated/immich/openapi_client/test/test_api_key_update_dto.py +++ b/generated/immich/openapi_client/test/test_api_key_update_dto.py @@ -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. @@ -14,10 +14,10 @@ import unittest -from generated.immich.openapi_client.models.api_key_update_dto import APIKeyUpdateDto +from generated.immich.openapi_client.models.api_key_update_dto import ApiKeyUpdateDto -class TestAPIKeyUpdateDto(unittest.TestCase): - """APIKeyUpdateDto unit test stubs""" +class TestApiKeyUpdateDto(unittest.TestCase): + """ApiKeyUpdateDto unit test stubs""" def setUp(self): pass @@ -25,26 +25,28 @@ class TestAPIKeyUpdateDto(unittest.TestCase): def tearDown(self): pass - def make_instance(self, include_optional) -> APIKeyUpdateDto: - """Test APIKeyUpdateDto + def make_instance(self, include_optional) -> ApiKeyUpdateDto: + """Test ApiKeyUpdateDto include_optional is a boolean, when False only required params are included, when True both required and optional params are included """ - # uncomment below to create an instance of `APIKeyUpdateDto` + # uncomment below to create an instance of `ApiKeyUpdateDto` """ - model = APIKeyUpdateDto() + model = ApiKeyUpdateDto() if include_optional: - return APIKeyUpdateDto( - name = '' + return ApiKeyUpdateDto( + name = '', + permissions = [ + 'all' + ] ) else: - return APIKeyUpdateDto( - name = '', + return ApiKeyUpdateDto( ) """ - def testAPIKeyUpdateDto(self): - """Test APIKeyUpdateDto""" + def testApiKeyUpdateDto(self): + """Test ApiKeyUpdateDto""" # inst_req_only = self.make_instance(include_optional=False) # inst_req_and_optional = self.make_instance(include_optional=True) diff --git a/generated/immich/openapi_client/test/test_api_keys_api.py b/generated/immich/openapi_client/test/test_api_keys_api.py index cde33f7..cfe05a1 100644 --- a/generated/immich/openapi_client/test/test_api_keys_api.py +++ b/generated/immich/openapi_client/test/test_api_keys_api.py @@ -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. @@ -29,30 +29,42 @@ class TestAPIKeysApi(unittest.TestCase): def test_create_api_key(self) -> None: """Test case for create_api_key + Create an API key """ pass def test_delete_api_key(self) -> None: """Test case for delete_api_key + Delete an API key """ pass def test_get_api_key(self) -> None: """Test case for get_api_key + Retrieve an API key """ pass def test_get_api_keys(self) -> None: """Test case for get_api_keys + List all API keys + """ + pass + + def test_get_my_api_key(self) -> None: + """Test case for get_my_api_key + + Retrieve the current API key """ pass def test_update_api_key(self) -> None: """Test case for update_api_key + Update an API key """ pass diff --git a/generated/immich/openapi_client/test/test_asset_bulk_delete_dto.py b/generated/immich/openapi_client/test/test_asset_bulk_delete_dto.py index 3cbb66b..a77f4e7 100644 --- a/generated/immich/openapi_client/test/test_asset_bulk_delete_dto.py +++ b/generated/immich/openapi_client/test/test_asset_bulk_delete_dto.py @@ -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. @@ -37,13 +37,13 @@ class TestAssetBulkDeleteDto(unittest.TestCase): return AssetBulkDeleteDto( force = True, ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ] ) else: return AssetBulkDeleteDto( ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], ) """ diff --git a/generated/immich/openapi_client/test/test_asset_bulk_update_dto.py b/generated/immich/openapi_client/test/test_asset_bulk_update_dto.py index 920fc43..e027036 100644 --- a/generated/immich/openapi_client/test/test_asset_bulk_update_dto.py +++ b/generated/immich/openapi_client/test/test_asset_bulk_update_dto.py @@ -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. @@ -36,20 +36,23 @@ class TestAssetBulkUpdateDto(unittest.TestCase): if include_optional: return AssetBulkUpdateDto( date_time_original = '', + date_time_relative = -9007199254740991, + description = '', duplicate_id = '', ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - is_archived = True, is_favorite = True, - latitude = 1.337, - longitude = 1.337, - rating = -1 + latitude = -90, + longitude = -180, + rating = -1, + time_zone = '', + visibility = 'archive' ) else: return AssetBulkUpdateDto( ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], ) """ diff --git a/generated/immich/openapi_client/test/test_asset_bulk_upload_check_dto.py b/generated/immich/openapi_client/test/test_asset_bulk_upload_check_dto.py index 21ca715..f6608f4 100644 --- a/generated/immich/openapi_client/test/test_asset_bulk_upload_check_dto.py +++ b/generated/immich/openapi_client/test/test_asset_bulk_upload_check_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_asset_bulk_upload_check_item.py b/generated/immich/openapi_client/test/test_asset_bulk_upload_check_item.py index 9df57e4..3be618d 100644 --- a/generated/immich/openapi_client/test/test_asset_bulk_upload_check_item.py +++ b/generated/immich/openapi_client/test/test_asset_bulk_upload_check_item.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_asset_bulk_upload_check_response_dto.py b/generated/immich/openapi_client/test/test_asset_bulk_upload_check_response_dto.py index 6db8974..e84708e 100644 --- a/generated/immich/openapi_client/test/test_asset_bulk_upload_check_response_dto.py +++ b/generated/immich/openapi_client/test/test_asset_bulk_upload_check_response_dto.py @@ -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. @@ -38,7 +38,7 @@ class TestAssetBulkUploadCheckResponseDto(unittest.TestCase): results = [ generated.immich.openapi_client.models.asset_bulk_upload_check_result.AssetBulkUploadCheckResult( action = 'accept', - asset_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', id = '', is_trashed = True, reason = 'duplicate', ) @@ -49,7 +49,7 @@ class TestAssetBulkUploadCheckResponseDto(unittest.TestCase): results = [ generated.immich.openapi_client.models.asset_bulk_upload_check_result.AssetBulkUploadCheckResult( action = 'accept', - asset_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', id = '', is_trashed = True, reason = 'duplicate', ) diff --git a/generated/immich/openapi_client/test/test_asset_bulk_upload_check_result.py b/generated/immich/openapi_client/test/test_asset_bulk_upload_check_result.py index cfa866d..7b8d9bc 100644 --- a/generated/immich/openapi_client/test/test_asset_bulk_upload_check_result.py +++ b/generated/immich/openapi_client/test/test_asset_bulk_upload_check_result.py @@ -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. @@ -36,7 +36,7 @@ class TestAssetBulkUploadCheckResult(unittest.TestCase): if include_optional: return AssetBulkUploadCheckResult( action = 'accept', - asset_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', id = '', is_trashed = True, reason = 'duplicate' diff --git a/generated/immich/openapi_client/test/test_asset_delta_sync_dto.py b/generated/immich/openapi_client/test/test_asset_delta_sync_dto.py deleted file mode 100644 index 8d9bdb5..0000000 --- a/generated/immich/openapi_client/test/test_asset_delta_sync_dto.py +++ /dev/null @@ -1,58 +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 - - -import unittest - -from generated.immich.openapi_client.models.asset_delta_sync_dto import AssetDeltaSyncDto - -class TestAssetDeltaSyncDto(unittest.TestCase): - """AssetDeltaSyncDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> AssetDeltaSyncDto: - """Test AssetDeltaSyncDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `AssetDeltaSyncDto` - """ - model = AssetDeltaSyncDto() - if include_optional: - return AssetDeltaSyncDto( - updated_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - user_ids = [ - '' - ] - ) - else: - return AssetDeltaSyncDto( - updated_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - user_ids = [ - '' - ], - ) - """ - - def testAssetDeltaSyncDto(self): - """Test AssetDeltaSyncDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_asset_delta_sync_response_dto.py b/generated/immich/openapi_client/test/test_asset_delta_sync_response_dto.py deleted file mode 100644 index 337d6ce..0000000 --- a/generated/immich/openapi_client/test/test_asset_delta_sync_response_dto.py +++ /dev/null @@ -1,260 +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 - - -import unittest - -from generated.immich.openapi_client.models.asset_delta_sync_response_dto import AssetDeltaSyncResponseDto - -class TestAssetDeltaSyncResponseDto(unittest.TestCase): - """AssetDeltaSyncResponseDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> AssetDeltaSyncResponseDto: - """Test AssetDeltaSyncResponseDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `AssetDeltaSyncResponseDto` - """ - model = AssetDeltaSyncResponseDto() - if include_optional: - return AssetDeltaSyncResponseDto( - deleted = [ - '' - ], - needs_full_sync = True, - upserted = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ] - ) - else: - return AssetDeltaSyncResponseDto( - deleted = [ - '' - ], - needs_full_sync = True, - upserted = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - ) - """ - - def testAssetDeltaSyncResponseDto(self): - """Test AssetDeltaSyncResponseDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_asset_face_create_dto.py b/generated/immich/openapi_client/test/test_asset_face_create_dto.py index 486f006..ae72c9e 100644 --- a/generated/immich/openapi_client/test/test_asset_face_create_dto.py +++ b/generated/immich/openapi_client/test/test_asset_face_create_dto.py @@ -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. @@ -35,25 +35,25 @@ class TestAssetFaceCreateDto(unittest.TestCase): model = AssetFaceCreateDto() if include_optional: return AssetFaceCreateDto( - asset_id = '', - height = 56, - image_height = 56, - image_width = 56, - person_id = '', - width = 56, - x = 56, - y = 56 + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + height = -9007199254740991, + image_height = -9007199254740991, + image_width = -9007199254740991, + person_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + width = -9007199254740991, + x = -9007199254740991, + y = -9007199254740991 ) else: return AssetFaceCreateDto( - asset_id = '', - height = 56, - image_height = 56, - image_width = 56, - person_id = '', - width = 56, - x = 56, - y = 56, + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + height = -9007199254740991, + image_height = -9007199254740991, + image_width = -9007199254740991, + person_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + width = -9007199254740991, + x = -9007199254740991, + y = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_asset_face_delete_dto.py b/generated/immich/openapi_client/test/test_asset_face_delete_dto.py index d342bb6..ad1def2 100644 --- a/generated/immich/openapi_client/test/test_asset_face_delete_dto.py +++ b/generated/immich/openapi_client/test/test_asset_face_delete_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_asset_face_response_dto.py b/generated/immich/openapi_client/test/test_asset_face_response_dto.py index 6ec7da9..f350aa9 100644 --- a/generated/immich/openapi_client/test/test_asset_face_response_dto.py +++ b/generated/immich/openapi_client/test/test_asset_face_response_dto.py @@ -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. @@ -35,17 +35,17 @@ class TestAssetFaceResponseDto(unittest.TestCase): model = AssetFaceResponseDto() if include_optional: return AssetFaceResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, + bounding_box_x1 = -9007199254740991, + bounding_box_x2 = -9007199254740991, + bounding_box_y1 = -9007199254740991, + bounding_box_y2 = -9007199254740991, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + image_height = 0, + image_width = 0, person = generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -55,17 +55,17 @@ class TestAssetFaceResponseDto(unittest.TestCase): ) else: return AssetFaceResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, + bounding_box_x1 = -9007199254740991, + bounding_box_x2 = -9007199254740991, + bounding_box_y1 = -9007199254740991, + bounding_box_y2 = -9007199254740991, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + image_height = 0, + image_width = 0, person = generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', diff --git a/generated/immich/openapi_client/test/test_asset_face_update_dto.py b/generated/immich/openapi_client/test/test_asset_face_update_dto.py index e962f94..b840909 100644 --- a/generated/immich/openapi_client/test/test_asset_face_update_dto.py +++ b/generated/immich/openapi_client/test/test_asset_face_update_dto.py @@ -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. @@ -37,16 +37,16 @@ class TestAssetFaceUpdateDto(unittest.TestCase): return AssetFaceUpdateDto( data = [ generated.immich.openapi_client.models.asset_face_update_item.AssetFaceUpdateItem( - asset_id = '', - person_id = '', ) + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + person_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ] ) else: return AssetFaceUpdateDto( data = [ generated.immich.openapi_client.models.asset_face_update_item.AssetFaceUpdateItem( - asset_id = '', - person_id = '', ) + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + person_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ], ) """ diff --git a/generated/immich/openapi_client/test/test_asset_face_update_item.py b/generated/immich/openapi_client/test/test_asset_face_update_item.py index 9dfbdb0..cb85cf4 100644 --- a/generated/immich/openapi_client/test/test_asset_face_update_item.py +++ b/generated/immich/openapi_client/test/test_asset_face_update_item.py @@ -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. @@ -35,13 +35,13 @@ class TestAssetFaceUpdateItem(unittest.TestCase): model = AssetFaceUpdateItem() if include_optional: return AssetFaceUpdateItem( - asset_id = '', - person_id = '' + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + person_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return AssetFaceUpdateItem( - asset_id = '', - person_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + person_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_asset_face_without_person_response_dto.py b/generated/immich/openapi_client/test/test_asset_face_without_person_response_dto.py deleted file mode 100644 index dee742f..0000000 --- a/generated/immich/openapi_client/test/test_asset_face_without_person_response_dto.py +++ /dev/null @@ -1,65 +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 - - -import unittest - -from generated.immich.openapi_client.models.asset_face_without_person_response_dto import AssetFaceWithoutPersonResponseDto - -class TestAssetFaceWithoutPersonResponseDto(unittest.TestCase): - """AssetFaceWithoutPersonResponseDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> AssetFaceWithoutPersonResponseDto: - """Test AssetFaceWithoutPersonResponseDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `AssetFaceWithoutPersonResponseDto` - """ - model = AssetFaceWithoutPersonResponseDto() - if include_optional: - return AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = 'machine-learning' - ) - else: - return AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - ) - """ - - def testAssetFaceWithoutPersonResponseDto(self): - """Test AssetFaceWithoutPersonResponseDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_asset_full_sync_dto.py b/generated/immich/openapi_client/test/test_asset_full_sync_dto.py deleted file mode 100644 index 082ec13..0000000 --- a/generated/immich/openapi_client/test/test_asset_full_sync_dto.py +++ /dev/null @@ -1,56 +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 - - -import unittest - -from generated.immich.openapi_client.models.asset_full_sync_dto import AssetFullSyncDto - -class TestAssetFullSyncDto(unittest.TestCase): - """AssetFullSyncDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> AssetFullSyncDto: - """Test AssetFullSyncDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `AssetFullSyncDto` - """ - model = AssetFullSyncDto() - if include_optional: - return AssetFullSyncDto( - last_id = '', - limit = 1, - updated_until = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - user_id = '' - ) - else: - return AssetFullSyncDto( - limit = 1, - updated_until = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - ) - """ - - def testAssetFullSyncDto(self): - """Test AssetFullSyncDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_asset_ids_dto.py b/generated/immich/openapi_client/test/test_asset_ids_dto.py index a2023fd..8392b7c 100644 --- a/generated/immich/openapi_client/test/test_asset_ids_dto.py +++ b/generated/immich/openapi_client/test/test_asset_ids_dto.py @@ -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. @@ -36,13 +36,13 @@ class TestAssetIdsDto(unittest.TestCase): if include_optional: return AssetIdsDto( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ] ) else: return AssetIdsDto( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], ) """ diff --git a/generated/immich/openapi_client/test/test_asset_ids_response_dto.py b/generated/immich/openapi_client/test/test_asset_ids_response_dto.py index 6efe416..2df5db6 100644 --- a/generated/immich/openapi_client/test/test_asset_ids_response_dto.py +++ b/generated/immich/openapi_client/test/test_asset_ids_response_dto.py @@ -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. @@ -35,13 +35,13 @@ class TestAssetIdsResponseDto(unittest.TestCase): model = AssetIdsResponseDto() if include_optional: return AssetIdsResponseDto( - asset_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', error = 'duplicate', success = True ) else: return AssetIdsResponseDto( - asset_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', success = True, ) """ diff --git a/generated/immich/openapi_client/test/test_asset_job_name.py b/generated/immich/openapi_client/test/test_asset_job_name.py index b717a11..c835787 100644 --- a/generated/immich/openapi_client/test/test_asset_job_name.py +++ b/generated/immich/openapi_client/test/test_asset_job_name.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_asset_jobs_dto.py b/generated/immich/openapi_client/test/test_asset_jobs_dto.py index e4e316b..7d2eabd 100644 --- a/generated/immich/openapi_client/test/test_asset_jobs_dto.py +++ b/generated/immich/openapi_client/test/test_asset_jobs_dto.py @@ -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. @@ -36,14 +36,14 @@ class TestAssetJobsDto(unittest.TestCase): if include_optional: return AssetJobsDto( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], name = 'refresh-faces' ) else: return AssetJobsDto( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], name = 'refresh-faces', ) diff --git a/generated/immich/openapi_client/test/test_asset_media_response_dto.py b/generated/immich/openapi_client/test/test_asset_media_response_dto.py index a4eec91..0e9ac80 100644 --- a/generated/immich/openapi_client/test/test_asset_media_response_dto.py +++ b/generated/immich/openapi_client/test/test_asset_media_response_dto.py @@ -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. @@ -35,12 +35,12 @@ class TestAssetMediaResponseDto(unittest.TestCase): model = AssetMediaResponseDto() if include_optional: return AssetMediaResponseDto( - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', status = 'created' ) else: return AssetMediaResponseDto( - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', status = 'created', ) """ diff --git a/generated/immich/openapi_client/test/test_asset_media_size.py b/generated/immich/openapi_client/test/test_asset_media_size.py index 39123b9..9d053ba 100644 --- a/generated/immich/openapi_client/test/test_asset_media_size.py +++ b/generated/immich/openapi_client/test/test_asset_media_size.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_asset_media_status.py b/generated/immich/openapi_client/test/test_asset_media_status.py index d91be09..4baffce 100644 --- a/generated/immich/openapi_client/test/test_asset_media_status.py +++ b/generated/immich/openapi_client/test/test_asset_media_status.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_asset_order.py b/generated/immich/openapi_client/test/test_asset_order.py index 08367e4..28988d9 100644 --- a/generated/immich/openapi_client/test/test_asset_order.py +++ b/generated/immich/openapi_client/test/test_asset_order.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_asset_response_dto.py b/generated/immich/openapi_client/test/test_asset_response_dto.py index e3b5314..4d0f21e 100644 --- a/generated/immich/openapi_client/test/test_asset_response_dto.py +++ b/generated/immich/openapi_client/test/test_asset_response_dto.py @@ -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. @@ -36,22 +36,21 @@ class TestAssetResponseDto(unittest.TestCase): if include_optional: return AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -60,47 +59,38 @@ class TestAssetResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -109,14 +99,14 @@ class TestAssetResponseDto(unittest.TestCase): ], resized = True, stack = generated.immich.openapi_client.models.asset_stack_response_dto.AssetStackResponseDto( - asset_count = 56, - id = '', - primary_asset_id = '', ), + asset_count = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + primary_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ), tags = [ generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), @@ -124,40 +114,34 @@ class TestAssetResponseDto(unittest.TestCase): ], thumbhash = '', type = 'IMAGE', - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0 ) else: return AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duration = 0, file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_path = '', - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', thumbhash = '', type = 'IMAGE', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) """ diff --git a/generated/immich/openapi_client/test/test_asset_stack_response_dto.py b/generated/immich/openapi_client/test/test_asset_stack_response_dto.py index 97c9a17..210c6cc 100644 --- a/generated/immich/openapi_client/test/test_asset_stack_response_dto.py +++ b/generated/immich/openapi_client/test/test_asset_stack_response_dto.py @@ -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. @@ -35,15 +35,15 @@ class TestAssetStackResponseDto(unittest.TestCase): model = AssetStackResponseDto() if include_optional: return AssetStackResponseDto( - asset_count = 56, - id = '', - primary_asset_id = '' + asset_count = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + primary_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return AssetStackResponseDto( - asset_count = 56, - id = '', - primary_asset_id = '', + asset_count = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + primary_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_asset_stats_response_dto.py b/generated/immich/openapi_client/test/test_asset_stats_response_dto.py index 3d0fe2c..5ba0508 100644 --- a/generated/immich/openapi_client/test/test_asset_stats_response_dto.py +++ b/generated/immich/openapi_client/test/test_asset_stats_response_dto.py @@ -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. @@ -35,15 +35,15 @@ class TestAssetStatsResponseDto(unittest.TestCase): model = AssetStatsResponseDto() if include_optional: return AssetStatsResponseDto( - images = 56, - total = 56, - videos = 56 + images = -9007199254740991, + total = -9007199254740991, + videos = -9007199254740991 ) else: return AssetStatsResponseDto( - images = 56, - total = 56, - videos = 56, + images = -9007199254740991, + total = -9007199254740991, + videos = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_asset_type_enum.py b/generated/immich/openapi_client/test/test_asset_type_enum.py index 1318a91..405285e 100644 --- a/generated/immich/openapi_client/test/test_asset_type_enum.py +++ b/generated/immich/openapi_client/test/test_asset_type_enum.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_assets_api.py b/generated/immich/openapi_client/test/test_assets_api.py index e161278..7c99207 100644 --- a/generated/immich/openapi_client/test/test_assets_api.py +++ b/generated/immich/openapi_client/test/test_assets_api.py @@ -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. @@ -29,100 +29,182 @@ class TestAssetsApi(unittest.TestCase): def test_check_bulk_upload(self) -> None: """Test case for check_bulk_upload - checkBulkUpload + Check bulk upload """ pass - def test_check_existing_assets(self) -> None: - """Test case for check_existing_assets + def test_copy_asset(self) -> None: + """Test case for copy_asset - checkExistingAssets + Copy asset + """ + pass + + def test_delete_asset_metadata(self) -> None: + """Test case for delete_asset_metadata + + Delete asset metadata by key """ pass def test_delete_assets(self) -> None: """Test case for delete_assets + Delete assets + """ + pass + + def test_delete_bulk_asset_metadata(self) -> None: + """Test case for delete_bulk_asset_metadata + + Delete asset metadata """ pass def test_download_asset(self) -> None: """Test case for download_asset + Download original asset """ pass - def test_get_all_user_assets_by_device_id(self) -> None: - """Test case for get_all_user_assets_by_device_id + def test_edit_asset(self) -> None: + """Test case for edit_asset - getAllUserAssetsByDeviceId + Apply edits to an existing asset + """ + pass + + def test_end_session(self) -> None: + """Test case for end_session + + End HLS streaming session + """ + pass + + def test_get_asset_edits(self) -> None: + """Test case for get_asset_edits + + Retrieve edits for an existing asset """ pass def test_get_asset_info(self) -> None: """Test case for get_asset_info + Retrieve an asset + """ + pass + + def test_get_asset_metadata(self) -> None: + """Test case for get_asset_metadata + + Get asset metadata + """ + pass + + def test_get_asset_metadata_by_key(self) -> None: + """Test case for get_asset_metadata_by_key + + Retrieve asset metadata by key + """ + pass + + def test_get_asset_ocr(self) -> None: + """Test case for get_asset_ocr + + Retrieve asset OCR data """ pass def test_get_asset_statistics(self) -> None: """Test case for get_asset_statistics + Get asset statistics """ pass - def test_get_memory_lane(self) -> None: - """Test case for get_memory_lane + def test_get_main_playlist(self) -> None: + """Test case for get_main_playlist + Get HLS main playlist """ pass - def test_get_random(self) -> None: - """Test case for get_random + def test_get_media_playlist(self) -> None: + """Test case for get_media_playlist + Get HLS media playlist + """ + pass + + def test_get_segment(self) -> None: + """Test case for get_segment + + Get HLS segment or init file """ pass def test_play_asset_video(self) -> None: """Test case for play_asset_video + Play asset video """ pass - def test_replace_asset(self) -> None: - """Test case for replace_asset + def test_remove_asset_edits(self) -> None: + """Test case for remove_asset_edits - replaceAsset + Remove edits from an existing asset """ pass def test_run_asset_jobs(self) -> None: """Test case for run_asset_jobs + Run an asset job """ pass def test_update_asset(self) -> None: """Test case for update_asset + Update an asset + """ + pass + + def test_update_asset_metadata(self) -> None: + """Test case for update_asset_metadata + + Update asset metadata """ pass def test_update_assets(self) -> None: """Test case for update_assets + Update assets + """ + pass + + def test_update_bulk_asset_metadata(self) -> None: + """Test case for update_bulk_asset_metadata + + Upsert asset metadata """ pass def test_upload_asset(self) -> None: """Test case for upload_asset + Upload asset """ pass def test_view_asset(self) -> None: """Test case for view_asset + View asset thumbnail """ pass diff --git a/generated/immich/openapi_client/test/test_audio_codec.py b/generated/immich/openapi_client/test/test_audio_codec.py index d935ca6..2764423 100644 --- a/generated/immich/openapi_client/test/test_audio_codec.py +++ b/generated/immich/openapi_client/test/test_audio_codec.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_authentication_api.py b/generated/immich/openapi_client/test/test_authentication_api.py index ccd3b24..adc3006 100644 --- a/generated/immich/openapi_client/test/test_authentication_api.py +++ b/generated/immich/openapi_client/test/test_authentication_api.py @@ -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. @@ -29,30 +29,119 @@ class TestAuthenticationApi(unittest.TestCase): def test_change_password(self) -> None: """Test case for change_password + Change password + """ + pass + + def test_change_pin_code(self) -> None: + """Test case for change_pin_code + + Change pin code + """ + pass + + def test_finish_o_auth(self) -> None: + """Test case for finish_o_auth + + Finish OAuth + """ + pass + + def test_get_auth_status(self) -> None: + """Test case for get_auth_status + + Retrieve auth status + """ + pass + + def test_link_o_auth_account(self) -> None: + """Test case for link_o_auth_account + + Link OAuth account + """ + pass + + def test_lock_auth_session(self) -> None: + """Test case for lock_auth_session + + Lock auth session """ pass def test_login(self) -> None: """Test case for login + Login """ pass def test_logout(self) -> None: """Test case for logout + Logout + """ + pass + + def test_logout_o_auth(self) -> None: + """Test case for logout_o_auth + + Backchannel OAuth logout + """ + pass + + def test_redirect_o_auth_to_mobile(self) -> None: + """Test case for redirect_o_auth_to_mobile + + Redirect OAuth to mobile + """ + pass + + def test_reset_pin_code(self) -> None: + """Test case for reset_pin_code + + Reset pin code + """ + pass + + def test_setup_pin_code(self) -> None: + """Test case for setup_pin_code + + Setup pin code """ pass def test_sign_up_admin(self) -> None: """Test case for sign_up_admin + Register admin + """ + pass + + def test_start_o_auth(self) -> None: + """Test case for start_o_auth + + Start OAuth + """ + pass + + def test_unlink_o_auth_account(self) -> None: + """Test case for unlink_o_auth_account + + Unlink OAuth account + """ + pass + + def test_unlock_auth_session(self) -> None: + """Test case for unlock_auth_session + + Unlock auth session """ pass def test_validate_access_token(self) -> None: """Test case for validate_access_token + Validate access token """ pass diff --git a/generated/immich/openapi_client/test/test_avatar_response.py b/generated/immich/openapi_client/test/test_avatar_response.py deleted file mode 100644 index 3c63cf5..0000000 --- a/generated/immich/openapi_client/test/test_avatar_response.py +++ /dev/null @@ -1,52 +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 - - -import unittest - -from generated.immich.openapi_client.models.avatar_response import AvatarResponse - -class TestAvatarResponse(unittest.TestCase): - """AvatarResponse unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> AvatarResponse: - """Test AvatarResponse - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `AvatarResponse` - """ - model = AvatarResponse() - if include_optional: - return AvatarResponse( - color = 'primary' - ) - else: - return AvatarResponse( - color = 'primary', - ) - """ - - def testAvatarResponse(self): - """Test AvatarResponse""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_avatar_update.py b/generated/immich/openapi_client/test/test_avatar_update.py index 5f80f52..a64294d 100644 --- a/generated/immich/openapi_client/test/test_avatar_update.py +++ b/generated/immich/openapi_client/test/test_avatar_update.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_bulk_id_response_dto.py b/generated/immich/openapi_client/test/test_bulk_id_response_dto.py index 6755d6a..19ea911 100644 --- a/generated/immich/openapi_client/test/test_bulk_id_response_dto.py +++ b/generated/immich/openapi_client/test/test_bulk_id_response_dto.py @@ -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. @@ -36,12 +36,13 @@ class TestBulkIdResponseDto(unittest.TestCase): if include_optional: return BulkIdResponseDto( error = 'duplicate', - id = '', + error_message = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', success = True ) else: return BulkIdResponseDto( - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', success = True, ) """ diff --git a/generated/immich/openapi_client/test/test_bulk_ids_dto.py b/generated/immich/openapi_client/test/test_bulk_ids_dto.py index 84c3e6a..6441252 100644 --- a/generated/immich/openapi_client/test/test_bulk_ids_dto.py +++ b/generated/immich/openapi_client/test/test_bulk_ids_dto.py @@ -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. @@ -36,13 +36,13 @@ class TestBulkIdsDto(unittest.TestCase): if include_optional: return BulkIdsDto( ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ] ) else: return BulkIdsDto( ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], ) """ diff --git a/generated/immich/openapi_client/test/test_change_password_dto.py b/generated/immich/openapi_client/test/test_change_password_dto.py index a6e795d..8484441 100644 --- a/generated/immich/openapi_client/test/test_change_password_dto.py +++ b/generated/immich/openapi_client/test/test_change_password_dto.py @@ -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. @@ -35,6 +35,7 @@ class TestChangePasswordDto(unittest.TestCase): model = ChangePasswordDto() if include_optional: return ChangePasswordDto( + invalidate_sessions = True, new_password = 'password', password = 'password' ) diff --git a/generated/immich/openapi_client/test/test_check_existing_assets_dto.py b/generated/immich/openapi_client/test/test_check_existing_assets_dto.py deleted file mode 100644 index 73089cc..0000000 --- a/generated/immich/openapi_client/test/test_check_existing_assets_dto.py +++ /dev/null @@ -1,58 +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 - - -import unittest - -from generated.immich.openapi_client.models.check_existing_assets_dto import CheckExistingAssetsDto - -class TestCheckExistingAssetsDto(unittest.TestCase): - """CheckExistingAssetsDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> CheckExistingAssetsDto: - """Test CheckExistingAssetsDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `CheckExistingAssetsDto` - """ - model = CheckExistingAssetsDto() - if include_optional: - return CheckExistingAssetsDto( - device_asset_ids = [ - '' - ], - device_id = '' - ) - else: - return CheckExistingAssetsDto( - device_asset_ids = [ - '' - ], - device_id = '', - ) - """ - - def testCheckExistingAssetsDto(self): - """Test CheckExistingAssetsDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_check_existing_assets_response_dto.py b/generated/immich/openapi_client/test/test_check_existing_assets_response_dto.py deleted file mode 100644 index 560e457..0000000 --- a/generated/immich/openapi_client/test/test_check_existing_assets_response_dto.py +++ /dev/null @@ -1,56 +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 - - -import unittest - -from generated.immich.openapi_client.models.check_existing_assets_response_dto import CheckExistingAssetsResponseDto - -class TestCheckExistingAssetsResponseDto(unittest.TestCase): - """CheckExistingAssetsResponseDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> CheckExistingAssetsResponseDto: - """Test CheckExistingAssetsResponseDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `CheckExistingAssetsResponseDto` - """ - model = CheckExistingAssetsResponseDto() - if include_optional: - return CheckExistingAssetsResponseDto( - existing_ids = [ - '' - ] - ) - else: - return CheckExistingAssetsResponseDto( - existing_ids = [ - '' - ], - ) - """ - - def testCheckExistingAssetsResponseDto(self): - """Test CheckExistingAssetsResponseDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_clip_config.py b/generated/immich/openapi_client/test/test_clip_config.py index 1f1946d..54c388f 100644 --- a/generated/immich/openapi_client/test/test_clip_config.py +++ b/generated/immich/openapi_client/test/test_clip_config.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_colorspace.py b/generated/immich/openapi_client/test/test_colorspace.py index 8d37986..b14532a 100644 --- a/generated/immich/openapi_client/test/test_colorspace.py +++ b/generated/immich/openapi_client/test/test_colorspace.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_cq_mode.py b/generated/immich/openapi_client/test/test_cq_mode.py index 1664915..aa3db2b 100644 --- a/generated/immich/openapi_client/test/test_cq_mode.py +++ b/generated/immich/openapi_client/test/test_cq_mode.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_create_album_dto.py b/generated/immich/openapi_client/test/test_create_album_dto.py index 4b25360..266219a 100644 --- a/generated/immich/openapi_client/test/test_create_album_dto.py +++ b/generated/immich/openapi_client/test/test_create_album_dto.py @@ -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. @@ -38,11 +38,11 @@ class TestCreateAlbumDto(unittest.TestCase): album_name = '', album_users = [ generated.immich.openapi_client.models.album_user_create_dto.AlbumUserCreateDto( - role = null, - user_id = '', ) + role = 'editor', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ], asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], description = '' ) diff --git a/generated/immich/openapi_client/test/test_create_library_dto.py b/generated/immich/openapi_client/test/test_create_library_dto.py index 82bf368..4196d50 100644 --- a/generated/immich/openapi_client/test/test_create_library_dto.py +++ b/generated/immich/openapi_client/test/test_create_library_dto.py @@ -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. @@ -41,12 +41,12 @@ class TestCreateLibraryDto(unittest.TestCase): import_paths = [ '' ], - name = '', - owner_id = '' + name = '0', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return CreateLibraryDto( - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_create_profile_image_response_dto.py b/generated/immich/openapi_client/test/test_create_profile_image_response_dto.py index 6013565..1449829 100644 --- a/generated/immich/openapi_client/test/test_create_profile_image_response_dto.py +++ b/generated/immich/openapi_client/test/test_create_profile_image_response_dto.py @@ -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. @@ -35,15 +35,15 @@ class TestCreateProfileImageResponseDto(unittest.TestCase): model = CreateProfileImageResponseDto() if include_optional: return CreateProfileImageResponseDto( - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + profile_changed_at = '2024-01-01T00:00Z', profile_image_path = '', - user_id = '' + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return CreateProfileImageResponseDto( - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + profile_changed_at = '2024-01-01T00:00Z', profile_image_path = '', - user_id = '', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_database_backup_config.py b/generated/immich/openapi_client/test/test_database_backup_config.py index 79c491d..714eee1 100644 --- a/generated/immich/openapi_client/test/test_database_backup_config.py +++ b/generated/immich/openapi_client/test/test_database_backup_config.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_deprecated_api.py b/generated/immich/openapi_client/test/test_deprecated_api.py index 9a52511..21c9daa 100644 --- a/generated/immich/openapi_client/test/test_deprecated_api.py +++ b/generated/immich/openapi_client/test/test_deprecated_api.py @@ -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,122 @@ class TestDeprecatedApi(unittest.TestCase): def tearDown(self) -> None: pass - def test_get_random(self) -> None: - """Test case for get_random + def test_create_partner_deprecated(self) -> None: + """Test case for create_partner_deprecated + Create a partner + """ + pass + + def test_get_queues_legacy(self) -> None: + """Test case for get_queues_legacy + + Retrieve queue counts and status + """ + pass + + def test_run_queue_command_legacy(self) -> None: + """Test case for run_queue_command_legacy + + Run jobs + """ + pass + + def test_update_api_key(self) -> None: + """Test case for update_api_key + + Update an API key + """ + pass + + def test_update_asset(self) -> None: + """Test case for update_asset + + Update an asset + """ + pass + + def test_update_assets(self) -> None: + """Test case for update_assets + + Update assets + """ + pass + + def test_update_library(self) -> None: + """Test case for update_library + + Update a library + """ + pass + + def test_update_memory(self) -> None: + """Test case for update_memory + + Update a memory + """ + pass + + def test_update_my_preferences(self) -> None: + """Test case for update_my_preferences + + Update my preferences + """ + pass + + def test_update_my_user(self) -> None: + """Test case for update_my_user + + Update current user + """ + pass + + def test_update_person(self) -> None: + """Test case for update_person + + Update person + """ + pass + + def test_update_session(self) -> None: + """Test case for update_session + + Update a session + """ + pass + + def test_update_stack(self) -> None: + """Test case for update_stack + + Update a stack + """ + pass + + def test_update_tag(self) -> None: + """Test case for update_tag + + Update a tag + """ + pass + + def test_update_user_admin(self) -> None: + """Test case for update_user_admin + + Update a user + """ + pass + + def test_update_user_preferences_admin(self) -> None: + """Test case for update_user_preferences_admin + + Update user preferences + """ + pass + + def test_update_workflow(self) -> None: + """Test case for update_workflow + + Update a workflow """ pass diff --git a/generated/immich/openapi_client/test/test_download_api.py b/generated/immich/openapi_client/test/test_download_api.py index 6b0789b..3f8d808 100644 --- a/generated/immich/openapi_client/test/test_download_api.py +++ b/generated/immich/openapi_client/test/test_download_api.py @@ -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. @@ -29,12 +29,14 @@ class TestDownloadApi(unittest.TestCase): def test_download_archive(self) -> None: """Test case for download_archive + Download asset archive """ pass def test_get_download_info(self) -> None: """Test case for get_download_info + Retrieve download information """ pass diff --git a/generated/immich/openapi_client/test/test_download_archive_info.py b/generated/immich/openapi_client/test/test_download_archive_info.py index a50f68b..60cba4e 100644 --- a/generated/immich/openapi_client/test/test_download_archive_info.py +++ b/generated/immich/openapi_client/test/test_download_archive_info.py @@ -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. @@ -36,16 +36,16 @@ class TestDownloadArchiveInfo(unittest.TestCase): if include_optional: return DownloadArchiveInfo( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - size = 56 + size = -9007199254740991 ) else: return DownloadArchiveInfo( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - size = 56, + size = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_download_info_dto.py b/generated/immich/openapi_client/test/test_download_info_dto.py index 658a580..66a75de 100644 --- a/generated/immich/openapi_client/test/test_download_info_dto.py +++ b/generated/immich/openapi_client/test/test_download_info_dto.py @@ -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. @@ -35,12 +35,12 @@ class TestDownloadInfoDto(unittest.TestCase): model = DownloadInfoDto() if include_optional: return DownloadInfoDto( - album_id = '', + album_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', archive_size = 1, asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - user_id = '' + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return DownloadInfoDto( diff --git a/generated/immich/openapi_client/test/test_download_response.py b/generated/immich/openapi_client/test/test_download_response.py index 2103d98..ad6f31a 100644 --- a/generated/immich/openapi_client/test/test_download_response.py +++ b/generated/immich/openapi_client/test/test_download_response.py @@ -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. @@ -35,12 +35,12 @@ class TestDownloadResponse(unittest.TestCase): model = DownloadResponse() if include_optional: return DownloadResponse( - archive_size = 56, + archive_size = -9007199254740991, include_embedded_videos = True ) else: return DownloadResponse( - archive_size = 56, + archive_size = -9007199254740991, include_embedded_videos = True, ) """ diff --git a/generated/immich/openapi_client/test/test_download_response_dto.py b/generated/immich/openapi_client/test/test_download_response_dto.py index f675e2c..e465665 100644 --- a/generated/immich/openapi_client/test/test_download_response_dto.py +++ b/generated/immich/openapi_client/test/test_download_response_dto.py @@ -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. @@ -38,22 +38,22 @@ class TestDownloadResponseDto(unittest.TestCase): archives = [ generated.immich.openapi_client.models.download_archive_info.DownloadArchiveInfo( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - size = 56, ) + size = -9007199254740991, ) ], - total_size = 56 + total_size = -9007199254740991 ) else: return DownloadResponseDto( archives = [ generated.immich.openapi_client.models.download_archive_info.DownloadArchiveInfo( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - size = 56, ) + size = -9007199254740991, ) ], - total_size = 56, + total_size = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_download_update.py b/generated/immich/openapi_client/test/test_download_update.py index ffe5f5b..6b208b7 100644 --- a/generated/immich/openapi_client/test/test_download_update.py +++ b/generated/immich/openapi_client/test/test_download_update.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_duplicate_detection_config.py b/generated/immich/openapi_client/test/test_duplicate_detection_config.py index a5ec700..c927d34 100644 --- a/generated/immich/openapi_client/test/test_duplicate_detection_config.py +++ b/generated/immich/openapi_client/test/test_duplicate_detection_config.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_duplicate_response_dto.py b/generated/immich/openapi_client/test/test_duplicate_response_dto.py index 682f708..1e8e642 100644 --- a/generated/immich/openapi_client/test/test_duplicate_response_dto.py +++ b/generated/immich/openapi_client/test/test_duplicate_response_dto.py @@ -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. @@ -38,22 +38,21 @@ class TestDuplicateResponseDto(unittest.TestCase): assets = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -62,47 +61,38 @@ class TestDuplicateResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -115,50 +105,43 @@ class TestDuplicateResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], - duplicate_id = '' + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + suggested_keep_asset_ids = [ + '62ECB020-8429-430c-a01F-FCCfeEe150AC' + ] ) else: return DuplicateResponseDto( assets = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -167,47 +150,38 @@ class TestDuplicateResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -220,28 +194,22 @@ class TestDuplicateResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) + ], + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + suggested_keep_asset_ids = [ + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - duplicate_id = '', ) """ diff --git a/generated/immich/openapi_client/test/test_duplicates_api.py b/generated/immich/openapi_client/test/test_duplicates_api.py index 88e99e7..4c4a95e 100644 --- a/generated/immich/openapi_client/test/test_duplicates_api.py +++ b/generated/immich/openapi_client/test/test_duplicates_api.py @@ -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,31 @@ class TestDuplicatesApi(unittest.TestCase): def tearDown(self) -> None: pass + def test_delete_duplicate(self) -> None: + """Test case for delete_duplicate + + Dismiss a duplicate group + """ + pass + + def test_delete_duplicates(self) -> None: + """Test case for delete_duplicates + + Delete duplicates + """ + pass + def test_get_asset_duplicates(self) -> None: """Test case for get_asset_duplicates + Retrieve duplicates + """ + pass + + def test_resolve_duplicates(self) -> None: + """Test case for resolve_duplicates + + Resolve duplicate groups """ pass diff --git a/generated/immich/openapi_client/test/test_email_notifications_response.py b/generated/immich/openapi_client/test/test_email_notifications_response.py index c26492f..7610daf 100644 --- a/generated/immich/openapi_client/test/test_email_notifications_response.py +++ b/generated/immich/openapi_client/test/test_email_notifications_response.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_email_notifications_update.py b/generated/immich/openapi_client/test/test_email_notifications_update.py index f65f647..ff8a569 100644 --- a/generated/immich/openapi_client/test/test_email_notifications_update.py +++ b/generated/immich/openapi_client/test/test_email_notifications_update.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_exif_response_dto.py b/generated/immich/openapi_client/test/test_exif_response_dto.py index e364e45..a9aca18 100644 --- a/generated/immich/openapi_client/test/test_exif_response_dto.py +++ b/generated/immich/openapi_client/test/test_exif_response_dto.py @@ -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. @@ -39,13 +39,13 @@ class TestExifResponseDto(unittest.TestCase): country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -54,7 +54,7 @@ class TestExifResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '' ) diff --git a/generated/immich/openapi_client/test/test_face_dto.py b/generated/immich/openapi_client/test/test_face_dto.py index 2dcb9e4..7164060 100644 --- a/generated/immich/openapi_client/test/test_face_dto.py +++ b/generated/immich/openapi_client/test/test_face_dto.py @@ -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. @@ -35,11 +35,11 @@ class TestFaceDto(unittest.TestCase): model = FaceDto() if include_optional: return FaceDto( - id = '' + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return FaceDto( - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_faces_api.py b/generated/immich/openapi_client/test/test_faces_api.py index 4e82649..edede7a 100644 --- a/generated/immich/openapi_client/test/test_faces_api.py +++ b/generated/immich/openapi_client/test/test_faces_api.py @@ -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. @@ -29,24 +29,28 @@ class TestFacesApi(unittest.TestCase): def test_create_face(self) -> None: """Test case for create_face + Create a face """ pass def test_delete_face(self) -> None: """Test case for delete_face + Delete a face """ pass def test_get_faces(self) -> None: """Test case for get_faces + Retrieve faces for asset """ pass def test_reassign_faces_by_id(self) -> None: """Test case for reassign_faces_by_id + Re-assign a face to another person """ pass diff --git a/generated/immich/openapi_client/test/test_facial_recognition_config.py b/generated/immich/openapi_client/test/test_facial_recognition_config.py index 0699ead..0990fb8 100644 --- a/generated/immich/openapi_client/test/test_facial_recognition_config.py +++ b/generated/immich/openapi_client/test/test_facial_recognition_config.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_file_checksum_dto.py b/generated/immich/openapi_client/test/test_file_checksum_dto.py deleted file mode 100644 index 5989360..0000000 --- a/generated/immich/openapi_client/test/test_file_checksum_dto.py +++ /dev/null @@ -1,56 +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 - - -import unittest - -from generated.immich.openapi_client.models.file_checksum_dto import FileChecksumDto - -class TestFileChecksumDto(unittest.TestCase): - """FileChecksumDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> FileChecksumDto: - """Test FileChecksumDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `FileChecksumDto` - """ - model = FileChecksumDto() - if include_optional: - return FileChecksumDto( - filenames = [ - '' - ] - ) - else: - return FileChecksumDto( - filenames = [ - '' - ], - ) - """ - - def testFileChecksumDto(self): - """Test FileChecksumDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_file_checksum_response_dto.py b/generated/immich/openapi_client/test/test_file_checksum_response_dto.py deleted file mode 100644 index fe6d80e..0000000 --- a/generated/immich/openapi_client/test/test_file_checksum_response_dto.py +++ /dev/null @@ -1,54 +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 - - -import unittest - -from generated.immich.openapi_client.models.file_checksum_response_dto import FileChecksumResponseDto - -class TestFileChecksumResponseDto(unittest.TestCase): - """FileChecksumResponseDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> FileChecksumResponseDto: - """Test FileChecksumResponseDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `FileChecksumResponseDto` - """ - model = FileChecksumResponseDto() - if include_optional: - return FileChecksumResponseDto( - checksum = '', - filename = '' - ) - else: - return FileChecksumResponseDto( - checksum = '', - filename = '', - ) - """ - - def testFileChecksumResponseDto(self): - """Test FileChecksumResponseDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_file_report_dto.py b/generated/immich/openapi_client/test/test_file_report_dto.py deleted file mode 100644 index c996f39..0000000 --- a/generated/immich/openapi_client/test/test_file_report_dto.py +++ /dev/null @@ -1,72 +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 - - -import unittest - -from generated.immich.openapi_client.models.file_report_dto import FileReportDto - -class TestFileReportDto(unittest.TestCase): - """FileReportDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> FileReportDto: - """Test FileReportDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `FileReportDto` - """ - model = FileReportDto() - if include_optional: - return FileReportDto( - extras = [ - '' - ], - orphans = [ - generated.immich.openapi_client.models.file_report_item_dto.FileReportItemDto( - checksum = '', - entity_id = '', - entity_type = null, - path_type = null, - path_value = '', ) - ] - ) - else: - return FileReportDto( - extras = [ - '' - ], - orphans = [ - generated.immich.openapi_client.models.file_report_item_dto.FileReportItemDto( - checksum = '', - entity_id = '', - entity_type = null, - path_type = null, - path_value = '', ) - ], - ) - """ - - def testFileReportDto(self): - """Test FileReportDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_file_report_fix_dto.py b/generated/immich/openapi_client/test/test_file_report_fix_dto.py deleted file mode 100644 index dada985..0000000 --- a/generated/immich/openapi_client/test/test_file_report_fix_dto.py +++ /dev/null @@ -1,66 +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 - - -import unittest - -from generated.immich.openapi_client.models.file_report_fix_dto import FileReportFixDto - -class TestFileReportFixDto(unittest.TestCase): - """FileReportFixDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> FileReportFixDto: - """Test FileReportFixDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `FileReportFixDto` - """ - model = FileReportFixDto() - if include_optional: - return FileReportFixDto( - items = [ - generated.immich.openapi_client.models.file_report_item_dto.FileReportItemDto( - checksum = '', - entity_id = '', - entity_type = null, - path_type = null, - path_value = '', ) - ] - ) - else: - return FileReportFixDto( - items = [ - generated.immich.openapi_client.models.file_report_item_dto.FileReportItemDto( - checksum = '', - entity_id = '', - entity_type = null, - path_type = null, - path_value = '', ) - ], - ) - """ - - def testFileReportFixDto(self): - """Test FileReportFixDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_file_report_item_dto.py b/generated/immich/openapi_client/test/test_file_report_item_dto.py deleted file mode 100644 index 86ed0ea..0000000 --- a/generated/immich/openapi_client/test/test_file_report_item_dto.py +++ /dev/null @@ -1,59 +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 - - -import unittest - -from generated.immich.openapi_client.models.file_report_item_dto import FileReportItemDto - -class TestFileReportItemDto(unittest.TestCase): - """FileReportItemDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> FileReportItemDto: - """Test FileReportItemDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `FileReportItemDto` - """ - model = FileReportItemDto() - if include_optional: - return FileReportItemDto( - checksum = '', - entity_id = '', - entity_type = 'asset', - path_type = 'original', - path_value = '' - ) - else: - return FileReportItemDto( - entity_id = '', - entity_type = 'asset', - path_type = 'original', - path_value = '', - ) - """ - - def testFileReportItemDto(self): - """Test FileReportItemDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_file_reports_api.py b/generated/immich/openapi_client/test/test_file_reports_api.py deleted file mode 100644 index 76103cf..0000000 --- a/generated/immich/openapi_client/test/test_file_reports_api.py +++ /dev/null @@ -1,49 +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 - - -import unittest - -from generated.immich.openapi_client.api.file_reports_api import FileReportsApi - - -class TestFileReportsApi(unittest.TestCase): - """FileReportsApi unit test stubs""" - - def setUp(self) -> None: - self.api = FileReportsApi() - - def tearDown(self) -> None: - pass - - def test_fix_audit_files(self) -> None: - """Test case for fix_audit_files - - """ - pass - - def test_get_audit_files(self) -> None: - """Test case for get_audit_files - - """ - pass - - def test_get_file_checksums(self) -> None: - """Test case for get_file_checksums - - """ - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_folders_response.py b/generated/immich/openapi_client/test/test_folders_response.py index d6b97e1..63e8c07 100644 --- a/generated/immich/openapi_client/test/test_folders_response.py +++ b/generated/immich/openapi_client/test/test_folders_response.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_folders_update.py b/generated/immich/openapi_client/test/test_folders_update.py index 8c13e86..79cb414 100644 --- a/generated/immich/openapi_client/test/test_folders_update.py +++ b/generated/immich/openapi_client/test/test_folders_update.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_image_format.py b/generated/immich/openapi_client/test/test_image_format.py index 203cc73..6c01ba9 100644 --- a/generated/immich/openapi_client/test/test_image_format.py +++ b/generated/immich/openapi_client/test/test_image_format.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_job_command.py b/generated/immich/openapi_client/test/test_job_command.py deleted file mode 100644 index c2e1794..0000000 --- a/generated/immich/openapi_client/test/test_job_command.py +++ /dev/null @@ -1,33 +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 - - -import unittest - -from generated.immich.openapi_client.models.job_command import JobCommand - -class TestJobCommand(unittest.TestCase): - """JobCommand unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testJobCommand(self): - """Test JobCommand""" - # inst = JobCommand() - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_job_command_dto.py b/generated/immich/openapi_client/test/test_job_command_dto.py deleted file mode 100644 index 88a2ad5..0000000 --- a/generated/immich/openapi_client/test/test_job_command_dto.py +++ /dev/null @@ -1,53 +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 - - -import unittest - -from generated.immich.openapi_client.models.job_command_dto import JobCommandDto - -class TestJobCommandDto(unittest.TestCase): - """JobCommandDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> JobCommandDto: - """Test JobCommandDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `JobCommandDto` - """ - model = JobCommandDto() - if include_optional: - return JobCommandDto( - command = 'start', - force = True - ) - else: - return JobCommandDto( - command = 'start', - ) - """ - - def testJobCommandDto(self): - """Test JobCommandDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_job_counts_dto.py b/generated/immich/openapi_client/test/test_job_counts_dto.py deleted file mode 100644 index ef4fdc4..0000000 --- a/generated/immich/openapi_client/test/test_job_counts_dto.py +++ /dev/null @@ -1,62 +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 - - -import unittest - -from generated.immich.openapi_client.models.job_counts_dto import JobCountsDto - -class TestJobCountsDto(unittest.TestCase): - """JobCountsDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> JobCountsDto: - """Test JobCountsDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `JobCountsDto` - """ - model = JobCountsDto() - if include_optional: - return JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56 - ) - else: - return JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, - ) - """ - - def testJobCountsDto(self): - """Test JobCountsDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_job_create_dto.py b/generated/immich/openapi_client/test/test_job_create_dto.py index f292da1..b55f784 100644 --- a/generated/immich/openapi_client/test/test_job_create_dto.py +++ b/generated/immich/openapi_client/test/test_job_create_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_job_name.py b/generated/immich/openapi_client/test/test_job_name.py index 486edcd..897a632 100644 --- a/generated/immich/openapi_client/test/test_job_name.py +++ b/generated/immich/openapi_client/test/test_job_name.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_job_settings_dto.py b/generated/immich/openapi_client/test/test_job_settings_dto.py index 9f83337..daae0f1 100644 --- a/generated/immich/openapi_client/test/test_job_settings_dto.py +++ b/generated/immich/openapi_client/test/test_job_settings_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_job_status_dto.py b/generated/immich/openapi_client/test/test_job_status_dto.py deleted file mode 100644 index 3922774..0000000 --- a/generated/immich/openapi_client/test/test_job_status_dto.py +++ /dev/null @@ -1,70 +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 - - -import unittest - -from generated.immich.openapi_client.models.job_status_dto import JobStatusDto - -class TestJobStatusDto(unittest.TestCase): - """JobStatusDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> JobStatusDto: - """Test JobStatusDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `JobStatusDto` - """ - model = JobStatusDto() - if include_optional: - return JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ) - ) - else: - return JobStatusDto( - job_counts = generated.immich.openapi_client.models.job_counts_dto.JobCountsDto( - active = 56, - completed = 56, - delayed = 56, - failed = 56, - paused = 56, - waiting = 56, ), - queue_status = generated.immich.openapi_client.models.queue_status_dto.QueueStatusDto( - is_active = True, - is_paused = True, ), - ) - """ - - def testJobStatusDto(self): - """Test JobStatusDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_jobs_api.py b/generated/immich/openapi_client/test/test_jobs_api.py index 5a91dba..04ea049 100644 --- a/generated/immich/openapi_client/test/test_jobs_api.py +++ b/generated/immich/openapi_client/test/test_jobs_api.py @@ -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. @@ -29,18 +29,21 @@ class TestJobsApi(unittest.TestCase): def test_create_job(self) -> None: """Test case for create_job + Create a manual job """ pass - def test_get_all_jobs_status(self) -> None: - """Test case for get_all_jobs_status + def test_get_queues_legacy(self) -> None: + """Test case for get_queues_legacy + Retrieve queue counts and status """ pass - def test_send_job_command(self) -> None: - """Test case for send_job_command + def test_run_queue_command_legacy(self) -> None: + """Test case for run_queue_command_legacy + Run jobs """ pass diff --git a/generated/immich/openapi_client/test/test_libraries_api.py b/generated/immich/openapi_client/test/test_libraries_api.py index bb35f23..7b67214 100644 --- a/generated/immich/openapi_client/test/test_libraries_api.py +++ b/generated/immich/openapi_client/test/test_libraries_api.py @@ -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. @@ -29,48 +29,56 @@ class TestLibrariesApi(unittest.TestCase): def test_create_library(self) -> None: """Test case for create_library + Create a library """ pass def test_delete_library(self) -> None: """Test case for delete_library + Delete a library """ pass def test_get_all_libraries(self) -> None: """Test case for get_all_libraries + Retrieve libraries """ pass def test_get_library(self) -> None: """Test case for get_library + Retrieve a library """ pass def test_get_library_statistics(self) -> None: """Test case for get_library_statistics + Retrieve library statistics """ pass def test_scan_library(self) -> None: """Test case for scan_library + Scan a library """ pass def test_update_library(self) -> None: """Test case for update_library + Update a library """ pass def test_validate(self) -> None: """Test case for validate + Validate library settings """ pass diff --git a/generated/immich/openapi_client/test/test_library_response_dto.py b/generated/immich/openapi_client/test/test_library_response_dto.py index 1cddf99..3fea241 100644 --- a/generated/immich/openapi_client/test/test_library_response_dto.py +++ b/generated/immich/openapi_client/test/test_library_response_dto.py @@ -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. @@ -35,35 +35,35 @@ class TestLibraryResponseDto(unittest.TestCase): model = LibraryResponseDto() if include_optional: return LibraryResponseDto( - asset_count = 56, - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + asset_count = -9007199254740991, + created_at = '2024-01-01T00:00Z', exclusion_patterns = [ '' ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', import_paths = [ '' ], name = '', - owner_id = '', - refreshed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + refreshed_at = '2024-01-01T00:00Z', + updated_at = '2024-01-01T00:00Z' ) else: return LibraryResponseDto( - asset_count = 56, - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + asset_count = -9007199254740991, + created_at = '2024-01-01T00:00Z', exclusion_patterns = [ '' ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', import_paths = [ '' ], name = '', - owner_id = '', - refreshed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + refreshed_at = '2024-01-01T00:00Z', + updated_at = '2024-01-01T00:00Z', ) """ diff --git a/generated/immich/openapi_client/test/test_library_stats_response_dto.py b/generated/immich/openapi_client/test/test_library_stats_response_dto.py index 7acc811..ff615f0 100644 --- a/generated/immich/openapi_client/test/test_library_stats_response_dto.py +++ b/generated/immich/openapi_client/test/test_library_stats_response_dto.py @@ -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. @@ -35,17 +35,17 @@ class TestLibraryStatsResponseDto(unittest.TestCase): model = LibraryStatsResponseDto() if include_optional: return LibraryStatsResponseDto( - photos = 56, - total = 56, - usage = 56, - videos = 56 + photos = -9007199254740991, + total = -9007199254740991, + usage = -9007199254740991, + videos = -9007199254740991 ) else: return LibraryStatsResponseDto( - photos = 56, - total = 56, - usage = 56, - videos = 56, + photos = -9007199254740991, + total = -9007199254740991, + usage = -9007199254740991, + videos = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_license_key_dto.py b/generated/immich/openapi_client/test/test_license_key_dto.py index ae5fa73..45710d1 100644 --- a/generated/immich/openapi_client/test/test_license_key_dto.py +++ b/generated/immich/openapi_client/test/test_license_key_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_license_response_dto.py b/generated/immich/openapi_client/test/test_license_response_dto.py deleted file mode 100644 index a8c4fd1..0000000 --- a/generated/immich/openapi_client/test/test_license_response_dto.py +++ /dev/null @@ -1,56 +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 - - -import unittest - -from generated.immich.openapi_client.models.license_response_dto import LicenseResponseDto - -class TestLicenseResponseDto(unittest.TestCase): - """LicenseResponseDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> LicenseResponseDto: - """Test LicenseResponseDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `LicenseResponseDto` - """ - model = LicenseResponseDto() - if include_optional: - return LicenseResponseDto( - activated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - activation_key = '', - license_key = 'IMCL-Cu2L-C4aW-wWL9-Y864-DZta-GRyy-GFZK-kkp4' - ) - else: - return LicenseResponseDto( - activated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - activation_key = '', - license_key = 'IMCL-Cu2L-C4aW-wWL9-Y864-DZta-GRyy-GFZK-kkp4', - ) - """ - - def testLicenseResponseDto(self): - """Test LicenseResponseDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_log_level.py b/generated/immich/openapi_client/test/test_log_level.py index bf572db..b501224 100644 --- a/generated/immich/openapi_client/test/test_log_level.py +++ b/generated/immich/openapi_client/test/test_log_level.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_login_credential_dto.py b/generated/immich/openapi_client/test/test_login_credential_dto.py index 1aad8a8..3a5e211 100644 --- a/generated/immich/openapi_client/test/test_login_credential_dto.py +++ b/generated/immich/openapi_client/test/test_login_credential_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_login_response_dto.py b/generated/immich/openapi_client/test/test_login_response_dto.py index d5b7b31..495c7ac 100644 --- a/generated/immich/openapi_client/test/test_login_response_dto.py +++ b/generated/immich/openapi_client/test/test_login_response_dto.py @@ -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. @@ -37,21 +37,23 @@ class TestLoginResponseDto(unittest.TestCase): return LoginResponseDto( access_token = '', is_admin = True, + is_onboarded = True, name = '', profile_image_path = '', should_change_password = True, - user_email = '', - user_id = '' + user_email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return LoginResponseDto( access_token = '', is_admin = True, + is_onboarded = True, name = '', profile_image_path = '', should_change_password = True, - user_email = '', - user_id = '', + user_email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_logout_response_dto.py b/generated/immich/openapi_client/test/test_logout_response_dto.py index 50c981b..733a242 100644 --- a/generated/immich/openapi_client/test/test_logout_response_dto.py +++ b/generated/immich/openapi_client/test/test_logout_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_manual_job_name.py b/generated/immich/openapi_client/test/test_manual_job_name.py index 9282525..9c8d0d0 100644 --- a/generated/immich/openapi_client/test/test_manual_job_name.py +++ b/generated/immich/openapi_client/test/test_manual_job_name.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_map_api.py b/generated/immich/openapi_client/test/test_map_api.py index f6c082c..d333c3b 100644 --- a/generated/immich/openapi_client/test/test_map_api.py +++ b/generated/immich/openapi_client/test/test_map_api.py @@ -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. @@ -29,12 +29,14 @@ class TestMapApi(unittest.TestCase): def test_get_map_markers(self) -> None: """Test case for get_map_markers + Retrieve map markers """ pass def test_reverse_geocode(self) -> None: """Test case for reverse_geocode + Reverse geocode coordinates """ pass diff --git a/generated/immich/openapi_client/test/test_map_marker_response_dto.py b/generated/immich/openapi_client/test/test_map_marker_response_dto.py index a60576a..f9e4084 100644 --- a/generated/immich/openapi_client/test/test_map_marker_response_dto.py +++ b/generated/immich/openapi_client/test/test_map_marker_response_dto.py @@ -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. @@ -37,7 +37,7 @@ class TestMapMarkerResponseDto(unittest.TestCase): return MapMarkerResponseDto( city = '', country = '', - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', lat = 1.337, lon = 1.337, state = '' @@ -46,7 +46,7 @@ class TestMapMarkerResponseDto(unittest.TestCase): return MapMarkerResponseDto( city = '', country = '', - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', lat = 1.337, lon = 1.337, state = '', diff --git a/generated/immich/openapi_client/test/test_map_reverse_geocode_response_dto.py b/generated/immich/openapi_client/test/test_map_reverse_geocode_response_dto.py index 307f027..384d449 100644 --- a/generated/immich/openapi_client/test/test_map_reverse_geocode_response_dto.py +++ b/generated/immich/openapi_client/test/test_map_reverse_geocode_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_memories_api.py b/generated/immich/openapi_client/test/test_memories_api.py index eeb12a5..e9d7f87 100644 --- a/generated/immich/openapi_client/test/test_memories_api.py +++ b/generated/immich/openapi_client/test/test_memories_api.py @@ -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. @@ -29,42 +29,56 @@ class TestMemoriesApi(unittest.TestCase): def test_add_memory_assets(self) -> None: """Test case for add_memory_assets + Add assets to a memory """ pass def test_create_memory(self) -> None: """Test case for create_memory + Create a memory """ pass def test_delete_memory(self) -> None: """Test case for delete_memory + Delete a memory """ pass def test_get_memory(self) -> None: """Test case for get_memory + Retrieve a memory + """ + pass + + def test_memories_statistics(self) -> None: + """Test case for memories_statistics + + Retrieve memories statistics """ pass def test_remove_memory_assets(self) -> None: """Test case for remove_memory_assets + Remove assets from a memory """ pass def test_search_memories(self) -> None: """Test case for search_memories + Retrieve memories """ pass def test_update_memory(self) -> None: """Test case for update_memory + Update a memory """ pass diff --git a/generated/immich/openapi_client/test/test_memories_response.py b/generated/immich/openapi_client/test/test_memories_response.py index 0be8948..9acf7cb 100644 --- a/generated/immich/openapi_client/test/test_memories_response.py +++ b/generated/immich/openapi_client/test/test_memories_response.py @@ -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. @@ -35,10 +35,12 @@ class TestMemoriesResponse(unittest.TestCase): model = MemoriesResponse() if include_optional: return MemoriesResponse( + duration = -9007199254740991, enabled = True ) else: return MemoriesResponse( + duration = -9007199254740991, enabled = True, ) """ diff --git a/generated/immich/openapi_client/test/test_memories_update.py b/generated/immich/openapi_client/test/test_memories_update.py index ce1079f..aeea13b 100644 --- a/generated/immich/openapi_client/test/test_memories_update.py +++ b/generated/immich/openapi_client/test/test_memories_update.py @@ -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. @@ -35,6 +35,7 @@ class TestMemoriesUpdate(unittest.TestCase): model = MemoriesUpdate() if include_optional: return MemoriesUpdate( + duration = 1, enabled = True ) else: diff --git a/generated/immich/openapi_client/test/test_memory_create_dto.py b/generated/immich/openapi_client/test/test_memory_create_dto.py index a167b8d..9d5d04d 100644 --- a/generated/immich/openapi_client/test/test_memory_create_dto.py +++ b/generated/immich/openapi_client/test/test_memory_create_dto.py @@ -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. @@ -36,20 +36,22 @@ class TestMemoryCreateDto(unittest.TestCase): if include_optional: return MemoryCreateDto( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], data = generated.immich.openapi_client.models.on_this_day_dto.OnThisDayDto( - year = 1, ), + year = 1000, ), + hide_at = '2024-01-01T00:00Z', is_saved = True, - memory_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - seen_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + memory_at = '2024-01-01T00:00Z', + seen_at = '2024-01-01T00:00Z', + show_at = '2024-01-01T00:00Z', type = 'on_this_day' ) else: return MemoryCreateDto( data = generated.immich.openapi_client.models.on_this_day_dto.OnThisDayDto( - year = 1, ), - memory_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + year = 1000, ), + memory_at = '2024-01-01T00:00Z', type = 'on_this_day', ) """ diff --git a/generated/immich/openapi_client/test/test_memory_lane_response_dto.py b/generated/immich/openapi_client/test/test_memory_lane_response_dto.py deleted file mode 100644 index b9535ae..0000000 --- a/generated/immich/openapi_client/test/test_memory_lane_response_dto.py +++ /dev/null @@ -1,254 +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 - - -import unittest - -from generated.immich.openapi_client.models.memory_lane_response_dto import MemoryLaneResponseDto - -class TestMemoryLaneResponseDto(unittest.TestCase): - """MemoryLaneResponseDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> MemoryLaneResponseDto: - """Test MemoryLaneResponseDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `MemoryLaneResponseDto` - """ - model = MemoryLaneResponseDto() - if include_optional: - return MemoryLaneResponseDto( - assets = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - years_ago = 56 - ) - else: - return MemoryLaneResponseDto( - assets = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - years_ago = 56, - ) - """ - - def testMemoryLaneResponseDto(self): - """Test MemoryLaneResponseDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_memory_response_dto.py b/generated/immich/openapi_client/test/test_memory_response_dto.py index 7e1be70..ba9c51e 100644 --- a/generated/immich/openapi_client/test/test_memory_response_dto.py +++ b/generated/immich/openapi_client/test/test_memory_response_dto.py @@ -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. @@ -38,22 +38,21 @@ class TestMemoryResponseDto(unittest.TestCase): assets = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -62,47 +61,38 @@ class TestMemoryResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -115,62 +105,52 @@ class TestMemoryResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = '2024-01-01T00:00Z', data = generated.immich.openapi_client.models.on_this_day_dto.OnThisDayDto( - year = 1, ), - deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - hide_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + year = 1000, ), + deleted_at = '2024-01-01T00:00Z', + hide_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_saved = True, - memory_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - owner_id = '', - seen_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - show_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + memory_at = '2024-01-01T00:00Z', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + seen_at = '2024-01-01T00:00Z', + show_at = '2024-01-01T00:00Z', type = 'on_this_day', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + updated_at = '2024-01-01T00:00Z' ) else: return MemoryResponseDto( assets = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -179,47 +159,38 @@ class TestMemoryResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -232,36 +203,27 @@ class TestMemoryResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = '2024-01-01T00:00Z', data = generated.immich.openapi_client.models.on_this_day_dto.OnThisDayDto( - year = 1, ), - id = '', + year = 1000, ), + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_saved = True, - memory_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - owner_id = '', + memory_at = '2024-01-01T00:00Z', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', type = 'on_this_day', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = '2024-01-01T00:00Z', ) """ diff --git a/generated/immich/openapi_client/test/test_memory_type.py b/generated/immich/openapi_client/test/test_memory_type.py index fddc5d0..f53165b 100644 --- a/generated/immich/openapi_client/test/test_memory_type.py +++ b/generated/immich/openapi_client/test/test_memory_type.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_memory_update_dto.py b/generated/immich/openapi_client/test/test_memory_update_dto.py index d97019e..d38b0bb 100644 --- a/generated/immich/openapi_client/test/test_memory_update_dto.py +++ b/generated/immich/openapi_client/test/test_memory_update_dto.py @@ -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. @@ -36,8 +36,8 @@ class TestMemoryUpdateDto(unittest.TestCase): if include_optional: return MemoryUpdateDto( is_saved = True, - memory_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - seen_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + memory_at = '2024-01-01T00:00Z', + seen_at = '2024-01-01T00:00Z' ) else: return MemoryUpdateDto( diff --git a/generated/immich/openapi_client/test/test_merge_person_dto.py b/generated/immich/openapi_client/test/test_merge_person_dto.py index ea6f9b7..6292b4c 100644 --- a/generated/immich/openapi_client/test/test_merge_person_dto.py +++ b/generated/immich/openapi_client/test/test_merge_person_dto.py @@ -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. @@ -36,13 +36,13 @@ class TestMergePersonDto(unittest.TestCase): if include_optional: return MergePersonDto( ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ] ) else: return MergePersonDto( ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], ) """ diff --git a/generated/immich/openapi_client/test/test_metadata_search_dto.py b/generated/immich/openapi_client/test/test_metadata_search_dto.py index 681652d..093e383 100644 --- a/generated/immich/openapi_client/test/test_metadata_search_dto.py +++ b/generated/immich/openapi_client/test/test_metadata_search_dto.py @@ -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. @@ -35,50 +35,50 @@ class TestMetadataSearchDto(unittest.TestCase): model = MetadataSearchDto() if include_optional: return MetadataSearchDto( + album_ids = [ + '62ECB020-8429-430c-a01F-FCCfeEe150AC' + ], checksum = '', city = '', country = '', - created_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - created_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_after = '2024-01-01T00:00Z', + created_before = '2024-01-01T00:00Z', description = '', - device_asset_id = '', - device_id = '', encoded_video_path = '', - id = '', - is_archived = True, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_encoded = True, is_favorite = True, is_motion = True, is_not_in_album = True, is_offline = True, - is_visible = True, lens_model = '', - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', make = '', model = '', + ocr = '', order = 'asc', original_file_name = '', original_path = '', page = 1, person_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], preview_path = '', - rating = -1, + rating = 1, size = 1, state = '', tag_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - taken_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - taken_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + taken_after = '2024-01-01T00:00Z', + taken_before = '2024-01-01T00:00Z', thumbnail_path = '', - trashed_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - trashed_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + trashed_after = '2024-01-01T00:00Z', + trashed_before = '2024-01-01T00:00Z', type = 'IMAGE', - updated_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - updated_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - with_archived = True, + updated_after = '2024-01-01T00:00Z', + updated_before = '2024-01-01T00:00Z', + visibility = 'archive', with_deleted = True, with_exif = True, with_people = True, diff --git a/generated/immich/openapi_client/test/test_notifications_api.py b/generated/immich/openapi_client/test/test_notifications_api.py index bd1b295..b600efa 100644 --- a/generated/immich/openapi_client/test/test_notifications_api.py +++ b/generated/immich/openapi_client/test/test_notifications_api.py @@ -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,15 +26,45 @@ class TestNotificationsApi(unittest.TestCase): def tearDown(self) -> None: pass - def test_get_notification_template(self) -> None: - """Test case for get_notification_template + def test_delete_notification(self) -> None: + """Test case for delete_notification + Delete a notification """ pass - def test_send_test_email(self) -> None: - """Test case for send_test_email + def test_delete_notifications(self) -> None: + """Test case for delete_notifications + Delete notifications + """ + pass + + def test_get_notification(self) -> None: + """Test case for get_notification + + Get a notification + """ + pass + + def test_get_notifications(self) -> None: + """Test case for get_notifications + + Retrieve notifications + """ + pass + + def test_update_notification(self) -> None: + """Test case for update_notification + + Update a notification + """ + pass + + def test_update_notifications(self) -> None: + """Test case for update_notifications + + Update notifications """ pass diff --git a/generated/immich/openapi_client/test/test_o_auth_api.py b/generated/immich/openapi_client/test/test_o_auth_api.py deleted file mode 100644 index 357d887..0000000 --- a/generated/immich/openapi_client/test/test_o_auth_api.py +++ /dev/null @@ -1,61 +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 - - -import unittest - -from generated.immich.openapi_client.api.o_auth_api import OAuthApi - - -class TestOAuthApi(unittest.TestCase): - """OAuthApi unit test stubs""" - - def setUp(self) -> None: - self.api = OAuthApi() - - def tearDown(self) -> None: - pass - - def test_finish_o_auth(self) -> None: - """Test case for finish_o_auth - - """ - pass - - def test_link_o_auth_account(self) -> None: - """Test case for link_o_auth_account - - """ - pass - - def test_redirect_o_auth_to_mobile(self) -> None: - """Test case for redirect_o_auth_to_mobile - - """ - pass - - def test_start_o_auth(self) -> None: - """Test case for start_o_auth - - """ - pass - - def test_unlink_o_auth_account(self) -> None: - """Test case for unlink_o_auth_account - - """ - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_o_auth_authorize_response_dto.py b/generated/immich/openapi_client/test/test_o_auth_authorize_response_dto.py index fb92b0a..e10ec0e 100644 --- a/generated/immich/openapi_client/test/test_o_auth_authorize_response_dto.py +++ b/generated/immich/openapi_client/test/test_o_auth_authorize_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_o_auth_callback_dto.py b/generated/immich/openapi_client/test/test_o_auth_callback_dto.py index 647c153..1ad98d5 100644 --- a/generated/immich/openapi_client/test/test_o_auth_callback_dto.py +++ b/generated/immich/openapi_client/test/test_o_auth_callback_dto.py @@ -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. @@ -35,11 +35,13 @@ class TestOAuthCallbackDto(unittest.TestCase): model = OAuthCallbackDto() if include_optional: return OAuthCallbackDto( - url = '' + code_verifier = '', + state = '', + url = '0' ) else: return OAuthCallbackDto( - url = '', + url = '0', ) """ diff --git a/generated/immich/openapi_client/test/test_o_auth_config_dto.py b/generated/immich/openapi_client/test/test_o_auth_config_dto.py index 3f34946..ce8ff6a 100644 --- a/generated/immich/openapi_client/test/test_o_auth_config_dto.py +++ b/generated/immich/openapi_client/test/test_o_auth_config_dto.py @@ -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. @@ -35,7 +35,9 @@ class TestOAuthConfigDto(unittest.TestCase): model = OAuthConfigDto() if include_optional: return OAuthConfigDto( - redirect_uri = '' + code_challenge = '', + redirect_uri = '', + state = '' ) else: return OAuthConfigDto( diff --git a/generated/immich/openapi_client/test/test_on_this_day_dto.py b/generated/immich/openapi_client/test/test_on_this_day_dto.py index a8c5819..ffdea8a 100644 --- a/generated/immich/openapi_client/test/test_on_this_day_dto.py +++ b/generated/immich/openapi_client/test/test_on_this_day_dto.py @@ -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. @@ -35,11 +35,11 @@ class TestOnThisDayDto(unittest.TestCase): model = OnThisDayDto() if include_optional: return OnThisDayDto( - year = 1 + year = 1000 ) else: return OnThisDayDto( - year = 1, + year = 1000, ) """ diff --git a/generated/immich/openapi_client/test/test_partner_direction.py b/generated/immich/openapi_client/test/test_partner_direction.py index f8cfad8..41e410d 100644 --- a/generated/immich/openapi_client/test/test_partner_direction.py +++ b/generated/immich/openapi_client/test/test_partner_direction.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_partner_response_dto.py b/generated/immich/openapi_client/test/test_partner_response_dto.py index 1e8cd90..240bd1c 100644 --- a/generated/immich/openapi_client/test/test_partner_response_dto.py +++ b/generated/immich/openapi_client/test/test_partner_response_dto.py @@ -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. @@ -36,8 +36,8 @@ class TestPartnerResponseDto(unittest.TestCase): if include_optional: return PartnerResponseDto( avatar_color = 'primary', - email = '', - id = '', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', in_timeline = True, name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), @@ -46,8 +46,8 @@ class TestPartnerResponseDto(unittest.TestCase): else: return PartnerResponseDto( avatar_color = 'primary', - email = '', - id = '', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', diff --git a/generated/immich/openapi_client/test/test_partners_api.py b/generated/immich/openapi_client/test/test_partners_api.py index a9ae5bb..fcd9267 100644 --- a/generated/immich/openapi_client/test/test_partners_api.py +++ b/generated/immich/openapi_client/test/test_partners_api.py @@ -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. @@ -29,24 +29,35 @@ class TestPartnersApi(unittest.TestCase): def test_create_partner(self) -> None: """Test case for create_partner + Create a partner + """ + pass + + def test_create_partner_deprecated(self) -> None: + """Test case for create_partner_deprecated + + Create a partner """ pass def test_get_partners(self) -> None: """Test case for get_partners + Retrieve partners """ pass def test_remove_partner(self) -> None: """Test case for remove_partner + Remove a partner """ pass def test_update_partner(self) -> None: """Test case for update_partner + Update a partner """ pass diff --git a/generated/immich/openapi_client/test/test_path_entity_type.py b/generated/immich/openapi_client/test/test_path_entity_type.py deleted file mode 100644 index ff55755..0000000 --- a/generated/immich/openapi_client/test/test_path_entity_type.py +++ /dev/null @@ -1,33 +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 - - -import unittest - -from generated.immich.openapi_client.models.path_entity_type import PathEntityType - -class TestPathEntityType(unittest.TestCase): - """PathEntityType unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testPathEntityType(self): - """Test PathEntityType""" - # inst = PathEntityType() - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_path_type.py b/generated/immich/openapi_client/test/test_path_type.py deleted file mode 100644 index 83386cc..0000000 --- a/generated/immich/openapi_client/test/test_path_type.py +++ /dev/null @@ -1,33 +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 - - -import unittest - -from generated.immich.openapi_client.models.path_type import PathType - -class TestPathType(unittest.TestCase): - """PathType unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testPathType(self): - """Test PathType""" - # inst = PathType() - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_people_api.py b/generated/immich/openapi_client/test/test_people_api.py index 646c229..587e39d 100644 --- a/generated/immich/openapi_client/test/test_people_api.py +++ b/generated/immich/openapi_client/test/test_people_api.py @@ -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. @@ -29,54 +29,77 @@ class TestPeopleApi(unittest.TestCase): def test_create_person(self) -> None: """Test case for create_person + Create a person + """ + pass + + def test_delete_people(self) -> None: + """Test case for delete_people + + Delete people + """ + pass + + def test_delete_person(self) -> None: + """Test case for delete_person + + Delete person """ pass def test_get_all_people(self) -> None: """Test case for get_all_people + Get all people """ pass def test_get_person(self) -> None: """Test case for get_person + Get a person """ pass def test_get_person_statistics(self) -> None: """Test case for get_person_statistics + Get person statistics """ pass def test_get_person_thumbnail(self) -> None: """Test case for get_person_thumbnail + Get person thumbnail """ pass def test_merge_person(self) -> None: """Test case for merge_person + Merge people """ pass def test_reassign_faces(self) -> None: """Test case for reassign_faces + Reassign faces """ pass def test_update_people(self) -> None: """Test case for update_people + Update people """ pass def test_update_person(self) -> None: """Test case for update_person + Update person """ pass diff --git a/generated/immich/openapi_client/test/test_people_response.py b/generated/immich/openapi_client/test/test_people_response.py index 81f0aa6..2835aa5 100644 --- a/generated/immich/openapi_client/test/test_people_response.py +++ b/generated/immich/openapi_client/test/test_people_response.py @@ -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. @@ -36,6 +36,7 @@ class TestPeopleResponse(unittest.TestCase): if include_optional: return PeopleResponse( enabled = True, + minimum_faces = 1, sidebar_web = True ) else: diff --git a/generated/immich/openapi_client/test/test_people_response_dto.py b/generated/immich/openapi_client/test/test_people_response_dto.py index 09821d7..f0e986f 100644 --- a/generated/immich/openapi_client/test/test_people_response_dto.py +++ b/generated/immich/openapi_client/test/test_people_response_dto.py @@ -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. @@ -36,35 +36,35 @@ class TestPeopleResponseDto(unittest.TestCase): if include_optional: return PeopleResponseDto( has_next_page = True, - hidden = 56, + hidden = 0, people = [ generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', thumbnail_path = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) ], - total = 56 + total = 0 ) else: return PeopleResponseDto( - hidden = 56, + hidden = 0, people = [ generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', thumbnail_path = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) ], - total = 56, + total = 0, ) """ diff --git a/generated/immich/openapi_client/test/test_people_update.py b/generated/immich/openapi_client/test/test_people_update.py index 25845ab..350c060 100644 --- a/generated/immich/openapi_client/test/test_people_update.py +++ b/generated/immich/openapi_client/test/test_people_update.py @@ -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. @@ -36,6 +36,7 @@ class TestPeopleUpdate(unittest.TestCase): if include_optional: return PeopleUpdate( enabled = True, + minimum_faces = 1, sidebar_web = True ) else: diff --git a/generated/immich/openapi_client/test/test_people_update_dto.py b/generated/immich/openapi_client/test/test_people_update_dto.py index 6d6c1f8..f6e290d 100644 --- a/generated/immich/openapi_client/test/test_people_update_dto.py +++ b/generated/immich/openapi_client/test/test_people_update_dto.py @@ -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. @@ -38,9 +38,9 @@ class TestPeopleUpdateDto(unittest.TestCase): people = [ generated.immich.openapi_client.models.people_update_item.PeopleUpdateItem( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - feature_face_asset_id = '', - id = '', + color = '#ECB02084', + feature_face_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', ) @@ -51,9 +51,9 @@ class TestPeopleUpdateDto(unittest.TestCase): people = [ generated.immich.openapi_client.models.people_update_item.PeopleUpdateItem( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - feature_face_asset_id = '', - id = '', + color = '#ECB02084', + feature_face_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', ) diff --git a/generated/immich/openapi_client/test/test_people_update_item.py b/generated/immich/openapi_client/test/test_people_update_item.py index 2b256cb..d2e68c4 100644 --- a/generated/immich/openapi_client/test/test_people_update_item.py +++ b/generated/immich/openapi_client/test/test_people_update_item.py @@ -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. @@ -36,16 +36,16 @@ class TestPeopleUpdateItem(unittest.TestCase): if include_optional: return PeopleUpdateItem( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - feature_face_asset_id = '', - id = '', + color = '#ECB02084', + feature_face_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '' ) else: return PeopleUpdateItem( - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_permission.py b/generated/immich/openapi_client/test/test_permission.py index 51adee9..0fd55b3 100644 --- a/generated/immich/openapi_client/test/test_permission.py +++ b/generated/immich/openapi_client/test/test_permission.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_person_create_dto.py b/generated/immich/openapi_client/test/test_person_create_dto.py index c67c89f..eaed706 100644 --- a/generated/immich/openapi_client/test/test_person_create_dto.py +++ b/generated/immich/openapi_client/test/test_person_create_dto.py @@ -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. @@ -36,7 +36,7 @@ class TestPersonCreateDto(unittest.TestCase): if include_optional: return PersonCreateDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', + color = '#ECB02084', is_favorite = True, is_hidden = True, name = '' diff --git a/generated/immich/openapi_client/test/test_person_response_dto.py b/generated/immich/openapi_client/test/test_person_response_dto.py index 17cea5c..54de20e 100644 --- a/generated/immich/openapi_client/test/test_person_response_dto.py +++ b/generated/immich/openapi_client/test/test_person_response_dto.py @@ -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. @@ -37,7 +37,7 @@ class TestPersonResponseDto(unittest.TestCase): return PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -47,7 +47,7 @@ class TestPersonResponseDto(unittest.TestCase): else: return PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_hidden = True, name = '', thumbnail_path = '', diff --git a/generated/immich/openapi_client/test/test_person_statistics_response_dto.py b/generated/immich/openapi_client/test/test_person_statistics_response_dto.py index 7b20b6f..222bcc8 100644 --- a/generated/immich/openapi_client/test/test_person_statistics_response_dto.py +++ b/generated/immich/openapi_client/test/test_person_statistics_response_dto.py @@ -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. @@ -35,11 +35,11 @@ class TestPersonStatisticsResponseDto(unittest.TestCase): model = PersonStatisticsResponseDto() if include_optional: return PersonStatisticsResponseDto( - assets = 56 + assets = -9007199254740991 ) else: return PersonStatisticsResponseDto( - assets = 56, + assets = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_person_update_dto.py b/generated/immich/openapi_client/test/test_person_update_dto.py index d55b09a..c760812 100644 --- a/generated/immich/openapi_client/test/test_person_update_dto.py +++ b/generated/immich/openapi_client/test/test_person_update_dto.py @@ -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. @@ -36,8 +36,8 @@ class TestPersonUpdateDto(unittest.TestCase): if include_optional: return PersonUpdateDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - feature_face_asset_id = '', + color = '#ECB02084', + feature_face_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '' diff --git a/generated/immich/openapi_client/test/test_person_with_faces_response_dto.py b/generated/immich/openapi_client/test/test_person_with_faces_response_dto.py deleted file mode 100644 index e4e32c3..0000000 --- a/generated/immich/openapi_client/test/test_person_with_faces_response_dto.py +++ /dev/null @@ -1,85 +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 - - -import unittest - -from generated.immich.openapi_client.models.person_with_faces_response_dto import PersonWithFacesResponseDto - -class TestPersonWithFacesResponseDto(unittest.TestCase): - """PersonWithFacesResponseDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> PersonWithFacesResponseDto: - """Test PersonWithFacesResponseDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `PersonWithFacesResponseDto` - """ - model = PersonWithFacesResponseDto() - if include_optional: - return PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') - ) - else: - return PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_hidden = True, - name = '', - thumbnail_path = '', - ) - """ - - def testPersonWithFacesResponseDto(self): - """Test PersonWithFacesResponseDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_places_response_dto.py b/generated/immich/openapi_client/test/test_places_response_dto.py index 776c577..5ea5f06 100644 --- a/generated/immich/openapi_client/test/test_places_response_dto.py +++ b/generated/immich/openapi_client/test/test_places_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_purchase_response.py b/generated/immich/openapi_client/test/test_purchase_response.py index e3ea316..f9390bd 100644 --- a/generated/immich/openapi_client/test/test_purchase_response.py +++ b/generated/immich/openapi_client/test/test_purchase_response.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_purchase_update.py b/generated/immich/openapi_client/test/test_purchase_update.py index 7135c5b..3abfc2a 100644 --- a/generated/immich/openapi_client/test/test_purchase_update.py +++ b/generated/immich/openapi_client/test/test_purchase_update.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_queue_status_dto.py b/generated/immich/openapi_client/test/test_queue_status_dto.py deleted file mode 100644 index 327b30f..0000000 --- a/generated/immich/openapi_client/test/test_queue_status_dto.py +++ /dev/null @@ -1,54 +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 - - -import unittest - -from generated.immich.openapi_client.models.queue_status_dto import QueueStatusDto - -class TestQueueStatusDto(unittest.TestCase): - """QueueStatusDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> QueueStatusDto: - """Test QueueStatusDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `QueueStatusDto` - """ - model = QueueStatusDto() - if include_optional: - return QueueStatusDto( - is_active = True, - is_paused = True - ) - else: - return QueueStatusDto( - is_active = True, - is_paused = True, - ) - """ - - def testQueueStatusDto(self): - """Test QueueStatusDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_random_search_dto.py b/generated/immich/openapi_client/test/test_random_search_dto.py index 8657b20..614a22b 100644 --- a/generated/immich/openapi_client/test/test_random_search_dto.py +++ b/generated/immich/openapi_client/test/test_random_search_dto.py @@ -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. @@ -35,39 +35,40 @@ class TestRandomSearchDto(unittest.TestCase): model = RandomSearchDto() if include_optional: return RandomSearchDto( + album_ids = [ + '62ECB020-8429-430c-a01F-FCCfeEe150AC' + ], city = '', country = '', - created_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - created_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - device_id = '', - is_archived = True, + created_after = '2024-01-01T00:00Z', + created_before = '2024-01-01T00:00Z', is_encoded = True, is_favorite = True, is_motion = True, is_not_in_album = True, is_offline = True, - is_visible = True, lens_model = '', - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', make = '', model = '', + ocr = '', person_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - rating = -1, + rating = 1, size = 1, state = '', tag_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - taken_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - taken_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - trashed_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - trashed_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + taken_after = '2024-01-01T00:00Z', + taken_before = '2024-01-01T00:00Z', + trashed_after = '2024-01-01T00:00Z', + trashed_before = '2024-01-01T00:00Z', type = 'IMAGE', - updated_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - updated_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - with_archived = True, + updated_after = '2024-01-01T00:00Z', + updated_before = '2024-01-01T00:00Z', + visibility = 'archive', with_deleted = True, with_exif = True, with_people = True, diff --git a/generated/immich/openapi_client/test/test_ratings_response.py b/generated/immich/openapi_client/test/test_ratings_response.py index 5518aab..ac59115 100644 --- a/generated/immich/openapi_client/test/test_ratings_response.py +++ b/generated/immich/openapi_client/test/test_ratings_response.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_ratings_update.py b/generated/immich/openapi_client/test/test_ratings_update.py index 3b30d01..6ccdf60 100644 --- a/generated/immich/openapi_client/test/test_ratings_update.py +++ b/generated/immich/openapi_client/test/test_ratings_update.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_reaction_level.py b/generated/immich/openapi_client/test/test_reaction_level.py index 6d9f9b9..4b20ce2 100644 --- a/generated/immich/openapi_client/test/test_reaction_level.py +++ b/generated/immich/openapi_client/test/test_reaction_level.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_reaction_type.py b/generated/immich/openapi_client/test/test_reaction_type.py index 665e01e..53d714c 100644 --- a/generated/immich/openapi_client/test/test_reaction_type.py +++ b/generated/immich/openapi_client/test/test_reaction_type.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_reverse_geocoding_state_response_dto.py b/generated/immich/openapi_client/test/test_reverse_geocoding_state_response_dto.py index a38fba0..56d3cbe 100644 --- a/generated/immich/openapi_client/test/test_reverse_geocoding_state_response_dto.py +++ b/generated/immich/openapi_client/test/test_reverse_geocoding_state_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_search_album_response_dto.py b/generated/immich/openapi_client/test/test_search_album_response_dto.py index 25d34f3..4fb7049 100644 --- a/generated/immich/openapi_client/test/test_search_album_response_dto.py +++ b/generated/immich/openapi_client/test/test_search_album_response_dto.py @@ -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. @@ -35,12 +35,12 @@ class TestSearchAlbumResponseDto(unittest.TestCase): model = SearchAlbumResponseDto() if include_optional: return SearchAlbumResponseDto( - count = 56, + count = 0, facets = [ generated.immich.openapi_client.models.search_facet_response_dto.SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '', ) @@ -48,144 +48,46 @@ class TestSearchAlbumResponseDto(unittest.TestCase): items = [ generated.immich.openapi_client.models.album_response_dto.AlbumResponseDto( album_name = '', - album_thumbnail_asset_id = '', + album_thumbnail_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', album_users = [ generated.immich.openapi_client.models.album_user_response_dto.AlbumUserResponseDto( - role = null, + role = 'editor', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), ) ], - asset_count = 56, - assets = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + asset_count = 0, + contributor_counts = [ + generated.immich.openapi_client.models.contributor_count_response_dto.ContributorCountResponseDto( + asset_count = 0, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ], created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_shared_link = True, - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_activity_enabled = True, last_modified_asset_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - order = null, - owner = , - owner_id = '', + order = 'asc', shared = True, start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) ], - total = 56 + total = 0 ) else: return SearchAlbumResponseDto( - count = 56, + count = 0, facets = [ generated.immich.openapi_client.models.search_facet_response_dto.SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '', ) @@ -193,135 +95,37 @@ class TestSearchAlbumResponseDto(unittest.TestCase): items = [ generated.immich.openapi_client.models.album_response_dto.AlbumResponseDto( album_name = '', - album_thumbnail_asset_id = '', + album_thumbnail_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', album_users = [ generated.immich.openapi_client.models.album_user_response_dto.AlbumUserResponseDto( - role = null, + role = 'editor', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), ) ], - asset_count = 56, - assets = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + asset_count = 0, + contributor_counts = [ + generated.immich.openapi_client.models.contributor_count_response_dto.ContributorCountResponseDto( + asset_count = 0, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ], created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_shared_link = True, - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_activity_enabled = True, last_modified_asset_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - order = null, - owner = , - owner_id = '', + order = 'asc', shared = True, start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) ], - total = 56, + total = 0, ) """ diff --git a/generated/immich/openapi_client/test/test_search_api.py b/generated/immich/openapi_client/test/test_search_api.py index 6112d3f..ab9b50e 100644 --- a/generated/immich/openapi_client/test/test_search_api.py +++ b/generated/immich/openapi_client/test/test_search_api.py @@ -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. @@ -29,48 +29,70 @@ class TestSearchApi(unittest.TestCase): def test_get_assets_by_city(self) -> None: """Test case for get_assets_by_city + Retrieve assets by city """ pass def test_get_explore_data(self) -> None: """Test case for get_explore_data + Retrieve explore data """ pass def test_get_search_suggestions(self) -> None: """Test case for get_search_suggestions + Retrieve search suggestions + """ + pass + + def test_search_asset_statistics(self) -> None: + """Test case for search_asset_statistics + + Search asset statistics """ pass def test_search_assets(self) -> None: """Test case for search_assets + Search assets by metadata + """ + pass + + def test_search_large_assets(self) -> None: + """Test case for search_large_assets + + Search large assets """ pass def test_search_person(self) -> None: """Test case for search_person + Search people """ pass def test_search_places(self) -> None: """Test case for search_places + Search places """ pass def test_search_random(self) -> None: """Test case for search_random + Search random assets """ pass def test_search_smart(self) -> None: """Test case for search_smart + Smart asset search """ pass diff --git a/generated/immich/openapi_client/test/test_search_asset_response_dto.py b/generated/immich/openapi_client/test/test_search_asset_response_dto.py index 0a70878..cfd56b6 100644 --- a/generated/immich/openapi_client/test/test_search_asset_response_dto.py +++ b/generated/immich/openapi_client/test/test_search_asset_response_dto.py @@ -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. @@ -35,12 +35,12 @@ class TestSearchAssetResponseDto(unittest.TestCase): model = SearchAssetResponseDto() if include_optional: return SearchAssetResponseDto( - count = 56, + count = 0, facets = [ generated.immich.openapi_client.models.search_facet_response_dto.SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '', ) @@ -48,22 +48,21 @@ class TestSearchAssetResponseDto(unittest.TestCase): items = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -72,47 +71,38 @@ class TestSearchAssetResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -125,38 +115,29 @@ class TestSearchAssetResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], next_page = '', - total = 56 + total = 0 ) else: return SearchAssetResponseDto( - count = 56, + count = 0, facets = [ generated.immich.openapi_client.models.search_facet_response_dto.SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '', ) @@ -164,22 +145,21 @@ class TestSearchAssetResponseDto(unittest.TestCase): items = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -188,47 +168,38 @@ class TestSearchAssetResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -241,29 +212,20 @@ class TestSearchAssetResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], next_page = '', - total = 56, + total = 0, ) """ diff --git a/generated/immich/openapi_client/test/test_search_explore_item.py b/generated/immich/openapi_client/test/test_search_explore_item.py index be178f1..f3c088a 100644 --- a/generated/immich/openapi_client/test/test_search_explore_item.py +++ b/generated/immich/openapi_client/test/test_search_explore_item.py @@ -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. @@ -37,22 +37,21 @@ class TestSearchExploreItem(unittest.TestCase): return SearchExploreItem( data = generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -61,47 +60,38 @@ class TestSearchExploreItem(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -114,48 +104,38 @@ class TestSearchExploreItem(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ), value = '' ) else: return SearchExploreItem( data = generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -164,47 +144,38 @@ class TestSearchExploreItem(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -217,26 +188,17 @@ class TestSearchExploreItem(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ), value = '', ) """ diff --git a/generated/immich/openapi_client/test/test_search_explore_response_dto.py b/generated/immich/openapi_client/test/test_search_explore_response_dto.py index 69c514a..d6c96f9 100644 --- a/generated/immich/openapi_client/test/test_search_explore_response_dto.py +++ b/generated/immich/openapi_client/test/test_search_explore_response_dto.py @@ -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. @@ -40,22 +40,21 @@ class TestSearchExploreResponseDto(unittest.TestCase): generated.immich.openapi_client.models.search_explore_item.SearchExploreItem( data = generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -64,47 +63,38 @@ class TestSearchExploreResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -117,26 +107,17 @@ class TestSearchExploreResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ), value = '', ) ] ) @@ -147,22 +128,21 @@ class TestSearchExploreResponseDto(unittest.TestCase): generated.immich.openapi_client.models.search_explore_item.SearchExploreItem( data = generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -171,47 +151,38 @@ class TestSearchExploreResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -224,26 +195,17 @@ class TestSearchExploreResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ), value = '', ) ], ) diff --git a/generated/immich/openapi_client/test/test_search_facet_count_response_dto.py b/generated/immich/openapi_client/test/test_search_facet_count_response_dto.py index 39de121..8d92574 100644 --- a/generated/immich/openapi_client/test/test_search_facet_count_response_dto.py +++ b/generated/immich/openapi_client/test/test_search_facet_count_response_dto.py @@ -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. @@ -35,12 +35,12 @@ class TestSearchFacetCountResponseDto(unittest.TestCase): model = SearchFacetCountResponseDto() if include_optional: return SearchFacetCountResponseDto( - count = 56, + count = 0, value = '' ) else: return SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) """ diff --git a/generated/immich/openapi_client/test/test_search_facet_response_dto.py b/generated/immich/openapi_client/test/test_search_facet_response_dto.py index 6f2c29b..f733ef7 100644 --- a/generated/immich/openapi_client/test/test_search_facet_response_dto.py +++ b/generated/immich/openapi_client/test/test_search_facet_response_dto.py @@ -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. @@ -37,7 +37,7 @@ class TestSearchFacetResponseDto(unittest.TestCase): return SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '' @@ -46,7 +46,7 @@ class TestSearchFacetResponseDto(unittest.TestCase): return SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '', diff --git a/generated/immich/openapi_client/test/test_search_response_dto.py b/generated/immich/openapi_client/test/test_search_response_dto.py index 1c48ce2..edffce2 100644 --- a/generated/immich/openapi_client/test/test_search_response_dto.py +++ b/generated/immich/openapi_client/test/test_search_response_dto.py @@ -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. @@ -36,12 +36,12 @@ class TestSearchResponseDto(unittest.TestCase): if include_optional: return SearchResponseDto( albums = generated.immich.openapi_client.models.search_album_response_dto.SearchAlbumResponseDto( - count = 56, + count = 0, facets = [ generated.immich.openapi_client.models.search_facet_response_dto.SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '', ) @@ -49,142 +49,44 @@ class TestSearchResponseDto(unittest.TestCase): items = [ generated.immich.openapi_client.models.album_response_dto.AlbumResponseDto( album_name = '', - album_thumbnail_asset_id = '', + album_thumbnail_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', album_users = [ generated.immich.openapi_client.models.album_user_response_dto.AlbumUserResponseDto( - role = null, + role = 'editor', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), ) ], - asset_count = 56, - assets = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + asset_count = 0, + contributor_counts = [ + generated.immich.openapi_client.models.contributor_count_response_dto.ContributorCountResponseDto( + asset_count = 0, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ], created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_shared_link = True, - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_activity_enabled = True, last_modified_asset_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - order = null, - owner = , - owner_id = '', + order = 'asc', shared = True, start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) ], - total = 56, ), + total = 0, ), assets = generated.immich.openapi_client.models.search_asset_response_dto.SearchAssetResponseDto( - count = 56, + count = 0, facets = [ generated.immich.openapi_client.models.search_facet_response_dto.SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '', ) @@ -192,22 +94,21 @@ class TestSearchResponseDto(unittest.TestCase): items = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -216,47 +117,38 @@ class TestSearchResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -269,39 +161,30 @@ class TestSearchResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], next_page = '', - total = 56, ) + total = 0, ) ) else: return SearchResponseDto( albums = generated.immich.openapi_client.models.search_album_response_dto.SearchAlbumResponseDto( - count = 56, + count = 0, facets = [ generated.immich.openapi_client.models.search_facet_response_dto.SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '', ) @@ -309,142 +192,44 @@ class TestSearchResponseDto(unittest.TestCase): items = [ generated.immich.openapi_client.models.album_response_dto.AlbumResponseDto( album_name = '', - album_thumbnail_asset_id = '', + album_thumbnail_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', album_users = [ generated.immich.openapi_client.models.album_user_response_dto.AlbumUserResponseDto( - role = null, + role = 'editor', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), ) ], - asset_count = 56, - assets = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + asset_count = 0, + contributor_counts = [ + generated.immich.openapi_client.models.contributor_count_response_dto.ContributorCountResponseDto( + asset_count = 0, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ], created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_shared_link = True, - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_activity_enabled = True, last_modified_asset_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - order = null, - owner = , - owner_id = '', + order = 'asc', shared = True, start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) ], - total = 56, ), + total = 0, ), assets = generated.immich.openapi_client.models.search_asset_response_dto.SearchAssetResponseDto( - count = 56, + count = 0, facets = [ generated.immich.openapi_client.models.search_facet_response_dto.SearchFacetResponseDto( counts = [ generated.immich.openapi_client.models.search_facet_count_response_dto.SearchFacetCountResponseDto( - count = 56, + count = 0, value = '', ) ], field_name = '', ) @@ -452,22 +237,21 @@ class TestSearchResponseDto(unittest.TestCase): items = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -476,47 +260,38 @@ class TestSearchResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -529,29 +304,20 @@ class TestSearchResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], next_page = '', - total = 56, ), + total = 0, ), ) """ diff --git a/generated/immich/openapi_client/test/test_search_suggestion_type.py b/generated/immich/openapi_client/test/test_search_suggestion_type.py index 49ae56b..1f6c36a 100644 --- a/generated/immich/openapi_client/test/test_search_suggestion_type.py +++ b/generated/immich/openapi_client/test/test_search_suggestion_type.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_server_about_response_dto.py b/generated/immich/openapi_client/test/test_server_about_response_dto.py index 4d15ba5..de2abe5 100644 --- a/generated/immich/openapi_client/test/test_server_about_response_dto.py +++ b/generated/immich/openapi_client/test/test_server_about_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_server_api.py b/generated/immich/openapi_client/test/test_server_api.py index 1b197ac..de60252 100644 --- a/generated/immich/openapi_client/test/test_server_api.py +++ b/generated/immich/openapi_client/test/test_server_api.py @@ -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. @@ -29,78 +29,98 @@ class TestServerApi(unittest.TestCase): def test_delete_server_license(self) -> None: """Test case for delete_server_license + Delete server product key """ pass def test_get_about_info(self) -> None: """Test case for get_about_info + Get server information + """ + pass + + def test_get_apk_links(self) -> None: + """Test case for get_apk_links + + Get APK links """ pass def test_get_server_config(self) -> None: """Test case for get_server_config + Get config """ pass def test_get_server_features(self) -> None: """Test case for get_server_features + Get features """ pass def test_get_server_license(self) -> None: """Test case for get_server_license + Get product key """ pass def test_get_server_statistics(self) -> None: """Test case for get_server_statistics + Get statistics """ pass def test_get_server_version(self) -> None: """Test case for get_server_version + Get server version """ pass def test_get_storage(self) -> None: """Test case for get_storage + Get storage """ pass def test_get_supported_media_types(self) -> None: """Test case for get_supported_media_types + Get supported media types """ pass - def test_get_theme(self) -> None: - """Test case for get_theme + def test_get_version_check(self) -> None: + """Test case for get_version_check + Get version check status """ pass def test_get_version_history(self) -> None: """Test case for get_version_history + Get version history """ pass def test_ping_server(self) -> None: """Test case for ping_server + Ping """ pass def test_set_server_license(self) -> None: """Test case for set_server_license + Set server product key """ pass diff --git a/generated/immich/openapi_client/test/test_server_config_dto.py b/generated/immich/openapi_client/test/test_server_config_dto.py index 17879fb..6e5530c 100644 --- a/generated/immich/openapi_client/test/test_server_config_dto.py +++ b/generated/immich/openapi_client/test/test_server_config_dto.py @@ -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. @@ -39,12 +39,14 @@ class TestServerConfigDto(unittest.TestCase): is_initialized = True, is_onboarded = True, login_page_message = '', + maintenance_mode = True, map_dark_style_url = '', map_light_style_url = '', + min_faces = -9007199254740991, oauth_button_text = '', public_users = True, - trash_days = 56, - user_delete_delay = 56 + trash_days = -9007199254740991, + user_delete_delay = -9007199254740991 ) else: return ServerConfigDto( @@ -52,12 +54,14 @@ class TestServerConfigDto(unittest.TestCase): is_initialized = True, is_onboarded = True, login_page_message = '', + maintenance_mode = True, map_dark_style_url = '', map_light_style_url = '', + min_faces = -9007199254740991, oauth_button_text = '', public_users = True, - trash_days = 56, - user_delete_delay = 56, + trash_days = -9007199254740991, + user_delete_delay = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_server_features_dto.py b/generated/immich/openapi_client/test/test_server_features_dto.py index a25ddae..f41f215 100644 --- a/generated/immich/openapi_client/test/test_server_features_dto.py +++ b/generated/immich/openapi_client/test/test_server_features_dto.py @@ -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. @@ -43,7 +43,9 @@ class TestServerFeaturesDto(unittest.TestCase): map = True, oauth = True, oauth_auto_launch = True, + ocr = True, password_login = True, + realtime_transcoding = True, reverse_geocoding = True, search = True, sidecar = True, @@ -60,7 +62,9 @@ class TestServerFeaturesDto(unittest.TestCase): map = True, oauth = True, oauth_auto_launch = True, + ocr = True, password_login = True, + realtime_transcoding = True, reverse_geocoding = True, search = True, sidecar = True, diff --git a/generated/immich/openapi_client/test/test_server_media_types_response_dto.py b/generated/immich/openapi_client/test/test_server_media_types_response_dto.py index c31764c..b434266 100644 --- a/generated/immich/openapi_client/test/test_server_media_types_response_dto.py +++ b/generated/immich/openapi_client/test/test_server_media_types_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_server_ping_response.py b/generated/immich/openapi_client/test/test_server_ping_response.py index d5c5a47..72d9951 100644 --- a/generated/immich/openapi_client/test/test_server_ping_response.py +++ b/generated/immich/openapi_client/test/test_server_ping_response.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_server_stats_response_dto.py b/generated/immich/openapi_client/test/test_server_stats_response_dto.py index 3fabb42..ddf7a4a 100644 --- a/generated/immich/openapi_client/test/test_server_stats_response_dto.py +++ b/generated/immich/openapi_client/test/test_server_stats_response_dto.py @@ -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. @@ -35,21 +35,41 @@ class TestServerStatsResponseDto(unittest.TestCase): model = ServerStatsResponseDto() if include_optional: return ServerStatsResponseDto( - photos = 56, - usage = 56, - usage_by_user = [{"photos":1,"videos":1,"diskUsageRaw":2,"usagePhotos":1,"usageVideos":1}], - usage_photos = 56, - usage_videos = 56, - videos = 56 + photos = -9007199254740991, + usage = -9007199254740991, + usage_by_user = [ + generated.immich.openapi_client.models.usage_by_user_dto.UsageByUserDto( + photos = -9007199254740991, + quota_size_in_bytes = -9007199254740991, + usage = -9007199254740991, + usage_photos = -9007199254740991, + usage_videos = -9007199254740991, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + user_name = '', + videos = -9007199254740991, ) + ], + usage_photos = -9007199254740991, + usage_videos = -9007199254740991, + videos = -9007199254740991 ) else: return ServerStatsResponseDto( - photos = 56, - usage = 56, - usage_by_user = [{"photos":1,"videos":1,"diskUsageRaw":2,"usagePhotos":1,"usageVideos":1}], - usage_photos = 56, - usage_videos = 56, - videos = 56, + photos = -9007199254740991, + usage = -9007199254740991, + usage_by_user = [ + generated.immich.openapi_client.models.usage_by_user_dto.UsageByUserDto( + photos = -9007199254740991, + quota_size_in_bytes = -9007199254740991, + usage = -9007199254740991, + usage_photos = -9007199254740991, + usage_videos = -9007199254740991, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + user_name = '', + videos = -9007199254740991, ) + ], + usage_photos = -9007199254740991, + usage_videos = -9007199254740991, + videos = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_server_storage_response_dto.py b/generated/immich/openapi_client/test/test_server_storage_response_dto.py index f783b5b..5ecc716 100644 --- a/generated/immich/openapi_client/test/test_server_storage_response_dto.py +++ b/generated/immich/openapi_client/test/test_server_storage_response_dto.py @@ -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. @@ -36,22 +36,22 @@ class TestServerStorageResponseDto(unittest.TestCase): if include_optional: return ServerStorageResponseDto( disk_available = '', - disk_available_raw = 56, + disk_available_raw = -9007199254740991, disk_size = '', - disk_size_raw = 56, + disk_size_raw = -9007199254740991, disk_usage_percentage = 1.337, disk_use = '', - disk_use_raw = 56 + disk_use_raw = -9007199254740991 ) else: return ServerStorageResponseDto( disk_available = '', - disk_available_raw = 56, + disk_available_raw = -9007199254740991, disk_size = '', - disk_size_raw = 56, + disk_size_raw = -9007199254740991, disk_usage_percentage = 1.337, disk_use = '', - disk_use_raw = 56, + disk_use_raw = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_server_theme_dto.py b/generated/immich/openapi_client/test/test_server_theme_dto.py deleted file mode 100644 index a388d79..0000000 --- a/generated/immich/openapi_client/test/test_server_theme_dto.py +++ /dev/null @@ -1,52 +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 - - -import unittest - -from generated.immich.openapi_client.models.server_theme_dto import ServerThemeDto - -class TestServerThemeDto(unittest.TestCase): - """ServerThemeDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> ServerThemeDto: - """Test ServerThemeDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `ServerThemeDto` - """ - model = ServerThemeDto() - if include_optional: - return ServerThemeDto( - custom_css = '' - ) - else: - return ServerThemeDto( - custom_css = '', - ) - """ - - def testServerThemeDto(self): - """Test ServerThemeDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_server_version_history_response_dto.py b/generated/immich/openapi_client/test/test_server_version_history_response_dto.py index e09f7ca..5804284 100644 --- a/generated/immich/openapi_client/test/test_server_version_history_response_dto.py +++ b/generated/immich/openapi_client/test/test_server_version_history_response_dto.py @@ -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. @@ -35,14 +35,14 @@ class TestServerVersionHistoryResponseDto(unittest.TestCase): model = ServerVersionHistoryResponseDto() if include_optional: return ServerVersionHistoryResponseDto( - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + created_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', version = '' ) else: return ServerVersionHistoryResponseDto( - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + created_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', version = '', ) """ diff --git a/generated/immich/openapi_client/test/test_server_version_response_dto.py b/generated/immich/openapi_client/test/test_server_version_response_dto.py index b8dd41f..7bd9dcd 100644 --- a/generated/immich/openapi_client/test/test_server_version_response_dto.py +++ b/generated/immich/openapi_client/test/test_server_version_response_dto.py @@ -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. @@ -35,15 +35,17 @@ class TestServerVersionResponseDto(unittest.TestCase): model = ServerVersionResponseDto() if include_optional: return ServerVersionResponseDto( - major = 56, - minor = 56, - patch = 56 + major = 0, + minor = 0, + patch = 0, + prerelease = 0 ) else: return ServerVersionResponseDto( - major = 56, - minor = 56, - patch = 56, + major = 0, + minor = 0, + patch = 0, + prerelease = 0, ) """ diff --git a/generated/immich/openapi_client/test/test_session_response_dto.py b/generated/immich/openapi_client/test/test_session_response_dto.py index 314d797..3171a95 100644 --- a/generated/immich/openapi_client/test/test_session_response_dto.py +++ b/generated/immich/openapi_client/test/test_session_response_dto.py @@ -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. @@ -35,20 +35,25 @@ class TestSessionResponseDto(unittest.TestCase): model = SessionResponseDto() if include_optional: return SessionResponseDto( + app_version = '', created_at = '', current = True, device_os = '', device_type = '', - id = '', + expires_at = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + is_pending_sync_reset = True, updated_at = '' ) else: return SessionResponseDto( + app_version = '', created_at = '', current = True, device_os = '', device_type = '', - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + is_pending_sync_reset = True, updated_at = '', ) """ diff --git a/generated/immich/openapi_client/test/test_sessions_api.py b/generated/immich/openapi_client/test/test_sessions_api.py index 0779e55..5f736a7 100644 --- a/generated/immich/openapi_client/test/test_sessions_api.py +++ b/generated/immich/openapi_client/test/test_sessions_api.py @@ -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,21 +26,45 @@ class TestSessionsApi(unittest.TestCase): def tearDown(self) -> None: pass + def test_create_session(self) -> None: + """Test case for create_session + + Create a session + """ + pass + def test_delete_all_sessions(self) -> None: """Test case for delete_all_sessions + Delete all sessions """ pass def test_delete_session(self) -> None: """Test case for delete_session + Delete a session """ pass def test_get_sessions(self) -> None: """Test case for get_sessions + Retrieve sessions + """ + pass + + def test_lock_session(self) -> None: + """Test case for lock_session + + Lock a session + """ + pass + + def test_update_session(self) -> None: + """Test case for update_session + + Update a session """ pass diff --git a/generated/immich/openapi_client/test/test_shared_link_create_dto.py b/generated/immich/openapi_client/test/test_shared_link_create_dto.py index a605869..ff2ba7e 100644 --- a/generated/immich/openapi_client/test/test_shared_link_create_dto.py +++ b/generated/immich/openapi_client/test/test_shared_link_create_dto.py @@ -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. @@ -35,16 +35,17 @@ class TestSharedLinkCreateDto(unittest.TestCase): model = SharedLinkCreateDto() if include_optional: return SharedLinkCreateDto( - album_id = '', + album_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', allow_download = True, allow_upload = True, asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], description = '', - expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + expires_at = '2024-01-01T00:00Z', password = '', show_metadata = True, + slug = '', type = 'ALBUM' ) else: diff --git a/generated/immich/openapi_client/test/test_shared_link_edit_dto.py b/generated/immich/openapi_client/test/test_shared_link_edit_dto.py index 9d1ef9b..d53e82e 100644 --- a/generated/immich/openapi_client/test/test_shared_link_edit_dto.py +++ b/generated/immich/openapi_client/test/test_shared_link_edit_dto.py @@ -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. @@ -37,11 +37,11 @@ class TestSharedLinkEditDto(unittest.TestCase): return SharedLinkEditDto( allow_download = True, allow_upload = True, - change_expiry_time = True, description = '', - expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + expires_at = '2024-01-01T00:00Z', password = '', - show_metadata = True + show_metadata = True, + slug = '' ) else: return SharedLinkEditDto( diff --git a/generated/immich/openapi_client/test/test_shared_link_response_dto.py b/generated/immich/openapi_client/test/test_shared_link_response_dto.py index 0a16f7e..b315ca8 100644 --- a/generated/immich/openapi_client/test/test_shared_link_response_dto.py +++ b/generated/immich/openapi_client/test/test_shared_link_response_dto.py @@ -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. @@ -37,130 +37,32 @@ class TestSharedLinkResponseDto(unittest.TestCase): return SharedLinkResponseDto( album = generated.immich.openapi_client.models.album_response_dto.AlbumResponseDto( album_name = '', - album_thumbnail_asset_id = '', + album_thumbnail_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', album_users = [ generated.immich.openapi_client.models.album_user_response_dto.AlbumUserResponseDto( - role = null, + role = 'editor', user = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), ) ], - asset_count = 56, - assets = [ - generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( - checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', - exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( - city = '', - country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, - exposure_time = '', - f_number = 1.337, - file_size_in_byte = 56, - focal_length = 1.337, - iso = 1.337, - latitude = 1.337, - lens_model = '', - longitude = 1.337, - make = '', - model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - orientation = '', - projection_type = '', - rating = 1.337, - state = '', - time_zone = '', ), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - has_metadata = True, - id = '', - is_archived = True, - is_favorite = True, - is_offline = True, - is_trashed = True, - library_id = '', - live_photo_video_id = '', - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - original_file_name = '', - original_mime_type = '', - original_path = '', - owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', - name = '', - profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - profile_image_path = '', ), - owner_id = '', - people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( - birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), - color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', - is_favorite = True, - is_hidden = True, - name = '', - thumbnail_path = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) - ], - resized = True, - stack = null, - tags = [ - generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( - color = '', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', - name = '', - parent_id = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - value = '', ) - ], - thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + asset_count = 0, + contributor_counts = [ + generated.immich.openapi_client.models.contributor_count_response_dto.ContributorCountResponseDto( + asset_count = 0, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) ], created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', end_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_shared_link = True, - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_activity_enabled = True, last_modified_asset_timestamp = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - order = null, - owner = , - owner_id = '', + order = 'asc', shared = True, start_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ), @@ -169,22 +71,21 @@ class TestSharedLinkResponseDto(unittest.TestCase): assets = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -193,47 +94,38 @@ class TestSharedLinkResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -246,37 +138,28 @@ class TestSharedLinkResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = '2024-01-01T00:00Z', description = '', - expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + expires_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', key = '', password = '', show_metadata = True, - token = '', + slug = '', type = 'ALBUM', - user_id = '' + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return SharedLinkResponseDto( @@ -285,22 +168,21 @@ class TestSharedLinkResponseDto(unittest.TestCase): assets = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -309,47 +191,38 @@ class TestSharedLinkResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -362,36 +235,28 @@ class TestSharedLinkResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + created_at = '2024-01-01T00:00Z', description = '', - expires_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + expires_at = '2024-01-01T00:00Z', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', key = '', password = '', show_metadata = True, + slug = '', type = 'ALBUM', - user_id = '', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_shared_link_type.py b/generated/immich/openapi_client/test/test_shared_link_type.py index 0fe4aaa..faa8238 100644 --- a/generated/immich/openapi_client/test/test_shared_link_type.py +++ b/generated/immich/openapi_client/test/test_shared_link_type.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_shared_links_api.py b/generated/immich/openapi_client/test/test_shared_links_api.py index 9ae5efe..8bb18e1 100644 --- a/generated/immich/openapi_client/test/test_shared_links_api.py +++ b/generated/immich/openapi_client/test/test_shared_links_api.py @@ -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. @@ -29,48 +29,63 @@ class TestSharedLinksApi(unittest.TestCase): def test_add_shared_link_assets(self) -> None: """Test case for add_shared_link_assets + Add assets to a shared link """ pass def test_create_shared_link(self) -> None: """Test case for create_shared_link + Create a shared link """ pass def test_get_all_shared_links(self) -> None: """Test case for get_all_shared_links + Retrieve all shared links """ pass def test_get_my_shared_link(self) -> None: """Test case for get_my_shared_link + Retrieve current shared link """ pass def test_get_shared_link_by_id(self) -> None: """Test case for get_shared_link_by_id + Retrieve a shared link """ pass def test_remove_shared_link(self) -> None: """Test case for remove_shared_link + Delete a shared link """ pass def test_remove_shared_link_assets(self) -> None: """Test case for remove_shared_link_assets + Remove assets from a shared link + """ + pass + + def test_shared_link_login(self) -> None: + """Test case for shared_link_login + + Shared link login """ pass def test_update_shared_link(self) -> None: """Test case for update_shared_link + Update a shared link """ pass diff --git a/generated/immich/openapi_client/test/test_shared_links_response.py b/generated/immich/openapi_client/test/test_shared_links_response.py index bd84a8d..8f375f4 100644 --- a/generated/immich/openapi_client/test/test_shared_links_response.py +++ b/generated/immich/openapi_client/test/test_shared_links_response.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_shared_links_update.py b/generated/immich/openapi_client/test/test_shared_links_update.py index 3e16afb..3689c27 100644 --- a/generated/immich/openapi_client/test/test_shared_links_update.py +++ b/generated/immich/openapi_client/test/test_shared_links_update.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_sign_up_dto.py b/generated/immich/openapi_client/test/test_sign_up_dto.py index 2898716..070753d 100644 --- a/generated/immich/openapi_client/test/test_sign_up_dto.py +++ b/generated/immich/openapi_client/test/test_sign_up_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_smart_search_dto.py b/generated/immich/openapi_client/test/test_smart_search_dto.py index d73713f..3b439d9 100644 --- a/generated/immich/openapi_client/test/test_smart_search_dto.py +++ b/generated/immich/openapi_client/test/test_smart_search_dto.py @@ -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. @@ -35,48 +35,49 @@ class TestSmartSearchDto(unittest.TestCase): model = SmartSearchDto() if include_optional: return SmartSearchDto( + album_ids = [ + '62ECB020-8429-430c-a01F-FCCfeEe150AC' + ], city = '', country = '', - created_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - created_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - device_id = '', - is_archived = True, + created_after = '2024-01-01T00:00Z', + created_before = '2024-01-01T00:00Z', is_encoded = True, is_favorite = True, is_motion = True, is_not_in_album = True, is_offline = True, - is_visible = True, language = '', lens_model = '', - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', make = '', model = '', + ocr = '', page = 1, person_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], query = '', - rating = -1, + query_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + rating = 1, size = 1, state = '', tag_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], - taken_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - taken_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - trashed_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - trashed_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + taken_after = '2024-01-01T00:00Z', + taken_before = '2024-01-01T00:00Z', + trashed_after = '2024-01-01T00:00Z', + trashed_before = '2024-01-01T00:00Z', type = 'IMAGE', - updated_after = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - updated_before = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - with_archived = True, + updated_after = '2024-01-01T00:00Z', + updated_before = '2024-01-01T00:00Z', + visibility = 'archive', with_deleted = True, with_exif = True ) else: return SmartSearchDto( - query = '', ) """ diff --git a/generated/immich/openapi_client/test/test_source_type.py b/generated/immich/openapi_client/test/test_source_type.py index a1bb97a..4b7e39c 100644 --- a/generated/immich/openapi_client/test/test_source_type.py +++ b/generated/immich/openapi_client/test/test_source_type.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_stack_create_dto.py b/generated/immich/openapi_client/test/test_stack_create_dto.py index 2682be8..4494e69 100644 --- a/generated/immich/openapi_client/test/test_stack_create_dto.py +++ b/generated/immich/openapi_client/test/test_stack_create_dto.py @@ -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. @@ -36,13 +36,13 @@ class TestStackCreateDto(unittest.TestCase): if include_optional: return StackCreateDto( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ] ) else: return StackCreateDto( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], ) """ diff --git a/generated/immich/openapi_client/test/test_stack_response_dto.py b/generated/immich/openapi_client/test/test_stack_response_dto.py index cbfe20d..fcaf815 100644 --- a/generated/immich/openapi_client/test/test_stack_response_dto.py +++ b/generated/immich/openapi_client/test/test_stack_response_dto.py @@ -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. @@ -38,22 +38,21 @@ class TestStackResponseDto(unittest.TestCase): assets = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -62,47 +61,38 @@ class TestStackResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -115,51 +105,41 @@ class TestStackResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], - id = '', - primary_asset_id = '' + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + primary_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return StackResponseDto( assets = [ generated.immich.openapi_client.models.asset_response_dto.AssetResponseDto( checksum = '', - device_asset_id = '', - device_id = '', - duplicate_id = '', - duration = '', + created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + duplicate_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + duration = 0, exif_info = generated.immich.openapi_client.models.exif_response_dto.ExifResponseDto( city = '', country = '', date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), description = '', - exif_image_height = 1.337, - exif_image_width = 1.337, + exif_image_height = 0, + exif_image_width = 0, exposure_time = '', f_number = 1.337, - file_size_in_byte = 56, + file_size_in_byte = 0, focal_length = 1.337, - iso = 1.337, + iso = -9007199254740991, latitude = 1.337, lens_model = '', longitude = 1.337, @@ -168,47 +148,38 @@ class TestStackResponseDto(unittest.TestCase): modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), orientation = '', projection_type = '', - rating = 1.337, + rating = 1, state = '', time_zone = '', ), file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), has_metadata = True, - id = '', + height = 0, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_archived = True, + is_edited = True, is_favorite = True, is_offline = True, is_trashed = True, - library_id = '', + library_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', live_photo_video_id = '', local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), original_file_name = '', original_mime_type = '', original_path = '', owner = generated.immich.openapi_client.models.user_response_dto.UserResponseDto( - avatar_color = null, - email = '', - id = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', ), - owner_id = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', people = [ - generated.immich.openapi_client.models.person_with_faces_response_dto.PersonWithFacesResponseDto( + generated.immich.openapi_client.models.person_response_dto.PersonResponseDto( birth_date = datetime.datetime.strptime('1975-12-30', '%Y-%m-%d').date(), color = '', - faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_favorite = True, is_hidden = True, name = '', @@ -221,29 +192,20 @@ class TestStackResponseDto(unittest.TestCase): generated.immich.openapi_client.models.tag_response_dto.TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', ) ], thumbhash = '', - type = null, - unassigned_faces = [ - generated.immich.openapi_client.models.asset_face_without_person_response_dto.AssetFaceWithoutPersonResponseDto( - bounding_box_x1 = 56, - bounding_box_x2 = 56, - bounding_box_y1 = 56, - bounding_box_y2 = 56, - id = '', - image_height = 56, - image_width = 56, - source_type = null, ) - ], - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), ) + type = 'IMAGE', + updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + visibility = 'archive', + width = 0, ) ], - id = '', - primary_asset_id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + primary_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_stack_update_dto.py b/generated/immich/openapi_client/test/test_stack_update_dto.py index 128fe8d..ad87ba2 100644 --- a/generated/immich/openapi_client/test/test_stack_update_dto.py +++ b/generated/immich/openapi_client/test/test_stack_update_dto.py @@ -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. @@ -35,7 +35,7 @@ class TestStackUpdateDto(unittest.TestCase): model = StackUpdateDto() if include_optional: return StackUpdateDto( - primary_asset_id = '' + primary_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return StackUpdateDto( diff --git a/generated/immich/openapi_client/test/test_stacks_api.py b/generated/immich/openapi_client/test/test_stacks_api.py index d965150..31ec53e 100644 --- a/generated/immich/openapi_client/test/test_stacks_api.py +++ b/generated/immich/openapi_client/test/test_stacks_api.py @@ -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. @@ -29,36 +29,49 @@ class TestStacksApi(unittest.TestCase): def test_create_stack(self) -> None: """Test case for create_stack + Create a stack """ pass def test_delete_stack(self) -> None: """Test case for delete_stack + Delete a stack """ pass def test_delete_stacks(self) -> None: """Test case for delete_stacks + Delete stacks """ pass def test_get_stack(self) -> None: """Test case for get_stack + Retrieve a stack + """ + pass + + def test_remove_asset_from_stack(self) -> None: + """Test case for remove_asset_from_stack + + Remove an asset from a stack """ pass def test_search_stacks(self) -> None: """Test case for search_stacks + Retrieve stacks """ pass def test_update_stack(self) -> None: """Test case for update_stack + Update a stack """ pass diff --git a/generated/immich/openapi_client/test/test_sync_ack_delete_dto.py b/generated/immich/openapi_client/test/test_sync_ack_delete_dto.py index 4f70576..a8d27a9 100644 --- a/generated/immich/openapi_client/test/test_sync_ack_delete_dto.py +++ b/generated/immich/openapi_client/test/test_sync_ack_delete_dto.py @@ -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. @@ -36,7 +36,7 @@ class TestSyncAckDeleteDto(unittest.TestCase): if include_optional: return SyncAckDeleteDto( types = [ - 'UserV1' + 'AuthUserV1' ] ) else: diff --git a/generated/immich/openapi_client/test/test_sync_ack_dto.py b/generated/immich/openapi_client/test/test_sync_ack_dto.py index 7e5225f..65648d4 100644 --- a/generated/immich/openapi_client/test/test_sync_ack_dto.py +++ b/generated/immich/openapi_client/test/test_sync_ack_dto.py @@ -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. @@ -36,12 +36,12 @@ class TestSyncAckDto(unittest.TestCase): if include_optional: return SyncAckDto( ack = '', - type = 'UserV1' + type = 'AuthUserV1' ) else: return SyncAckDto( ack = '', - type = 'UserV1', + type = 'AuthUserV1', ) """ diff --git a/generated/immich/openapi_client/test/test_sync_ack_set_dto.py b/generated/immich/openapi_client/test/test_sync_ack_set_dto.py index 351c950..2adbdc3 100644 --- a/generated/immich/openapi_client/test/test_sync_ack_set_dto.py +++ b/generated/immich/openapi_client/test/test_sync_ack_set_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_sync_api.py b/generated/immich/openapi_client/test/test_sync_api.py index e09a4b5..837600a 100644 --- a/generated/immich/openapi_client/test/test_sync_api.py +++ b/generated/immich/openapi_client/test/test_sync_api.py @@ -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. @@ -29,36 +29,28 @@ class TestSyncApi(unittest.TestCase): def test_delete_sync_ack(self) -> None: """Test case for delete_sync_ack - """ - pass - - def test_get_delta_sync(self) -> None: - """Test case for get_delta_sync - - """ - pass - - def test_get_full_sync_for_user(self) -> None: - """Test case for get_full_sync_for_user - + Delete acknowledgements """ pass def test_get_sync_ack(self) -> None: """Test case for get_sync_ack + Retrieve acknowledgements """ pass def test_get_sync_stream(self) -> None: """Test case for get_sync_stream + Stream sync changes """ pass def test_send_sync_ack(self) -> None: """Test case for send_sync_ack + Acknowledge changes """ pass diff --git a/generated/immich/openapi_client/test/test_sync_asset_delete_v1.py b/generated/immich/openapi_client/test/test_sync_asset_delete_v1.py index 0ff956a..acb0a04 100644 --- a/generated/immich/openapi_client/test/test_sync_asset_delete_v1.py +++ b/generated/immich/openapi_client/test/test_sync_asset_delete_v1.py @@ -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. @@ -35,11 +35,11 @@ class TestSyncAssetDeleteV1(unittest.TestCase): model = SyncAssetDeleteV1() if include_optional: return SyncAssetDeleteV1( - asset_id = '' + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return SyncAssetDeleteV1( - asset_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_sync_asset_exif_v1.py b/generated/immich/openapi_client/test/test_sync_asset_exif_v1.py index 3cac77d..7b5a426 100644 --- a/generated/immich/openapi_client/test/test_sync_asset_exif_v1.py +++ b/generated/immich/openapi_client/test/test_sync_asset_exif_v1.py @@ -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. @@ -35,57 +35,57 @@ class TestSyncAssetExifV1(unittest.TestCase): model = SyncAssetExifV1() if include_optional: return SyncAssetExifV1( - asset_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', city = '', country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_time_original = '2024-01-01T00:00Z', description = '', - exif_image_height = 56, - exif_image_width = 56, + exif_image_height = -9007199254740991, + exif_image_width = -9007199254740991, exposure_time = '', - f_number = 56, - file_size_in_byte = 56, - focal_length = 56, - fps = 56, - iso = 56, - latitude = 56, + f_number = 1.337, + file_size_in_byte = -9007199254740991, + focal_length = 1.337, + fps = 1.337, + iso = -9007199254740991, + latitude = 1.337, lens_model = '', - longitude = 56, + longitude = 1.337, make = '', model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + modify_date = '2024-01-01T00:00Z', orientation = '', profile_description = '', projection_type = '', - rating = 56, + rating = -9007199254740991, state = '', time_zone = '' ) else: return SyncAssetExifV1( - asset_id = '', + asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', city = '', country = '', - date_time_original = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + date_time_original = '2024-01-01T00:00Z', description = '', - exif_image_height = 56, - exif_image_width = 56, + exif_image_height = -9007199254740991, + exif_image_width = -9007199254740991, exposure_time = '', - f_number = 56, - file_size_in_byte = 56, - focal_length = 56, - fps = 56, - iso = 56, - latitude = 56, + f_number = 1.337, + file_size_in_byte = -9007199254740991, + focal_length = 1.337, + fps = 1.337, + iso = -9007199254740991, + latitude = 1.337, lens_model = '', - longitude = 56, + longitude = 1.337, make = '', model = '', - modify_date = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + modify_date = '2024-01-01T00:00Z', orientation = '', profile_description = '', projection_type = '', - rating = 56, + rating = -9007199254740991, state = '', time_zone = '', ) diff --git a/generated/immich/openapi_client/test/test_sync_asset_v1.py b/generated/immich/openapi_client/test/test_sync_asset_v1.py index c73f0df..6492b5f 100644 --- a/generated/immich/openapi_client/test/test_sync_asset_v1.py +++ b/generated/immich/openapi_client/test/test_sync_asset_v1.py @@ -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. @@ -36,30 +36,48 @@ class TestSyncAssetV1(unittest.TestCase): if include_optional: return SyncAssetV1( checksum = '', - deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + created_at = '2024-01-01T00:00Z', + deleted_at = '2024-01-01T00:00Z', + duration = '', + file_created_at = '2024-01-01T00:00Z', + file_modified_at = '2024-01-01T00:00Z', + height = -9007199254740991, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + is_edited = True, is_favorite = True, - is_visible = True, - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - owner_id = '', + library_id = '', + live_photo_video_id = '', + local_date_time = '2024-01-01T00:00Z', + original_file_name = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + stack_id = '', thumbhash = '', - type = 'IMAGE' + type = 'IMAGE', + visibility = 'archive', + width = -9007199254740991 ) else: return SyncAssetV1( checksum = '', - deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - file_modified_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + created_at = '2024-01-01T00:00Z', + deleted_at = '2024-01-01T00:00Z', + duration = '', + file_created_at = '2024-01-01T00:00Z', + file_modified_at = '2024-01-01T00:00Z', + height = -9007199254740991, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + is_edited = True, is_favorite = True, - is_visible = True, - local_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - owner_id = '', + library_id = '', + live_photo_video_id = '', + local_date_time = '2024-01-01T00:00Z', + original_file_name = '', + owner_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + stack_id = '', thumbhash = '', type = 'IMAGE', + visibility = 'archive', + width = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_sync_entity_type.py b/generated/immich/openapi_client/test/test_sync_entity_type.py index bc0218e..804fb4c 100644 --- a/generated/immich/openapi_client/test/test_sync_entity_type.py +++ b/generated/immich/openapi_client/test/test_sync_entity_type.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_sync_partner_delete_v1.py b/generated/immich/openapi_client/test/test_sync_partner_delete_v1.py index fd5db7d..5876132 100644 --- a/generated/immich/openapi_client/test/test_sync_partner_delete_v1.py +++ b/generated/immich/openapi_client/test/test_sync_partner_delete_v1.py @@ -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. @@ -35,13 +35,13 @@ class TestSyncPartnerDeleteV1(unittest.TestCase): model = SyncPartnerDeleteV1() if include_optional: return SyncPartnerDeleteV1( - shared_by_id = '', - shared_with_id = '' + shared_by_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + shared_with_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return SyncPartnerDeleteV1( - shared_by_id = '', - shared_with_id = '', + shared_by_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + shared_with_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_sync_partner_v1.py b/generated/immich/openapi_client/test/test_sync_partner_v1.py index a1918d4..21a33f3 100644 --- a/generated/immich/openapi_client/test/test_sync_partner_v1.py +++ b/generated/immich/openapi_client/test/test_sync_partner_v1.py @@ -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. @@ -36,14 +36,14 @@ class TestSyncPartnerV1(unittest.TestCase): if include_optional: return SyncPartnerV1( in_timeline = True, - shared_by_id = '', - shared_with_id = '' + shared_by_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + shared_with_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return SyncPartnerV1( in_timeline = True, - shared_by_id = '', - shared_with_id = '', + shared_by_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + shared_with_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_sync_request_type.py b/generated/immich/openapi_client/test/test_sync_request_type.py index 11361e4..4d22eae 100644 --- a/generated/immich/openapi_client/test/test_sync_request_type.py +++ b/generated/immich/openapi_client/test/test_sync_request_type.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_sync_stream_dto.py b/generated/immich/openapi_client/test/test_sync_stream_dto.py index 8a544d1..797a18d 100644 --- a/generated/immich/openapi_client/test/test_sync_stream_dto.py +++ b/generated/immich/openapi_client/test/test_sync_stream_dto.py @@ -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. @@ -35,14 +35,15 @@ class TestSyncStreamDto(unittest.TestCase): model = SyncStreamDto() if include_optional: return SyncStreamDto( + reset = True, types = [ - 'UsersV1' + 'AlbumsV1' ] ) else: return SyncStreamDto( types = [ - 'UsersV1' + 'AlbumsV1' ], ) """ diff --git a/generated/immich/openapi_client/test/test_sync_user_delete_v1.py b/generated/immich/openapi_client/test/test_sync_user_delete_v1.py index bad5751..8e816a0 100644 --- a/generated/immich/openapi_client/test/test_sync_user_delete_v1.py +++ b/generated/immich/openapi_client/test/test_sync_user_delete_v1.py @@ -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. @@ -35,11 +35,11 @@ class TestSyncUserDeleteV1(unittest.TestCase): model = SyncUserDeleteV1() if include_optional: return SyncUserDeleteV1( - user_id = '' + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return SyncUserDeleteV1( - user_id = '', + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', ) """ diff --git a/generated/immich/openapi_client/test/test_sync_user_v1.py b/generated/immich/openapi_client/test/test_sync_user_v1.py index 4b35ba1..2005ec1 100644 --- a/generated/immich/openapi_client/test/test_sync_user_v1.py +++ b/generated/immich/openapi_client/test/test_sync_user_v1.py @@ -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. @@ -35,17 +35,22 @@ class TestSyncUserV1(unittest.TestCase): model = SyncUserV1() if include_optional: return SyncUserV1( - deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + avatar_color = 'primary', + deleted_at = '2024-01-01T00:00Z', email = '', - id = '', - name = '' + has_profile_image = True, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + name = '', + profile_changed_at = '2024-01-01T00:00Z' ) else: return SyncUserV1( - deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + deleted_at = '2024-01-01T00:00Z', email = '', - id = '', + has_profile_image = True, + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', + profile_changed_at = '2024-01-01T00:00Z', ) """ diff --git a/generated/immich/openapi_client/test/test_system_config_api.py b/generated/immich/openapi_client/test/test_system_config_api.py index 43cb987..eebf78f 100644 --- a/generated/immich/openapi_client/test/test_system_config_api.py +++ b/generated/immich/openapi_client/test/test_system_config_api.py @@ -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. @@ -29,24 +29,28 @@ class TestSystemConfigApi(unittest.TestCase): def test_get_config(self) -> None: """Test case for get_config + Get system configuration """ pass def test_get_config_defaults(self) -> None: """Test case for get_config_defaults + Get system configuration defaults """ pass def test_get_storage_template_options(self) -> None: """Test case for get_storage_template_options + Get storage template options """ pass def test_update_config(self) -> None: """Test case for update_config + Update system configuration """ pass diff --git a/generated/immich/openapi_client/test/test_system_config_backups_dto.py b/generated/immich/openapi_client/test/test_system_config_backups_dto.py index 5ac125d..c9f31d9 100644 --- a/generated/immich/openapi_client/test/test_system_config_backups_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_backups_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_dto.py b/generated/immich/openapi_client/test/test_system_config_dto.py index 4b47dfb..4da35c1 100644 --- a/generated/immich/openapi_client/test/test_system_config_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_dto.py @@ -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. @@ -41,7 +41,7 @@ class TestSystemConfigDto(unittest.TestCase): enabled = True, keep_last_amount = 1, ), ), ffmpeg = generated.immich.openapi_client.models.system_config_f_fmpeg_dto.SystemConfigFFmpegDto( - accel = null, + accel = 'nvenc', accel_decode = True, accepted_audio_codecs = [ 'mp3' @@ -53,50 +53,71 @@ class TestSystemConfigDto(unittest.TestCase): 'h264' ], bframes = -1, - cq_mode = null, + cq_mode = 'auto', crf = 0, gop_size = 0, max_bitrate = '', preferred_hw_device = '', preset = '', + realtime = generated.immich.openapi_client.models.system_config_f_fmpeg_realtime_dto.SystemConfigFFmpegRealtimeDto( + enabled = True, ), refs = 0, - target_audio_codec = null, + target_audio_codec = 'mp3', target_resolution = '', - target_video_codec = null, + target_video_codec = 'h264', temporal_aq = True, threads = 0, - tonemap = null, - transcode = null, + tonemap = 'hable', + transcode = 'all', two_pass = True, ), image = generated.immich.openapi_client.models.system_config_image_dto.SystemConfigImageDto( - colorspace = null, + colorspace = 'srgb', extract_embedded = True, fullsize = generated.immich.openapi_client.models.system_config_generated_fullsize_image_dto.SystemConfigGeneratedFullsizeImageDto( enabled = True, - format = null, + format = 'jpeg', + progressive = True, quality = 1, ), preview = generated.immich.openapi_client.models.system_config_generated_image_dto.SystemConfigGeneratedImageDto( - format = null, + format = 'jpeg', + progressive = True, quality = 1, size = 1, ), thumbnail = generated.immich.openapi_client.models.system_config_generated_image_dto.SystemConfigGeneratedImageDto( - format = null, + format = , + progressive = True, quality = 1, size = 1, ), ), + integrity_checks = generated.immich.openapi_client.models.system_config_integrity_checks.SystemConfigIntegrityChecks( + checksum_files = generated.immich.openapi_client.models.system_config_integrity_checksum_job.SystemConfigIntegrityChecksumJob( + cron_expression = '', + enabled = True, + percentage_limit = 0, + time_limit = 0, ), + missing_files = generated.immich.openapi_client.models.system_config_integrity_job.SystemConfigIntegrityJob( + cron_expression = '', + enabled = True, ), + untracked_files = generated.immich.openapi_client.models.system_config_integrity_job.SystemConfigIntegrityJob( + cron_expression = '', + enabled = True, ), ), job = generated.immich.openapi_client.models.system_config_job_dto.SystemConfigJobDto( background_task = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), - face_detection = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + editor = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), + face_detection = , + integrity_check = , library = , metadata_extraction = , migration = , notifications = , + ocr = , search = , sidecar = , smart_search = , thumbnail_generation = , - video_conversion = , ), + video_conversion = , + workflow = , ), library = generated.immich.openapi_client.models.system_config_library_dto.SystemConfigLibraryDto( scan = generated.immich.openapi_client.models.system_config_library_scan_dto.SystemConfigLibraryScanDto( cron_expression = '', @@ -105,8 +126,12 @@ class TestSystemConfigDto(unittest.TestCase): enabled = True, ), ), logging = generated.immich.openapi_client.models.system_config_logging_dto.SystemConfigLoggingDto( enabled = True, - level = null, ), + level = 'verbose', ), machine_learning = generated.immich.openapi_client.models.system_config_machine_learning_dto.SystemConfigMachineLearningDto( + availability_checks = generated.immich.openapi_client.models.machine_learning_availability_checks_dto.MachineLearningAvailabilityChecksDto( + enabled = True, + interval = -9007199254740991, + timeout = -9007199254740991, ), clip = generated.immich.openapi_client.models.clip_config.CLIPConfig( enabled = True, model_name = '', ), @@ -120,7 +145,12 @@ class TestSystemConfigDto(unittest.TestCase): min_faces = 1, min_score = 0.1, model_name = '', ), - url = '', + ocr = generated.immich.openapi_client.models.ocr_config.OcrConfig( + enabled = True, + max_resolution = 1, + min_detection_score = 0.1, + min_recognition_score = 0.1, + model_name = '', ), urls = [ '' ], ), @@ -132,7 +162,15 @@ class TestSystemConfigDto(unittest.TestCase): faces = generated.immich.openapi_client.models.system_config_faces_dto.SystemConfigFacesDto( import = True, ), ), new_version_check = generated.immich.openapi_client.models.system_config_new_version_check_dto.SystemConfigNewVersionCheckDto( + channel = 'stable', enabled = True, ), + nightly_tasks = generated.immich.openapi_client.models.system_config_nightly_tasks_dto.SystemConfigNightlyTasksDto( + cluster_new_faces = True, + database_cleanup = True, + generate_memories = True, + missing_thumbnails = True, + start_time = '23:20', + sync_quota_usage = True, ), notifications = generated.immich.openapi_client.models.system_config_notifications_dto.SystemConfigNotificationsDto( smtp = generated.immich.openapi_client.models.system_config_smtp_dto.SystemConfigSmtpDto( enabled = True, @@ -143,8 +181,10 @@ class TestSystemConfigDto(unittest.TestCase): ignore_cert = True, password = '', port = 0, + secure = True, username = '', ), ), ), oauth = generated.immich.openapi_client.models.system_config_o_auth_dto.SystemConfigOAuthDto( + allow_insecure_requests = True, auto_launch = True, auto_register = True, button_text = '', @@ -152,14 +192,19 @@ class TestSystemConfigDto(unittest.TestCase): client_secret = '', default_storage_quota = 0, enabled = True, + end_session_endpoint = '', issuer_url = '', mobile_override_enabled = True, mobile_redirect_uri = '', profile_signing_algorithm = '', + prompt = '', + role_claim = '', scope = '', signing_algorithm = '', storage_label_claim = '', - storage_quota_claim = '', ), + storage_quota_claim = '', + timeout = 1, + token_endpoint_auth_method = 'client_secret_post', ), password_login = generated.immich.openapi_client.models.system_config_password_login_dto.SystemConfigPasswordLoginDto( enabled = True, ), reverse_geocoding = generated.immich.openapi_client.models.system_config_reverse_geocoding_dto.SystemConfigReverseGeocodingDto( @@ -193,7 +238,7 @@ class TestSystemConfigDto(unittest.TestCase): enabled = True, keep_last_amount = 1, ), ), ffmpeg = generated.immich.openapi_client.models.system_config_f_fmpeg_dto.SystemConfigFFmpegDto( - accel = null, + accel = 'nvenc', accel_decode = True, accepted_audio_codecs = [ 'mp3' @@ -205,50 +250,71 @@ class TestSystemConfigDto(unittest.TestCase): 'h264' ], bframes = -1, - cq_mode = null, + cq_mode = 'auto', crf = 0, gop_size = 0, max_bitrate = '', preferred_hw_device = '', preset = '', + realtime = generated.immich.openapi_client.models.system_config_f_fmpeg_realtime_dto.SystemConfigFFmpegRealtimeDto( + enabled = True, ), refs = 0, - target_audio_codec = null, + target_audio_codec = 'mp3', target_resolution = '', - target_video_codec = null, + target_video_codec = 'h264', temporal_aq = True, threads = 0, - tonemap = null, - transcode = null, + tonemap = 'hable', + transcode = 'all', two_pass = True, ), image = generated.immich.openapi_client.models.system_config_image_dto.SystemConfigImageDto( - colorspace = null, + colorspace = 'srgb', extract_embedded = True, fullsize = generated.immich.openapi_client.models.system_config_generated_fullsize_image_dto.SystemConfigGeneratedFullsizeImageDto( enabled = True, - format = null, + format = 'jpeg', + progressive = True, quality = 1, ), preview = generated.immich.openapi_client.models.system_config_generated_image_dto.SystemConfigGeneratedImageDto( - format = null, + format = 'jpeg', + progressive = True, quality = 1, size = 1, ), thumbnail = generated.immich.openapi_client.models.system_config_generated_image_dto.SystemConfigGeneratedImageDto( - format = null, + format = , + progressive = True, quality = 1, size = 1, ), ), + integrity_checks = generated.immich.openapi_client.models.system_config_integrity_checks.SystemConfigIntegrityChecks( + checksum_files = generated.immich.openapi_client.models.system_config_integrity_checksum_job.SystemConfigIntegrityChecksumJob( + cron_expression = '', + enabled = True, + percentage_limit = 0, + time_limit = 0, ), + missing_files = generated.immich.openapi_client.models.system_config_integrity_job.SystemConfigIntegrityJob( + cron_expression = '', + enabled = True, ), + untracked_files = generated.immich.openapi_client.models.system_config_integrity_job.SystemConfigIntegrityJob( + cron_expression = '', + enabled = True, ), ), job = generated.immich.openapi_client.models.system_config_job_dto.SystemConfigJobDto( background_task = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), - face_detection = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + editor = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), + face_detection = , + integrity_check = , library = , metadata_extraction = , migration = , notifications = , + ocr = , search = , sidecar = , smart_search = , thumbnail_generation = , - video_conversion = , ), + video_conversion = , + workflow = , ), library = generated.immich.openapi_client.models.system_config_library_dto.SystemConfigLibraryDto( scan = generated.immich.openapi_client.models.system_config_library_scan_dto.SystemConfigLibraryScanDto( cron_expression = '', @@ -257,8 +323,12 @@ class TestSystemConfigDto(unittest.TestCase): enabled = True, ), ), logging = generated.immich.openapi_client.models.system_config_logging_dto.SystemConfigLoggingDto( enabled = True, - level = null, ), + level = 'verbose', ), machine_learning = generated.immich.openapi_client.models.system_config_machine_learning_dto.SystemConfigMachineLearningDto( + availability_checks = generated.immich.openapi_client.models.machine_learning_availability_checks_dto.MachineLearningAvailabilityChecksDto( + enabled = True, + interval = -9007199254740991, + timeout = -9007199254740991, ), clip = generated.immich.openapi_client.models.clip_config.CLIPConfig( enabled = True, model_name = '', ), @@ -272,7 +342,12 @@ class TestSystemConfigDto(unittest.TestCase): min_faces = 1, min_score = 0.1, model_name = '', ), - url = '', + ocr = generated.immich.openapi_client.models.ocr_config.OcrConfig( + enabled = True, + max_resolution = 1, + min_detection_score = 0.1, + min_recognition_score = 0.1, + model_name = '', ), urls = [ '' ], ), @@ -284,7 +359,15 @@ class TestSystemConfigDto(unittest.TestCase): faces = generated.immich.openapi_client.models.system_config_faces_dto.SystemConfigFacesDto( import = True, ), ), new_version_check = generated.immich.openapi_client.models.system_config_new_version_check_dto.SystemConfigNewVersionCheckDto( + channel = 'stable', enabled = True, ), + nightly_tasks = generated.immich.openapi_client.models.system_config_nightly_tasks_dto.SystemConfigNightlyTasksDto( + cluster_new_faces = True, + database_cleanup = True, + generate_memories = True, + missing_thumbnails = True, + start_time = '23:20', + sync_quota_usage = True, ), notifications = generated.immich.openapi_client.models.system_config_notifications_dto.SystemConfigNotificationsDto( smtp = generated.immich.openapi_client.models.system_config_smtp_dto.SystemConfigSmtpDto( enabled = True, @@ -295,8 +378,10 @@ class TestSystemConfigDto(unittest.TestCase): ignore_cert = True, password = '', port = 0, + secure = True, username = '', ), ), ), oauth = generated.immich.openapi_client.models.system_config_o_auth_dto.SystemConfigOAuthDto( + allow_insecure_requests = True, auto_launch = True, auto_register = True, button_text = '', @@ -304,14 +389,19 @@ class TestSystemConfigDto(unittest.TestCase): client_secret = '', default_storage_quota = 0, enabled = True, + end_session_endpoint = '', issuer_url = '', mobile_override_enabled = True, mobile_redirect_uri = '', profile_signing_algorithm = '', + prompt = '', + role_claim = '', scope = '', signing_algorithm = '', storage_label_claim = '', - storage_quota_claim = '', ), + storage_quota_claim = '', + timeout = 1, + token_endpoint_auth_method = 'client_secret_post', ), password_login = generated.immich.openapi_client.models.system_config_password_login_dto.SystemConfigPasswordLoginDto( enabled = True, ), reverse_geocoding = generated.immich.openapi_client.models.system_config_reverse_geocoding_dto.SystemConfigReverseGeocodingDto( diff --git a/generated/immich/openapi_client/test/test_system_config_f_fmpeg_dto.py b/generated/immich/openapi_client/test/test_system_config_f_fmpeg_dto.py index 793e6ee..d729a66 100644 --- a/generated/immich/openapi_client/test/test_system_config_f_fmpeg_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_f_fmpeg_dto.py @@ -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. @@ -53,6 +53,8 @@ class TestSystemConfigFFmpegDto(unittest.TestCase): max_bitrate = '', preferred_hw_device = '', preset = '', + realtime = generated.immich.openapi_client.models.system_config_f_fmpeg_realtime_dto.SystemConfigFFmpegRealtimeDto( + enabled = True, ), refs = 0, target_audio_codec = 'mp3', target_resolution = '', @@ -83,6 +85,8 @@ class TestSystemConfigFFmpegDto(unittest.TestCase): max_bitrate = '', preferred_hw_device = '', preset = '', + realtime = generated.immich.openapi_client.models.system_config_f_fmpeg_realtime_dto.SystemConfigFFmpegRealtimeDto( + enabled = True, ), refs = 0, target_audio_codec = 'mp3', target_resolution = '', diff --git a/generated/immich/openapi_client/test/test_system_config_faces_dto.py b/generated/immich/openapi_client/test/test_system_config_faces_dto.py index 73e1dbe..4320e02 100644 --- a/generated/immich/openapi_client/test/test_system_config_faces_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_faces_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_generated_fullsize_image_dto.py b/generated/immich/openapi_client/test/test_system_config_generated_fullsize_image_dto.py index 6bae4b3..850bc95 100644 --- a/generated/immich/openapi_client/test/test_system_config_generated_fullsize_image_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_generated_fullsize_image_dto.py @@ -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. @@ -37,6 +37,7 @@ class TestSystemConfigGeneratedFullsizeImageDto(unittest.TestCase): return SystemConfigGeneratedFullsizeImageDto( enabled = True, format = 'jpeg', + progressive = True, quality = 1 ) else: diff --git a/generated/immich/openapi_client/test/test_system_config_generated_image_dto.py b/generated/immich/openapi_client/test/test_system_config_generated_image_dto.py index 26e49b6..ba4232e 100644 --- a/generated/immich/openapi_client/test/test_system_config_generated_image_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_generated_image_dto.py @@ -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. @@ -36,6 +36,7 @@ class TestSystemConfigGeneratedImageDto(unittest.TestCase): if include_optional: return SystemConfigGeneratedImageDto( format = 'jpeg', + progressive = True, quality = 1, size = 1 ) diff --git a/generated/immich/openapi_client/test/test_system_config_image_dto.py b/generated/immich/openapi_client/test/test_system_config_image_dto.py index 6505b01..fa17866 100644 --- a/generated/immich/openapi_client/test/test_system_config_image_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_image_dto.py @@ -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. @@ -39,14 +39,17 @@ class TestSystemConfigImageDto(unittest.TestCase): extract_embedded = True, fullsize = generated.immich.openapi_client.models.system_config_generated_fullsize_image_dto.SystemConfigGeneratedFullsizeImageDto( enabled = True, - format = null, + format = 'jpeg', + progressive = True, quality = 1, ), preview = generated.immich.openapi_client.models.system_config_generated_image_dto.SystemConfigGeneratedImageDto( - format = null, + format = 'jpeg', + progressive = True, quality = 1, size = 1, ), thumbnail = generated.immich.openapi_client.models.system_config_generated_image_dto.SystemConfigGeneratedImageDto( - format = null, + format = 'jpeg', + progressive = True, quality = 1, size = 1, ) ) @@ -56,14 +59,17 @@ class TestSystemConfigImageDto(unittest.TestCase): extract_embedded = True, fullsize = generated.immich.openapi_client.models.system_config_generated_fullsize_image_dto.SystemConfigGeneratedFullsizeImageDto( enabled = True, - format = null, + format = 'jpeg', + progressive = True, quality = 1, ), preview = generated.immich.openapi_client.models.system_config_generated_image_dto.SystemConfigGeneratedImageDto( - format = null, + format = 'jpeg', + progressive = True, quality = 1, size = 1, ), thumbnail = generated.immich.openapi_client.models.system_config_generated_image_dto.SystemConfigGeneratedImageDto( - format = null, + format = 'jpeg', + progressive = True, quality = 1, size = 1, ), ) diff --git a/generated/immich/openapi_client/test/test_system_config_job_dto.py b/generated/immich/openapi_client/test/test_system_config_job_dto.py index 43f91e1..dacabe1 100644 --- a/generated/immich/openapi_client/test/test_system_config_job_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_job_dto.py @@ -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. @@ -37,8 +37,12 @@ class TestSystemConfigJobDto(unittest.TestCase): return SystemConfigJobDto( background_task = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), + editor = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + concurrency = 1, ), face_detection = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), + integrity_check = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + concurrency = 1, ), library = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), metadata_extraction = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( @@ -47,6 +51,8 @@ class TestSystemConfigJobDto(unittest.TestCase): concurrency = 1, ), notifications = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), + ocr = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + concurrency = 1, ), search = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), sidecar = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( @@ -56,14 +62,20 @@ class TestSystemConfigJobDto(unittest.TestCase): thumbnail_generation = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), video_conversion = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + concurrency = 1, ), + workflow = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ) ) else: return SystemConfigJobDto( background_task = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), + editor = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + concurrency = 1, ), face_detection = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), + integrity_check = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + concurrency = 1, ), library = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), metadata_extraction = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( @@ -72,6 +84,8 @@ class TestSystemConfigJobDto(unittest.TestCase): concurrency = 1, ), notifications = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), + ocr = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + concurrency = 1, ), search = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), sidecar = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( @@ -82,6 +96,8 @@ class TestSystemConfigJobDto(unittest.TestCase): concurrency = 1, ), video_conversion = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( concurrency = 1, ), + workflow = generated.immich.openapi_client.models.job_settings_dto.JobSettingsDto( + concurrency = 1, ), ) """ diff --git a/generated/immich/openapi_client/test/test_system_config_library_dto.py b/generated/immich/openapi_client/test/test_system_config_library_dto.py index 30e2dd3..c160a2b 100644 --- a/generated/immich/openapi_client/test/test_system_config_library_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_library_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_library_scan_dto.py b/generated/immich/openapi_client/test/test_system_config_library_scan_dto.py index 2feab9e..370ed5a 100644 --- a/generated/immich/openapi_client/test/test_system_config_library_scan_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_library_scan_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_library_watch_dto.py b/generated/immich/openapi_client/test/test_system_config_library_watch_dto.py index ef45a99..97e5905 100644 --- a/generated/immich/openapi_client/test/test_system_config_library_watch_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_library_watch_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_logging_dto.py b/generated/immich/openapi_client/test/test_system_config_logging_dto.py index 4978081..d47f5f9 100644 --- a/generated/immich/openapi_client/test/test_system_config_logging_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_logging_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_machine_learning_dto.py b/generated/immich/openapi_client/test/test_system_config_machine_learning_dto.py index fdedfdc..cbe2ed4 100644 --- a/generated/immich/openapi_client/test/test_system_config_machine_learning_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_machine_learning_dto.py @@ -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. @@ -35,6 +35,10 @@ class TestSystemConfigMachineLearningDto(unittest.TestCase): model = SystemConfigMachineLearningDto() if include_optional: return SystemConfigMachineLearningDto( + availability_checks = generated.immich.openapi_client.models.machine_learning_availability_checks_dto.MachineLearningAvailabilityChecksDto( + enabled = True, + interval = -9007199254740991, + timeout = -9007199254740991, ), clip = generated.immich.openapi_client.models.clip_config.CLIPConfig( enabled = True, model_name = '', ), @@ -48,13 +52,22 @@ class TestSystemConfigMachineLearningDto(unittest.TestCase): min_faces = 1, min_score = 0.1, model_name = '', ), - url = '', + ocr = generated.immich.openapi_client.models.ocr_config.OcrConfig( + enabled = True, + max_resolution = 1, + min_detection_score = 0.1, + min_recognition_score = 0.1, + model_name = '', ), urls = [ '' ] ) else: return SystemConfigMachineLearningDto( + availability_checks = generated.immich.openapi_client.models.machine_learning_availability_checks_dto.MachineLearningAvailabilityChecksDto( + enabled = True, + interval = -9007199254740991, + timeout = -9007199254740991, ), clip = generated.immich.openapi_client.models.clip_config.CLIPConfig( enabled = True, model_name = '', ), @@ -68,6 +81,12 @@ class TestSystemConfigMachineLearningDto(unittest.TestCase): min_faces = 1, min_score = 0.1, model_name = '', ), + ocr = generated.immich.openapi_client.models.ocr_config.OcrConfig( + enabled = True, + max_resolution = 1, + min_detection_score = 0.1, + min_recognition_score = 0.1, + model_name = '', ), urls = [ '' ], diff --git a/generated/immich/openapi_client/test/test_system_config_map_dto.py b/generated/immich/openapi_client/test/test_system_config_map_dto.py index c86d6be..af955fe 100644 --- a/generated/immich/openapi_client/test/test_system_config_map_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_map_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_metadata_dto.py b/generated/immich/openapi_client/test/test_system_config_metadata_dto.py index efbd901..1592f92 100644 --- a/generated/immich/openapi_client/test/test_system_config_metadata_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_metadata_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_new_version_check_dto.py b/generated/immich/openapi_client/test/test_system_config_new_version_check_dto.py index 7f9c5de..1e9518d 100644 --- a/generated/immich/openapi_client/test/test_system_config_new_version_check_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_new_version_check_dto.py @@ -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. @@ -35,10 +35,12 @@ class TestSystemConfigNewVersionCheckDto(unittest.TestCase): model = SystemConfigNewVersionCheckDto() if include_optional: return SystemConfigNewVersionCheckDto( + channel = 'stable', enabled = True ) else: return SystemConfigNewVersionCheckDto( + channel = 'stable', enabled = True, ) """ diff --git a/generated/immich/openapi_client/test/test_system_config_notifications_dto.py b/generated/immich/openapi_client/test/test_system_config_notifications_dto.py index 38e75ef..8d0e2f0 100644 --- a/generated/immich/openapi_client/test/test_system_config_notifications_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_notifications_dto.py @@ -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. @@ -44,6 +44,7 @@ class TestSystemConfigNotificationsDto(unittest.TestCase): ignore_cert = True, password = '', port = 0, + secure = True, username = '', ), ) ) else: @@ -57,6 +58,7 @@ class TestSystemConfigNotificationsDto(unittest.TestCase): ignore_cert = True, password = '', port = 0, + secure = True, username = '', ), ), ) """ diff --git a/generated/immich/openapi_client/test/test_system_config_o_auth_dto.py b/generated/immich/openapi_client/test/test_system_config_o_auth_dto.py index b9015df..c0dea0a 100644 --- a/generated/immich/openapi_client/test/test_system_config_o_auth_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_o_auth_dto.py @@ -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. @@ -35,6 +35,7 @@ class TestSystemConfigOAuthDto(unittest.TestCase): model = SystemConfigOAuthDto() if include_optional: return SystemConfigOAuthDto( + allow_insecure_requests = True, auto_launch = True, auto_register = True, button_text = '', @@ -42,32 +43,43 @@ class TestSystemConfigOAuthDto(unittest.TestCase): client_secret = '', default_storage_quota = 0, enabled = True, + end_session_endpoint = '', issuer_url = '', mobile_override_enabled = True, mobile_redirect_uri = '', profile_signing_algorithm = '', - scope = '', - signing_algorithm = '', - storage_label_claim = '', - storage_quota_claim = '' - ) - else: - return SystemConfigOAuthDto( - auto_launch = True, - auto_register = True, - button_text = '', - client_id = '', - client_secret = '', - default_storage_quota = 0, - enabled = True, - issuer_url = '', - mobile_override_enabled = True, - mobile_redirect_uri = '', - profile_signing_algorithm = '', + prompt = '', + role_claim = '', scope = '', signing_algorithm = '', storage_label_claim = '', storage_quota_claim = '', + timeout = 1, + token_endpoint_auth_method = 'client_secret_post' + ) + else: + return SystemConfigOAuthDto( + allow_insecure_requests = True, + auto_launch = True, + auto_register = True, + button_text = '', + client_id = '', + client_secret = '', + default_storage_quota = 0, + enabled = True, + end_session_endpoint = '', + issuer_url = '', + mobile_override_enabled = True, + mobile_redirect_uri = '', + profile_signing_algorithm = '', + prompt = '', + role_claim = '', + scope = '', + signing_algorithm = '', + storage_label_claim = '', + storage_quota_claim = '', + timeout = 1, + token_endpoint_auth_method = 'client_secret_post', ) """ diff --git a/generated/immich/openapi_client/test/test_system_config_password_login_dto.py b/generated/immich/openapi_client/test/test_system_config_password_login_dto.py index 6e30361..ca038ea 100644 --- a/generated/immich/openapi_client/test/test_system_config_password_login_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_password_login_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_reverse_geocoding_dto.py b/generated/immich/openapi_client/test/test_system_config_reverse_geocoding_dto.py index a5d112d..19d38e6 100644 --- a/generated/immich/openapi_client/test/test_system_config_reverse_geocoding_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_reverse_geocoding_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_server_dto.py b/generated/immich/openapi_client/test/test_system_config_server_dto.py index 82635aa..2874ec6 100644 --- a/generated/immich/openapi_client/test/test_system_config_server_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_server_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_smtp_dto.py b/generated/immich/openapi_client/test/test_system_config_smtp_dto.py index d366141..afcc008 100644 --- a/generated/immich/openapi_client/test/test_system_config_smtp_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_smtp_dto.py @@ -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. @@ -43,6 +43,7 @@ class TestSystemConfigSmtpDto(unittest.TestCase): ignore_cert = True, password = '', port = 0, + secure = True, username = '', ) ) else: @@ -55,6 +56,7 @@ class TestSystemConfigSmtpDto(unittest.TestCase): ignore_cert = True, password = '', port = 0, + secure = True, username = '', ), ) """ diff --git a/generated/immich/openapi_client/test/test_system_config_smtp_transport_dto.py b/generated/immich/openapi_client/test/test_system_config_smtp_transport_dto.py index 94ca39c..213021f 100644 --- a/generated/immich/openapi_client/test/test_system_config_smtp_transport_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_smtp_transport_dto.py @@ -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. @@ -39,6 +39,7 @@ class TestSystemConfigSmtpTransportDto(unittest.TestCase): ignore_cert = True, password = '', port = 0, + secure = True, username = '' ) else: @@ -47,6 +48,7 @@ class TestSystemConfigSmtpTransportDto(unittest.TestCase): ignore_cert = True, password = '', port = 0, + secure = True, username = '', ) """ diff --git a/generated/immich/openapi_client/test/test_system_config_storage_template_dto.py b/generated/immich/openapi_client/test/test_system_config_storage_template_dto.py index 4f95e8e..47b9f32 100644 --- a/generated/immich/openapi_client/test/test_system_config_storage_template_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_storage_template_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_template_emails_dto.py b/generated/immich/openapi_client/test/test_system_config_template_emails_dto.py index 7021e66..3d6e725 100644 --- a/generated/immich/openapi_client/test/test_system_config_template_emails_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_template_emails_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_template_storage_option_dto.py b/generated/immich/openapi_client/test/test_system_config_template_storage_option_dto.py index ee8dd95..4738395 100644 --- a/generated/immich/openapi_client/test/test_system_config_template_storage_option_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_template_storage_option_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_templates_dto.py b/generated/immich/openapi_client/test/test_system_config_templates_dto.py index 0160966..fec2976 100644 --- a/generated/immich/openapi_client/test/test_system_config_templates_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_templates_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_theme_dto.py b/generated/immich/openapi_client/test/test_system_config_theme_dto.py index ba98a30..14df39a 100644 --- a/generated/immich/openapi_client/test/test_system_config_theme_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_theme_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_trash_dto.py b/generated/immich/openapi_client/test/test_system_config_trash_dto.py index 8f89e73..dc1f09d 100644 --- a/generated/immich/openapi_client/test/test_system_config_trash_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_trash_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_config_user_dto.py b/generated/immich/openapi_client/test/test_system_config_user_dto.py index fca97c2..056bb3a 100644 --- a/generated/immich/openapi_client/test/test_system_config_user_dto.py +++ b/generated/immich/openapi_client/test/test_system_config_user_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_system_metadata_api.py b/generated/immich/openapi_client/test/test_system_metadata_api.py index 5f6ffea..b253af3 100644 --- a/generated/immich/openapi_client/test/test_system_metadata_api.py +++ b/generated/immich/openapi_client/test/test_system_metadata_api.py @@ -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. @@ -29,18 +29,28 @@ class TestSystemMetadataApi(unittest.TestCase): def test_get_admin_onboarding(self) -> None: """Test case for get_admin_onboarding + Retrieve admin onboarding """ pass def test_get_reverse_geocoding_state(self) -> None: """Test case for get_reverse_geocoding_state + Retrieve reverse geocoding state + """ + pass + + def test_get_version_check_state(self) -> None: + """Test case for get_version_check_state + + Retrieve version check state """ pass def test_update_admin_onboarding(self) -> None: """Test case for update_admin_onboarding + Update admin onboarding """ pass diff --git a/generated/immich/openapi_client/test/test_tag_bulk_assets_dto.py b/generated/immich/openapi_client/test/test_tag_bulk_assets_dto.py index 0935b40..fcff65d 100644 --- a/generated/immich/openapi_client/test/test_tag_bulk_assets_dto.py +++ b/generated/immich/openapi_client/test/test_tag_bulk_assets_dto.py @@ -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. @@ -36,19 +36,19 @@ class TestTagBulkAssetsDto(unittest.TestCase): if include_optional: return TagBulkAssetsDto( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], tag_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ] ) else: return TagBulkAssetsDto( asset_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], tag_ids = [ - '' + '62ECB020-8429-430c-a01F-FCCfeEe150AC' ], ) """ diff --git a/generated/immich/openapi_client/test/test_tag_bulk_assets_response_dto.py b/generated/immich/openapi_client/test/test_tag_bulk_assets_response_dto.py index 46fe1e5..6ed85aa 100644 --- a/generated/immich/openapi_client/test/test_tag_bulk_assets_response_dto.py +++ b/generated/immich/openapi_client/test/test_tag_bulk_assets_response_dto.py @@ -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. @@ -35,11 +35,11 @@ class TestTagBulkAssetsResponseDto(unittest.TestCase): model = TagBulkAssetsResponseDto() if include_optional: return TagBulkAssetsResponseDto( - count = 56 + count = -9007199254740991 ) else: return TagBulkAssetsResponseDto( - count = 56, + count = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_tag_create_dto.py b/generated/immich/openapi_client/test/test_tag_create_dto.py index 1c665c6..d51cdbf 100644 --- a/generated/immich/openapi_client/test/test_tag_create_dto.py +++ b/generated/immich/openapi_client/test/test_tag_create_dto.py @@ -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. @@ -35,9 +35,9 @@ class TestTagCreateDto(unittest.TestCase): model = TagCreateDto() if include_optional: return TagCreateDto( - color = '#325375E0', + color = '#ECB02084', name = '', - parent_id = '' + parent_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC' ) else: return TagCreateDto( diff --git a/generated/immich/openapi_client/test/test_tag_response_dto.py b/generated/immich/openapi_client/test/test_tag_response_dto.py index d996679..5720edb 100644 --- a/generated/immich/openapi_client/test/test_tag_response_dto.py +++ b/generated/immich/openapi_client/test/test_tag_response_dto.py @@ -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. @@ -37,7 +37,7 @@ class TestTagResponseDto(unittest.TestCase): return TagResponseDto( color = '', created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', parent_id = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), @@ -46,7 +46,7 @@ class TestTagResponseDto(unittest.TestCase): else: return TagResponseDto( created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - id = '', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), value = '', diff --git a/generated/immich/openapi_client/test/test_tag_update_dto.py b/generated/immich/openapi_client/test/test_tag_update_dto.py index 2cae46e..f9d1327 100644 --- a/generated/immich/openapi_client/test/test_tag_update_dto.py +++ b/generated/immich/openapi_client/test/test_tag_update_dto.py @@ -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. @@ -35,7 +35,7 @@ class TestTagUpdateDto(unittest.TestCase): model = TagUpdateDto() if include_optional: return TagUpdateDto( - color = '' + color = '#ECB02084' ) else: return TagUpdateDto( diff --git a/generated/immich/openapi_client/test/test_tag_upsert_dto.py b/generated/immich/openapi_client/test/test_tag_upsert_dto.py index 672a1e3..72cf926 100644 --- a/generated/immich/openapi_client/test/test_tag_upsert_dto.py +++ b/generated/immich/openapi_client/test/test_tag_upsert_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_tags_api.py b/generated/immich/openapi_client/test/test_tags_api.py index 15f56eb..f065d2d 100644 --- a/generated/immich/openapi_client/test/test_tags_api.py +++ b/generated/immich/openapi_client/test/test_tags_api.py @@ -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. @@ -29,54 +29,63 @@ class TestTagsApi(unittest.TestCase): def test_bulk_tag_assets(self) -> None: """Test case for bulk_tag_assets + Tag assets """ pass def test_create_tag(self) -> None: """Test case for create_tag + Create a tag """ pass def test_delete_tag(self) -> None: """Test case for delete_tag + Delete a tag """ pass def test_get_all_tags(self) -> None: """Test case for get_all_tags + Retrieve tags """ pass def test_get_tag_by_id(self) -> None: """Test case for get_tag_by_id + Retrieve a tag """ pass def test_tag_assets(self) -> None: """Test case for tag_assets + Tag assets """ pass def test_untag_assets(self) -> None: """Test case for untag_assets + Untag assets """ pass def test_update_tag(self) -> None: """Test case for update_tag + Update a tag """ pass def test_upsert_tags(self) -> None: """Test case for upsert_tags + Upsert tags """ pass diff --git a/generated/immich/openapi_client/test/test_tags_response.py b/generated/immich/openapi_client/test/test_tags_response.py index 6c373ae..f2bb01d 100644 --- a/generated/immich/openapi_client/test/test_tags_response.py +++ b/generated/immich/openapi_client/test/test_tags_response.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_tags_update.py b/generated/immich/openapi_client/test/test_tags_update.py index 6f3c692..a822a3d 100644 --- a/generated/immich/openapi_client/test/test_tags_update.py +++ b/generated/immich/openapi_client/test/test_tags_update.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_template_dto.py b/generated/immich/openapi_client/test/test_template_dto.py index 9ee8706..85ce585 100644 --- a/generated/immich/openapi_client/test/test_template_dto.py +++ b/generated/immich/openapi_client/test/test_template_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_template_response_dto.py b/generated/immich/openapi_client/test/test_template_response_dto.py index 8530eaa..e164192 100644 --- a/generated/immich/openapi_client/test/test_template_response_dto.py +++ b/generated/immich/openapi_client/test/test_template_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_test_email_response_dto.py b/generated/immich/openapi_client/test/test_test_email_response_dto.py index 8539df0..2d26dea 100644 --- a/generated/immich/openapi_client/test/test_test_email_response_dto.py +++ b/generated/immich/openapi_client/test/test_test_email_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_time_bucket_response_dto.py b/generated/immich/openapi_client/test/test_time_bucket_response_dto.py deleted file mode 100644 index f23541a..0000000 --- a/generated/immich/openapi_client/test/test_time_bucket_response_dto.py +++ /dev/null @@ -1,54 +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 - - -import unittest - -from generated.immich.openapi_client.models.time_bucket_response_dto import TimeBucketResponseDto - -class TestTimeBucketResponseDto(unittest.TestCase): - """TimeBucketResponseDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> TimeBucketResponseDto: - """Test TimeBucketResponseDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `TimeBucketResponseDto` - """ - model = TimeBucketResponseDto() - if include_optional: - return TimeBucketResponseDto( - count = 56, - time_bucket = '' - ) - else: - return TimeBucketResponseDto( - count = 56, - time_bucket = '', - ) - """ - - def testTimeBucketResponseDto(self): - """Test TimeBucketResponseDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_time_bucket_size.py b/generated/immich/openapi_client/test/test_time_bucket_size.py deleted file mode 100644 index ffe9b9a..0000000 --- a/generated/immich/openapi_client/test/test_time_bucket_size.py +++ /dev/null @@ -1,33 +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 - - -import unittest - -from generated.immich.openapi_client.models.time_bucket_size import TimeBucketSize - -class TestTimeBucketSize(unittest.TestCase): - """TimeBucketSize unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def testTimeBucketSize(self): - """Test TimeBucketSize""" - # inst = TimeBucketSize() - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_timeline_api.py b/generated/immich/openapi_client/test/test_timeline_api.py index 08f2d92..dd5abe8 100644 --- a/generated/immich/openapi_client/test/test_timeline_api.py +++ b/generated/immich/openapi_client/test/test_timeline_api.py @@ -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. @@ -29,12 +29,14 @@ class TestTimelineApi(unittest.TestCase): def test_get_time_bucket(self) -> None: """Test case for get_time_bucket + Get time bucket """ pass def test_get_time_buckets(self) -> None: """Test case for get_time_buckets + Get time buckets """ pass diff --git a/generated/immich/openapi_client/test/test_tone_mapping.py b/generated/immich/openapi_client/test/test_tone_mapping.py index ca9f80e..d491604 100644 --- a/generated/immich/openapi_client/test/test_tone_mapping.py +++ b/generated/immich/openapi_client/test/test_tone_mapping.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_transcode_hw_accel.py b/generated/immich/openapi_client/test/test_transcode_hw_accel.py index a7c7503..73fb8ff 100644 --- a/generated/immich/openapi_client/test/test_transcode_hw_accel.py +++ b/generated/immich/openapi_client/test/test_transcode_hw_accel.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_transcode_policy.py b/generated/immich/openapi_client/test/test_transcode_policy.py index 0337eec..1eadbe9 100644 --- a/generated/immich/openapi_client/test/test_transcode_policy.py +++ b/generated/immich/openapi_client/test/test_transcode_policy.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_trash_api.py b/generated/immich/openapi_client/test/test_trash_api.py index 6b8e7c7..5a97e27 100644 --- a/generated/immich/openapi_client/test/test_trash_api.py +++ b/generated/immich/openapi_client/test/test_trash_api.py @@ -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. @@ -29,18 +29,21 @@ class TestTrashApi(unittest.TestCase): def test_empty_trash(self) -> None: """Test case for empty_trash + Empty trash """ pass def test_restore_assets(self) -> None: """Test case for restore_assets + Restore assets """ pass def test_restore_trash(self) -> None: """Test case for restore_trash + Restore trash """ pass diff --git a/generated/immich/openapi_client/test/test_trash_response_dto.py b/generated/immich/openapi_client/test/test_trash_response_dto.py index d92f8e0..2903c2d 100644 --- a/generated/immich/openapi_client/test/test_trash_response_dto.py +++ b/generated/immich/openapi_client/test/test_trash_response_dto.py @@ -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. @@ -35,11 +35,11 @@ class TestTrashResponseDto(unittest.TestCase): model = TrashResponseDto() if include_optional: return TrashResponseDto( - count = 56 + count = -9007199254740991 ) else: return TrashResponseDto( - count = 56, + count = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_update_album_dto.py b/generated/immich/openapi_client/test/test_update_album_dto.py index 93a808a..3d45caa 100644 --- a/generated/immich/openapi_client/test/test_update_album_dto.py +++ b/generated/immich/openapi_client/test/test_update_album_dto.py @@ -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. @@ -36,7 +36,7 @@ class TestUpdateAlbumDto(unittest.TestCase): if include_optional: return UpdateAlbumDto( album_name = '', - album_thumbnail_asset_id = '', + album_thumbnail_asset_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', description = '', is_activity_enabled = True, order = 'asc' diff --git a/generated/immich/openapi_client/test/test_update_album_user_dto.py b/generated/immich/openapi_client/test/test_update_album_user_dto.py index 6baf083..1955f4b 100644 --- a/generated/immich/openapi_client/test/test_update_album_user_dto.py +++ b/generated/immich/openapi_client/test/test_update_album_user_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_update_asset_dto.py b/generated/immich/openapi_client/test/test_update_asset_dto.py index ffe2582..8f6130f 100644 --- a/generated/immich/openapi_client/test/test_update_asset_dto.py +++ b/generated/immich/openapi_client/test/test_update_asset_dto.py @@ -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. @@ -37,12 +37,12 @@ class TestUpdateAssetDto(unittest.TestCase): return UpdateAssetDto( date_time_original = '', description = '', - is_archived = True, is_favorite = True, - latitude = 1.337, - live_photo_video_id = '', - longitude = 1.337, - rating = -1 + latitude = -90, + live_photo_video_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', + longitude = -180, + rating = -1, + visibility = 'archive' ) else: return UpdateAssetDto( diff --git a/generated/immich/openapi_client/test/test_update_library_dto.py b/generated/immich/openapi_client/test/test_update_library_dto.py index 0237baa..a4ee51d 100644 --- a/generated/immich/openapi_client/test/test_update_library_dto.py +++ b/generated/immich/openapi_client/test/test_update_library_dto.py @@ -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. @@ -41,7 +41,7 @@ class TestUpdateLibraryDto(unittest.TestCase): import_paths = [ '' ], - name = '' + name = '0' ) else: return UpdateLibraryDto( diff --git a/generated/immich/openapi_client/test/test_update_partner_dto.py b/generated/immich/openapi_client/test/test_update_partner_dto.py deleted file mode 100644 index 6d79459..0000000 --- a/generated/immich/openapi_client/test/test_update_partner_dto.py +++ /dev/null @@ -1,52 +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 - - -import unittest - -from generated.immich.openapi_client.models.update_partner_dto import UpdatePartnerDto - -class TestUpdatePartnerDto(unittest.TestCase): - """UpdatePartnerDto unit test stubs""" - - def setUp(self): - pass - - def tearDown(self): - pass - - def make_instance(self, include_optional) -> UpdatePartnerDto: - """Test UpdatePartnerDto - include_optional is a boolean, when False only required - params are included, when True both required and - optional params are included """ - # uncomment below to create an instance of `UpdatePartnerDto` - """ - model = UpdatePartnerDto() - if include_optional: - return UpdatePartnerDto( - in_timeline = True - ) - else: - return UpdatePartnerDto( - in_timeline = True, - ) - """ - - def testUpdatePartnerDto(self): - """Test UpdatePartnerDto""" - # inst_req_only = self.make_instance(include_optional=False) - # inst_req_and_optional = self.make_instance(include_optional=True) - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client/test/test_usage_by_user_dto.py b/generated/immich/openapi_client/test/test_usage_by_user_dto.py index 0e1e5a7..f195445 100644 --- a/generated/immich/openapi_client/test/test_usage_by_user_dto.py +++ b/generated/immich/openapi_client/test/test_usage_by_user_dto.py @@ -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. @@ -35,25 +35,25 @@ class TestUsageByUserDto(unittest.TestCase): model = UsageByUserDto() if include_optional: return UsageByUserDto( - photos = 56, - quota_size_in_bytes = 56, - usage = 56, - usage_photos = 56, - usage_videos = 56, - user_id = '', + photos = -9007199254740991, + quota_size_in_bytes = -9007199254740991, + usage = -9007199254740991, + usage_photos = -9007199254740991, + usage_videos = -9007199254740991, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', user_name = '', - videos = 56 + videos = -9007199254740991 ) else: return UsageByUserDto( - photos = 56, - quota_size_in_bytes = 56, - usage = 56, - usage_photos = 56, - usage_videos = 56, - user_id = '', + photos = -9007199254740991, + quota_size_in_bytes = -9007199254740991, + usage = -9007199254740991, + usage_photos = -9007199254740991, + usage_videos = -9007199254740991, + user_id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', user_name = '', - videos = 56, + videos = -9007199254740991, ) """ diff --git a/generated/immich/openapi_client/test/test_user_admin_create_dto.py b/generated/immich/openapi_client/test/test_user_admin_create_dto.py index 499d851..a242123 100644 --- a/generated/immich/openapi_client/test/test_user_admin_create_dto.py +++ b/generated/immich/openapi_client/test/test_user_admin_create_dto.py @@ -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. @@ -35,17 +35,20 @@ class TestUserAdminCreateDto(unittest.TestCase): model = UserAdminCreateDto() if include_optional: return UserAdminCreateDto( - email = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + is_admin = True, name = '', notify = True, password = '', + pin_code = '123456', quota_size_in_bytes = 0, should_change_password = True, storage_label = '' ) else: return UserAdminCreateDto( - email = '', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', name = '', password = '', ) diff --git a/generated/immich/openapi_client/test/test_user_admin_delete_dto.py b/generated/immich/openapi_client/test/test_user_admin_delete_dto.py index 5423b1f..5629420 100644 --- a/generated/immich/openapi_client/test/test_user_admin_delete_dto.py +++ b/generated/immich/openapi_client/test/test_user_admin_delete_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_user_admin_response_dto.py b/generated/immich/openapi_client/test/test_user_admin_response_dto.py index 9526399..c174694 100644 --- a/generated/immich/openapi_client/test/test_user_admin_response_dto.py +++ b/generated/immich/openapi_client/test/test_user_admin_response_dto.py @@ -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. @@ -36,48 +36,48 @@ class TestUserAdminResponseDto(unittest.TestCase): if include_optional: return UserAdminResponseDto( avatar_color = 'primary', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - email = '', - id = '', + created_at = '2024-01-01T00:00Z', + deleted_at = '2024-01-01T00:00Z', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_admin = True, license = generated.immich.openapi_client.models.user_license.UserLicense( - activated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + activated_at = '2024-01-01T00:00Z', activation_key = '', - license_key = '', ), + license_key = 'IMCL-Cu2L-C4aW-wWL9-Y864-DZta-GRyy-GFZK-kkp4', ), name = '', oauth_id = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', - quota_size_in_bytes = 56, - quota_usage_in_bytes = 56, + quota_size_in_bytes = 0, + quota_usage_in_bytes = 0, should_change_password = True, status = 'active', storage_label = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f') + updated_at = '2024-01-01T00:00Z' ) else: return UserAdminResponseDto( avatar_color = 'primary', - created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - deleted_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), - email = '', - id = '', + created_at = '2024-01-01T00:00Z', + deleted_at = '2024-01-01T00:00Z', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', is_admin = True, license = generated.immich.openapi_client.models.user_license.UserLicense( - activated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + activated_at = '2024-01-01T00:00Z', activation_key = '', - license_key = '', ), + license_key = 'IMCL-Cu2L-C4aW-wWL9-Y864-DZta-GRyy-GFZK-kkp4', ), name = '', oauth_id = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', - quota_size_in_bytes = 56, - quota_usage_in_bytes = 56, + quota_size_in_bytes = 0, + quota_usage_in_bytes = 0, should_change_password = True, status = 'active', storage_label = '', - updated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_at = '2024-01-01T00:00Z', ) """ diff --git a/generated/immich/openapi_client/test/test_user_admin_update_dto.py b/generated/immich/openapi_client/test/test_user_admin_update_dto.py index a11911a..75db4d5 100644 --- a/generated/immich/openapi_client/test/test_user_admin_update_dto.py +++ b/generated/immich/openapi_client/test/test_user_admin_update_dto.py @@ -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. @@ -35,9 +35,12 @@ class TestUserAdminUpdateDto(unittest.TestCase): model = UserAdminUpdateDto() if include_optional: return UserAdminUpdateDto( - email = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + is_admin = True, name = '', password = '', + pin_code = '123456', quota_size_in_bytes = 0, should_change_password = True, storage_label = '' diff --git a/generated/immich/openapi_client/test/test_user_avatar_color.py b/generated/immich/openapi_client/test/test_user_avatar_color.py index e1299d6..1e2b131 100644 --- a/generated/immich/openapi_client/test/test_user_avatar_color.py +++ b/generated/immich/openapi_client/test/test_user_avatar_color.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_user_license.py b/generated/immich/openapi_client/test/test_user_license.py index 6d8bf00..195208e 100644 --- a/generated/immich/openapi_client/test/test_user_license.py +++ b/generated/immich/openapi_client/test/test_user_license.py @@ -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. @@ -35,15 +35,15 @@ class TestUserLicense(unittest.TestCase): model = UserLicense() if include_optional: return UserLicense( - activated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + activated_at = '2024-01-01T00:00Z', activation_key = '', - license_key = '' + license_key = 'IMCL-Cu2L-C4aW-wWL9-Y864-DZta-GRyy-GFZK-kkp4' ) else: return UserLicense( - activated_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + activated_at = '2024-01-01T00:00Z', activation_key = '', - license_key = '', + license_key = 'IMCL-Cu2L-C4aW-wWL9-Y864-DZta-GRyy-GFZK-kkp4', ) """ diff --git a/generated/immich/openapi_client/test/test_user_preferences_response_dto.py b/generated/immich/openapi_client/test/test_user_preferences_response_dto.py index 843c213..823672c 100644 --- a/generated/immich/openapi_client/test/test_user_preferences_response_dto.py +++ b/generated/immich/openapi_client/test/test_user_preferences_response_dto.py @@ -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. @@ -35,10 +35,12 @@ class TestUserPreferencesResponseDto(unittest.TestCase): model = UserPreferencesResponseDto() if include_optional: return UserPreferencesResponseDto( - avatar = generated.immich.openapi_client.models.avatar_response.AvatarResponse( - color = null, ), + albums = generated.immich.openapi_client.models.albums_response.AlbumsResponse( + default_asset_order = 'asc', ), + cast = generated.immich.openapi_client.models.cast_response.CastResponse( + g_cast_enabled = True, ), download = generated.immich.openapi_client.models.download_response.DownloadResponse( - archive_size = 56, + archive_size = -9007199254740991, include_embedded_videos = True, ), email_notifications = generated.immich.openapi_client.models.email_notifications_response.EmailNotificationsResponse( album_invite = True, @@ -48,15 +50,19 @@ class TestUserPreferencesResponseDto(unittest.TestCase): enabled = True, sidebar_web = True, ), memories = generated.immich.openapi_client.models.memories_response.MemoriesResponse( + duration = -9007199254740991, enabled = True, ), people = generated.immich.openapi_client.models.people_response.PeopleResponse( enabled = True, + minimum_faces = 1, sidebar_web = True, ), purchase = generated.immich.openapi_client.models.purchase_response.PurchaseResponse( hide_buy_button_until = '', show_support_badge = True, ), ratings = generated.immich.openapi_client.models.ratings_response.RatingsResponse( enabled = True, ), + recently_added = generated.immich.openapi_client.models.recently_added_response.RecentlyAddedResponse( + sidebar_web = True, ), shared_links = generated.immich.openapi_client.models.shared_links_response.SharedLinksResponse( enabled = True, sidebar_web = True, ), @@ -66,10 +72,12 @@ class TestUserPreferencesResponseDto(unittest.TestCase): ) else: return UserPreferencesResponseDto( - avatar = generated.immich.openapi_client.models.avatar_response.AvatarResponse( - color = null, ), + albums = generated.immich.openapi_client.models.albums_response.AlbumsResponse( + default_asset_order = 'asc', ), + cast = generated.immich.openapi_client.models.cast_response.CastResponse( + g_cast_enabled = True, ), download = generated.immich.openapi_client.models.download_response.DownloadResponse( - archive_size = 56, + archive_size = -9007199254740991, include_embedded_videos = True, ), email_notifications = generated.immich.openapi_client.models.email_notifications_response.EmailNotificationsResponse( album_invite = True, @@ -79,15 +87,19 @@ class TestUserPreferencesResponseDto(unittest.TestCase): enabled = True, sidebar_web = True, ), memories = generated.immich.openapi_client.models.memories_response.MemoriesResponse( + duration = -9007199254740991, enabled = True, ), people = generated.immich.openapi_client.models.people_response.PeopleResponse( enabled = True, + minimum_faces = 1, sidebar_web = True, ), purchase = generated.immich.openapi_client.models.purchase_response.PurchaseResponse( hide_buy_button_until = '', show_support_badge = True, ), ratings = generated.immich.openapi_client.models.ratings_response.RatingsResponse( enabled = True, ), + recently_added = generated.immich.openapi_client.models.recently_added_response.RecentlyAddedResponse( + sidebar_web = True, ), shared_links = generated.immich.openapi_client.models.shared_links_response.SharedLinksResponse( enabled = True, sidebar_web = True, ), diff --git a/generated/immich/openapi_client/test/test_user_preferences_update_dto.py b/generated/immich/openapi_client/test/test_user_preferences_update_dto.py index 6cb4305..7d6ccf1 100644 --- a/generated/immich/openapi_client/test/test_user_preferences_update_dto.py +++ b/generated/immich/openapi_client/test/test_user_preferences_update_dto.py @@ -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. @@ -35,8 +35,12 @@ class TestUserPreferencesUpdateDto(unittest.TestCase): model = UserPreferencesUpdateDto() if include_optional: return UserPreferencesUpdateDto( + albums = generated.immich.openapi_client.models.albums_update.AlbumsUpdate( + default_asset_order = 'asc', ), avatar = generated.immich.openapi_client.models.avatar_update.AvatarUpdate( - color = null, ), + color = 'primary', ), + cast = generated.immich.openapi_client.models.cast_update.CastUpdate( + g_cast_enabled = True, ), download = generated.immich.openapi_client.models.download_update.DownloadUpdate( archive_size = 1, include_embedded_videos = True, ), @@ -48,15 +52,19 @@ class TestUserPreferencesUpdateDto(unittest.TestCase): enabled = True, sidebar_web = True, ), memories = generated.immich.openapi_client.models.memories_update.MemoriesUpdate( + duration = 1, enabled = True, ), people = generated.immich.openapi_client.models.people_update.PeopleUpdate( enabled = True, + minimum_faces = 1, sidebar_web = True, ), purchase = generated.immich.openapi_client.models.purchase_update.PurchaseUpdate( hide_buy_button_until = '', show_support_badge = True, ), ratings = generated.immich.openapi_client.models.ratings_update.RatingsUpdate( enabled = True, ), + recently_added = generated.immich.openapi_client.models.recently_added_update.RecentlyAddedUpdate( + sidebar_web = True, ), shared_links = generated.immich.openapi_client.models.shared_links_update.SharedLinksUpdate( enabled = True, sidebar_web = True, ), diff --git a/generated/immich/openapi_client/test/test_user_response_dto.py b/generated/immich/openapi_client/test/test_user_response_dto.py index 2a31fd2..2c64d26 100644 --- a/generated/immich/openapi_client/test/test_user_response_dto.py +++ b/generated/immich/openapi_client/test/test_user_response_dto.py @@ -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. @@ -36,8 +36,8 @@ class TestUserResponseDto(unittest.TestCase): if include_optional: return UserResponseDto( avatar_color = 'primary', - email = '', - id = '', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '' @@ -45,8 +45,8 @@ class TestUserResponseDto(unittest.TestCase): else: return UserResponseDto( avatar_color = 'primary', - email = '', - id = '', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', + id = '62ECB020-8429-430c-a01F-FCCfeEe150AC', name = '', profile_changed_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), profile_image_path = '', diff --git a/generated/immich/openapi_client/test/test_user_status.py b/generated/immich/openapi_client/test/test_user_status.py index 25c7385..53d1664 100644 --- a/generated/immich/openapi_client/test/test_user_status.py +++ b/generated/immich/openapi_client/test/test_user_status.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_user_update_me_dto.py b/generated/immich/openapi_client/test/test_user_update_me_dto.py index 4152c1f..bb46400 100644 --- a/generated/immich/openapi_client/test/test_user_update_me_dto.py +++ b/generated/immich/openapi_client/test/test_user_update_me_dto.py @@ -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. @@ -35,7 +35,8 @@ class TestUserUpdateMeDto(unittest.TestCase): model = UserUpdateMeDto() if include_optional: return UserUpdateMeDto( - email = '', + avatar_color = 'primary', + email = 'o@u.C.aZuufUOHOEhA8IcFQXnuaZcdyyvKX7HzKpul80FcVjSkp5IHYCm6w-v0dZfF.7.MRjsmInY9s-EmMH6kw8gsnXv2Z7jRPK542XGp8ZohE.q-ziKqEde8fXg9wdpfxa2-zRiT.EU4NCUavTrirUe4ba7JnjrgEdBCJE-ArE6U3CZ-Vnrj9RmauZ.J.mRsCjOv6MeuvKGSDRGKUIQ8yNXhf.VbZpGptfI46.5.z.6-kwy.icMEEkIauY.eNaDi5ackLH.3.z-zmvqRnM-dar09VaHCQz0Tl8.D.rml4PJXMbVMO8G0e5q9Z4WMWovY63Gk6ixTd5NxRU25mQYd6VBLRK.Q.6-FH2v5iUaMQ6iIJ-7auxDSR-lIIfhhw9bP3XhsKpT6YkX2ymMVYtu.F.DOyxaBZ75cAidDZ6lvrLQxekRdyiJFjhCbEZunVXTqV3VP-DPQpzY-cV.d.Y649MeAEDz67NG9dihNlL1YPO1GvRUDnbsR0-SswaNzc7s9ONPZw-HNPR.5.JnotMPK4Aqhv7VjToBNn1oLFWRpSx-dyd2clYhZAGiUmDTPP', name = '', password = '' ) diff --git a/generated/immich/openapi_client/test/test_users_admin_api.py b/generated/immich/openapi_client/test/test_users_admin_api.py index 75db363..7ab8ce2 100644 --- a/generated/immich/openapi_client/test/test_users_admin_api.py +++ b/generated/immich/openapi_client/test/test_users_admin_api.py @@ -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. @@ -29,48 +29,77 @@ class TestUsersAdminApi(unittest.TestCase): def test_create_user_admin(self) -> None: """Test case for create_user_admin + Create a user """ pass def test_delete_user_admin(self) -> None: """Test case for delete_user_admin + Delete a user """ pass def test_get_user_admin(self) -> None: """Test case for get_user_admin + Retrieve a user + """ + pass + + def test_get_user_calendar_heatmap_admin(self) -> None: + """Test case for get_user_calendar_heatmap_admin + + Retrieve calendar heatmap activity """ pass def test_get_user_preferences_admin(self) -> None: """Test case for get_user_preferences_admin + Retrieve user preferences + """ + pass + + def test_get_user_sessions_admin(self) -> None: + """Test case for get_user_sessions_admin + + Retrieve user sessions + """ + pass + + def test_get_user_statistics_admin(self) -> None: + """Test case for get_user_statistics_admin + + Retrieve user statistics """ pass def test_restore_user_admin(self) -> None: """Test case for restore_user_admin + Restore a deleted user """ pass def test_search_users_admin(self) -> None: """Test case for search_users_admin + Search users """ pass def test_update_user_admin(self) -> None: """Test case for update_user_admin + Update a user """ pass def test_update_user_preferences_admin(self) -> None: """Test case for update_user_preferences_admin + Update user preferences """ pass diff --git a/generated/immich/openapi_client/test/test_users_api.py b/generated/immich/openapi_client/test/test_users_api.py index 1dd617d..4b962a7 100644 --- a/generated/immich/openapi_client/test/test_users_api.py +++ b/generated/immich/openapi_client/test/test_users_api.py @@ -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. @@ -29,72 +29,112 @@ class TestUsersApi(unittest.TestCase): def test_create_profile_image(self) -> None: """Test case for create_profile_image + Create user profile image """ pass def test_delete_profile_image(self) -> None: """Test case for delete_profile_image + Delete user profile image """ pass def test_delete_user_license(self) -> None: """Test case for delete_user_license + Delete user product key + """ + pass + + def test_delete_user_onboarding(self) -> None: + """Test case for delete_user_onboarding + + Delete user onboarding + """ + pass + + def test_get_my_calendar_heatmap(self) -> None: + """Test case for get_my_calendar_heatmap + + Retrieve calendar heatmap activity """ pass def test_get_my_preferences(self) -> None: """Test case for get_my_preferences + Get my preferences """ pass def test_get_my_user(self) -> None: """Test case for get_my_user + Get current user """ pass def test_get_profile_image(self) -> None: """Test case for get_profile_image + Retrieve user profile image """ pass def test_get_user(self) -> None: """Test case for get_user + Retrieve a user """ pass def test_get_user_license(self) -> None: """Test case for get_user_license + Retrieve user product key + """ + pass + + def test_get_user_onboarding(self) -> None: + """Test case for get_user_onboarding + + Retrieve user onboarding """ pass def test_search_users(self) -> None: """Test case for search_users + Get all users """ pass def test_set_user_license(self) -> None: """Test case for set_user_license + Set user product key + """ + pass + + def test_set_user_onboarding(self) -> None: + """Test case for set_user_onboarding + + Update user onboarding """ pass def test_update_my_preferences(self) -> None: """Test case for update_my_preferences + Update my preferences """ pass def test_update_my_user(self) -> None: """Test case for update_my_user + Update current user """ pass diff --git a/generated/immich/openapi_client/test/test_validate_access_token_response_dto.py b/generated/immich/openapi_client/test/test_validate_access_token_response_dto.py index f2805f2..3a12bcb 100644 --- a/generated/immich/openapi_client/test/test_validate_access_token_response_dto.py +++ b/generated/immich/openapi_client/test/test_validate_access_token_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_validate_library_dto.py b/generated/immich/openapi_client/test/test_validate_library_dto.py index a01a0f7..53f3f05 100644 --- a/generated/immich/openapi_client/test/test_validate_library_dto.py +++ b/generated/immich/openapi_client/test/test_validate_library_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_validate_library_import_path_response_dto.py b/generated/immich/openapi_client/test/test_validate_library_import_path_response_dto.py index c7109a2..847e67b 100644 --- a/generated/immich/openapi_client/test/test_validate_library_import_path_response_dto.py +++ b/generated/immich/openapi_client/test/test_validate_library_import_path_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_validate_library_response_dto.py b/generated/immich/openapi_client/test/test_validate_library_response_dto.py index b924f05..cc962f9 100644 --- a/generated/immich/openapi_client/test/test_validate_library_response_dto.py +++ b/generated/immich/openapi_client/test/test_validate_library_response_dto.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_video_codec.py b/generated/immich/openapi_client/test/test_video_codec.py index 79e2093..fb34ec1 100644 --- a/generated/immich/openapi_client/test/test_video_codec.py +++ b/generated/immich/openapi_client/test/test_video_codec.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_video_container.py b/generated/immich/openapi_client/test/test_video_container.py index 1ead534..f02ac04 100644 --- a/generated/immich/openapi_client/test/test_video_container.py +++ b/generated/immich/openapi_client/test/test_video_container.py @@ -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. diff --git a/generated/immich/openapi_client/test/test_view_api.py b/generated/immich/openapi_client/test/test_view_api.py deleted file mode 100644 index dfe6221..0000000 --- a/generated/immich/openapi_client/test/test_view_api.py +++ /dev/null @@ -1,43 +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 - - -import unittest - -from generated.immich.openapi_client.api.view_api import ViewApi - - -class TestViewApi(unittest.TestCase): - """ViewApi unit test stubs""" - - def setUp(self) -> None: - self.api = ViewApi() - - def tearDown(self) -> None: - pass - - def test_get_assets_by_original_path(self) -> None: - """Test case for get_assets_by_original_path - - """ - pass - - def test_get_unique_original_paths(self) -> None: - """Test case for get_unique_original_paths - - """ - pass - - -if __name__ == '__main__': - unittest.main() diff --git a/generated/immich/openapi_client_README.md b/generated/immich/openapi_client_README.md index 8f73ecd..5f4adfe 100644 --- a/generated/immich/openapi_client_README.md +++ b/generated/immich/openapi_client_README.md @@ -3,14 +3,14 @@ Immich API The `generated.immich.openapi_client` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 1.131.3 +- API version: 3.0.1 - Package version: 1.0.0 -- Generator version: 7.13.0-SNAPSHOT +- Generator version: 7.18.0-SNAPSHOT - Build package: org.openapitools.codegen.languages.PythonClientCodegen ## Requirements. -Python 3.8+ +Python 3.9+ ## Installation & Usage @@ -18,7 +18,7 @@ This python library package is generated without supporting files like setup.py To be able to use it, you will need these dependencies in your own package that uses this library: -* urllib3 >= 1.25.3, < 3.0.0 +* urllib3 >= 2.1.0, < 3.0.0 * python-dateutil >= 2.8.2 * pydantic >= 2 * typing-extensions >= 4.7.1 @@ -67,9 +67,10 @@ configuration = generated.immich.openapi_client.Configuration( with generated.immich.openapi_client.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = generated.immich.openapi_client.APIKeysApi(api_client) - api_key_create_dto = generated.immich.openapi_client.APIKeyCreateDto() # APIKeyCreateDto | + api_key_create_dto = generated.immich.openapi_client.ApiKeyCreateDto() # ApiKeyCreateDto | try: + # Create an API key api_response = api_instance.create_api_key(api_key_create_dto) print("The response of APIKeysApi->create_api_key:\n") pprint(api_response) @@ -84,193 +85,281 @@ All URIs are relative to *https://github.com/api* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- -*APIKeysApi* | [**create_api_key**](generated/immich/openapi_client/docs/APIKeysApi.md#create_api_key) | **POST** /api-keys | -*APIKeysApi* | [**delete_api_key**](generated/immich/openapi_client/docs/APIKeysApi.md#delete_api_key) | **DELETE** /api-keys/{id} | -*APIKeysApi* | [**get_api_key**](generated/immich/openapi_client/docs/APIKeysApi.md#get_api_key) | **GET** /api-keys/{id} | -*APIKeysApi* | [**get_api_keys**](generated/immich/openapi_client/docs/APIKeysApi.md#get_api_keys) | **GET** /api-keys | -*APIKeysApi* | [**update_api_key**](generated/immich/openapi_client/docs/APIKeysApi.md#update_api_key) | **PUT** /api-keys/{id} | -*ActivitiesApi* | [**create_activity**](generated/immich/openapi_client/docs/ActivitiesApi.md#create_activity) | **POST** /activities | -*ActivitiesApi* | [**delete_activity**](generated/immich/openapi_client/docs/ActivitiesApi.md#delete_activity) | **DELETE** /activities/{id} | -*ActivitiesApi* | [**get_activities**](generated/immich/openapi_client/docs/ActivitiesApi.md#get_activities) | **GET** /activities | -*ActivitiesApi* | [**get_activity_statistics**](generated/immich/openapi_client/docs/ActivitiesApi.md#get_activity_statistics) | **GET** /activities/statistics | -*AlbumsApi* | [**add_assets_to_album**](generated/immich/openapi_client/docs/AlbumsApi.md#add_assets_to_album) | **PUT** /albums/{id}/assets | -*AlbumsApi* | [**add_users_to_album**](generated/immich/openapi_client/docs/AlbumsApi.md#add_users_to_album) | **PUT** /albums/{id}/users | -*AlbumsApi* | [**create_album**](generated/immich/openapi_client/docs/AlbumsApi.md#create_album) | **POST** /albums | -*AlbumsApi* | [**delete_album**](generated/immich/openapi_client/docs/AlbumsApi.md#delete_album) | **DELETE** /albums/{id} | -*AlbumsApi* | [**get_album_info**](generated/immich/openapi_client/docs/AlbumsApi.md#get_album_info) | **GET** /albums/{id} | -*AlbumsApi* | [**get_album_statistics**](generated/immich/openapi_client/docs/AlbumsApi.md#get_album_statistics) | **GET** /albums/statistics | -*AlbumsApi* | [**get_all_albums**](generated/immich/openapi_client/docs/AlbumsApi.md#get_all_albums) | **GET** /albums | -*AlbumsApi* | [**remove_asset_from_album**](generated/immich/openapi_client/docs/AlbumsApi.md#remove_asset_from_album) | **DELETE** /albums/{id}/assets | -*AlbumsApi* | [**remove_user_from_album**](generated/immich/openapi_client/docs/AlbumsApi.md#remove_user_from_album) | **DELETE** /albums/{id}/user/{userId} | -*AlbumsApi* | [**update_album_info**](generated/immich/openapi_client/docs/AlbumsApi.md#update_album_info) | **PATCH** /albums/{id} | -*AlbumsApi* | [**update_album_user**](generated/immich/openapi_client/docs/AlbumsApi.md#update_album_user) | **PUT** /albums/{id}/user/{userId} | -*AssetsApi* | [**check_bulk_upload**](generated/immich/openapi_client/docs/AssetsApi.md#check_bulk_upload) | **POST** /assets/bulk-upload-check | checkBulkUpload -*AssetsApi* | [**check_existing_assets**](generated/immich/openapi_client/docs/AssetsApi.md#check_existing_assets) | **POST** /assets/exist | checkExistingAssets -*AssetsApi* | [**delete_assets**](generated/immich/openapi_client/docs/AssetsApi.md#delete_assets) | **DELETE** /assets | -*AssetsApi* | [**download_asset**](generated/immich/openapi_client/docs/AssetsApi.md#download_asset) | **GET** /assets/{id}/original | -*AssetsApi* | [**get_all_user_assets_by_device_id**](generated/immich/openapi_client/docs/AssetsApi.md#get_all_user_assets_by_device_id) | **GET** /assets/device/{deviceId} | getAllUserAssetsByDeviceId -*AssetsApi* | [**get_asset_info**](generated/immich/openapi_client/docs/AssetsApi.md#get_asset_info) | **GET** /assets/{id} | -*AssetsApi* | [**get_asset_statistics**](generated/immich/openapi_client/docs/AssetsApi.md#get_asset_statistics) | **GET** /assets/statistics | -*AssetsApi* | [**get_memory_lane**](generated/immich/openapi_client/docs/AssetsApi.md#get_memory_lane) | **GET** /assets/memory-lane | -*AssetsApi* | [**get_random**](generated/immich/openapi_client/docs/AssetsApi.md#get_random) | **GET** /assets/random | -*AssetsApi* | [**play_asset_video**](generated/immich/openapi_client/docs/AssetsApi.md#play_asset_video) | **GET** /assets/{id}/video/playback | -*AssetsApi* | [**replace_asset**](generated/immich/openapi_client/docs/AssetsApi.md#replace_asset) | **PUT** /assets/{id}/original | replaceAsset -*AssetsApi* | [**run_asset_jobs**](generated/immich/openapi_client/docs/AssetsApi.md#run_asset_jobs) | **POST** /assets/jobs | -*AssetsApi* | [**update_asset**](generated/immich/openapi_client/docs/AssetsApi.md#update_asset) | **PUT** /assets/{id} | -*AssetsApi* | [**update_assets**](generated/immich/openapi_client/docs/AssetsApi.md#update_assets) | **PUT** /assets | -*AssetsApi* | [**upload_asset**](generated/immich/openapi_client/docs/AssetsApi.md#upload_asset) | **POST** /assets | -*AssetsApi* | [**view_asset**](generated/immich/openapi_client/docs/AssetsApi.md#view_asset) | **GET** /assets/{id}/thumbnail | -*AuthenticationApi* | [**change_password**](generated/immich/openapi_client/docs/AuthenticationApi.md#change_password) | **POST** /auth/change-password | -*AuthenticationApi* | [**login**](generated/immich/openapi_client/docs/AuthenticationApi.md#login) | **POST** /auth/login | -*AuthenticationApi* | [**logout**](generated/immich/openapi_client/docs/AuthenticationApi.md#logout) | **POST** /auth/logout | -*AuthenticationApi* | [**sign_up_admin**](generated/immich/openapi_client/docs/AuthenticationApi.md#sign_up_admin) | **POST** /auth/admin-sign-up | -*AuthenticationApi* | [**validate_access_token**](generated/immich/openapi_client/docs/AuthenticationApi.md#validate_access_token) | **POST** /auth/validateToken | -*DeprecatedApi* | [**get_random**](generated/immich/openapi_client/docs/DeprecatedApi.md#get_random) | **GET** /assets/random | -*DownloadApi* | [**download_archive**](generated/immich/openapi_client/docs/DownloadApi.md#download_archive) | **POST** /download/archive | -*DownloadApi* | [**get_download_info**](generated/immich/openapi_client/docs/DownloadApi.md#get_download_info) | **POST** /download/info | -*DuplicatesApi* | [**get_asset_duplicates**](generated/immich/openapi_client/docs/DuplicatesApi.md#get_asset_duplicates) | **GET** /duplicates | -*FacesApi* | [**create_face**](generated/immich/openapi_client/docs/FacesApi.md#create_face) | **POST** /faces | -*FacesApi* | [**delete_face**](generated/immich/openapi_client/docs/FacesApi.md#delete_face) | **DELETE** /faces/{id} | -*FacesApi* | [**get_faces**](generated/immich/openapi_client/docs/FacesApi.md#get_faces) | **GET** /faces | -*FacesApi* | [**reassign_faces_by_id**](generated/immich/openapi_client/docs/FacesApi.md#reassign_faces_by_id) | **PUT** /faces/{id} | -*FileReportsApi* | [**fix_audit_files**](generated/immich/openapi_client/docs/FileReportsApi.md#fix_audit_files) | **POST** /reports/fix | -*FileReportsApi* | [**get_audit_files**](generated/immich/openapi_client/docs/FileReportsApi.md#get_audit_files) | **GET** /reports | -*FileReportsApi* | [**get_file_checksums**](generated/immich/openapi_client/docs/FileReportsApi.md#get_file_checksums) | **POST** /reports/checksum | -*JobsApi* | [**create_job**](generated/immich/openapi_client/docs/JobsApi.md#create_job) | **POST** /jobs | -*JobsApi* | [**get_all_jobs_status**](generated/immich/openapi_client/docs/JobsApi.md#get_all_jobs_status) | **GET** /jobs | -*JobsApi* | [**send_job_command**](generated/immich/openapi_client/docs/JobsApi.md#send_job_command) | **PUT** /jobs/{id} | -*LibrariesApi* | [**create_library**](generated/immich/openapi_client/docs/LibrariesApi.md#create_library) | **POST** /libraries | -*LibrariesApi* | [**delete_library**](generated/immich/openapi_client/docs/LibrariesApi.md#delete_library) | **DELETE** /libraries/{id} | -*LibrariesApi* | [**get_all_libraries**](generated/immich/openapi_client/docs/LibrariesApi.md#get_all_libraries) | **GET** /libraries | -*LibrariesApi* | [**get_library**](generated/immich/openapi_client/docs/LibrariesApi.md#get_library) | **GET** /libraries/{id} | -*LibrariesApi* | [**get_library_statistics**](generated/immich/openapi_client/docs/LibrariesApi.md#get_library_statistics) | **GET** /libraries/{id}/statistics | -*LibrariesApi* | [**scan_library**](generated/immich/openapi_client/docs/LibrariesApi.md#scan_library) | **POST** /libraries/{id}/scan | -*LibrariesApi* | [**update_library**](generated/immich/openapi_client/docs/LibrariesApi.md#update_library) | **PUT** /libraries/{id} | -*LibrariesApi* | [**validate**](generated/immich/openapi_client/docs/LibrariesApi.md#validate) | **POST** /libraries/{id}/validate | -*MapApi* | [**get_map_markers**](generated/immich/openapi_client/docs/MapApi.md#get_map_markers) | **GET** /map/markers | -*MapApi* | [**reverse_geocode**](generated/immich/openapi_client/docs/MapApi.md#reverse_geocode) | **GET** /map/reverse-geocode | -*MemoriesApi* | [**add_memory_assets**](generated/immich/openapi_client/docs/MemoriesApi.md#add_memory_assets) | **PUT** /memories/{id}/assets | -*MemoriesApi* | [**create_memory**](generated/immich/openapi_client/docs/MemoriesApi.md#create_memory) | **POST** /memories | -*MemoriesApi* | [**delete_memory**](generated/immich/openapi_client/docs/MemoriesApi.md#delete_memory) | **DELETE** /memories/{id} | -*MemoriesApi* | [**get_memory**](generated/immich/openapi_client/docs/MemoriesApi.md#get_memory) | **GET** /memories/{id} | -*MemoriesApi* | [**remove_memory_assets**](generated/immich/openapi_client/docs/MemoriesApi.md#remove_memory_assets) | **DELETE** /memories/{id}/assets | -*MemoriesApi* | [**search_memories**](generated/immich/openapi_client/docs/MemoriesApi.md#search_memories) | **GET** /memories | -*MemoriesApi* | [**update_memory**](generated/immich/openapi_client/docs/MemoriesApi.md#update_memory) | **PUT** /memories/{id} | -*NotificationsApi* | [**get_notification_template**](generated/immich/openapi_client/docs/NotificationsApi.md#get_notification_template) | **POST** /notifications/templates/{name} | -*NotificationsApi* | [**send_test_email**](generated/immich/openapi_client/docs/NotificationsApi.md#send_test_email) | **POST** /notifications/test-email | -*OAuthApi* | [**finish_o_auth**](generated/immich/openapi_client/docs/OAuthApi.md#finish_o_auth) | **POST** /oauth/callback | -*OAuthApi* | [**link_o_auth_account**](generated/immich/openapi_client/docs/OAuthApi.md#link_o_auth_account) | **POST** /oauth/link | -*OAuthApi* | [**redirect_o_auth_to_mobile**](generated/immich/openapi_client/docs/OAuthApi.md#redirect_o_auth_to_mobile) | **GET** /oauth/mobile-redirect | -*OAuthApi* | [**start_o_auth**](generated/immich/openapi_client/docs/OAuthApi.md#start_o_auth) | **POST** /oauth/authorize | -*OAuthApi* | [**unlink_o_auth_account**](generated/immich/openapi_client/docs/OAuthApi.md#unlink_o_auth_account) | **POST** /oauth/unlink | -*PartnersApi* | [**create_partner**](generated/immich/openapi_client/docs/PartnersApi.md#create_partner) | **POST** /partners/{id} | -*PartnersApi* | [**get_partners**](generated/immich/openapi_client/docs/PartnersApi.md#get_partners) | **GET** /partners | -*PartnersApi* | [**remove_partner**](generated/immich/openapi_client/docs/PartnersApi.md#remove_partner) | **DELETE** /partners/{id} | -*PartnersApi* | [**update_partner**](generated/immich/openapi_client/docs/PartnersApi.md#update_partner) | **PUT** /partners/{id} | -*PeopleApi* | [**create_person**](generated/immich/openapi_client/docs/PeopleApi.md#create_person) | **POST** /people | -*PeopleApi* | [**get_all_people**](generated/immich/openapi_client/docs/PeopleApi.md#get_all_people) | **GET** /people | -*PeopleApi* | [**get_person**](generated/immich/openapi_client/docs/PeopleApi.md#get_person) | **GET** /people/{id} | -*PeopleApi* | [**get_person_statistics**](generated/immich/openapi_client/docs/PeopleApi.md#get_person_statistics) | **GET** /people/{id}/statistics | -*PeopleApi* | [**get_person_thumbnail**](generated/immich/openapi_client/docs/PeopleApi.md#get_person_thumbnail) | **GET** /people/{id}/thumbnail | -*PeopleApi* | [**merge_person**](generated/immich/openapi_client/docs/PeopleApi.md#merge_person) | **POST** /people/{id}/merge | -*PeopleApi* | [**reassign_faces**](generated/immich/openapi_client/docs/PeopleApi.md#reassign_faces) | **PUT** /people/{id}/reassign | -*PeopleApi* | [**update_people**](generated/immich/openapi_client/docs/PeopleApi.md#update_people) | **PUT** /people | -*PeopleApi* | [**update_person**](generated/immich/openapi_client/docs/PeopleApi.md#update_person) | **PUT** /people/{id} | -*SearchApi* | [**get_assets_by_city**](generated/immich/openapi_client/docs/SearchApi.md#get_assets_by_city) | **GET** /search/cities | -*SearchApi* | [**get_explore_data**](generated/immich/openapi_client/docs/SearchApi.md#get_explore_data) | **GET** /search/explore | -*SearchApi* | [**get_search_suggestions**](generated/immich/openapi_client/docs/SearchApi.md#get_search_suggestions) | **GET** /search/suggestions | -*SearchApi* | [**search_assets**](generated/immich/openapi_client/docs/SearchApi.md#search_assets) | **POST** /search/metadata | -*SearchApi* | [**search_person**](generated/immich/openapi_client/docs/SearchApi.md#search_person) | **GET** /search/person | -*SearchApi* | [**search_places**](generated/immich/openapi_client/docs/SearchApi.md#search_places) | **GET** /search/places | -*SearchApi* | [**search_random**](generated/immich/openapi_client/docs/SearchApi.md#search_random) | **POST** /search/random | -*SearchApi* | [**search_smart**](generated/immich/openapi_client/docs/SearchApi.md#search_smart) | **POST** /search/smart | -*ServerApi* | [**delete_server_license**](generated/immich/openapi_client/docs/ServerApi.md#delete_server_license) | **DELETE** /server/license | -*ServerApi* | [**get_about_info**](generated/immich/openapi_client/docs/ServerApi.md#get_about_info) | **GET** /server/about | -*ServerApi* | [**get_server_config**](generated/immich/openapi_client/docs/ServerApi.md#get_server_config) | **GET** /server/config | -*ServerApi* | [**get_server_features**](generated/immich/openapi_client/docs/ServerApi.md#get_server_features) | **GET** /server/features | -*ServerApi* | [**get_server_license**](generated/immich/openapi_client/docs/ServerApi.md#get_server_license) | **GET** /server/license | -*ServerApi* | [**get_server_statistics**](generated/immich/openapi_client/docs/ServerApi.md#get_server_statistics) | **GET** /server/statistics | -*ServerApi* | [**get_server_version**](generated/immich/openapi_client/docs/ServerApi.md#get_server_version) | **GET** /server/version | -*ServerApi* | [**get_storage**](generated/immich/openapi_client/docs/ServerApi.md#get_storage) | **GET** /server/storage | -*ServerApi* | [**get_supported_media_types**](generated/immich/openapi_client/docs/ServerApi.md#get_supported_media_types) | **GET** /server/media-types | -*ServerApi* | [**get_theme**](generated/immich/openapi_client/docs/ServerApi.md#get_theme) | **GET** /server/theme | -*ServerApi* | [**get_version_history**](generated/immich/openapi_client/docs/ServerApi.md#get_version_history) | **GET** /server/version-history | -*ServerApi* | [**ping_server**](generated/immich/openapi_client/docs/ServerApi.md#ping_server) | **GET** /server/ping | -*ServerApi* | [**set_server_license**](generated/immich/openapi_client/docs/ServerApi.md#set_server_license) | **PUT** /server/license | -*SessionsApi* | [**delete_all_sessions**](generated/immich/openapi_client/docs/SessionsApi.md#delete_all_sessions) | **DELETE** /sessions | -*SessionsApi* | [**delete_session**](generated/immich/openapi_client/docs/SessionsApi.md#delete_session) | **DELETE** /sessions/{id} | -*SessionsApi* | [**get_sessions**](generated/immich/openapi_client/docs/SessionsApi.md#get_sessions) | **GET** /sessions | -*SharedLinksApi* | [**add_shared_link_assets**](generated/immich/openapi_client/docs/SharedLinksApi.md#add_shared_link_assets) | **PUT** /shared-links/{id}/assets | -*SharedLinksApi* | [**create_shared_link**](generated/immich/openapi_client/docs/SharedLinksApi.md#create_shared_link) | **POST** /shared-links | -*SharedLinksApi* | [**get_all_shared_links**](generated/immich/openapi_client/docs/SharedLinksApi.md#get_all_shared_links) | **GET** /shared-links | -*SharedLinksApi* | [**get_my_shared_link**](generated/immich/openapi_client/docs/SharedLinksApi.md#get_my_shared_link) | **GET** /shared-links/me | -*SharedLinksApi* | [**get_shared_link_by_id**](generated/immich/openapi_client/docs/SharedLinksApi.md#get_shared_link_by_id) | **GET** /shared-links/{id} | -*SharedLinksApi* | [**remove_shared_link**](generated/immich/openapi_client/docs/SharedLinksApi.md#remove_shared_link) | **DELETE** /shared-links/{id} | -*SharedLinksApi* | [**remove_shared_link_assets**](generated/immich/openapi_client/docs/SharedLinksApi.md#remove_shared_link_assets) | **DELETE** /shared-links/{id}/assets | -*SharedLinksApi* | [**update_shared_link**](generated/immich/openapi_client/docs/SharedLinksApi.md#update_shared_link) | **PATCH** /shared-links/{id} | -*StacksApi* | [**create_stack**](generated/immich/openapi_client/docs/StacksApi.md#create_stack) | **POST** /stacks | -*StacksApi* | [**delete_stack**](generated/immich/openapi_client/docs/StacksApi.md#delete_stack) | **DELETE** /stacks/{id} | -*StacksApi* | [**delete_stacks**](generated/immich/openapi_client/docs/StacksApi.md#delete_stacks) | **DELETE** /stacks | -*StacksApi* | [**get_stack**](generated/immich/openapi_client/docs/StacksApi.md#get_stack) | **GET** /stacks/{id} | -*StacksApi* | [**search_stacks**](generated/immich/openapi_client/docs/StacksApi.md#search_stacks) | **GET** /stacks | -*StacksApi* | [**update_stack**](generated/immich/openapi_client/docs/StacksApi.md#update_stack) | **PUT** /stacks/{id} | -*SyncApi* | [**delete_sync_ack**](generated/immich/openapi_client/docs/SyncApi.md#delete_sync_ack) | **DELETE** /sync/ack | -*SyncApi* | [**get_delta_sync**](generated/immich/openapi_client/docs/SyncApi.md#get_delta_sync) | **POST** /sync/delta-sync | -*SyncApi* | [**get_full_sync_for_user**](generated/immich/openapi_client/docs/SyncApi.md#get_full_sync_for_user) | **POST** /sync/full-sync | -*SyncApi* | [**get_sync_ack**](generated/immich/openapi_client/docs/SyncApi.md#get_sync_ack) | **GET** /sync/ack | -*SyncApi* | [**get_sync_stream**](generated/immich/openapi_client/docs/SyncApi.md#get_sync_stream) | **POST** /sync/stream | -*SyncApi* | [**send_sync_ack**](generated/immich/openapi_client/docs/SyncApi.md#send_sync_ack) | **POST** /sync/ack | -*SystemConfigApi* | [**get_config**](generated/immich/openapi_client/docs/SystemConfigApi.md#get_config) | **GET** /system-config | -*SystemConfigApi* | [**get_config_defaults**](generated/immich/openapi_client/docs/SystemConfigApi.md#get_config_defaults) | **GET** /system-config/defaults | -*SystemConfigApi* | [**get_storage_template_options**](generated/immich/openapi_client/docs/SystemConfigApi.md#get_storage_template_options) | **GET** /system-config/storage-template-options | -*SystemConfigApi* | [**update_config**](generated/immich/openapi_client/docs/SystemConfigApi.md#update_config) | **PUT** /system-config | -*SystemMetadataApi* | [**get_admin_onboarding**](generated/immich/openapi_client/docs/SystemMetadataApi.md#get_admin_onboarding) | **GET** /system-metadata/admin-onboarding | -*SystemMetadataApi* | [**get_reverse_geocoding_state**](generated/immich/openapi_client/docs/SystemMetadataApi.md#get_reverse_geocoding_state) | **GET** /system-metadata/reverse-geocoding-state | -*SystemMetadataApi* | [**update_admin_onboarding**](generated/immich/openapi_client/docs/SystemMetadataApi.md#update_admin_onboarding) | **POST** /system-metadata/admin-onboarding | -*TagsApi* | [**bulk_tag_assets**](generated/immich/openapi_client/docs/TagsApi.md#bulk_tag_assets) | **PUT** /tags/assets | -*TagsApi* | [**create_tag**](generated/immich/openapi_client/docs/TagsApi.md#create_tag) | **POST** /tags | -*TagsApi* | [**delete_tag**](generated/immich/openapi_client/docs/TagsApi.md#delete_tag) | **DELETE** /tags/{id} | -*TagsApi* | [**get_all_tags**](generated/immich/openapi_client/docs/TagsApi.md#get_all_tags) | **GET** /tags | -*TagsApi* | [**get_tag_by_id**](generated/immich/openapi_client/docs/TagsApi.md#get_tag_by_id) | **GET** /tags/{id} | -*TagsApi* | [**tag_assets**](generated/immich/openapi_client/docs/TagsApi.md#tag_assets) | **PUT** /tags/{id}/assets | -*TagsApi* | [**untag_assets**](generated/immich/openapi_client/docs/TagsApi.md#untag_assets) | **DELETE** /tags/{id}/assets | -*TagsApi* | [**update_tag**](generated/immich/openapi_client/docs/TagsApi.md#update_tag) | **PUT** /tags/{id} | -*TagsApi* | [**upsert_tags**](generated/immich/openapi_client/docs/TagsApi.md#upsert_tags) | **PUT** /tags | -*TimelineApi* | [**get_time_bucket**](generated/immich/openapi_client/docs/TimelineApi.md#get_time_bucket) | **GET** /timeline/bucket | -*TimelineApi* | [**get_time_buckets**](generated/immich/openapi_client/docs/TimelineApi.md#get_time_buckets) | **GET** /timeline/buckets | -*TrashApi* | [**empty_trash**](generated/immich/openapi_client/docs/TrashApi.md#empty_trash) | **POST** /trash/empty | -*TrashApi* | [**restore_assets**](generated/immich/openapi_client/docs/TrashApi.md#restore_assets) | **POST** /trash/restore/assets | -*TrashApi* | [**restore_trash**](generated/immich/openapi_client/docs/TrashApi.md#restore_trash) | **POST** /trash/restore | -*UsersApi* | [**create_profile_image**](generated/immich/openapi_client/docs/UsersApi.md#create_profile_image) | **POST** /users/profile-image | -*UsersApi* | [**delete_profile_image**](generated/immich/openapi_client/docs/UsersApi.md#delete_profile_image) | **DELETE** /users/profile-image | -*UsersApi* | [**delete_user_license**](generated/immich/openapi_client/docs/UsersApi.md#delete_user_license) | **DELETE** /users/me/license | -*UsersApi* | [**get_my_preferences**](generated/immich/openapi_client/docs/UsersApi.md#get_my_preferences) | **GET** /users/me/preferences | -*UsersApi* | [**get_my_user**](generated/immich/openapi_client/docs/UsersApi.md#get_my_user) | **GET** /users/me | -*UsersApi* | [**get_profile_image**](generated/immich/openapi_client/docs/UsersApi.md#get_profile_image) | **GET** /users/{id}/profile-image | -*UsersApi* | [**get_user**](generated/immich/openapi_client/docs/UsersApi.md#get_user) | **GET** /users/{id} | -*UsersApi* | [**get_user_license**](generated/immich/openapi_client/docs/UsersApi.md#get_user_license) | **GET** /users/me/license | -*UsersApi* | [**search_users**](generated/immich/openapi_client/docs/UsersApi.md#search_users) | **GET** /users | -*UsersApi* | [**set_user_license**](generated/immich/openapi_client/docs/UsersApi.md#set_user_license) | **PUT** /users/me/license | -*UsersApi* | [**update_my_preferences**](generated/immich/openapi_client/docs/UsersApi.md#update_my_preferences) | **PUT** /users/me/preferences | -*UsersApi* | [**update_my_user**](generated/immich/openapi_client/docs/UsersApi.md#update_my_user) | **PUT** /users/me | -*UsersAdminApi* | [**create_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#create_user_admin) | **POST** /admin/users | -*UsersAdminApi* | [**delete_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#delete_user_admin) | **DELETE** /admin/users/{id} | -*UsersAdminApi* | [**get_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#get_user_admin) | **GET** /admin/users/{id} | -*UsersAdminApi* | [**get_user_preferences_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#get_user_preferences_admin) | **GET** /admin/users/{id}/preferences | -*UsersAdminApi* | [**restore_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#restore_user_admin) | **POST** /admin/users/{id}/restore | -*UsersAdminApi* | [**search_users_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#search_users_admin) | **GET** /admin/users | -*UsersAdminApi* | [**update_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#update_user_admin) | **PUT** /admin/users/{id} | -*UsersAdminApi* | [**update_user_preferences_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#update_user_preferences_admin) | **PUT** /admin/users/{id}/preferences | -*ViewApi* | [**get_assets_by_original_path**](generated/immich/openapi_client/docs/ViewApi.md#get_assets_by_original_path) | **GET** /view/folder | -*ViewApi* | [**get_unique_original_paths**](generated/immich/openapi_client/docs/ViewApi.md#get_unique_original_paths) | **GET** /view/folder/unique-paths | +*APIKeysApi* | [**create_api_key**](generated/immich/openapi_client/docs/APIKeysApi.md#create_api_key) | **POST** /api-keys | Create an API key +*APIKeysApi* | [**delete_api_key**](generated/immich/openapi_client/docs/APIKeysApi.md#delete_api_key) | **DELETE** /api-keys/{id} | Delete an API key +*APIKeysApi* | [**get_api_key**](generated/immich/openapi_client/docs/APIKeysApi.md#get_api_key) | **GET** /api-keys/{id} | Retrieve an API key +*APIKeysApi* | [**get_api_keys**](generated/immich/openapi_client/docs/APIKeysApi.md#get_api_keys) | **GET** /api-keys | List all API keys +*APIKeysApi* | [**get_my_api_key**](generated/immich/openapi_client/docs/APIKeysApi.md#get_my_api_key) | **GET** /api-keys/me | Retrieve the current API key +*APIKeysApi* | [**update_api_key**](generated/immich/openapi_client/docs/APIKeysApi.md#update_api_key) | **PUT** /api-keys/{id} | Update an API key +*ActivitiesApi* | [**create_activity**](generated/immich/openapi_client/docs/ActivitiesApi.md#create_activity) | **POST** /activities | Create an activity +*ActivitiesApi* | [**delete_activity**](generated/immich/openapi_client/docs/ActivitiesApi.md#delete_activity) | **DELETE** /activities/{id} | Delete an activity +*ActivitiesApi* | [**get_activities**](generated/immich/openapi_client/docs/ActivitiesApi.md#get_activities) | **GET** /activities | List all activities +*ActivitiesApi* | [**get_activity_statistics**](generated/immich/openapi_client/docs/ActivitiesApi.md#get_activity_statistics) | **GET** /activities/statistics | Retrieve activity statistics +*AlbumsApi* | [**add_assets_to_album**](generated/immich/openapi_client/docs/AlbumsApi.md#add_assets_to_album) | **PUT** /albums/{id}/assets | Add assets to an album +*AlbumsApi* | [**add_assets_to_albums**](generated/immich/openapi_client/docs/AlbumsApi.md#add_assets_to_albums) | **PUT** /albums/assets | Add assets to albums +*AlbumsApi* | [**add_users_to_album**](generated/immich/openapi_client/docs/AlbumsApi.md#add_users_to_album) | **PUT** /albums/{id}/users | Share album with users +*AlbumsApi* | [**create_album**](generated/immich/openapi_client/docs/AlbumsApi.md#create_album) | **POST** /albums | Create an album +*AlbumsApi* | [**delete_album**](generated/immich/openapi_client/docs/AlbumsApi.md#delete_album) | **DELETE** /albums/{id} | Delete an album +*AlbumsApi* | [**get_album_info**](generated/immich/openapi_client/docs/AlbumsApi.md#get_album_info) | **GET** /albums/{id} | Retrieve an album +*AlbumsApi* | [**get_album_map_markers**](generated/immich/openapi_client/docs/AlbumsApi.md#get_album_map_markers) | **GET** /albums/{id}/map-markers | Retrieve album map markers +*AlbumsApi* | [**get_album_statistics**](generated/immich/openapi_client/docs/AlbumsApi.md#get_album_statistics) | **GET** /albums/statistics | Retrieve album statistics +*AlbumsApi* | [**get_all_albums**](generated/immich/openapi_client/docs/AlbumsApi.md#get_all_albums) | **GET** /albums | List all albums +*AlbumsApi* | [**remove_asset_from_album**](generated/immich/openapi_client/docs/AlbumsApi.md#remove_asset_from_album) | **DELETE** /albums/{id}/assets | Remove assets from an album +*AlbumsApi* | [**remove_user_from_album**](generated/immich/openapi_client/docs/AlbumsApi.md#remove_user_from_album) | **DELETE** /albums/{id}/user/{userId} | Remove user from album +*AlbumsApi* | [**update_album_info**](generated/immich/openapi_client/docs/AlbumsApi.md#update_album_info) | **PATCH** /albums/{id} | Update an album +*AlbumsApi* | [**update_album_user**](generated/immich/openapi_client/docs/AlbumsApi.md#update_album_user) | **PUT** /albums/{id}/user/{userId} | Update user role +*AssetsApi* | [**check_bulk_upload**](generated/immich/openapi_client/docs/AssetsApi.md#check_bulk_upload) | **POST** /assets/bulk-upload-check | Check bulk upload +*AssetsApi* | [**copy_asset**](generated/immich/openapi_client/docs/AssetsApi.md#copy_asset) | **PUT** /assets/copy | Copy asset +*AssetsApi* | [**delete_asset_metadata**](generated/immich/openapi_client/docs/AssetsApi.md#delete_asset_metadata) | **DELETE** /assets/{id}/metadata/{key} | Delete asset metadata by key +*AssetsApi* | [**delete_assets**](generated/immich/openapi_client/docs/AssetsApi.md#delete_assets) | **DELETE** /assets | Delete assets +*AssetsApi* | [**delete_bulk_asset_metadata**](generated/immich/openapi_client/docs/AssetsApi.md#delete_bulk_asset_metadata) | **DELETE** /assets/metadata | Delete asset metadata +*AssetsApi* | [**download_asset**](generated/immich/openapi_client/docs/AssetsApi.md#download_asset) | **GET** /assets/{id}/original | Download original asset +*AssetsApi* | [**edit_asset**](generated/immich/openapi_client/docs/AssetsApi.md#edit_asset) | **PUT** /assets/{id}/edits | Apply edits to an existing asset +*AssetsApi* | [**end_session**](generated/immich/openapi_client/docs/AssetsApi.md#end_session) | **DELETE** /assets/{id}/video/stream/{sessionId} | End HLS streaming session +*AssetsApi* | [**get_asset_edits**](generated/immich/openapi_client/docs/AssetsApi.md#get_asset_edits) | **GET** /assets/{id}/edits | Retrieve edits for an existing asset +*AssetsApi* | [**get_asset_info**](generated/immich/openapi_client/docs/AssetsApi.md#get_asset_info) | **GET** /assets/{id} | Retrieve an asset +*AssetsApi* | [**get_asset_metadata**](generated/immich/openapi_client/docs/AssetsApi.md#get_asset_metadata) | **GET** /assets/{id}/metadata | Get asset metadata +*AssetsApi* | [**get_asset_metadata_by_key**](generated/immich/openapi_client/docs/AssetsApi.md#get_asset_metadata_by_key) | **GET** /assets/{id}/metadata/{key} | Retrieve asset metadata by key +*AssetsApi* | [**get_asset_ocr**](generated/immich/openapi_client/docs/AssetsApi.md#get_asset_ocr) | **GET** /assets/{id}/ocr | Retrieve asset OCR data +*AssetsApi* | [**get_asset_statistics**](generated/immich/openapi_client/docs/AssetsApi.md#get_asset_statistics) | **GET** /assets/statistics | Get asset statistics +*AssetsApi* | [**get_main_playlist**](generated/immich/openapi_client/docs/AssetsApi.md#get_main_playlist) | **GET** /assets/{id}/video/stream/main.m3u8 | Get HLS main playlist +*AssetsApi* | [**get_media_playlist**](generated/immich/openapi_client/docs/AssetsApi.md#get_media_playlist) | **GET** /assets/{id}/video/stream/{sessionId}/{variantIndex}/playlist.m3u8 | Get HLS media playlist +*AssetsApi* | [**get_segment**](generated/immich/openapi_client/docs/AssetsApi.md#get_segment) | **GET** /assets/{id}/video/stream/{sessionId}/{variantIndex}/{filename} | Get HLS segment or init file +*AssetsApi* | [**play_asset_video**](generated/immich/openapi_client/docs/AssetsApi.md#play_asset_video) | **GET** /assets/{id}/video/playback | Play asset video +*AssetsApi* | [**remove_asset_edits**](generated/immich/openapi_client/docs/AssetsApi.md#remove_asset_edits) | **DELETE** /assets/{id}/edits | Remove edits from an existing asset +*AssetsApi* | [**run_asset_jobs**](generated/immich/openapi_client/docs/AssetsApi.md#run_asset_jobs) | **POST** /assets/jobs | Run an asset job +*AssetsApi* | [**update_asset**](generated/immich/openapi_client/docs/AssetsApi.md#update_asset) | **PUT** /assets/{id} | Update an asset +*AssetsApi* | [**update_asset_metadata**](generated/immich/openapi_client/docs/AssetsApi.md#update_asset_metadata) | **PUT** /assets/{id}/metadata | Update asset metadata +*AssetsApi* | [**update_assets**](generated/immich/openapi_client/docs/AssetsApi.md#update_assets) | **PUT** /assets | Update assets +*AssetsApi* | [**update_bulk_asset_metadata**](generated/immich/openapi_client/docs/AssetsApi.md#update_bulk_asset_metadata) | **PUT** /assets/metadata | Upsert asset metadata +*AssetsApi* | [**upload_asset**](generated/immich/openapi_client/docs/AssetsApi.md#upload_asset) | **POST** /assets | Upload asset +*AssetsApi* | [**view_asset**](generated/immich/openapi_client/docs/AssetsApi.md#view_asset) | **GET** /assets/{id}/thumbnail | View asset thumbnail +*AuthenticationApi* | [**change_password**](generated/immich/openapi_client/docs/AuthenticationApi.md#change_password) | **POST** /auth/change-password | Change password +*AuthenticationApi* | [**change_pin_code**](generated/immich/openapi_client/docs/AuthenticationApi.md#change_pin_code) | **PUT** /auth/pin-code | Change pin code +*AuthenticationApi* | [**finish_o_auth**](generated/immich/openapi_client/docs/AuthenticationApi.md#finish_o_auth) | **POST** /oauth/callback | Finish OAuth +*AuthenticationApi* | [**get_auth_status**](generated/immich/openapi_client/docs/AuthenticationApi.md#get_auth_status) | **GET** /auth/status | Retrieve auth status +*AuthenticationApi* | [**link_o_auth_account**](generated/immich/openapi_client/docs/AuthenticationApi.md#link_o_auth_account) | **POST** /oauth/link | Link OAuth account +*AuthenticationApi* | [**lock_auth_session**](generated/immich/openapi_client/docs/AuthenticationApi.md#lock_auth_session) | **POST** /auth/session/lock | Lock auth session +*AuthenticationApi* | [**login**](generated/immich/openapi_client/docs/AuthenticationApi.md#login) | **POST** /auth/login | Login +*AuthenticationApi* | [**logout**](generated/immich/openapi_client/docs/AuthenticationApi.md#logout) | **POST** /auth/logout | Logout +*AuthenticationApi* | [**logout_o_auth**](generated/immich/openapi_client/docs/AuthenticationApi.md#logout_o_auth) | **POST** /oauth/backchannel-logout | Backchannel OAuth logout +*AuthenticationApi* | [**redirect_o_auth_to_mobile**](generated/immich/openapi_client/docs/AuthenticationApi.md#redirect_o_auth_to_mobile) | **GET** /oauth/mobile-redirect | Redirect OAuth to mobile +*AuthenticationApi* | [**reset_pin_code**](generated/immich/openapi_client/docs/AuthenticationApi.md#reset_pin_code) | **DELETE** /auth/pin-code | Reset pin code +*AuthenticationApi* | [**setup_pin_code**](generated/immich/openapi_client/docs/AuthenticationApi.md#setup_pin_code) | **POST** /auth/pin-code | Setup pin code +*AuthenticationApi* | [**sign_up_admin**](generated/immich/openapi_client/docs/AuthenticationApi.md#sign_up_admin) | **POST** /auth/admin-sign-up | Register admin +*AuthenticationApi* | [**start_o_auth**](generated/immich/openapi_client/docs/AuthenticationApi.md#start_o_auth) | **POST** /oauth/authorize | Start OAuth +*AuthenticationApi* | [**unlink_o_auth_account**](generated/immich/openapi_client/docs/AuthenticationApi.md#unlink_o_auth_account) | **POST** /oauth/unlink | Unlink OAuth account +*AuthenticationApi* | [**unlock_auth_session**](generated/immich/openapi_client/docs/AuthenticationApi.md#unlock_auth_session) | **POST** /auth/session/unlock | Unlock auth session +*AuthenticationApi* | [**validate_access_token**](generated/immich/openapi_client/docs/AuthenticationApi.md#validate_access_token) | **POST** /auth/validateToken | Validate access token +*AuthenticationAdminApi* | [**unlink_all_o_auth_accounts_admin**](generated/immich/openapi_client/docs/AuthenticationAdminApi.md#unlink_all_o_auth_accounts_admin) | **POST** /admin/auth/unlink-all | Unlink all OAuth accounts +*DatabaseBackupsAdminApi* | [**delete_database_backup**](generated/immich/openapi_client/docs/DatabaseBackupsAdminApi.md#delete_database_backup) | **DELETE** /admin/database-backups | Delete database backup +*DatabaseBackupsAdminApi* | [**download_database_backup**](generated/immich/openapi_client/docs/DatabaseBackupsAdminApi.md#download_database_backup) | **GET** /admin/database-backups/{filename} | Download database backup +*DatabaseBackupsAdminApi* | [**list_database_backups**](generated/immich/openapi_client/docs/DatabaseBackupsAdminApi.md#list_database_backups) | **GET** /admin/database-backups | List database backups +*DatabaseBackupsAdminApi* | [**start_database_restore_flow**](generated/immich/openapi_client/docs/DatabaseBackupsAdminApi.md#start_database_restore_flow) | **POST** /admin/database-backups/start-restore | Start database backup restore flow +*DatabaseBackupsAdminApi* | [**upload_database_backup**](generated/immich/openapi_client/docs/DatabaseBackupsAdminApi.md#upload_database_backup) | **POST** /admin/database-backups/upload | Upload database backup +*DeprecatedApi* | [**create_partner_deprecated**](generated/immich/openapi_client/docs/DeprecatedApi.md#create_partner_deprecated) | **POST** /partners/{id} | Create a partner +*DeprecatedApi* | [**get_queues_legacy**](generated/immich/openapi_client/docs/DeprecatedApi.md#get_queues_legacy) | **GET** /jobs | Retrieve queue counts and status +*DeprecatedApi* | [**run_queue_command_legacy**](generated/immich/openapi_client/docs/DeprecatedApi.md#run_queue_command_legacy) | **PUT** /jobs/{name} | Run jobs +*DeprecatedApi* | [**update_api_key**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_api_key) | **PUT** /api-keys/{id} | Update an API key +*DeprecatedApi* | [**update_asset**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_asset) | **PUT** /assets/{id} | Update an asset +*DeprecatedApi* | [**update_assets**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_assets) | **PUT** /assets | Update assets +*DeprecatedApi* | [**update_library**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_library) | **PUT** /libraries/{id} | Update a library +*DeprecatedApi* | [**update_memory**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_memory) | **PUT** /memories/{id} | Update a memory +*DeprecatedApi* | [**update_my_preferences**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_my_preferences) | **PUT** /users/me/preferences | Update my preferences +*DeprecatedApi* | [**update_my_user**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_my_user) | **PUT** /users/me | Update current user +*DeprecatedApi* | [**update_person**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_person) | **PUT** /people/{id} | Update person +*DeprecatedApi* | [**update_session**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_session) | **PUT** /sessions/{id} | Update a session +*DeprecatedApi* | [**update_stack**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_stack) | **PUT** /stacks/{id} | Update a stack +*DeprecatedApi* | [**update_tag**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_tag) | **PUT** /tags/{id} | Update a tag +*DeprecatedApi* | [**update_user_admin**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_user_admin) | **PUT** /admin/users/{id} | Update a user +*DeprecatedApi* | [**update_user_preferences_admin**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_user_preferences_admin) | **PUT** /admin/users/{id}/preferences | Update user preferences +*DeprecatedApi* | [**update_workflow**](generated/immich/openapi_client/docs/DeprecatedApi.md#update_workflow) | **PUT** /workflows/{id} | Update a workflow +*DownloadApi* | [**download_archive**](generated/immich/openapi_client/docs/DownloadApi.md#download_archive) | **POST** /download/archive | Download asset archive +*DownloadApi* | [**get_download_info**](generated/immich/openapi_client/docs/DownloadApi.md#get_download_info) | **POST** /download/info | Retrieve download information +*DuplicatesApi* | [**delete_duplicate**](generated/immich/openapi_client/docs/DuplicatesApi.md#delete_duplicate) | **DELETE** /duplicates/{id} | Dismiss a duplicate group +*DuplicatesApi* | [**delete_duplicates**](generated/immich/openapi_client/docs/DuplicatesApi.md#delete_duplicates) | **DELETE** /duplicates | Delete duplicates +*DuplicatesApi* | [**get_asset_duplicates**](generated/immich/openapi_client/docs/DuplicatesApi.md#get_asset_duplicates) | **GET** /duplicates | Retrieve duplicates +*DuplicatesApi* | [**resolve_duplicates**](generated/immich/openapi_client/docs/DuplicatesApi.md#resolve_duplicates) | **POST** /duplicates/resolve | Resolve duplicate groups +*FacesApi* | [**create_face**](generated/immich/openapi_client/docs/FacesApi.md#create_face) | **POST** /faces | Create a face +*FacesApi* | [**delete_face**](generated/immich/openapi_client/docs/FacesApi.md#delete_face) | **DELETE** /faces/{id} | Delete a face +*FacesApi* | [**get_faces**](generated/immich/openapi_client/docs/FacesApi.md#get_faces) | **GET** /faces | Retrieve faces for asset +*FacesApi* | [**reassign_faces_by_id**](generated/immich/openapi_client/docs/FacesApi.md#reassign_faces_by_id) | **PUT** /faces/{id} | Re-assign a face to another person +*JobsApi* | [**create_job**](generated/immich/openapi_client/docs/JobsApi.md#create_job) | **POST** /jobs | Create a manual job +*JobsApi* | [**get_queues_legacy**](generated/immich/openapi_client/docs/JobsApi.md#get_queues_legacy) | **GET** /jobs | Retrieve queue counts and status +*JobsApi* | [**run_queue_command_legacy**](generated/immich/openapi_client/docs/JobsApi.md#run_queue_command_legacy) | **PUT** /jobs/{name} | Run jobs +*LibrariesApi* | [**create_library**](generated/immich/openapi_client/docs/LibrariesApi.md#create_library) | **POST** /libraries | Create a library +*LibrariesApi* | [**delete_library**](generated/immich/openapi_client/docs/LibrariesApi.md#delete_library) | **DELETE** /libraries/{id} | Delete a library +*LibrariesApi* | [**get_all_libraries**](generated/immich/openapi_client/docs/LibrariesApi.md#get_all_libraries) | **GET** /libraries | Retrieve libraries +*LibrariesApi* | [**get_library**](generated/immich/openapi_client/docs/LibrariesApi.md#get_library) | **GET** /libraries/{id} | Retrieve a library +*LibrariesApi* | [**get_library_statistics**](generated/immich/openapi_client/docs/LibrariesApi.md#get_library_statistics) | **GET** /libraries/{id}/statistics | Retrieve library statistics +*LibrariesApi* | [**scan_library**](generated/immich/openapi_client/docs/LibrariesApi.md#scan_library) | **POST** /libraries/{id}/scan | Scan a library +*LibrariesApi* | [**update_library**](generated/immich/openapi_client/docs/LibrariesApi.md#update_library) | **PUT** /libraries/{id} | Update a library +*LibrariesApi* | [**validate**](generated/immich/openapi_client/docs/LibrariesApi.md#validate) | **POST** /libraries/{id}/validate | Validate library settings +*MaintenanceAdminApi* | [**delete_integrity_report**](generated/immich/openapi_client/docs/MaintenanceAdminApi.md#delete_integrity_report) | **DELETE** /admin/integrity/report/{id} | Delete integrity report item +*MaintenanceAdminApi* | [**detect_prior_install**](generated/immich/openapi_client/docs/MaintenanceAdminApi.md#detect_prior_install) | **GET** /admin/maintenance/detect-install | Detect existing install +*MaintenanceAdminApi* | [**get_integrity_report**](generated/immich/openapi_client/docs/MaintenanceAdminApi.md#get_integrity_report) | **GET** /admin/integrity/report | Get integrity report by type +*MaintenanceAdminApi* | [**get_integrity_report_csv**](generated/immich/openapi_client/docs/MaintenanceAdminApi.md#get_integrity_report_csv) | **GET** /admin/integrity/report/{type}/csv | Export integrity report by type as CSV +*MaintenanceAdminApi* | [**get_integrity_report_file**](generated/immich/openapi_client/docs/MaintenanceAdminApi.md#get_integrity_report_file) | **GET** /admin/integrity/report/{id}/file | Download flagged file +*MaintenanceAdminApi* | [**get_integrity_report_summary**](generated/immich/openapi_client/docs/MaintenanceAdminApi.md#get_integrity_report_summary) | **GET** /admin/integrity/summary | Get integrity report summary +*MaintenanceAdminApi* | [**get_maintenance_status**](generated/immich/openapi_client/docs/MaintenanceAdminApi.md#get_maintenance_status) | **GET** /admin/maintenance/status | Get maintenance mode status +*MaintenanceAdminApi* | [**maintenance_login**](generated/immich/openapi_client/docs/MaintenanceAdminApi.md#maintenance_login) | **POST** /admin/maintenance/login | Log into maintenance mode +*MaintenanceAdminApi* | [**set_maintenance_mode**](generated/immich/openapi_client/docs/MaintenanceAdminApi.md#set_maintenance_mode) | **POST** /admin/maintenance | Set maintenance mode +*MapApi* | [**get_map_markers**](generated/immich/openapi_client/docs/MapApi.md#get_map_markers) | **GET** /map/markers | Retrieve map markers +*MapApi* | [**reverse_geocode**](generated/immich/openapi_client/docs/MapApi.md#reverse_geocode) | **GET** /map/reverse-geocode | Reverse geocode coordinates +*MemoriesApi* | [**add_memory_assets**](generated/immich/openapi_client/docs/MemoriesApi.md#add_memory_assets) | **PUT** /memories/{id}/assets | Add assets to a memory +*MemoriesApi* | [**create_memory**](generated/immich/openapi_client/docs/MemoriesApi.md#create_memory) | **POST** /memories | Create a memory +*MemoriesApi* | [**delete_memory**](generated/immich/openapi_client/docs/MemoriesApi.md#delete_memory) | **DELETE** /memories/{id} | Delete a memory +*MemoriesApi* | [**get_memory**](generated/immich/openapi_client/docs/MemoriesApi.md#get_memory) | **GET** /memories/{id} | Retrieve a memory +*MemoriesApi* | [**memories_statistics**](generated/immich/openapi_client/docs/MemoriesApi.md#memories_statistics) | **GET** /memories/statistics | Retrieve memories statistics +*MemoriesApi* | [**remove_memory_assets**](generated/immich/openapi_client/docs/MemoriesApi.md#remove_memory_assets) | **DELETE** /memories/{id}/assets | Remove assets from a memory +*MemoriesApi* | [**search_memories**](generated/immich/openapi_client/docs/MemoriesApi.md#search_memories) | **GET** /memories | Retrieve memories +*MemoriesApi* | [**update_memory**](generated/immich/openapi_client/docs/MemoriesApi.md#update_memory) | **PUT** /memories/{id} | Update a memory +*NotificationsApi* | [**delete_notification**](generated/immich/openapi_client/docs/NotificationsApi.md#delete_notification) | **DELETE** /notifications/{id} | Delete a notification +*NotificationsApi* | [**delete_notifications**](generated/immich/openapi_client/docs/NotificationsApi.md#delete_notifications) | **DELETE** /notifications | Delete notifications +*NotificationsApi* | [**get_notification**](generated/immich/openapi_client/docs/NotificationsApi.md#get_notification) | **GET** /notifications/{id} | Get a notification +*NotificationsApi* | [**get_notifications**](generated/immich/openapi_client/docs/NotificationsApi.md#get_notifications) | **GET** /notifications | Retrieve notifications +*NotificationsApi* | [**update_notification**](generated/immich/openapi_client/docs/NotificationsApi.md#update_notification) | **PUT** /notifications/{id} | Update a notification +*NotificationsApi* | [**update_notifications**](generated/immich/openapi_client/docs/NotificationsApi.md#update_notifications) | **PUT** /notifications | Update notifications +*NotificationsAdminApi* | [**create_notification**](generated/immich/openapi_client/docs/NotificationsAdminApi.md#create_notification) | **POST** /admin/notifications | Create a notification +*NotificationsAdminApi* | [**get_notification_template_admin**](generated/immich/openapi_client/docs/NotificationsAdminApi.md#get_notification_template_admin) | **POST** /admin/notifications/templates/{name} | Render email template +*NotificationsAdminApi* | [**send_test_email_admin**](generated/immich/openapi_client/docs/NotificationsAdminApi.md#send_test_email_admin) | **POST** /admin/notifications/test-email | Send test email +*PartnersApi* | [**create_partner**](generated/immich/openapi_client/docs/PartnersApi.md#create_partner) | **POST** /partners | Create a partner +*PartnersApi* | [**create_partner_deprecated**](generated/immich/openapi_client/docs/PartnersApi.md#create_partner_deprecated) | **POST** /partners/{id} | Create a partner +*PartnersApi* | [**get_partners**](generated/immich/openapi_client/docs/PartnersApi.md#get_partners) | **GET** /partners | Retrieve partners +*PartnersApi* | [**remove_partner**](generated/immich/openapi_client/docs/PartnersApi.md#remove_partner) | **DELETE** /partners/{id} | Remove a partner +*PartnersApi* | [**update_partner**](generated/immich/openapi_client/docs/PartnersApi.md#update_partner) | **PUT** /partners/{id} | Update a partner +*PeopleApi* | [**create_person**](generated/immich/openapi_client/docs/PeopleApi.md#create_person) | **POST** /people | Create a person +*PeopleApi* | [**delete_people**](generated/immich/openapi_client/docs/PeopleApi.md#delete_people) | **DELETE** /people | Delete people +*PeopleApi* | [**delete_person**](generated/immich/openapi_client/docs/PeopleApi.md#delete_person) | **DELETE** /people/{id} | Delete person +*PeopleApi* | [**get_all_people**](generated/immich/openapi_client/docs/PeopleApi.md#get_all_people) | **GET** /people | Get all people +*PeopleApi* | [**get_person**](generated/immich/openapi_client/docs/PeopleApi.md#get_person) | **GET** /people/{id} | Get a person +*PeopleApi* | [**get_person_statistics**](generated/immich/openapi_client/docs/PeopleApi.md#get_person_statistics) | **GET** /people/{id}/statistics | Get person statistics +*PeopleApi* | [**get_person_thumbnail**](generated/immich/openapi_client/docs/PeopleApi.md#get_person_thumbnail) | **GET** /people/{id}/thumbnail | Get person thumbnail +*PeopleApi* | [**merge_person**](generated/immich/openapi_client/docs/PeopleApi.md#merge_person) | **POST** /people/{id}/merge | Merge people +*PeopleApi* | [**reassign_faces**](generated/immich/openapi_client/docs/PeopleApi.md#reassign_faces) | **PUT** /people/{id}/reassign | Reassign faces +*PeopleApi* | [**update_people**](generated/immich/openapi_client/docs/PeopleApi.md#update_people) | **PUT** /people | Update people +*PeopleApi* | [**update_person**](generated/immich/openapi_client/docs/PeopleApi.md#update_person) | **PUT** /people/{id} | Update person +*PluginsApi* | [**get_plugin**](generated/immich/openapi_client/docs/PluginsApi.md#get_plugin) | **GET** /plugins/{id} | Retrieve a plugin +*PluginsApi* | [**search_plugin_methods**](generated/immich/openapi_client/docs/PluginsApi.md#search_plugin_methods) | **GET** /plugins/methods | Retrieve plugin methods +*PluginsApi* | [**search_plugin_templates**](generated/immich/openapi_client/docs/PluginsApi.md#search_plugin_templates) | **GET** /plugins/templates | Retrieve workflow templates +*PluginsApi* | [**search_plugins**](generated/immich/openapi_client/docs/PluginsApi.md#search_plugins) | **GET** /plugins | List all plugins +*QueuesApi* | [**empty_queue**](generated/immich/openapi_client/docs/QueuesApi.md#empty_queue) | **DELETE** /queues/{name}/jobs | Empty a queue +*QueuesApi* | [**get_queue**](generated/immich/openapi_client/docs/QueuesApi.md#get_queue) | **GET** /queues/{name} | Retrieve a queue +*QueuesApi* | [**get_queue_jobs**](generated/immich/openapi_client/docs/QueuesApi.md#get_queue_jobs) | **GET** /queues/{name}/jobs | Retrieve queue jobs +*QueuesApi* | [**get_queues**](generated/immich/openapi_client/docs/QueuesApi.md#get_queues) | **GET** /queues | List all queues +*QueuesApi* | [**update_queue**](generated/immich/openapi_client/docs/QueuesApi.md#update_queue) | **PUT** /queues/{name} | Update a queue +*SearchApi* | [**get_assets_by_city**](generated/immich/openapi_client/docs/SearchApi.md#get_assets_by_city) | **GET** /search/cities | Retrieve assets by city +*SearchApi* | [**get_explore_data**](generated/immich/openapi_client/docs/SearchApi.md#get_explore_data) | **GET** /search/explore | Retrieve explore data +*SearchApi* | [**get_search_suggestions**](generated/immich/openapi_client/docs/SearchApi.md#get_search_suggestions) | **GET** /search/suggestions | Retrieve search suggestions +*SearchApi* | [**search_asset_statistics**](generated/immich/openapi_client/docs/SearchApi.md#search_asset_statistics) | **POST** /search/statistics | Search asset statistics +*SearchApi* | [**search_assets**](generated/immich/openapi_client/docs/SearchApi.md#search_assets) | **POST** /search/metadata | Search assets by metadata +*SearchApi* | [**search_large_assets**](generated/immich/openapi_client/docs/SearchApi.md#search_large_assets) | **POST** /search/large-assets | Search large assets +*SearchApi* | [**search_person**](generated/immich/openapi_client/docs/SearchApi.md#search_person) | **GET** /search/person | Search people +*SearchApi* | [**search_places**](generated/immich/openapi_client/docs/SearchApi.md#search_places) | **GET** /search/places | Search places +*SearchApi* | [**search_random**](generated/immich/openapi_client/docs/SearchApi.md#search_random) | **POST** /search/random | Search random assets +*SearchApi* | [**search_smart**](generated/immich/openapi_client/docs/SearchApi.md#search_smart) | **POST** /search/smart | Smart asset search +*ServerApi* | [**delete_server_license**](generated/immich/openapi_client/docs/ServerApi.md#delete_server_license) | **DELETE** /server/license | Delete server product key +*ServerApi* | [**get_about_info**](generated/immich/openapi_client/docs/ServerApi.md#get_about_info) | **GET** /server/about | Get server information +*ServerApi* | [**get_apk_links**](generated/immich/openapi_client/docs/ServerApi.md#get_apk_links) | **GET** /server/apk-links | Get APK links +*ServerApi* | [**get_server_config**](generated/immich/openapi_client/docs/ServerApi.md#get_server_config) | **GET** /server/config | Get config +*ServerApi* | [**get_server_features**](generated/immich/openapi_client/docs/ServerApi.md#get_server_features) | **GET** /server/features | Get features +*ServerApi* | [**get_server_license**](generated/immich/openapi_client/docs/ServerApi.md#get_server_license) | **GET** /server/license | Get product key +*ServerApi* | [**get_server_statistics**](generated/immich/openapi_client/docs/ServerApi.md#get_server_statistics) | **GET** /server/statistics | Get statistics +*ServerApi* | [**get_server_version**](generated/immich/openapi_client/docs/ServerApi.md#get_server_version) | **GET** /server/version | Get server version +*ServerApi* | [**get_storage**](generated/immich/openapi_client/docs/ServerApi.md#get_storage) | **GET** /server/storage | Get storage +*ServerApi* | [**get_supported_media_types**](generated/immich/openapi_client/docs/ServerApi.md#get_supported_media_types) | **GET** /server/media-types | Get supported media types +*ServerApi* | [**get_version_check**](generated/immich/openapi_client/docs/ServerApi.md#get_version_check) | **GET** /server/version-check | Get version check status +*ServerApi* | [**get_version_history**](generated/immich/openapi_client/docs/ServerApi.md#get_version_history) | **GET** /server/version-history | Get version history +*ServerApi* | [**ping_server**](generated/immich/openapi_client/docs/ServerApi.md#ping_server) | **GET** /server/ping | Ping +*ServerApi* | [**set_server_license**](generated/immich/openapi_client/docs/ServerApi.md#set_server_license) | **PUT** /server/license | Set server product key +*SessionsApi* | [**create_session**](generated/immich/openapi_client/docs/SessionsApi.md#create_session) | **POST** /sessions | Create a session +*SessionsApi* | [**delete_all_sessions**](generated/immich/openapi_client/docs/SessionsApi.md#delete_all_sessions) | **DELETE** /sessions | Delete all sessions +*SessionsApi* | [**delete_session**](generated/immich/openapi_client/docs/SessionsApi.md#delete_session) | **DELETE** /sessions/{id} | Delete a session +*SessionsApi* | [**get_sessions**](generated/immich/openapi_client/docs/SessionsApi.md#get_sessions) | **GET** /sessions | Retrieve sessions +*SessionsApi* | [**lock_session**](generated/immich/openapi_client/docs/SessionsApi.md#lock_session) | **POST** /sessions/{id}/lock | Lock a session +*SessionsApi* | [**update_session**](generated/immich/openapi_client/docs/SessionsApi.md#update_session) | **PUT** /sessions/{id} | Update a session +*SharedLinksApi* | [**add_shared_link_assets**](generated/immich/openapi_client/docs/SharedLinksApi.md#add_shared_link_assets) | **PUT** /shared-links/{id}/assets | Add assets to a shared link +*SharedLinksApi* | [**create_shared_link**](generated/immich/openapi_client/docs/SharedLinksApi.md#create_shared_link) | **POST** /shared-links | Create a shared link +*SharedLinksApi* | [**get_all_shared_links**](generated/immich/openapi_client/docs/SharedLinksApi.md#get_all_shared_links) | **GET** /shared-links | Retrieve all shared links +*SharedLinksApi* | [**get_my_shared_link**](generated/immich/openapi_client/docs/SharedLinksApi.md#get_my_shared_link) | **GET** /shared-links/me | Retrieve current shared link +*SharedLinksApi* | [**get_shared_link_by_id**](generated/immich/openapi_client/docs/SharedLinksApi.md#get_shared_link_by_id) | **GET** /shared-links/{id} | Retrieve a shared link +*SharedLinksApi* | [**remove_shared_link**](generated/immich/openapi_client/docs/SharedLinksApi.md#remove_shared_link) | **DELETE** /shared-links/{id} | Delete a shared link +*SharedLinksApi* | [**remove_shared_link_assets**](generated/immich/openapi_client/docs/SharedLinksApi.md#remove_shared_link_assets) | **DELETE** /shared-links/{id}/assets | Remove assets from a shared link +*SharedLinksApi* | [**shared_link_login**](generated/immich/openapi_client/docs/SharedLinksApi.md#shared_link_login) | **POST** /shared-links/login | Shared link login +*SharedLinksApi* | [**update_shared_link**](generated/immich/openapi_client/docs/SharedLinksApi.md#update_shared_link) | **PATCH** /shared-links/{id} | Update a shared link +*StacksApi* | [**create_stack**](generated/immich/openapi_client/docs/StacksApi.md#create_stack) | **POST** /stacks | Create a stack +*StacksApi* | [**delete_stack**](generated/immich/openapi_client/docs/StacksApi.md#delete_stack) | **DELETE** /stacks/{id} | Delete a stack +*StacksApi* | [**delete_stacks**](generated/immich/openapi_client/docs/StacksApi.md#delete_stacks) | **DELETE** /stacks | Delete stacks +*StacksApi* | [**get_stack**](generated/immich/openapi_client/docs/StacksApi.md#get_stack) | **GET** /stacks/{id} | Retrieve a stack +*StacksApi* | [**remove_asset_from_stack**](generated/immich/openapi_client/docs/StacksApi.md#remove_asset_from_stack) | **DELETE** /stacks/{id}/assets/{assetId} | Remove an asset from a stack +*StacksApi* | [**search_stacks**](generated/immich/openapi_client/docs/StacksApi.md#search_stacks) | **GET** /stacks | Retrieve stacks +*StacksApi* | [**update_stack**](generated/immich/openapi_client/docs/StacksApi.md#update_stack) | **PUT** /stacks/{id} | Update a stack +*SyncApi* | [**delete_sync_ack**](generated/immich/openapi_client/docs/SyncApi.md#delete_sync_ack) | **DELETE** /sync/ack | Delete acknowledgements +*SyncApi* | [**get_sync_ack**](generated/immich/openapi_client/docs/SyncApi.md#get_sync_ack) | **GET** /sync/ack | Retrieve acknowledgements +*SyncApi* | [**get_sync_stream**](generated/immich/openapi_client/docs/SyncApi.md#get_sync_stream) | **POST** /sync/stream | Stream sync changes +*SyncApi* | [**send_sync_ack**](generated/immich/openapi_client/docs/SyncApi.md#send_sync_ack) | **POST** /sync/ack | Acknowledge changes +*SystemConfigApi* | [**get_config**](generated/immich/openapi_client/docs/SystemConfigApi.md#get_config) | **GET** /system-config | Get system configuration +*SystemConfigApi* | [**get_config_defaults**](generated/immich/openapi_client/docs/SystemConfigApi.md#get_config_defaults) | **GET** /system-config/defaults | Get system configuration defaults +*SystemConfigApi* | [**get_storage_template_options**](generated/immich/openapi_client/docs/SystemConfigApi.md#get_storage_template_options) | **GET** /system-config/storage-template-options | Get storage template options +*SystemConfigApi* | [**update_config**](generated/immich/openapi_client/docs/SystemConfigApi.md#update_config) | **PUT** /system-config | Update system configuration +*SystemMetadataApi* | [**get_admin_onboarding**](generated/immich/openapi_client/docs/SystemMetadataApi.md#get_admin_onboarding) | **GET** /system-metadata/admin-onboarding | Retrieve admin onboarding +*SystemMetadataApi* | [**get_reverse_geocoding_state**](generated/immich/openapi_client/docs/SystemMetadataApi.md#get_reverse_geocoding_state) | **GET** /system-metadata/reverse-geocoding-state | Retrieve reverse geocoding state +*SystemMetadataApi* | [**get_version_check_state**](generated/immich/openapi_client/docs/SystemMetadataApi.md#get_version_check_state) | **GET** /system-metadata/version-check-state | Retrieve version check state +*SystemMetadataApi* | [**update_admin_onboarding**](generated/immich/openapi_client/docs/SystemMetadataApi.md#update_admin_onboarding) | **POST** /system-metadata/admin-onboarding | Update admin onboarding +*TagsApi* | [**bulk_tag_assets**](generated/immich/openapi_client/docs/TagsApi.md#bulk_tag_assets) | **PUT** /tags/assets | Tag assets +*TagsApi* | [**create_tag**](generated/immich/openapi_client/docs/TagsApi.md#create_tag) | **POST** /tags | Create a tag +*TagsApi* | [**delete_tag**](generated/immich/openapi_client/docs/TagsApi.md#delete_tag) | **DELETE** /tags/{id} | Delete a tag +*TagsApi* | [**get_all_tags**](generated/immich/openapi_client/docs/TagsApi.md#get_all_tags) | **GET** /tags | Retrieve tags +*TagsApi* | [**get_tag_by_id**](generated/immich/openapi_client/docs/TagsApi.md#get_tag_by_id) | **GET** /tags/{id} | Retrieve a tag +*TagsApi* | [**tag_assets**](generated/immich/openapi_client/docs/TagsApi.md#tag_assets) | **PUT** /tags/{id}/assets | Tag assets +*TagsApi* | [**untag_assets**](generated/immich/openapi_client/docs/TagsApi.md#untag_assets) | **DELETE** /tags/{id}/assets | Untag assets +*TagsApi* | [**update_tag**](generated/immich/openapi_client/docs/TagsApi.md#update_tag) | **PUT** /tags/{id} | Update a tag +*TagsApi* | [**upsert_tags**](generated/immich/openapi_client/docs/TagsApi.md#upsert_tags) | **PUT** /tags | Upsert tags +*TimelineApi* | [**get_time_bucket**](generated/immich/openapi_client/docs/TimelineApi.md#get_time_bucket) | **GET** /timeline/bucket | Get time bucket +*TimelineApi* | [**get_time_buckets**](generated/immich/openapi_client/docs/TimelineApi.md#get_time_buckets) | **GET** /timeline/buckets | Get time buckets +*TrashApi* | [**empty_trash**](generated/immich/openapi_client/docs/TrashApi.md#empty_trash) | **POST** /trash/empty | Empty trash +*TrashApi* | [**restore_assets**](generated/immich/openapi_client/docs/TrashApi.md#restore_assets) | **POST** /trash/restore/assets | Restore assets +*TrashApi* | [**restore_trash**](generated/immich/openapi_client/docs/TrashApi.md#restore_trash) | **POST** /trash/restore | Restore trash +*UsersApi* | [**create_profile_image**](generated/immich/openapi_client/docs/UsersApi.md#create_profile_image) | **POST** /users/profile-image | Create user profile image +*UsersApi* | [**delete_profile_image**](generated/immich/openapi_client/docs/UsersApi.md#delete_profile_image) | **DELETE** /users/profile-image | Delete user profile image +*UsersApi* | [**delete_user_license**](generated/immich/openapi_client/docs/UsersApi.md#delete_user_license) | **DELETE** /users/me/license | Delete user product key +*UsersApi* | [**delete_user_onboarding**](generated/immich/openapi_client/docs/UsersApi.md#delete_user_onboarding) | **DELETE** /users/me/onboarding | Delete user onboarding +*UsersApi* | [**get_my_calendar_heatmap**](generated/immich/openapi_client/docs/UsersApi.md#get_my_calendar_heatmap) | **GET** /users/me/calendar-heatmap | Retrieve calendar heatmap activity +*UsersApi* | [**get_my_preferences**](generated/immich/openapi_client/docs/UsersApi.md#get_my_preferences) | **GET** /users/me/preferences | Get my preferences +*UsersApi* | [**get_my_user**](generated/immich/openapi_client/docs/UsersApi.md#get_my_user) | **GET** /users/me | Get current user +*UsersApi* | [**get_profile_image**](generated/immich/openapi_client/docs/UsersApi.md#get_profile_image) | **GET** /users/{id}/profile-image | Retrieve user profile image +*UsersApi* | [**get_user**](generated/immich/openapi_client/docs/UsersApi.md#get_user) | **GET** /users/{id} | Retrieve a user +*UsersApi* | [**get_user_license**](generated/immich/openapi_client/docs/UsersApi.md#get_user_license) | **GET** /users/me/license | Retrieve user product key +*UsersApi* | [**get_user_onboarding**](generated/immich/openapi_client/docs/UsersApi.md#get_user_onboarding) | **GET** /users/me/onboarding | Retrieve user onboarding +*UsersApi* | [**search_users**](generated/immich/openapi_client/docs/UsersApi.md#search_users) | **GET** /users | Get all users +*UsersApi* | [**set_user_license**](generated/immich/openapi_client/docs/UsersApi.md#set_user_license) | **PUT** /users/me/license | Set user product key +*UsersApi* | [**set_user_onboarding**](generated/immich/openapi_client/docs/UsersApi.md#set_user_onboarding) | **PUT** /users/me/onboarding | Update user onboarding +*UsersApi* | [**update_my_preferences**](generated/immich/openapi_client/docs/UsersApi.md#update_my_preferences) | **PUT** /users/me/preferences | Update my preferences +*UsersApi* | [**update_my_user**](generated/immich/openapi_client/docs/UsersApi.md#update_my_user) | **PUT** /users/me | Update current user +*UsersAdminApi* | [**create_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#create_user_admin) | **POST** /admin/users | Create a user +*UsersAdminApi* | [**delete_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#delete_user_admin) | **DELETE** /admin/users/{id} | Delete a user +*UsersAdminApi* | [**get_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#get_user_admin) | **GET** /admin/users/{id} | Retrieve a user +*UsersAdminApi* | [**get_user_calendar_heatmap_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#get_user_calendar_heatmap_admin) | **GET** /admin/users/{id}/calendar-heatmap | Retrieve calendar heatmap activity +*UsersAdminApi* | [**get_user_preferences_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#get_user_preferences_admin) | **GET** /admin/users/{id}/preferences | Retrieve user preferences +*UsersAdminApi* | [**get_user_sessions_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#get_user_sessions_admin) | **GET** /admin/users/{id}/sessions | Retrieve user sessions +*UsersAdminApi* | [**get_user_statistics_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#get_user_statistics_admin) | **GET** /admin/users/{id}/statistics | Retrieve user statistics +*UsersAdminApi* | [**restore_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#restore_user_admin) | **POST** /admin/users/{id}/restore | Restore a deleted user +*UsersAdminApi* | [**search_users_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#search_users_admin) | **GET** /admin/users | Search users +*UsersAdminApi* | [**update_user_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#update_user_admin) | **PUT** /admin/users/{id} | Update a user +*UsersAdminApi* | [**update_user_preferences_admin**](generated/immich/openapi_client/docs/UsersAdminApi.md#update_user_preferences_admin) | **PUT** /admin/users/{id}/preferences | Update user preferences +*ViewsApi* | [**get_assets_by_original_path**](generated/immich/openapi_client/docs/ViewsApi.md#get_assets_by_original_path) | **GET** /view/folder | Retrieve assets by original path +*ViewsApi* | [**get_unique_original_paths**](generated/immich/openapi_client/docs/ViewsApi.md#get_unique_original_paths) | **GET** /view/folder/unique-paths | Retrieve unique paths +*WorkflowsApi* | [**create_workflow**](generated/immich/openapi_client/docs/WorkflowsApi.md#create_workflow) | **POST** /workflows | Create a workflow +*WorkflowsApi* | [**delete_workflow**](generated/immich/openapi_client/docs/WorkflowsApi.md#delete_workflow) | **DELETE** /workflows/{id} | Delete a workflow +*WorkflowsApi* | [**get_workflow**](generated/immich/openapi_client/docs/WorkflowsApi.md#get_workflow) | **GET** /workflows/{id} | Retrieve a workflow +*WorkflowsApi* | [**get_workflow_for_share**](generated/immich/openapi_client/docs/WorkflowsApi.md#get_workflow_for_share) | **GET** /workflows/{id}/share | Retrieve a workflow +*WorkflowsApi* | [**get_workflow_triggers**](generated/immich/openapi_client/docs/WorkflowsApi.md#get_workflow_triggers) | **GET** /workflows/triggers | List all workflow triggers +*WorkflowsApi* | [**search_workflows**](generated/immich/openapi_client/docs/WorkflowsApi.md#search_workflows) | **GET** /workflows | List all workflows +*WorkflowsApi* | [**update_workflow**](generated/immich/openapi_client/docs/WorkflowsApi.md#update_workflow) | **PUT** /workflows/{id} | Update a workflow ## Documentation For Models - - [APIKeyCreateDto](generated/immich/openapi_client/docs/APIKeyCreateDto.md) - - [APIKeyCreateResponseDto](generated/immich/openapi_client/docs/APIKeyCreateResponseDto.md) - - [APIKeyResponseDto](generated/immich/openapi_client/docs/APIKeyResponseDto.md) - - [APIKeyUpdateDto](generated/immich/openapi_client/docs/APIKeyUpdateDto.md) - [ActivityCreateDto](generated/immich/openapi_client/docs/ActivityCreateDto.md) - [ActivityResponseDto](generated/immich/openapi_client/docs/ActivityResponseDto.md) - [ActivityStatisticsResponseDto](generated/immich/openapi_client/docs/ActivityStatisticsResponseDto.md) @@ -282,22 +371,33 @@ Class | Method | HTTP request | Description - [AlbumUserCreateDto](generated/immich/openapi_client/docs/AlbumUserCreateDto.md) - [AlbumUserResponseDto](generated/immich/openapi_client/docs/AlbumUserResponseDto.md) - [AlbumUserRole](generated/immich/openapi_client/docs/AlbumUserRole.md) - - [AllJobStatusResponseDto](generated/immich/openapi_client/docs/AllJobStatusResponseDto.md) + - [AlbumsAddAssetsDto](generated/immich/openapi_client/docs/AlbumsAddAssetsDto.md) + - [AlbumsAddAssetsResponseDto](generated/immich/openapi_client/docs/AlbumsAddAssetsResponseDto.md) + - [AlbumsResponse](generated/immich/openapi_client/docs/AlbumsResponse.md) + - [AlbumsUpdate](generated/immich/openapi_client/docs/AlbumsUpdate.md) + - [ApiKeyCreateDto](generated/immich/openapi_client/docs/ApiKeyCreateDto.md) + - [ApiKeyCreateResponseDto](generated/immich/openapi_client/docs/ApiKeyCreateResponseDto.md) + - [ApiKeyResponseDto](generated/immich/openapi_client/docs/ApiKeyResponseDto.md) + - [ApiKeyUpdateDto](generated/immich/openapi_client/docs/ApiKeyUpdateDto.md) - [AssetBulkDeleteDto](generated/immich/openapi_client/docs/AssetBulkDeleteDto.md) - [AssetBulkUpdateDto](generated/immich/openapi_client/docs/AssetBulkUpdateDto.md) - [AssetBulkUploadCheckDto](generated/immich/openapi_client/docs/AssetBulkUploadCheckDto.md) - [AssetBulkUploadCheckItem](generated/immich/openapi_client/docs/AssetBulkUploadCheckItem.md) - [AssetBulkUploadCheckResponseDto](generated/immich/openapi_client/docs/AssetBulkUploadCheckResponseDto.md) - [AssetBulkUploadCheckResult](generated/immich/openapi_client/docs/AssetBulkUploadCheckResult.md) - - [AssetDeltaSyncDto](generated/immich/openapi_client/docs/AssetDeltaSyncDto.md) - - [AssetDeltaSyncResponseDto](generated/immich/openapi_client/docs/AssetDeltaSyncResponseDto.md) + - [AssetCopyDto](generated/immich/openapi_client/docs/AssetCopyDto.md) + - [AssetEditAction](generated/immich/openapi_client/docs/AssetEditAction.md) + - [AssetEditActionItemDto](generated/immich/openapi_client/docs/AssetEditActionItemDto.md) + - [AssetEditActionItemDtoParameters](generated/immich/openapi_client/docs/AssetEditActionItemDtoParameters.md) + - [AssetEditActionItemResponseDto](generated/immich/openapi_client/docs/AssetEditActionItemResponseDto.md) + - [AssetEditsCreateDto](generated/immich/openapi_client/docs/AssetEditsCreateDto.md) + - [AssetEditsResponseDto](generated/immich/openapi_client/docs/AssetEditsResponseDto.md) - [AssetFaceCreateDto](generated/immich/openapi_client/docs/AssetFaceCreateDto.md) - [AssetFaceDeleteDto](generated/immich/openapi_client/docs/AssetFaceDeleteDto.md) - [AssetFaceResponseDto](generated/immich/openapi_client/docs/AssetFaceResponseDto.md) - [AssetFaceUpdateDto](generated/immich/openapi_client/docs/AssetFaceUpdateDto.md) - [AssetFaceUpdateItem](generated/immich/openapi_client/docs/AssetFaceUpdateItem.md) - - [AssetFaceWithoutPersonResponseDto](generated/immich/openapi_client/docs/AssetFaceWithoutPersonResponseDto.md) - - [AssetFullSyncDto](generated/immich/openapi_client/docs/AssetFullSyncDto.md) + - [AssetIdErrorReason](generated/immich/openapi_client/docs/AssetIdErrorReason.md) - [AssetIdsDto](generated/immich/openapi_client/docs/AssetIdsDto.md) - [AssetIdsResponseDto](generated/immich/openapi_client/docs/AssetIdsResponseDto.md) - [AssetJobName](generated/immich/openapi_client/docs/AssetJobName.md) @@ -305,81 +405,121 @@ Class | Method | HTTP request | Description - [AssetMediaResponseDto](generated/immich/openapi_client/docs/AssetMediaResponseDto.md) - [AssetMediaSize](generated/immich/openapi_client/docs/AssetMediaSize.md) - [AssetMediaStatus](generated/immich/openapi_client/docs/AssetMediaStatus.md) + - [AssetMetadataBulkDeleteDto](generated/immich/openapi_client/docs/AssetMetadataBulkDeleteDto.md) + - [AssetMetadataBulkDeleteItemDto](generated/immich/openapi_client/docs/AssetMetadataBulkDeleteItemDto.md) + - [AssetMetadataBulkResponseDto](generated/immich/openapi_client/docs/AssetMetadataBulkResponseDto.md) + - [AssetMetadataBulkUpsertDto](generated/immich/openapi_client/docs/AssetMetadataBulkUpsertDto.md) + - [AssetMetadataBulkUpsertItemDto](generated/immich/openapi_client/docs/AssetMetadataBulkUpsertItemDto.md) + - [AssetMetadataResponseDto](generated/immich/openapi_client/docs/AssetMetadataResponseDto.md) + - [AssetMetadataUpsertDto](generated/immich/openapi_client/docs/AssetMetadataUpsertDto.md) + - [AssetMetadataUpsertItemDto](generated/immich/openapi_client/docs/AssetMetadataUpsertItemDto.md) + - [AssetOcrResponseDto](generated/immich/openapi_client/docs/AssetOcrResponseDto.md) - [AssetOrder](generated/immich/openapi_client/docs/AssetOrder.md) + - [AssetOrderBy](generated/immich/openapi_client/docs/AssetOrderBy.md) + - [AssetRejectReason](generated/immich/openapi_client/docs/AssetRejectReason.md) - [AssetResponseDto](generated/immich/openapi_client/docs/AssetResponseDto.md) - [AssetStackResponseDto](generated/immich/openapi_client/docs/AssetStackResponseDto.md) - [AssetStatsResponseDto](generated/immich/openapi_client/docs/AssetStatsResponseDto.md) - [AssetTypeEnum](generated/immich/openapi_client/docs/AssetTypeEnum.md) + - [AssetUploadAction](generated/immich/openapi_client/docs/AssetUploadAction.md) + - [AssetVisibility](generated/immich/openapi_client/docs/AssetVisibility.md) - [AudioCodec](generated/immich/openapi_client/docs/AudioCodec.md) - - [AvatarResponse](generated/immich/openapi_client/docs/AvatarResponse.md) + - [AuthStatusResponseDto](generated/immich/openapi_client/docs/AuthStatusResponseDto.md) - [AvatarUpdate](generated/immich/openapi_client/docs/AvatarUpdate.md) + - [BulkIdErrorReason](generated/immich/openapi_client/docs/BulkIdErrorReason.md) - [BulkIdResponseDto](generated/immich/openapi_client/docs/BulkIdResponseDto.md) - [BulkIdsDto](generated/immich/openapi_client/docs/BulkIdsDto.md) - [CLIPConfig](generated/immich/openapi_client/docs/CLIPConfig.md) - [CQMode](generated/immich/openapi_client/docs/CQMode.md) + - [CalendarHeatmapResponseDto](generated/immich/openapi_client/docs/CalendarHeatmapResponseDto.md) + - [CalendarHeatmapResponseDtoSeriesInner](generated/immich/openapi_client/docs/CalendarHeatmapResponseDtoSeriesInner.md) + - [CalendarHeatmapType](generated/immich/openapi_client/docs/CalendarHeatmapType.md) + - [CastResponse](generated/immich/openapi_client/docs/CastResponse.md) + - [CastUpdate](generated/immich/openapi_client/docs/CastUpdate.md) - [ChangePasswordDto](generated/immich/openapi_client/docs/ChangePasswordDto.md) - - [CheckExistingAssetsDto](generated/immich/openapi_client/docs/CheckExistingAssetsDto.md) - - [CheckExistingAssetsResponseDto](generated/immich/openapi_client/docs/CheckExistingAssetsResponseDto.md) - [Colorspace](generated/immich/openapi_client/docs/Colorspace.md) + - [ContributorCountResponseDto](generated/immich/openapi_client/docs/ContributorCountResponseDto.md) - [CreateAlbumDto](generated/immich/openapi_client/docs/CreateAlbumDto.md) - [CreateLibraryDto](generated/immich/openapi_client/docs/CreateLibraryDto.md) - [CreateProfileImageResponseDto](generated/immich/openapi_client/docs/CreateProfileImageResponseDto.md) + - [CropParameters](generated/immich/openapi_client/docs/CropParameters.md) - [DatabaseBackupConfig](generated/immich/openapi_client/docs/DatabaseBackupConfig.md) + - [DatabaseBackupDeleteDto](generated/immich/openapi_client/docs/DatabaseBackupDeleteDto.md) + - [DatabaseBackupDto](generated/immich/openapi_client/docs/DatabaseBackupDto.md) + - [DatabaseBackupListResponseDto](generated/immich/openapi_client/docs/DatabaseBackupListResponseDto.md) + - [DownloadArchiveDto](generated/immich/openapi_client/docs/DownloadArchiveDto.md) - [DownloadArchiveInfo](generated/immich/openapi_client/docs/DownloadArchiveInfo.md) - [DownloadInfoDto](generated/immich/openapi_client/docs/DownloadInfoDto.md) - [DownloadResponse](generated/immich/openapi_client/docs/DownloadResponse.md) - [DownloadResponseDto](generated/immich/openapi_client/docs/DownloadResponseDto.md) - [DownloadUpdate](generated/immich/openapi_client/docs/DownloadUpdate.md) - [DuplicateDetectionConfig](generated/immich/openapi_client/docs/DuplicateDetectionConfig.md) + - [DuplicateResolveDto](generated/immich/openapi_client/docs/DuplicateResolveDto.md) + - [DuplicateResolveGroupDto](generated/immich/openapi_client/docs/DuplicateResolveGroupDto.md) - [DuplicateResponseDto](generated/immich/openapi_client/docs/DuplicateResponseDto.md) - [EmailNotificationsResponse](generated/immich/openapi_client/docs/EmailNotificationsResponse.md) - [EmailNotificationsUpdate](generated/immich/openapi_client/docs/EmailNotificationsUpdate.md) - [ExifResponseDto](generated/immich/openapi_client/docs/ExifResponseDto.md) - [FaceDto](generated/immich/openapi_client/docs/FaceDto.md) - [FacialRecognitionConfig](generated/immich/openapi_client/docs/FacialRecognitionConfig.md) - - [FileChecksumDto](generated/immich/openapi_client/docs/FileChecksumDto.md) - - [FileChecksumResponseDto](generated/immich/openapi_client/docs/FileChecksumResponseDto.md) - - [FileReportDto](generated/immich/openapi_client/docs/FileReportDto.md) - - [FileReportFixDto](generated/immich/openapi_client/docs/FileReportFixDto.md) - - [FileReportItemDto](generated/immich/openapi_client/docs/FileReportItemDto.md) - [FoldersResponse](generated/immich/openapi_client/docs/FoldersResponse.md) - [FoldersUpdate](generated/immich/openapi_client/docs/FoldersUpdate.md) - [ImageFormat](generated/immich/openapi_client/docs/ImageFormat.md) - - [JobCommand](generated/immich/openapi_client/docs/JobCommand.md) - - [JobCommandDto](generated/immich/openapi_client/docs/JobCommandDto.md) - - [JobCountsDto](generated/immich/openapi_client/docs/JobCountsDto.md) + - [IntegrityReport](generated/immich/openapi_client/docs/IntegrityReport.md) + - [IntegrityReportResponseDto](generated/immich/openapi_client/docs/IntegrityReportResponseDto.md) + - [IntegrityReportResponseDtoItemsInner](generated/immich/openapi_client/docs/IntegrityReportResponseDtoItemsInner.md) + - [IntegrityReportSummaryResponseDto](generated/immich/openapi_client/docs/IntegrityReportSummaryResponseDto.md) - [JobCreateDto](generated/immich/openapi_client/docs/JobCreateDto.md) - [JobName](generated/immich/openapi_client/docs/JobName.md) - [JobSettingsDto](generated/immich/openapi_client/docs/JobSettingsDto.md) - - [JobStatusDto](generated/immich/openapi_client/docs/JobStatusDto.md) - [LibraryResponseDto](generated/immich/openapi_client/docs/LibraryResponseDto.md) - [LibraryStatsResponseDto](generated/immich/openapi_client/docs/LibraryStatsResponseDto.md) - [LicenseKeyDto](generated/immich/openapi_client/docs/LicenseKeyDto.md) - - [LicenseResponseDto](generated/immich/openapi_client/docs/LicenseResponseDto.md) - [LogLevel](generated/immich/openapi_client/docs/LogLevel.md) - [LoginCredentialDto](generated/immich/openapi_client/docs/LoginCredentialDto.md) - [LoginResponseDto](generated/immich/openapi_client/docs/LoginResponseDto.md) - [LogoutResponseDto](generated/immich/openapi_client/docs/LogoutResponseDto.md) + - [MachineLearningAvailabilityChecksDto](generated/immich/openapi_client/docs/MachineLearningAvailabilityChecksDto.md) + - [MaintenanceAction](generated/immich/openapi_client/docs/MaintenanceAction.md) + - [MaintenanceAuthDto](generated/immich/openapi_client/docs/MaintenanceAuthDto.md) + - [MaintenanceDetectInstallResponseDto](generated/immich/openapi_client/docs/MaintenanceDetectInstallResponseDto.md) + - [MaintenanceDetectInstallStorageFolderDto](generated/immich/openapi_client/docs/MaintenanceDetectInstallStorageFolderDto.md) + - [MaintenanceLoginDto](generated/immich/openapi_client/docs/MaintenanceLoginDto.md) + - [MaintenanceStatusResponseDto](generated/immich/openapi_client/docs/MaintenanceStatusResponseDto.md) - [ManualJobName](generated/immich/openapi_client/docs/ManualJobName.md) - [MapMarkerResponseDto](generated/immich/openapi_client/docs/MapMarkerResponseDto.md) - [MapReverseGeocodeResponseDto](generated/immich/openapi_client/docs/MapReverseGeocodeResponseDto.md) - [MemoriesResponse](generated/immich/openapi_client/docs/MemoriesResponse.md) - [MemoriesUpdate](generated/immich/openapi_client/docs/MemoriesUpdate.md) - [MemoryCreateDto](generated/immich/openapi_client/docs/MemoryCreateDto.md) - - [MemoryLaneResponseDto](generated/immich/openapi_client/docs/MemoryLaneResponseDto.md) - [MemoryResponseDto](generated/immich/openapi_client/docs/MemoryResponseDto.md) + - [MemorySearchOrder](generated/immich/openapi_client/docs/MemorySearchOrder.md) + - [MemoryStatisticsResponseDto](generated/immich/openapi_client/docs/MemoryStatisticsResponseDto.md) - [MemoryType](generated/immich/openapi_client/docs/MemoryType.md) - [MemoryUpdateDto](generated/immich/openapi_client/docs/MemoryUpdateDto.md) - [MergePersonDto](generated/immich/openapi_client/docs/MergePersonDto.md) - [MetadataSearchDto](generated/immich/openapi_client/docs/MetadataSearchDto.md) + - [MirrorAxis](generated/immich/openapi_client/docs/MirrorAxis.md) + - [MirrorParameters](generated/immich/openapi_client/docs/MirrorParameters.md) + - [NotificationCreateDto](generated/immich/openapi_client/docs/NotificationCreateDto.md) + - [NotificationDeleteAllDto](generated/immich/openapi_client/docs/NotificationDeleteAllDto.md) + - [NotificationDto](generated/immich/openapi_client/docs/NotificationDto.md) + - [NotificationLevel](generated/immich/openapi_client/docs/NotificationLevel.md) + - [NotificationType](generated/immich/openapi_client/docs/NotificationType.md) + - [NotificationUpdateAllDto](generated/immich/openapi_client/docs/NotificationUpdateAllDto.md) + - [NotificationUpdateDto](generated/immich/openapi_client/docs/NotificationUpdateDto.md) - [OAuthAuthorizeResponseDto](generated/immich/openapi_client/docs/OAuthAuthorizeResponseDto.md) - [OAuthCallbackDto](generated/immich/openapi_client/docs/OAuthCallbackDto.md) - [OAuthConfigDto](generated/immich/openapi_client/docs/OAuthConfigDto.md) + - [OAuthTokenEndpointAuthMethod](generated/immich/openapi_client/docs/OAuthTokenEndpointAuthMethod.md) + - [OcrConfig](generated/immich/openapi_client/docs/OcrConfig.md) - [OnThisDayDto](generated/immich/openapi_client/docs/OnThisDayDto.md) + - [OnboardingDto](generated/immich/openapi_client/docs/OnboardingDto.md) + - [OnboardingResponseDto](generated/immich/openapi_client/docs/OnboardingResponseDto.md) + - [PartnerCreateDto](generated/immich/openapi_client/docs/PartnerCreateDto.md) - [PartnerDirection](generated/immich/openapi_client/docs/PartnerDirection.md) - [PartnerResponseDto](generated/immich/openapi_client/docs/PartnerResponseDto.md) - - [PathEntityType](generated/immich/openapi_client/docs/PathEntityType.md) - - [PathType](generated/immich/openapi_client/docs/PathType.md) + - [PartnerUpdateDto](generated/immich/openapi_client/docs/PartnerUpdateDto.md) - [PeopleResponse](generated/immich/openapi_client/docs/PeopleResponse.md) - [PeopleResponseDto](generated/immich/openapi_client/docs/PeopleResponseDto.md) - [PeopleUpdate](generated/immich/openapi_client/docs/PeopleUpdate.md) @@ -390,17 +530,40 @@ Class | Method | HTTP request | Description - [PersonResponseDto](generated/immich/openapi_client/docs/PersonResponseDto.md) - [PersonStatisticsResponseDto](generated/immich/openapi_client/docs/PersonStatisticsResponseDto.md) - [PersonUpdateDto](generated/immich/openapi_client/docs/PersonUpdateDto.md) - - [PersonWithFacesResponseDto](generated/immich/openapi_client/docs/PersonWithFacesResponseDto.md) + - [PinCodeChangeDto](generated/immich/openapi_client/docs/PinCodeChangeDto.md) + - [PinCodeResetDto](generated/immich/openapi_client/docs/PinCodeResetDto.md) + - [PinCodeSetupDto](generated/immich/openapi_client/docs/PinCodeSetupDto.md) - [PlacesResponseDto](generated/immich/openapi_client/docs/PlacesResponseDto.md) + - [PluginMethodResponseDto](generated/immich/openapi_client/docs/PluginMethodResponseDto.md) + - [PluginResponseDto](generated/immich/openapi_client/docs/PluginResponseDto.md) + - [PluginTemplateResponseDto](generated/immich/openapi_client/docs/PluginTemplateResponseDto.md) + - [PluginTemplateStepResponseDto](generated/immich/openapi_client/docs/PluginTemplateStepResponseDto.md) - [PurchaseResponse](generated/immich/openapi_client/docs/PurchaseResponse.md) - [PurchaseUpdate](generated/immich/openapi_client/docs/PurchaseUpdate.md) - - [QueueStatusDto](generated/immich/openapi_client/docs/QueueStatusDto.md) + - [QueueCommand](generated/immich/openapi_client/docs/QueueCommand.md) + - [QueueCommandDto](generated/immich/openapi_client/docs/QueueCommandDto.md) + - [QueueDeleteDto](generated/immich/openapi_client/docs/QueueDeleteDto.md) + - [QueueJobResponseDto](generated/immich/openapi_client/docs/QueueJobResponseDto.md) + - [QueueJobStatus](generated/immich/openapi_client/docs/QueueJobStatus.md) + - [QueueName](generated/immich/openapi_client/docs/QueueName.md) + - [QueueResponseDto](generated/immich/openapi_client/docs/QueueResponseDto.md) + - [QueueResponseLegacyDto](generated/immich/openapi_client/docs/QueueResponseLegacyDto.md) + - [QueueStatisticsDto](generated/immich/openapi_client/docs/QueueStatisticsDto.md) + - [QueueStatusLegacyDto](generated/immich/openapi_client/docs/QueueStatusLegacyDto.md) + - [QueueUpdateDto](generated/immich/openapi_client/docs/QueueUpdateDto.md) + - [QueuesResponseLegacyDto](generated/immich/openapi_client/docs/QueuesResponseLegacyDto.md) - [RandomSearchDto](generated/immich/openapi_client/docs/RandomSearchDto.md) - [RatingsResponse](generated/immich/openapi_client/docs/RatingsResponse.md) - [RatingsUpdate](generated/immich/openapi_client/docs/RatingsUpdate.md) - [ReactionLevel](generated/immich/openapi_client/docs/ReactionLevel.md) - [ReactionType](generated/immich/openapi_client/docs/ReactionType.md) + - [RecentlyAddedResponse](generated/immich/openapi_client/docs/RecentlyAddedResponse.md) + - [RecentlyAddedUpdate](generated/immich/openapi_client/docs/RecentlyAddedUpdate.md) + - [ReleaseChannel](generated/immich/openapi_client/docs/ReleaseChannel.md) + - [ReleaseEventV1](generated/immich/openapi_client/docs/ReleaseEventV1.md) + - [ReleaseType](generated/immich/openapi_client/docs/ReleaseType.md) - [ReverseGeocodingStateResponseDto](generated/immich/openapi_client/docs/ReverseGeocodingStateResponseDto.md) + - [RotateParameters](generated/immich/openapi_client/docs/RotateParameters.md) - [SearchAlbumResponseDto](generated/immich/openapi_client/docs/SearchAlbumResponseDto.md) - [SearchAssetResponseDto](generated/immich/openapi_client/docs/SearchAssetResponseDto.md) - [SearchExploreItem](generated/immich/openapi_client/docs/SearchExploreItem.md) @@ -408,20 +571,27 @@ Class | Method | HTTP request | Description - [SearchFacetCountResponseDto](generated/immich/openapi_client/docs/SearchFacetCountResponseDto.md) - [SearchFacetResponseDto](generated/immich/openapi_client/docs/SearchFacetResponseDto.md) - [SearchResponseDto](generated/immich/openapi_client/docs/SearchResponseDto.md) + - [SearchStatisticsResponseDto](generated/immich/openapi_client/docs/SearchStatisticsResponseDto.md) - [SearchSuggestionType](generated/immich/openapi_client/docs/SearchSuggestionType.md) - [ServerAboutResponseDto](generated/immich/openapi_client/docs/ServerAboutResponseDto.md) + - [ServerApkLinksDto](generated/immich/openapi_client/docs/ServerApkLinksDto.md) - [ServerConfigDto](generated/immich/openapi_client/docs/ServerConfigDto.md) - [ServerFeaturesDto](generated/immich/openapi_client/docs/ServerFeaturesDto.md) - [ServerMediaTypesResponseDto](generated/immich/openapi_client/docs/ServerMediaTypesResponseDto.md) - [ServerPingResponse](generated/immich/openapi_client/docs/ServerPingResponse.md) - [ServerStatsResponseDto](generated/immich/openapi_client/docs/ServerStatsResponseDto.md) - [ServerStorageResponseDto](generated/immich/openapi_client/docs/ServerStorageResponseDto.md) - - [ServerThemeDto](generated/immich/openapi_client/docs/ServerThemeDto.md) - [ServerVersionHistoryResponseDto](generated/immich/openapi_client/docs/ServerVersionHistoryResponseDto.md) - [ServerVersionResponseDto](generated/immich/openapi_client/docs/ServerVersionResponseDto.md) + - [SessionCreateDto](generated/immich/openapi_client/docs/SessionCreateDto.md) + - [SessionCreateResponseDto](generated/immich/openapi_client/docs/SessionCreateResponseDto.md) - [SessionResponseDto](generated/immich/openapi_client/docs/SessionResponseDto.md) + - [SessionUnlockDto](generated/immich/openapi_client/docs/SessionUnlockDto.md) + - [SessionUpdateDto](generated/immich/openapi_client/docs/SessionUpdateDto.md) + - [SetMaintenanceModeDto](generated/immich/openapi_client/docs/SetMaintenanceModeDto.md) - [SharedLinkCreateDto](generated/immich/openapi_client/docs/SharedLinkCreateDto.md) - [SharedLinkEditDto](generated/immich/openapi_client/docs/SharedLinkEditDto.md) + - [SharedLinkLoginDto](generated/immich/openapi_client/docs/SharedLinkLoginDto.md) - [SharedLinkResponseDto](generated/immich/openapi_client/docs/SharedLinkResponseDto.md) - [SharedLinkType](generated/immich/openapi_client/docs/SharedLinkType.md) - [SharedLinksResponse](generated/immich/openapi_client/docs/SharedLinksResponse.md) @@ -432,26 +602,60 @@ Class | Method | HTTP request | Description - [StackCreateDto](generated/immich/openapi_client/docs/StackCreateDto.md) - [StackResponseDto](generated/immich/openapi_client/docs/StackResponseDto.md) - [StackUpdateDto](generated/immich/openapi_client/docs/StackUpdateDto.md) + - [StatisticsSearchDto](generated/immich/openapi_client/docs/StatisticsSearchDto.md) + - [StorageFolder](generated/immich/openapi_client/docs/StorageFolder.md) - [SyncAckDeleteDto](generated/immich/openapi_client/docs/SyncAckDeleteDto.md) - [SyncAckDto](generated/immich/openapi_client/docs/SyncAckDto.md) - [SyncAckSetDto](generated/immich/openapi_client/docs/SyncAckSetDto.md) + - [SyncAlbumDeleteV1](generated/immich/openapi_client/docs/SyncAlbumDeleteV1.md) + - [SyncAlbumToAssetDeleteV1](generated/immich/openapi_client/docs/SyncAlbumToAssetDeleteV1.md) + - [SyncAlbumToAssetV1](generated/immich/openapi_client/docs/SyncAlbumToAssetV1.md) + - [SyncAlbumUserDeleteV1](generated/immich/openapi_client/docs/SyncAlbumUserDeleteV1.md) + - [SyncAlbumUserV1](generated/immich/openapi_client/docs/SyncAlbumUserV1.md) + - [SyncAlbumV1](generated/immich/openapi_client/docs/SyncAlbumV1.md) + - [SyncAlbumV2](generated/immich/openapi_client/docs/SyncAlbumV2.md) - [SyncAssetDeleteV1](generated/immich/openapi_client/docs/SyncAssetDeleteV1.md) + - [SyncAssetEditDeleteV1](generated/immich/openapi_client/docs/SyncAssetEditDeleteV1.md) + - [SyncAssetEditV1](generated/immich/openapi_client/docs/SyncAssetEditV1.md) - [SyncAssetExifV1](generated/immich/openapi_client/docs/SyncAssetExifV1.md) + - [SyncAssetFaceDeleteV1](generated/immich/openapi_client/docs/SyncAssetFaceDeleteV1.md) + - [SyncAssetFaceV1](generated/immich/openapi_client/docs/SyncAssetFaceV1.md) + - [SyncAssetFaceV2](generated/immich/openapi_client/docs/SyncAssetFaceV2.md) + - [SyncAssetMetadataDeleteV1](generated/immich/openapi_client/docs/SyncAssetMetadataDeleteV1.md) + - [SyncAssetMetadataV1](generated/immich/openapi_client/docs/SyncAssetMetadataV1.md) + - [SyncAssetOcrDeleteV1](generated/immich/openapi_client/docs/SyncAssetOcrDeleteV1.md) + - [SyncAssetOcrV1](generated/immich/openapi_client/docs/SyncAssetOcrV1.md) - [SyncAssetV1](generated/immich/openapi_client/docs/SyncAssetV1.md) + - [SyncAssetV2](generated/immich/openapi_client/docs/SyncAssetV2.md) + - [SyncAuthUserV1](generated/immich/openapi_client/docs/SyncAuthUserV1.md) - [SyncEntityType](generated/immich/openapi_client/docs/SyncEntityType.md) + - [SyncMemoryAssetDeleteV1](generated/immich/openapi_client/docs/SyncMemoryAssetDeleteV1.md) + - [SyncMemoryAssetV1](generated/immich/openapi_client/docs/SyncMemoryAssetV1.md) + - [SyncMemoryDeleteV1](generated/immich/openapi_client/docs/SyncMemoryDeleteV1.md) + - [SyncMemoryV1](generated/immich/openapi_client/docs/SyncMemoryV1.md) - [SyncPartnerDeleteV1](generated/immich/openapi_client/docs/SyncPartnerDeleteV1.md) - [SyncPartnerV1](generated/immich/openapi_client/docs/SyncPartnerV1.md) + - [SyncPersonDeleteV1](generated/immich/openapi_client/docs/SyncPersonDeleteV1.md) + - [SyncPersonV1](generated/immich/openapi_client/docs/SyncPersonV1.md) - [SyncRequestType](generated/immich/openapi_client/docs/SyncRequestType.md) + - [SyncStackDeleteV1](generated/immich/openapi_client/docs/SyncStackDeleteV1.md) + - [SyncStackV1](generated/immich/openapi_client/docs/SyncStackV1.md) - [SyncStreamDto](generated/immich/openapi_client/docs/SyncStreamDto.md) - [SyncUserDeleteV1](generated/immich/openapi_client/docs/SyncUserDeleteV1.md) + - [SyncUserMetadataDeleteV1](generated/immich/openapi_client/docs/SyncUserMetadataDeleteV1.md) + - [SyncUserMetadataV1](generated/immich/openapi_client/docs/SyncUserMetadataV1.md) - [SyncUserV1](generated/immich/openapi_client/docs/SyncUserV1.md) - [SystemConfigBackupsDto](generated/immich/openapi_client/docs/SystemConfigBackupsDto.md) - [SystemConfigDto](generated/immich/openapi_client/docs/SystemConfigDto.md) - [SystemConfigFFmpegDto](generated/immich/openapi_client/docs/SystemConfigFFmpegDto.md) + - [SystemConfigFFmpegRealtimeDto](generated/immich/openapi_client/docs/SystemConfigFFmpegRealtimeDto.md) - [SystemConfigFacesDto](generated/immich/openapi_client/docs/SystemConfigFacesDto.md) - [SystemConfigGeneratedFullsizeImageDto](generated/immich/openapi_client/docs/SystemConfigGeneratedFullsizeImageDto.md) - [SystemConfigGeneratedImageDto](generated/immich/openapi_client/docs/SystemConfigGeneratedImageDto.md) - [SystemConfigImageDto](generated/immich/openapi_client/docs/SystemConfigImageDto.md) + - [SystemConfigIntegrityChecks](generated/immich/openapi_client/docs/SystemConfigIntegrityChecks.md) + - [SystemConfigIntegrityChecksumJob](generated/immich/openapi_client/docs/SystemConfigIntegrityChecksumJob.md) + - [SystemConfigIntegrityJob](generated/immich/openapi_client/docs/SystemConfigIntegrityJob.md) - [SystemConfigJobDto](generated/immich/openapi_client/docs/SystemConfigJobDto.md) - [SystemConfigLibraryDto](generated/immich/openapi_client/docs/SystemConfigLibraryDto.md) - [SystemConfigLibraryScanDto](generated/immich/openapi_client/docs/SystemConfigLibraryScanDto.md) @@ -461,6 +665,7 @@ Class | Method | HTTP request | Description - [SystemConfigMapDto](generated/immich/openapi_client/docs/SystemConfigMapDto.md) - [SystemConfigMetadataDto](generated/immich/openapi_client/docs/SystemConfigMetadataDto.md) - [SystemConfigNewVersionCheckDto](generated/immich/openapi_client/docs/SystemConfigNewVersionCheckDto.md) + - [SystemConfigNightlyTasksDto](generated/immich/openapi_client/docs/SystemConfigNightlyTasksDto.md) - [SystemConfigNotificationsDto](generated/immich/openapi_client/docs/SystemConfigNotificationsDto.md) - [SystemConfigOAuthDto](generated/immich/openapi_client/docs/SystemConfigOAuthDto.md) - [SystemConfigPasswordLoginDto](generated/immich/openapi_client/docs/SystemConfigPasswordLoginDto.md) @@ -486,8 +691,8 @@ Class | Method | HTTP request | Description - [TemplateDto](generated/immich/openapi_client/docs/TemplateDto.md) - [TemplateResponseDto](generated/immich/openapi_client/docs/TemplateResponseDto.md) - [TestEmailResponseDto](generated/immich/openapi_client/docs/TestEmailResponseDto.md) - - [TimeBucketResponseDto](generated/immich/openapi_client/docs/TimeBucketResponseDto.md) - - [TimeBucketSize](generated/immich/openapi_client/docs/TimeBucketSize.md) + - [TimeBucketAssetResponseDto](generated/immich/openapi_client/docs/TimeBucketAssetResponseDto.md) + - [TimeBucketsResponseDto](generated/immich/openapi_client/docs/TimeBucketsResponseDto.md) - [ToneMapping](generated/immich/openapi_client/docs/ToneMapping.md) - [TranscodeHWAccel](generated/immich/openapi_client/docs/TranscodeHWAccel.md) - [TranscodePolicy](generated/immich/openapi_client/docs/TranscodePolicy.md) @@ -496,7 +701,6 @@ Class | Method | HTTP request | Description - [UpdateAlbumUserDto](generated/immich/openapi_client/docs/UpdateAlbumUserDto.md) - [UpdateAssetDto](generated/immich/openapi_client/docs/UpdateAssetDto.md) - [UpdateLibraryDto](generated/immich/openapi_client/docs/UpdateLibraryDto.md) - - [UpdatePartnerDto](generated/immich/openapi_client/docs/UpdatePartnerDto.md) - [UsageByUserDto](generated/immich/openapi_client/docs/UsageByUserDto.md) - [UserAdminCreateDto](generated/immich/openapi_client/docs/UserAdminCreateDto.md) - [UserAdminDeleteDto](generated/immich/openapi_client/docs/UserAdminDeleteDto.md) @@ -504,6 +708,7 @@ Class | Method | HTTP request | Description - [UserAdminUpdateDto](generated/immich/openapi_client/docs/UserAdminUpdateDto.md) - [UserAvatarColor](generated/immich/openapi_client/docs/UserAvatarColor.md) - [UserLicense](generated/immich/openapi_client/docs/UserLicense.md) + - [UserMetadataKey](generated/immich/openapi_client/docs/UserMetadataKey.md) - [UserPreferencesResponseDto](generated/immich/openapi_client/docs/UserPreferencesResponseDto.md) - [UserPreferencesUpdateDto](generated/immich/openapi_client/docs/UserPreferencesUpdateDto.md) - [UserResponseDto](generated/immich/openapi_client/docs/UserResponseDto.md) @@ -513,8 +718,18 @@ Class | Method | HTTP request | Description - [ValidateLibraryDto](generated/immich/openapi_client/docs/ValidateLibraryDto.md) - [ValidateLibraryImportPathResponseDto](generated/immich/openapi_client/docs/ValidateLibraryImportPathResponseDto.md) - [ValidateLibraryResponseDto](generated/immich/openapi_client/docs/ValidateLibraryResponseDto.md) + - [VersionCheckStateResponseDto](generated/immich/openapi_client/docs/VersionCheckStateResponseDto.md) - [VideoCodec](generated/immich/openapi_client/docs/VideoCodec.md) - [VideoContainer](generated/immich/openapi_client/docs/VideoContainer.md) + - [WorkflowCreateDto](generated/immich/openapi_client/docs/WorkflowCreateDto.md) + - [WorkflowResponseDto](generated/immich/openapi_client/docs/WorkflowResponseDto.md) + - [WorkflowShareResponseDto](generated/immich/openapi_client/docs/WorkflowShareResponseDto.md) + - [WorkflowShareStepDto](generated/immich/openapi_client/docs/WorkflowShareStepDto.md) + - [WorkflowStepDto](generated/immich/openapi_client/docs/WorkflowStepDto.md) + - [WorkflowTrigger](generated/immich/openapi_client/docs/WorkflowTrigger.md) + - [WorkflowTriggerResponseDto](generated/immich/openapi_client/docs/WorkflowTriggerResponseDto.md) + - [WorkflowType](generated/immich/openapi_client/docs/WorkflowType.md) + - [WorkflowUpdateDto](generated/immich/openapi_client/docs/WorkflowUpdateDto.md) diff --git a/immich-export.py b/immich-export.py index 02d2703..c1aaa0f 100644 --- a/immich-export.py +++ b/immich-export.py @@ -76,6 +76,18 @@ def save_asset(asset, asset_dir): return asset_path +def iter_search_assets(search_api, search_query): + # Yield every asset matching search_query, paging through results as needed + result = search_api.search_assets(search_query) + while result: + for asset in result.assets.items: + yield asset + if result.assets.next_page is not None: + search_query.page = int(result.assets.next_page) + result = search_api.search_assets(search_query) + else: + result = None + album_count = 0 copied_asset_ids = set() asset_paths = set() @@ -85,6 +97,7 @@ with openapi_client.ApiClient(configuration) as immich_client: # Create instances of the API classes albums_api = openapi_client.AlbumsApi(immich_client) assets_api = openapi_client.AssetsApi(immich_client) + search_api = openapi_client.SearchApi(immich_client) try: all_albums = albums_api.get_all_albums() @@ -106,12 +119,13 @@ with openapi_client.ApiClient(configuration) as immich_client: print(f"[DRY RUN] Would create directory for album: {sanitized_album_name}") try: - # Get detailed album info with assets - album_info = albums_api.get_album_info(album.id) - print(f"Album '{sanitized_album_name}' has {len(album_info.assets)} assets") + # Fetch the album's assets via search (album responses no longer embed assets) + album_search_query = openapi_client.MetadataSearchDto(albumIds=[album.id]) + album_assets = list(iter_search_assets(search_api, album_search_query)) + print(f"Album '{sanitized_album_name}' has {len(album_assets)} assets") # Download each asset in the album - for asset in album_info.assets: + for asset in album_assets: try: save_asset(asset, album_path) @@ -133,30 +147,21 @@ with openapi_client.ApiClient(configuration) as immich_client: print(f"Unexpected error processing album {album.id}: {e}") print(f"Processing assets not in albums...") - search_api = openapi_client.SearchApi(immich_client) search_query = openapi_client.MetadataSearchDto( isNotInAlbum=True ) - assets_not_in_albums = search_api.search_assets(search_query) - while assets_not_in_albums: - for asset in assets_not_in_albums.assets.items: - if asset.id in copied_asset_ids: - continue - # Create a folder for the asset's year (i.e. Misc {{year}}) if it does not exist yet - year_folder_path = os.path.join(target_dir, f"Misc {asset.local_date_time.year}") if asset.local_date_time else "Misc" - if not os.path.exists(year_folder_path): - if not args.dry_run: - os.makedirs(year_folder_path) - print(f"Created directory for asset: {asset.id}") + for asset in iter_search_assets(search_api, search_query): + if asset.id in copied_asset_ids: + continue + # Create a folder for the asset's year (i.e. Misc {{year}}) if it does not exist yet + year_folder_path = os.path.join(target_dir, f"Misc {asset.local_date_time.year}") if asset.local_date_time else "Misc" + if not os.path.exists(year_folder_path): + if not args.dry_run: + os.makedirs(year_folder_path) + print(f"Created directory for asset: {asset.id}") - save_asset(asset, year_folder_path) - copied_asset_ids.add(asset.id) - - if assets_not_in_albums.assets.next_page is not None: - search_query.page = int(assets_not_in_albums.assets.next_page) - assets_not_in_albums = search_api.search_assets(search_query) - else: - assets_not_in_albums = None + save_asset(asset, year_folder_path) + copied_asset_ids.add(asset.id) except ApiException as e: print(f"Exception while retrieving albums: {e}")