diff --git a/apps/coordinator-api/src/app/services/__init__.py b/apps/coordinator-api/src/app/services/__init__.py index 01d2e419..7b0e0394 100755 --- a/apps/coordinator-api/src/app/services/__init__.py +++ b/apps/coordinator-api/src/app/services/__init__.py @@ -1,8 +1,23 @@ """Service layer for coordinator business logic.""" -from .explorer import ExplorerService -from .jobs import JobService -from .marketplace import MarketplaceService -from .miners import MinerService +from importlib import import_module __all__ = ["JobService", "MinerService", "MarketplaceService", "ExplorerService"] + +_MODULE_BY_EXPORT = { + "ExplorerService": ".explorer", + "JobService": ".jobs", + "MarketplaceService": ".marketplace", + "MinerService": ".miners", +} + + +def __getattr__(name: str): + module_name = _MODULE_BY_EXPORT.get(name) + if module_name is None: + raise AttributeError(f"module {__name__!r} has no attribute {name!r}") + + module = import_module(module_name, __name__) + value = getattr(module, name) + globals()[name] = value + return value