xbackend/api/api_v1/endpoints/query.py
2021-05-20 10:10:07 +08:00

47 lines
1.5 KiB
Python

import pandas as pd
from fastapi import APIRouter, Depends, Request
import crud, schemas
from api import deps
from db.ckdb import get_ck_db, CKDrive
router = APIRouter()
@router.post("/sql")
async def query_sql(
request: Request,
data_in: schemas.Sql,
ckdb: CKDrive = Depends(get_ck_db),
current_user: schemas.UserDB = Depends(deps.get_current_user)
) -> schemas.Msg:
"""原 sql 查询 """
data = await ckdb.execute(data_in.sql)
return schemas.Msg(code=0, msg='ok', data=data)
@router.post("/query")
async def query(
request: Request,
data_in: schemas.CkQuery,
ckdb: CKDrive = Depends(get_ck_db),
current_user: schemas.UserDB = Depends(deps.get_current_user)
) -> schemas.Msg:
""" json解析 sql 查询"""
# data, columns = await ckdb.execute(data_in.sql, with_column_types=True, columnar=True)
# df = pd.DataFrame({col[0]: d for d, col in zip(data, columns)})
return schemas.Msg(code=0, msg='ok', data=data_in)
@router.post("/event_model")
async def event_model(
request: Request,
data_in: schemas.CkQuery,
ckdb: CKDrive = Depends(get_ck_db),
current_user: schemas.UserDB = Depends(deps.get_current_user)
) -> schemas.Msg:
""" json解析 sql 查询"""
# data, columns = await ckdb.execute(data_in.sql, with_column_types=True, columnar=True)
# df = pd.DataFrame({col[0]: d for d, col in zip(data, columns)})
return schemas.Msg(code=0, msg='ok', data=data_in)