taolib.testing.file_storage.models.upload#

分片上传数据模型。

定义上传会话和分片记录模型。

Classes#

UploadSessionBase

上传会话基础字段。

UploadSessionCreate

创建上传会话的输入模型。

UploadSessionResponse

上传会话的 API 响应模型。

UploadSessionDocument

上传会话的 MongoDB 文档模型。

ChunkRecord

分片记录模型。

Module Contents#

class taolib.testing.file_storage.models.upload.UploadSessionBase#

Bases: pydantic.BaseModel

上传会话基础字段。

bucket_id: str#
object_key: str#
original_filename: str#
content_type: str#
total_size_bytes: int#
chunk_size_bytes: int#
total_chunks: int#
class taolib.testing.file_storage.models.upload.UploadSessionCreate#

Bases: UploadSessionBase

创建上传会话的输入模型。

class taolib.testing.file_storage.models.upload.UploadSessionResponse#

Bases: UploadSessionBase

上传会话的 API 响应模型。

id: str#
status: taolib.testing.file_storage.models.enums.UploadStatus#
uploaded_chunks: list[int]#
uploaded_bytes: int#
progress_percent: float#
backend_upload_id: str | None#
created_by: str#
expires_at: datetime.datetime#
created_at: datetime.datetime#
updated_at: datetime.datetime#
model_config#
class taolib.testing.file_storage.models.upload.UploadSessionDocument#

Bases: UploadSessionBase

上传会话的 MongoDB 文档模型。

id: str#
status: taolib.testing.file_storage.models.enums.UploadStatus#
uploaded_chunks: list[int]#
uploaded_bytes: int = 0#
backend_upload_id: str | None = None#
created_by: str = 'system'#
expires_at: datetime.datetime#
created_at: datetime.datetime#
updated_at: datetime.datetime#
model_config#
property progress_percent: float#

计算上传进度百分比。

to_response() UploadSessionResponse#

转换为 API 响应。

class taolib.testing.file_storage.models.upload.ChunkRecord#

Bases: pydantic.BaseModel

分片记录模型。

id: str#
session_id: str#
chunk_index: int#
size_bytes: int#
checksum_sha256: str#
storage_path: str#
etag: str | None#
uploaded_at: datetime.datetime#
model_config#