from fastapi import APIRouter, Request, Depends from fastapi.responses import JSONResponse from app.database import get_connection from app.auth import get_current_user from app.services.firebird_service import get_firebird_from_config router = APIRouter(prefix="/debug-fb", tags=["debug"]) @router.get("/cups") async def find_cups(request: Request, user: dict = Depends(get_current_user)): conn = get_connection() cfg = {r["key"]: r["value"] for r in conn.execute("SELECT * FROM config").fetchall()} conn.close() fb, ok, msg = get_firebird_from_config(cfg) if not ok: return JSONResponse({"error": msg}) results = {} try: ok1, err1, rows1 = fb.execute_query( "SELECT TRIM(f.RDB$FIELD_NAME) AS campo " "FROM RDB$RELATION_FIELDS f " "WHERE TRIM(f.RDB$RELATION_NAME) = 'ITEM' " "ORDER BY f.RDB$FIELD_POSITION" ) results["columnas_item"] = [r["campo"] for r in rows1] if ok1 else err1 except Exception as e: results["columnas_item"] = str(e) try: ok2, err2, rows2 = fb.execute_query("SELECT FIRST 2 i.* FROM ITEM i") results["item_muestra"] = list(rows2) if ok2 else err2 except Exception as e: results["item_muestra"] = str(e) fb.disconnect() return JSONResponse(results)