032: T019 — remaining route files migrated to async SupersetClient
All routes (assistant, migration, datasets, git) now use AsyncSupersetClient. _helpers.py sync->async for dashboard ref resolution. _detail_routes.py import fixed. Known residual: MigrationDryRunService and IdMappingService still sync.
This commit is contained in:
@@ -90,7 +90,7 @@ def _get_git_config_or_404(db: Session, config_id: str) -> GitServerConfig:
|
||||
|
||||
# #region _find_dashboard_id_by_slug [C:2] [TYPE Function]
|
||||
# @BRIEF Resolve dashboard numeric ID by slug in a specific environment.
|
||||
def _find_dashboard_id_by_slug(
|
||||
async def _find_dashboard_id_by_slug(
|
||||
client: SupersetClient,
|
||||
dashboard_slug: str,
|
||||
) -> int | None:
|
||||
@@ -109,7 +109,7 @@ def _find_dashboard_id_by_slug(
|
||||
|
||||
for query in query_variants:
|
||||
try:
|
||||
_count, dashboards = client.get_dashboards_page(query=query)
|
||||
_count, dashboards = await client.get_dashboards_page(query=query)
|
||||
if dashboards:
|
||||
resolved_id = dashboards[0].get("id")
|
||||
if resolved_id is not None:
|
||||
@@ -122,7 +122,7 @@ def _find_dashboard_id_by_slug(
|
||||
|
||||
# #region _resolve_dashboard_id_from_ref [C:2] [TYPE Function]
|
||||
# @BRIEF Resolve dashboard ID from slug-or-id reference for Git routes.
|
||||
def _resolve_dashboard_id_from_ref(
|
||||
async def _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref: str,
|
||||
config_manager,
|
||||
env_id: str | None = None,
|
||||
@@ -145,7 +145,7 @@ def _resolve_dashboard_id_from_ref(
|
||||
if not env:
|
||||
raise HTTPException(status_code=404, detail="Environment not found")
|
||||
|
||||
dashboard_id = _find_dashboard_id_by_slug(SupersetClient(env), normalized_ref)
|
||||
dashboard_id = await _find_dashboard_id_by_slug(SupersetClient(env), normalized_ref)
|
||||
if dashboard_id is None:
|
||||
raise HTTPException(
|
||||
status_code=404, detail=f"Dashboard slug '{normalized_ref}' not found"
|
||||
@@ -228,7 +228,7 @@ async def _resolve_dashboard_id_from_ref_async(
|
||||
|
||||
# #region _resolve_repo_key_from_ref [C:2] [TYPE Function]
|
||||
# @BRIEF Resolve repository folder key with slug-first strategy and deterministic fallback.
|
||||
def _resolve_repo_key_from_ref(
|
||||
async def _resolve_repo_key_from_ref(
|
||||
dashboard_ref: str,
|
||||
dashboard_id: int,
|
||||
config_manager,
|
||||
@@ -243,7 +243,7 @@ def _resolve_repo_key_from_ref(
|
||||
environments = config_manager.get_environments()
|
||||
env = next((e for e in environments if e.id == env_id), None)
|
||||
if env:
|
||||
payload = SupersetClient(env).get_dashboard(dashboard_id)
|
||||
payload = await SupersetClient(env).get_dashboard(dashboard_id)
|
||||
dashboard_data = (
|
||||
payload.get("result", payload) if isinstance(payload, dict) else {}
|
||||
)
|
||||
|
||||
@@ -37,7 +37,7 @@ async def get_merge_status(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
return _gs.get_merge_status(dashboard_id)
|
||||
@@ -65,7 +65,7 @@ async def get_merge_conflicts(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
return _gs.get_merge_conflicts(dashboard_id)
|
||||
@@ -92,7 +92,7 @@ async def resolve_merge_conflicts(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
resolved_files = _gs.resolve_merge_conflicts(
|
||||
@@ -121,7 +121,7 @@ async def abort_merge(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
return _gs.abort_merge(dashboard_id)
|
||||
@@ -148,7 +148,7 @@ async def continue_merge(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
return _gs.continue_merge(dashboard_id, continue_data.message)
|
||||
|
||||
@@ -41,7 +41,7 @@ async def sync_dashboard(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
from src.plugins.git_plugin import GitPlugin
|
||||
@@ -78,7 +78,7 @@ async def promote_dashboard(
|
||||
with belief_scope("promote_dashboard"):
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
db_repo = (
|
||||
@@ -199,7 +199,7 @@ async def deploy_dashboard(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
from src.plugins.git_plugin import GitPlugin
|
||||
|
||||
@@ -45,7 +45,7 @@ async def commit_changes(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
_apply_git_identity_from_profile(dashboard_id, db, current_user)
|
||||
@@ -74,7 +74,7 @@ async def push_changes(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
_gs.push_changes(dashboard_id)
|
||||
@@ -103,7 +103,7 @@ async def pull_changes(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
db_repo = None
|
||||
@@ -161,7 +161,7 @@ async def get_repository_status(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
return _resolve_repository_status(dashboard_id)
|
||||
@@ -227,7 +227,7 @@ async def get_repository_diff(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
return _gs.get_diff(dashboard_id, file_path, staged)
|
||||
@@ -253,7 +253,7 @@ async def get_history(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
return _gs.get_commit_history(dashboard_id, limit)
|
||||
@@ -280,7 +280,7 @@ async def generate_commit_message(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
diff = _gs.get_diff(dashboard_id, staged=True)
|
||||
|
||||
@@ -44,10 +44,10 @@ async def init_repository(
|
||||
with belief_scope("init_repository"):
|
||||
from . import _resolve_dashboard_id_from_ref, _resolve_repo_key_from_ref
|
||||
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
repo_key = _resolve_repo_key_from_ref(
|
||||
repo_key = await _resolve_repo_key_from_ref(
|
||||
dashboard_ref, dashboard_id, config_manager, env_id
|
||||
)
|
||||
config = (
|
||||
@@ -122,7 +122,7 @@ async def get_repository_binding(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
db_repo = (
|
||||
@@ -163,7 +163,7 @@ async def delete_repository(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
_gs.delete_repo(dashboard_id)
|
||||
@@ -189,7 +189,7 @@ async def get_branches(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
return _gs.list_branches(dashboard_id)
|
||||
@@ -217,7 +217,7 @@ async def create_branch(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
_apply_git_identity_from_profile(dashboard_id, db, current_user)
|
||||
@@ -247,7 +247,7 @@ async def checkout_branch(
|
||||
from . import _resolve_dashboard_id_from_ref
|
||||
|
||||
try:
|
||||
dashboard_id = _resolve_dashboard_id_from_ref(
|
||||
dashboard_id = await _resolve_dashboard_id_from_ref(
|
||||
dashboard_ref, config_manager, env_id
|
||||
)
|
||||
_gs.checkout_branch(dashboard_id, checkout_data.name)
|
||||
|
||||
Reference in New Issue
Block a user