taolib.testing.email_service.services.subscription_service#
订阅管理服务。
处理退订请求和订阅状态管理。
Classes#
订阅管理服务。 |
Module Contents#
- class taolib.testing.email_service.services.subscription_service.SubscriptionService(subscription_repo: taolib.testing.email_service.repository.subscription_repo.SubscriptionRepository)#
订阅管理服务。
- _repo#
- async get_or_create_subscription(email: str) taolib.testing.email_service.models.subscription.SubscriptionDocument#
获取或创建订阅记录。
如果邮箱没有订阅记录,则创建一个新的激活状态记录。
- 参数:
email -- 邮箱地址
- 返回:
订阅文档
- async unsubscribe(token: str, reason: str | None = None) taolib.testing.email_service.models.subscription.SubscriptionResponse#
处理退订请求。
- 参数:
token -- 退订令牌
reason -- 退订原因
- 返回:
更新后的订阅响应
- 抛出:
SubscriptionError -- 令牌无效或已退订
- async unsubscribe_by_email(email: str, reason: str | None = None) taolib.testing.email_service.models.subscription.SubscriptionResponse | None#
按邮箱退订(用于硬退信自动退订)。
- async resubscribe(email: str) taolib.testing.email_service.models.subscription.SubscriptionResponse#
重新订阅。
- 参数:
email -- 邮箱地址
- 返回:
更新后的订阅响应
- 抛出:
SubscriptionError -- 订阅记录不存在