From aacaf0bb9a0b4ce0f3dcac7bd03ebee507654c0a Mon Sep 17 00:00:00 2001 From: inter Date: Mon, 8 Sep 2025 16:36:07 +0800 Subject: [PATCH] Add File --- .../apps/dashboard/models/dashboard_model.py | 164 ++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 backend/apps/dashboard/models/dashboard_model.py diff --git a/backend/apps/dashboard/models/dashboard_model.py b/backend/apps/dashboard/models/dashboard_model.py new file mode 100644 index 0000000..a6c2c80 --- /dev/null +++ b/backend/apps/dashboard/models/dashboard_model.py @@ -0,0 +1,164 @@ +from sqlmodel import SQLModel, Field +from sqlalchemy import String, Column, Text, SmallInteger, BigInteger, Integer,DateTime +from typing import Optional, List +from pydantic import BaseModel + +class CoreDashboard(SQLModel, table=True): + __tablename__ = "core_dashboard" + id: str = Field( + sa_column=Column(String(50), nullable=False, primary_key=True) + ) + name: str = Field( + default=None, + max_length=255, + sa_column=Column(String(255), nullable=True) + ) + pid: str = Field( + default=None, + max_length=50, + sa_column=Column(String(50), nullable=True) + ) + workspace_id: str = Field( + default=None, + max_length=50, + sa_column=Column(String(50), nullable=True) + ) + org_id: str = Field( + default=None, + max_length=50, + sa_column=Column(String(50), nullable=True) + ) + level: int = Field( + default=None, + sa_column=Column(Integer, nullable=True) + ) + node_type: str = Field( + default=None, + max_length=255, + sa_column=Column(String(255), nullable=True) + ) + type: str = Field( + default=None, + max_length=50, + sa_column=Column(String(50), nullable=True) + ) + canvas_style_data: str = Field( + default=None, + sa_column=Column(Text, nullable=True) + ) + component_data: str = Field( + default=None, + sa_column=Column(Text, nullable=True) + ) + canvas_view_info: str = Field( + default=None, + sa_column=Column(Text, nullable=True) + ) + mobile_layout: int = Field( + default=0, + sa_column=Column(SmallInteger, nullable=True) + ) + status: int = Field( + default=1, + sa_column=Column(Integer, nullable=True) + ) + self_watermark_status: int = Field( + default=0, + sa_column=Column(Integer, nullable=True) + ) + sort: int = Field( + default=0, + sa_column=Column(Integer, nullable=True) + ) + create_time: int = Field( + default=None, + sa_column=Column(BigInteger, nullable=True) + ) + create_by: str = Field( + default=None, + max_length=255, + sa_column=Column(String(255), nullable=True) + ) + update_time: int = Field( + default=None, + sa_column=Column(BigInteger, nullable=True) + ) + update_by: str = Field( + default=None, + max_length=255, + sa_column=Column(String(255), nullable=True) + ) + remark: str = Field( + default=None, + max_length=255, + sa_column=Column(String(255), nullable=True) + ) + source: str = Field( + default=None, + max_length=255, + sa_column=Column(String(255), nullable=True) + ) + delete_flag: int = Field( + default=0, + sa_column=Column(SmallInteger, nullable=True) + ) + delete_time: int = Field( + default=None, + sa_column=Column(BigInteger, nullable=True) + ) + delete_by: str = Field( + default=None, + max_length=255, + sa_column=Column(String(255), nullable=True) + ) + version: int = Field( + default=3, + sa_column=Column(Integer, nullable=True) + ) + content_id: str = Field( + default='0', + max_length=50, + sa_column=Column(String(50), nullable=True) + ) + check_version: str = Field( + default='1', + max_length=50, + sa_column=Column(String(50), nullable=True) + ) + +class DashboardBaseResponse(BaseModel): + id: Optional[str] = None + name: Optional[str] = None + pid: Optional[str] = None + node_type: Optional[str] = None + leaf: Optional[bool] = False + type: Optional[str] = None + create_time: Optional[int] = None + update_time: Optional[int] = None + children: List['DashboardBaseResponse'] = [] + +class DashboardResponse(CoreDashboard): + update_name: Optional[str] = None + create_name: Optional[str] = None + +class BaseDashboard(BaseModel): + id: str = '' + name: str = '' + pid: str = '' + workspace_id: str = '' + org_id: str = '' + type: str = '' + node_type: str = '' + level: int = 0 + create_by: int = 0 + +class QueryDashboard(BaseDashboard): + opt: str = '' + + +# dashboard create obj +class CreateDashboard(QueryDashboard): + canvas_style_data: str ='' + component_data: str = '' + canvas_view_info: str = '' + description: str = ''