import uuid from datetime import datetime from enum import Enum from typing import List, Dict from pydantic import BaseModel from schemas import DBBase class DashboardBase(BaseModel): name: str = None # 解析请求json 创建项目 class DashboardCreate(DashboardBase): name: str project_id: str # cat: str pid: str class ReadDashboard(BaseModel): id: str class DashboardDelete(BaseModel): ids: List[str] class Report(BaseModel): name: str report_id: str graph_type: str model: str graph_size: str sort: int = 1 class EditShowReport(BaseModel): dashboard_id: str config: Report class Category(str, Enum): project = 'kanban' space = 'space' class EditDashboard(BaseModel): dashboard_id: str new_name: str class DashboardMove(BaseModel): source_ids: List[str] dest_pid: str cat: Category class DashboardCopy(BaseModel): source_ids: List[str] dest_project_id: str class AddReport(DBBase): report_ids: List[Report] class DelReport(DBBase): report_id: str # -------------------------------------------------------------- # 数据库模型 class DashboardDB(DBBase): name: str user_id: str project_id: str # cat: Category reports: List[str] = [] pid: str create_date: datetime = datetime.now()