# 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 api/admin.py or api/store.py as needed:
  from app.modules.cms.routes.api.admin import router
  from app.modules.cms.routes.api.store import router
"""

# Routers are imported on-demand to avoid circular dependencies
# Do NOT add auto-imports here

__all__ = ["admin_router", "store_router", "store_media_router"]


def __getattr__(name: str):
    """Lazy import routers to avoid circular dependencies."""
    if name == "admin_router":
        from app.modules.cms.routes.api.admin import router
        return router
    if name == "store_router":
        from app.modules.cms.routes.api.store import router
        return router
    if name == "store_media_router":
        from app.modules.cms.routes.api.store_media import store_media_router
        return store_media_router
    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
