# app/modules/cms/routes/__init__.py """ CMS module route registration. This module provides functions to register CMS 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.cms.routes.admin import admin_router from app.modules.cms.routes.vendor import vendor_router, vendor_media_router """ # Routers are imported on-demand to avoid circular dependencies # Do NOT add auto-imports here __all__ = ["admin_router", "vendor_router", "vendor_media_router"] def __getattr__(name: str): """Lazy import routers to avoid circular dependencies.""" if name == "admin_router": from app.modules.cms.routes.admin import admin_router return admin_router elif name == "vendor_router": from app.modules.cms.routes.vendor import vendor_router return vendor_router elif name == "vendor_media_router": from app.modules.cms.routes.vendor import vendor_media_router return vendor_media_router raise AttributeError(f"module {__name__!r} has no attribute {name!r}")