feat(us1): add dataset review orchestration automatic review slice
This commit is contained in:
@@ -1,17 +1,18 @@
|
||||
# [DEF:backend.src.api.routes.__init__:Module]
|
||||
# [DEF:ApiRoutesModule:Module]
|
||||
# @COMPLEXITY: 3
|
||||
# @SEMANTICS: routes, lazy-import, module-registry
|
||||
# @PURPOSE: Provide lazy route module loading to avoid heavyweight imports during tests.
|
||||
# @LAYER: API
|
||||
# @RELATION: DEPENDS_ON -> importlib
|
||||
# @RELATION: [CALLS] ->[ApiRoutesGetAttr]
|
||||
# @INVARIANT: Only names listed in __all__ are importable via __getattr__.
|
||||
|
||||
__all__ = ['plugins', 'tasks', 'settings', 'connections', 'environments', 'mappings', 'migration', 'git', 'storage', 'admin', 'reports', 'assistant', 'clean_release', 'profile']
|
||||
__all__ = ['plugins', 'tasks', 'settings', 'connections', 'environments', 'mappings', 'migration', 'git', 'storage', 'admin', 'reports', 'assistant', 'clean_release', 'profile', 'dataset_review']
|
||||
|
||||
|
||||
# [DEF:__getattr__:Function]
|
||||
# @COMPLEXITY: 1
|
||||
# [DEF:ApiRoutesGetAttr:Function]
|
||||
# @COMPLEXITY: 3
|
||||
# @PURPOSE: Lazily import route module by attribute name.
|
||||
# @RELATION: [DEPENDS_ON] ->[ApiRoutesModule]
|
||||
# @PRE: name is module candidate exposed in __all__.
|
||||
# @POST: Returns imported submodule or raises AttributeError.
|
||||
def __getattr__(name):
|
||||
@@ -19,5 +20,5 @@ def __getattr__(name):
|
||||
import importlib
|
||||
return importlib.import_module(f".{name}", __name__)
|
||||
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
||||
# [/DEF:__getattr__:Function]
|
||||
# [/DEF:backend.src.api.routes.__init__:Module]
|
||||
# [/DEF:ApiRoutesGetAttr:Function]
|
||||
# [/DEF:ApiRoutesModule:Module]
|
||||
|
||||
Reference in New Issue
Block a user