diff --git a/backend/apps/dashboard/api/dashboard_api.py b/backend/apps/dashboard/api/dashboard_api.py index b0caaa3d..eb40ac2c 100644 --- a/backend/apps/dashboard/api/dashboard_api.py +++ b/backend/apps/dashboard/api/dashboard_api.py @@ -5,10 +5,11 @@ from apps.dashboard.crud.dashboard_service import get_dashboard_list, preview_wi from apps.dashboard.models.dashboard_model import CreateDashboard, DashboardResponse from common.core.deps import SessionDep, CurrentUser from typing import List +from fastapi.encoders import jsonable_encoder router = APIRouter(tags=["dashboard"], prefix="/dashboard") -@router.post("/list", response_model=List[DashboardResponse]) +@router.post("/list") async def datasource_list(session: SessionDep): return get_dashboard_list(session=session) diff --git a/backend/apps/dashboard/crud/dashboard_service.py b/backend/apps/dashboard/crud/dashboard_service.py index 7fc4784b..873da621 100644 --- a/backend/apps/dashboard/crud/dashboard_service.py +++ b/backend/apps/dashboard/crud/dashboard_service.py @@ -4,7 +4,7 @@ from common.core.deps import SessionDep, CurrentUser import uuid def get_dashboard_list(session: SessionDep): statement = select(CoreDashboard) - dashboard_list = session.exec(statement).fetchall() + dashboard_list = session.exec(statement).scalars().all() return dashboard_list def preview_with_id(session: SessionDep, dashboard_id: str): diff --git a/backend/apps/dashboard/models/dashboard_model.py b/backend/apps/dashboard/models/dashboard_model.py index 2b8764bf..1c79335e 100644 --- a/backend/apps/dashboard/models/dashboard_model.py +++ b/backend/apps/dashboard/models/dashboard_model.py @@ -137,9 +137,9 @@ class DashboardResponse(BaseModel): status: Optional[int] = None self_watermark_status: Optional[int] = None sort: Optional[int] = None - create_time: Optional[int] = None # 或者用 datetime 类型 + create_time: Optional[int] = None create_by: Optional[str] = None - update_time: Optional[int] = None # 或者用 datetime 类型 + update_time: Optional[int] = None update_by: Optional[str] = None remark: Optional[str] = None source: Optional[str] = None @@ -151,7 +151,7 @@ class DashboardResponse(BaseModel): check_version: Optional[str] = None class Config: - orm_mode = True # 允许从 ORM 对象加载 + orm_mode = True # dashboard create obj class CreateDashboard(BaseModel):