freeleaps-service-hub/apps/notification/backend/application/email_sender_hub.py
YuehuCao 11c1cc811d Refactor(application): Extract frequently used value into class-level constant
email_sender_hub.py: extract email_sender_manager = EmailSenderManager()
notification_hub.py: extract notification_manager = NotificationManager()
template_message_hub.py: extract template_message_manager = TemplateMessageManager()
template_message_hub.py: add more details in render_template function
2025-08-11 15:21:17 +08:00

59 lines
2.3 KiB
Python

from typing import List
from backend.business.email_sender_manager import EmailSenderManager
class EmailSenderHub:
def __init__(self):
self.email_sender_manager = EmailSenderManager()
async def get_email_senders(self, tenant_id: str):
"""get email senders for tenant"""
if not tenant_id:
raise ValueError("tenant_id is required")
return await self.email_sender_manager.get_email_senders(tenant_id)
async def set_email_senders(self, tenant_id: str, email_senders: List[str]):
"""set email senders for tenant"""
if not tenant_id:
raise ValueError("tenant_id is required")
if not email_senders or not isinstance(email_senders, list):
raise ValueError("email_senders must be a non-empty list")
return await self.email_sender_manager.set_email_senders(tenant_id, email_senders)
async def add_email_senders(self, tenant_id: str, new_senders: List[str]):
"""add email senders to tenant"""
if not tenant_id:
raise ValueError("tenant_id is required")
if not new_senders or not isinstance(new_senders, list):
raise ValueError("new_senders must be a non-empty list")
return await self.email_sender_manager.add_email_senders(tenant_id, new_senders)
async def remove_email_senders(self, tenant_id: str, emails_to_remove: List[str]):
"""remove email senders from tenant"""
if not tenant_id:
raise ValueError("tenant_id is required")
if not emails_to_remove or not isinstance(emails_to_remove, list):
raise ValueError("emails_to_remove must be a non-empty list")
return await self.email_sender_manager.remove_email_senders(tenant_id, emails_to_remove)
async def clear_email_senders(self, tenant_id: str):
"""clear email senders for tenant"""
if not tenant_id:
raise ValueError("tenant_id is required")
return await self.email_sender_manager.clear_email_senders(tenant_id)
async def delete_email_sender(self, tenant_id: str):
"""delete email sender for tenant"""
if not tenant_id:
raise ValueError("tenant_id is required")
return await self.email_sender_manager.delete_email_sender(tenant_id)