feat: 项目重命名 SQL-Platform + 数据源表单重写(连接模式/流程/排除DB/脱敏)
- 项目名称 Web-Lite Pro → SQL-Platform 全局替换(13处) - Instance 模型新增: access_mode, workflow, excluded_databases, mask_fields - 创建数据源表单: 分区卡片(数据源信息/连接模式/流程/高级配置) - 后端 JSON 字段序列化/反序列化 - 新增 5 个 Instance 字段测试 (133 total)
This commit is contained in:
1 parent
1877522239
commit
d5d19d6be4
16 files changed
+366
-73
No files matched your search
@@ -1,6 +1,18 @@
|
||||
from datetime import datetime
|
||||
from pydantic import BaseModel, Field
|
||||
from typing import Optional, Literal
|
||||
from typing import Optional, Literal, List, Any
|
||||
|
||||
|
||||
class WorkflowStage(BaseModel):
|
||||
stage: str = Field(..., description="阶段名称,如:提交阶段、审核阶段、执行阶段")
|
||||
role: str = Field(..., description="角色,如:提交人、开发负责人、执行人")
|
||||
assignee: Optional[str] = Field(None, description="负责人用户名")
|
||||
|
||||
|
||||
class MaskFieldRule(BaseModel):
|
||||
table: str = Field(..., description="表名")
|
||||
field: str = Field(..., description="字段名")
|
||||
rule: str = Field(default="mask", description="脱敏规则:mask/hide/hash")
|
||||
|
||||
|
||||
class InstanceCreate(BaseModel):
|
||||
@@ -13,6 +25,10 @@ class InstanceCreate(BaseModel):
|
||||
database: Optional[str] = None
|
||||
env: Literal["production", "staging", "development"] = "development"
|
||||
description: Optional[str] = None
|
||||
access_mode: Literal["readwrite", "read", "write"] = "readwrite"
|
||||
workflow: Optional[List[WorkflowStage]] = None
|
||||
excluded_databases: Optional[List[str]] = None
|
||||
mask_fields: Optional[List[MaskFieldRule]] = None
|
||||
|
||||
|
||||
class InstanceUpdate(BaseModel):
|
||||
@@ -24,6 +40,10 @@ class InstanceUpdate(BaseModel):
|
||||
database: Optional[str] = None
|
||||
env: Optional[Literal["production", "staging", "development"]] = None
|
||||
description: Optional[str] = None
|
||||
access_mode: Optional[Literal["readwrite", "read", "write"]] = None
|
||||
workflow: Optional[List[WorkflowStage]] = None
|
||||
excluded_databases: Optional[List[str]] = None
|
||||
mask_fields: Optional[List[MaskFieldRule]] = None
|
||||
|
||||
|
||||
class InstanceResponse(BaseModel):
|
||||
@@ -38,6 +58,10 @@ class InstanceResponse(BaseModel):
|
||||
description: Optional[str] = None
|
||||
status: str
|
||||
version: Optional[str] = None
|
||||
access_mode: str = "readwrite"
|
||||
workflow: Optional[List[dict]] = None
|
||||
excluded_databases: Optional[List[str]] = None
|
||||
mask_fields: Optional[List[dict]] = None
|
||||
created_at: datetime
|
||||
|
||||
class Config:
|
||||
|
||||
Reference in new issue
Block a user