taolib.testing.file_storage.models.file#

文件元数据模型。

定义 FileMetadata 的 4-tier Pydantic 模型: Base → Create/Update → Response → Document

Classes#

FileMetadataBase

文件元数据基础字段。

FileMetadataCreate

创建文件元数据的输入模型。

FileMetadataUpdate

更新文件元数据的输入模型(所有字段可选)。

FileMetadataResponse

文件元数据的 API 响应模型。

FileMetadataDocument

文件元数据的 MongoDB 文档模型。

Module Contents#

class taolib.testing.file_storage.models.file.FileMetadataBase#

Bases: pydantic.BaseModel

文件元数据基础字段。

bucket_id: str#
object_key: str#
original_filename: str#
content_type: str#
size_bytes: int#
media_type: taolib.testing.file_storage.models.enums.MediaType#
access_level: taolib.testing.file_storage.models.enums.AccessLevel#
description: str#
tags: list[str]#
custom_metadata: dict[str, Any]#
class taolib.testing.file_storage.models.file.FileMetadataCreate#

Bases: FileMetadataBase

创建文件元数据的输入模型。

class taolib.testing.file_storage.models.file.FileMetadataUpdate#

Bases: pydantic.BaseModel

更新文件元数据的输入模型(所有字段可选)。

access_level: taolib.testing.file_storage.models.enums.AccessLevel | None = None#
description: str | None = None#
tags: list[str] | None = None#
custom_metadata: dict[str, Any] | None = None#
class taolib.testing.file_storage.models.file.FileMetadataResponse#

Bases: FileMetadataBase

文件元数据的 API 响应模型。

id: str#
storage_path: str#
checksum_sha256: str#
version: int#
status: taolib.testing.file_storage.models.enums.FileStatus#
cdn_url: str | None#
thumbnails: list[taolib.testing.file_storage.models.thumbnail.ThumbnailInfo]#
expires_at: datetime.datetime | None#
created_by: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
model_config#
class taolib.testing.file_storage.models.file.FileMetadataDocument#

Bases: FileMetadataBase

文件元数据的 MongoDB 文档模型。

id: str#
storage_path: str = ''#
checksum_sha256: str = ''#
version: int = 1#
status: taolib.testing.file_storage.models.enums.FileStatus#
cdn_url: str | None = None#
thumbnails: list[taolib.testing.file_storage.models.thumbnail.ThumbnailInfo]#
expires_at: datetime.datetime | None = None#
created_by: str = 'system'#
created_at: datetime.datetime#
updated_at: datetime.datetime#
model_config#
to_response() FileMetadataResponse#

转换为 API 响应。