taolib.testing.email_service.services.template_service#

模板管理服务。

提供模板的 CRUD 操作和渲染功能。

Classes#

TemplateService

模板管理服务。

Module Contents#

class taolib.testing.email_service.services.template_service.TemplateService(template_repo: taolib.testing.email_service.repository.template_repo.TemplateRepository, engine: taolib.testing.email_service.template.engine.TemplateEngine)#

模板管理服务。

_repo#
_engine#
async create_template(data: taolib.testing.email_service.models.template.TemplateCreate) taolib.testing.email_service.models.template.TemplateResponse#

创建模板。

async update_template(template_id: str, data: taolib.testing.email_service.models.template.TemplateUpdate) taolib.testing.email_service.models.template.TemplateResponse | None#

更新模板。

async get_template(template_id: str) taolib.testing.email_service.models.template.TemplateResponse | None#

获取模板。

async get_template_by_name(name: str) taolib.testing.email_service.models.template.TemplateResponse | None#

按名称获取模板。

async list_templates(email_type: taolib.testing.email_service.models.enums.EmailType | None = None, is_active: bool | None = None, skip: int = 0, limit: int = 100) list[taolib.testing.email_service.models.template.TemplateResponse]#

查询模板列表。

async delete_template(template_id: str) bool#

删除模板。

async render_template(template_id: str, variables: dict, email_type: taolib.testing.email_service.models.enums.EmailType = EmailType.TRANSACTIONAL, recipient_email: str | None = None, unsubscribe_token: str | None = None) taolib.testing.email_service.template.engine.RenderedEmail#

渲染模板。

参数:
  • template_id -- 模板 ID

  • variables -- 模板变量

  • email_type -- 邮件类型

  • recipient_email -- 收件人邮箱

  • unsubscribe_token -- 退订令牌

返回:

渲染后的邮件内容

抛出:

TemplateNotFoundError -- 模板不存在