"""Channel dispatch — postcard / direct mail.""" from dataclasses import dataclass from contacts.models import Channel from directmail.models import Message from directmail.providers.postcard import get_postcard_provider @dataclass class ProviderResult: provider: str provider_id: str def dispatch_message(message: Message) -> ProviderResult: if message.channel == Channel.POSTCARD: provider = get_postcard_provider() result = provider.send_postcard(message) return ProviderResult(provider=provider.name, provider_id=result.provider_id) raise ValueError(f"Unsupported channel: {message.channel}")