taolib.testing.email_service.repository.email_repo#

邮件 Repository。

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

Classes#

EmailRepository

邮件 Repository。

Module Contents#

class taolib.testing.email_service.repository.email_repo.EmailRepository(collection)#

Bases: taolib.testing._base.repository.AsyncRepository[taolib.testing.email_service.models.email.EmailDocument]

邮件 Repository。

async find_by_status(status: taolib.testing.email_service.models.enums.EmailStatus, skip: int = 0, limit: int = 100) list[taolib.testing.email_service.models.email.EmailDocument]#

按状态查询邮件。

async find_by_recipient(email: str, skip: int = 0, limit: int = 100) list[taolib.testing.email_service.models.email.EmailDocument]#

按收件人查询邮件。

async find_queued_emails(limit: int = 100) list[taolib.testing.email_service.models.email.EmailDocument]#

查找待发送的队列邮件。

async find_scheduled_ready(limit: int = 50) list[taolib.testing.email_service.models.email.EmailDocument]#

查找到期的计划邮件。

async update_status(email_id: str, status: taolib.testing.email_service.models.enums.EmailStatus, **extra_fields: Any) taolib.testing.email_service.models.email.EmailDocument | None#

更新邮件状态。

async increment_retry(email_id: str) taolib.testing.email_service.models.email.EmailDocument | None#

递增重试计数。

async get_stats(start: datetime.datetime, end: datetime.datetime) dict[str, int]#

获取指定时间范围内的邮件统计。

async create_indexes() None#

创建索引。