diff --git a/backend/apps/datasource/api/datasource.py b/backend/apps/datasource/api/datasource.py index bec379b5..b0921673 100644 --- a/backend/apps/datasource/api/datasource.py +++ b/backend/apps/datasource/api/datasource.py @@ -9,7 +9,7 @@ from fastapi import APIRouter, File, UploadFile, HTTPException from apps.db.engine import create_table, get_data_engine, insert_data from common.core.deps import SessionDep, CurrentUser from ..crud.datasource import get_datasource_list, check_status, create_ds, update_ds, delete_ds, getTables, getFields, \ - execSql, update_table_and_fields, getTablesByDs, chooseTables, preview, updateTable, updateField + execSql, update_table_and_fields, getTablesByDs, chooseTables, preview, updateTable, updateField, get_ds from ..crud.field import get_fields_by_table_id from ..crud.table import get_tables_by_ds_id from ..models.datasource import CoreDatasource, CreateDatasource, TableObj, CoreTable, CoreField @@ -23,6 +23,11 @@ async def datasource_list(session: SessionDep): return get_datasource_list(session=session) +@router.post("/get/{id}") +async def get_datasource(session: SessionDep, id: int): + return get_ds(session, id) + + @router.post("/check") async def check(session: SessionDep, ds: CoreDatasource): return check_status(session, ds) diff --git a/backend/apps/datasource/crud/datasource.py b/backend/apps/datasource/crud/datasource.py index 37d83a27..5982b6f0 100644 --- a/backend/apps/datasource/crud/datasource.py +++ b/backend/apps/datasource/crud/datasource.py @@ -24,6 +24,12 @@ def get_datasource_list(session: SessionDep): return datasource_list +def get_ds(session: SessionDep, id: int): + statement = select(CoreDatasource).where(CoreDatasource.id == id) + datasource = session.exec(statement).first() + return datasource + + def check_status(session: SessionDep, ds: CoreDatasource): conn = get_engine(ds) try: diff --git a/frontend/src/api/datasource.ts b/frontend/src/api/datasource.ts index 64c86355..151faeb9 100644 --- a/frontend/src/api/datasource.ts +++ b/frontend/src/api/datasource.ts @@ -16,5 +16,6 @@ export const datasourceApi = { edit: (data: any) => request.post('/datasource/editLocalComment', data), previewData: (id: Number, data: any) => request.post(`/datasource/previewData/${id}`, data), saveTable: (data: any) => request.post('/datasource/editTable', data), - saveField: (data: any) => request.post('/datasource/editField', data) + saveField: (data: any) => request.post('/datasource/editField', data), + getDs: (id: Number) => request.post(`/datasource/get/${id}`), } \ No newline at end of file diff --git a/frontend/src/views/ds/TableList.vue b/frontend/src/views/ds/TableList.vue index 56d1a889..da47849c 100644 --- a/frontend/src/views/ds/TableList.vue +++ b/frontend/src/views/ds/TableList.vue @@ -9,7 +9,10 @@