taolib.testing.file_storage.models.bucket#

存储桶数据模型。

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

Classes#

LifecycleRules

生命周期策略配置。

BucketBase

存储桶基础字段。

BucketCreate

创建存储桶的输入模型。

BucketUpdate

更新存储桶的输入模型(所有字段可选)。

BucketResponse

存储桶的 API 响应模型。

BucketDocument

存储桶的 MongoDB 文档模型。

Module Contents#

class taolib.testing.file_storage.models.bucket.LifecycleRules#

Bases: pydantic.BaseModel

生命周期策略配置。

auto_expire_days: int | None#
versioning_enabled: bool#
max_versions: int#
class taolib.testing.file_storage.models.bucket.BucketBase#

Bases: pydantic.BaseModel

存储桶基础字段。

name: str#
description: str#
access_level: taolib.testing.file_storage.models.enums.AccessLevel#
max_file_size_bytes: int#
allowed_mime_types: list[str]#
storage_class: taolib.testing.file_storage.models.enums.StorageClass#
tags: list[str]#
lifecycle_rules: LifecycleRules | None#
class taolib.testing.file_storage.models.bucket.BucketCreate#

Bases: BucketBase

创建存储桶的输入模型。

class taolib.testing.file_storage.models.bucket.BucketUpdate#

Bases: pydantic.BaseModel

更新存储桶的输入模型(所有字段可选)。

description: str | None = None#
access_level: taolib.testing.file_storage.models.enums.AccessLevel | None = None#
max_file_size_bytes: int | None = None#
allowed_mime_types: list[str] | None = None#
storage_class: taolib.testing.file_storage.models.enums.StorageClass | None = None#
tags: list[str] | None = None#
lifecycle_rules: LifecycleRules | None = None#
class taolib.testing.file_storage.models.bucket.BucketResponse#

Bases: BucketBase

存储桶的 API 响应模型。

id: str#
file_count: int#
total_size_bytes: int#
created_by: str#
created_at: datetime.datetime#
updated_at: datetime.datetime#
model_config#
class taolib.testing.file_storage.models.bucket.BucketDocument#

Bases: BucketBase

存储桶的 MongoDB 文档模型。

id: str#
file_count: int = 0#
total_size_bytes: int = 0#
created_by: str = 'system'#
created_at: datetime.datetime#
updated_at: datetime.datetime#
model_config#
to_response() BucketResponse#

转换为 API 响应。