# app/modules/orders/routes/__init__.py
"""
Orders module route registration.

This module provides functions to register orders routes
with module-based access control.

NOTE: Routers are NOT auto-imported to avoid circular dependencies.
Import directly from api submodule as needed:
  from app.modules.orders.routes.api import admin_router
  from app.modules.orders.routes.api import store_router
"""

__all__ = [
    "admin_router",
    "admin_exceptions_router",
    "store_router",
    "store_exceptions_router",
]


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