Fix Client Groups circular imports and module dependencies
This commit is contained in:
@@ -1,4 +1,29 @@
|
||||
from .api import router as api_router
|
||||
from .ui import router as ui_router
|
||||
"""Clients module.
|
||||
|
||||
Routers are exposed lazily so importing ``app.modules.clients.models`` does
|
||||
not initialise the clients API, UI, importer, and related modules. This keeps
|
||||
the existing ``api_router`` and ``ui_router`` public exports while preventing
|
||||
circular imports with client groups.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
__all__ = ["api_router", "ui_router"]
|
||||
|
||||
|
||||
def __getattr__(name: str) -> Any:
|
||||
if name == "api_router":
|
||||
from .api import router
|
||||
|
||||
return router
|
||||
|
||||
if name == "ui_router":
|
||||
from .ui import router
|
||||
|
||||
return router
|
||||
|
||||
raise AttributeError(
|
||||
f"module {__name__!r} has no attribute {name!r}"
|
||||
)
|
||||
Reference in New Issue
Block a user