from typing import List from backend.business.email_sender_manager import EmailSenderManager class EmailSenderHub: def __init__(self): pass async def get_email_senders(self, tenant_id: str): """get email senders for tenant""" if not tenant_id: raise ValueError("tenant_id is required") email_sender_manager = EmailSenderManager() return await 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") email_sender_manager = EmailSenderManager() return await 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") email_sender_manager = EmailSenderManager() return await 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") email_sender_manager = EmailSenderManager() return await 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") email_sender_manager = EmailSenderManager() return await 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") email_sender_manager = EmailSenderManager() return await email_sender_manager.delete_email_sender(tenant_id)