refactor: canvas save

This commit is contained in:
wangjiahao
2025-06-09 15:06:08 +08:00
parent c8346414ad
commit e5ae9b5ceb
11 changed files with 161 additions and 54 deletions
+6 -6
View File
@@ -3,7 +3,7 @@ from fastapi import APIRouter, File, UploadFile, HTTPException
from apps.dashboard.crud.dashboard_service import get_dashboard_list, preview_with_id, \
create_resource, create_canvas
from apps.dashboard.models.dashboard_model import CreateDashboard
from apps.dashboard.models.dashboard_model import CreateDashboard,BaseDashboard
from common.core.deps import SessionDep, CurrentUser
router = APIRouter(tags=["dashboard"], prefix="/dashboard")
@@ -16,18 +16,18 @@ async def datasource_list(session: SessionDep):
async def preview_dashboard(session: SessionDep,id:str):
return preview_with_id(session=session,dashboard_id=id)
@router.post("/add", response_model=CreateDashboard)
@router.post("/add", response_model=BaseDashboard)
async def add(session: SessionDep, user: CurrentUser, dashboard: CreateDashboard):
return create_resource(session, user, dashboard)
@router.post("/update", response_model=CreateDashboard)
@router.post("/update", response_model=BaseDashboard)
async def update(session: SessionDep, user: CurrentUser, dashboard: CreateDashboard):
return create_resource(session, user, dashboard)
@router.post("/add_dashboard", response_model=CreateDashboard)
async def add_dashboard(session: SessionDep, user: CurrentUser, dashboard: CreateDashboard):
@router.post("/add_canvas", response_model=BaseDashboard)
async def add_canvas(session: SessionDep, user: CurrentUser, dashboard: CreateDashboard):
return create_canvas(session, user, dashboard)
@router.post("/update_dashboard", response_model=CreateDashboard)
@router.post("/update_canvas", response_model=BaseDashboard)
async def update(session: SessionDep, user: CurrentUser, dashboard: CreateDashboard):
return
@@ -27,8 +27,6 @@ def create_resource(session: SessionDep, user: CurrentUser, dashboard: CreateDas
session.commit()
return record
def update_resource(session: SessionDep, user: CurrentUser, dashboard: CreateDashboard):
record = session.query(CoreDashboard).filter(CoreDashboard.id == dashboard.id).first()
record.name = dashboard.name
@@ -44,6 +42,7 @@ def create_canvas(session: SessionDep, user: CurrentUser, dashboard: CreateDashb
record.canvas_style_data = dashboard.canvas_style_data
session.add(record)
session.flush()
return record
def update_canvas(session: SessionDep, user: CurrentUser, dashboard: CreateDashboard):
record = session.query(CoreDashboard).filter(CoreDashboard.id == dashboard.id).first()
@@ -131,17 +131,19 @@ class DashboardBaseResponse(BaseModel):
create_time: Optional[int] = None
update_time: Optional[int] = None
# dashboard create obj
class CreateDashboard(BaseModel):
class BaseDashboard(BaseModel):
id: str = ''
name: str = ''
pid: str = ''
workspace_id: str = ''
org_id: str = ''
description: str = ''
type: str = ''
node_type: str = ''
create_by: int = 0
# dashboard create obj
class CreateDashboard(BaseDashboard):
canvas_style_data: str =''
component_data: str = ''
configuration: str = ''
create_by: int = 0
description: str = ''