chore(lint): apply ruff --fix (4443 auto-fixes)
Auto-fixed categories: - F401: unused imports removed - I001: import blocks sorted - W293: trailing whitespace stripped - UP035: deprecated typing imports replaced - SIM: simplify suggestions applied - ARG: unused args prefixed with underscore - T201: print statements removed - F841: unused variables removed - RUF059: unpacked variables prefixed Remaining ~1500 unfixable errors (C901, B904, N806, E402) require manual work. Backend smoke tests: 13/13 passed.
This commit is contained in:
@@ -21,16 +21,18 @@
|
||||
# @TEST_EDGE: [external_fail] ->[HTTP_500]
|
||||
# @TEST_INVARIANT: [EnvironmentValidationBeforeAction] -> VERIFIED_BY: [invalid_environment, valid_execution]
|
||||
|
||||
from typing import Any, cast
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Query
|
||||
from typing import List, Dict, Any, Optional, cast
|
||||
from sqlalchemy.orm import Session
|
||||
from ...dependencies import get_config_manager, get_task_manager, has_permission
|
||||
|
||||
from ...core.database import get_db
|
||||
from ...models.dashboard import DashboardMetadata, DashboardSelection
|
||||
from ...core.superset_client import SupersetClient
|
||||
from ...core.logger import logger, belief_scope
|
||||
from ...core.migration.dry_run_orchestrator import MigrationDryRunService
|
||||
from ...core.logger import belief_scope, logger
|
||||
from ...core.mapping_service import IdMappingService
|
||||
from ...core.migration.dry_run_orchestrator import MigrationDryRunService
|
||||
from ...core.superset_client import SupersetClient
|
||||
from ...dependencies import get_config_manager, get_task_manager, has_permission
|
||||
from ...models.dashboard import DashboardMetadata, DashboardSelection
|
||||
from ...models.mapping import ResourceMapping
|
||||
|
||||
logger = cast(Any, logger)
|
||||
@@ -45,7 +47,7 @@ router = APIRouter(prefix="/api", tags=["migration"])
|
||||
# @SIDE_EFFECT: Reads environment configuration and performs remote Superset metadata retrieval over network.
|
||||
# @DATA_CONTRACT: Input[str env_id] -> Output[List[DashboardMetadata]]
|
||||
# @RELATION CALLS -> [SupersetClient.get_dashboards_summary]
|
||||
@router.get("/environments/{env_id}/dashboards", response_model=List[DashboardMetadata])
|
||||
@router.get("/environments/{env_id}/dashboards", response_model=list[DashboardMetadata])
|
||||
async def get_dashboards(
|
||||
env_id: str,
|
||||
config_manager=Depends(get_config_manager),
|
||||
@@ -125,7 +127,7 @@ async def execute_migration(
|
||||
except Exception as e:
|
||||
logger.explore(f"Task creation failed: {e}")
|
||||
raise HTTPException(
|
||||
status_code=500, detail=f"Failed to create migration task: {str(e)}"
|
||||
status_code=500, detail=f"Failed to create migration task: {e!s}"
|
||||
)
|
||||
|
||||
|
||||
@@ -141,7 +143,7 @@ async def execute_migration(
|
||||
# @RELATION DEPENDS_ON -> [DashboardSelection]
|
||||
# @RELATION DEPENDS_ON -> [MigrationDryRunService]
|
||||
# @INVARIANT: Dry-run flow remains read-only and rejects identical source/target environments before service execution.
|
||||
@router.post("/migration/dry-run", response_model=Dict[str, Any])
|
||||
@router.post("/migration/dry-run", response_model=dict[str, Any])
|
||||
async def dry_run_migration(
|
||||
selection: DashboardSelection,
|
||||
config_manager=Depends(get_config_manager),
|
||||
@@ -205,7 +207,7 @@ async def dry_run_migration(
|
||||
# @SIDE_EFFECT: Reads configuration from config manager.
|
||||
# @DATA_CONTRACT: Input[None] -> Output[Dict[str, str]]
|
||||
# @RELATION DEPENDS_ON -> [AppDependencies]
|
||||
@router.get("/migration/settings", response_model=Dict[str, str])
|
||||
@router.get("/migration/settings", response_model=dict[str, str])
|
||||
async def get_migration_settings(
|
||||
config_manager=Depends(get_config_manager),
|
||||
_=Depends(has_permission("plugin:migration", "READ")),
|
||||
@@ -226,9 +228,9 @@ async def get_migration_settings(
|
||||
# @SIDE_EFFECT: Mutates configuration and writes persisted config through config manager.
|
||||
# @DATA_CONTRACT: Input[Dict[str, str]] -> Output[Dict[str, str]]
|
||||
# @RELATION DEPENDS_ON -> [AppDependencies]
|
||||
@router.put("/migration/settings", response_model=Dict[str, str])
|
||||
@router.put("/migration/settings", response_model=dict[str, str])
|
||||
async def update_migration_settings(
|
||||
payload: Dict[str, str],
|
||||
payload: dict[str, str],
|
||||
config_manager=Depends(get_config_manager),
|
||||
_=Depends(has_permission("plugin:migration", "WRITE")),
|
||||
):
|
||||
@@ -257,13 +259,13 @@ async def update_migration_settings(
|
||||
# @SIDE_EFFECT: Executes database read queries against ResourceMapping table.
|
||||
# @DATA_CONTRACT: Input[QueryParams] -> Output[Dict[str, Any]]
|
||||
# @RELATION DEPENDS_ON -> [ResourceMapping]
|
||||
@router.get("/migration/mappings-data", response_model=Dict[str, Any])
|
||||
@router.get("/migration/mappings-data", response_model=dict[str, Any])
|
||||
async def get_resource_mappings(
|
||||
skip: int = Query(0, ge=0),
|
||||
limit: int = Query(50, ge=1, le=500),
|
||||
search: Optional[str] = Query(None, description="Search by resource name or UUID"),
|
||||
env_id: Optional[str] = Query(None, description="Filter by environment ID"),
|
||||
resource_type: Optional[str] = Query(None, description="Filter by resource type"),
|
||||
search: str | None = Query(None, description="Search by resource name or UUID"),
|
||||
env_id: str | None = Query(None, description="Filter by environment ID"),
|
||||
resource_type: str | None = Query(None, description="Filter by resource type"),
|
||||
db: Session = Depends(get_db),
|
||||
_=Depends(has_permission("plugin:migration", "READ")),
|
||||
):
|
||||
@@ -330,7 +332,7 @@ async def get_resource_mappings(
|
||||
# @DATA_CONTRACT: Input[None] -> Output[Dict[str, Any]]
|
||||
# @RELATION DEPENDS_ON -> [IdMappingService]
|
||||
# @RELATION CALLS -> [sync_environment]
|
||||
@router.post("/migration/sync-now", response_model=Dict[str, Any])
|
||||
@router.post("/migration/sync-now", response_model=dict[str, Any])
|
||||
async def trigger_sync_now(
|
||||
config_manager=Depends(get_config_manager),
|
||||
db: Session = Depends(get_db),
|
||||
|
||||
Reference in New Issue
Block a user