taolib.testing.file_storage.repository.file_repo#

文件元数据 Repository。

提供文件元数据的数据访问操作。

Classes#

FileRepository

文件元数据 Repository。

Module Contents#

class taolib.testing.file_storage.repository.file_repo.FileRepository(collection)#

Bases: taolib.testing._base.repository.AsyncRepository[taolib.testing.file_storage.models.file.FileMetadataDocument]

文件元数据 Repository。

async find_by_bucket(bucket_id: str, prefix: str | None = None, skip: int = 0, limit: int = 100) list[taolib.testing.file_storage.models.file.FileMetadataDocument]#

查找桶内文件。

async find_by_object_key(bucket_id: str, object_key: str) taolib.testing.file_storage.models.file.FileMetadataDocument | None#

根据桶 ID 和对象键查找文件。

async find_expired_files(before: datetime.datetime) list[taolib.testing.file_storage.models.file.FileMetadataDocument]#

查找已过期文件。

async find_by_tags(tags: list[str], bucket_id: str | None = None) list[taolib.testing.file_storage.models.file.FileMetadataDocument]#

根据标签查找文件。

async find_by_media_type(media_type: taolib.testing.file_storage.models.enums.MediaType, bucket_id: str | None = None) list[taolib.testing.file_storage.models.file.FileMetadataDocument]#

根据媒体类型查找文件。

async update_status(file_id: str, status: taolib.testing.file_storage.models.enums.FileStatus) taolib.testing.file_storage.models.file.FileMetadataDocument | None#

更新文件状态。

async create_indexes() None#

创建索引。