# app/modules/messaging/routes/__init__.py """ Messaging module route registration. This module provides functions to register messaging routes with module-based access control. NOTE: Routers are NOT auto-imported to avoid circular dependencies. Import directly from admin.py or vendor.py as needed: from app.modules.messaging.routes.admin import admin_router, admin_notifications_router from app.modules.messaging.routes.vendor import vendor_router, vendor_notifications_router """ # Routers are imported on-demand to avoid circular dependencies # Do NOT add auto-imports here __all__ = ["admin_router", "admin_notifications_router", "vendor_router", "vendor_notifications_router"] def __getattr__(name: str): """Lazy import routers to avoid circular dependencies.""" if name == "admin_router": from app.modules.messaging.routes.admin import admin_router return admin_router elif name == "admin_notifications_router": from app.modules.messaging.routes.admin import admin_notifications_router return admin_notifications_router elif name == "vendor_router": from app.modules.messaging.routes.vendor import vendor_router return vendor_router elif name == "vendor_notifications_router": from app.modules.messaging.routes.vendor import vendor_notifications_router return vendor_notifications_router raise AttributeError(f"module {__name__!r} has no attribute {name!r}")