"""DB router — db_connection.""" from __future__ import annotations from fastapi import APIRouter, Depends from app.core.deps import ServiceAuth from app.models.schemas import DbConnectionRequest from app.services.db.migrate import db_connection router = APIRouter(dependencies=[ServiceAuth]) @router.post("/api/db_connection") async def db_connection_endpoint(payload: DbConnectionRequest) -> dict: try: result = await db_connection(payload.db_url, payload.db_type) if isinstance(result, list): return {"databases": result} return result if isinstance(result, dict) else {"result": result} except Exception as exc: # noqa: BLE001 return {"error": str(exc)}