# app/modules/messaging/__init__.py """ Messaging Module - Internal messaging and notifications. This is a self-contained module providing: - Internal messages between users - Customer communication - Admin-vendor-customer conversations - Notification center - Message attachments Module Structure: - models/ - Database models (Conversation, Message, etc.) - services/ - Business logic (MessagingService, NotificationService) - schemas/ - Pydantic DTOs - routes/ - API routes - exceptions.py - Module-specific exceptions """ # Use lazy imports to avoid circular import issues def __getattr__(name: str): """Lazy import module components to avoid circular imports.""" if name == "messaging_module": from app.modules.messaging.definition import messaging_module return messaging_module elif name == "get_messaging_module_with_routers": from app.modules.messaging.definition import get_messaging_module_with_routers return get_messaging_module_with_routers raise AttributeError(f"module {__name__!r} has no attribute {name!r}") __all__ = ["messaging_module", "get_messaging_module_with_routers"]