feat: add document type CRUD with inline rule set binding
- GET/POST /api/document-types, GET/PUT/DELETE /api/document-types/{id}
- DocumentTypeItemVO extended with description, entryModuleId,
isEnabled, ruleSetIds
- Create/Update DTOs accept ruleSetIds array for automatic
leaudit_rule_type_bindings sync (full replace on update)
- Soft delete cascades to rule_type_bindings
This commit is contained in:
@@ -80,6 +80,33 @@ class DocumentTypeItemVO(BaseModel):
|
||||
id: int = Field(..., description="类型ID")
|
||||
name: str = Field(..., description="类型名称")
|
||||
code: str = Field(..., description="类型编码")
|
||||
description: str | None = Field(None, description="描述")
|
||||
entryModuleId: int | None = Field(None, description="入口模块ID")
|
||||
isEnabled: bool = Field(True, description="是否启用")
|
||||
ruleSetIds: list[int] = Field(default_factory=list, description="关联的规则集ID")
|
||||
|
||||
|
||||
class DocumentTypeCreateDTO(BaseModel):
|
||||
"""文档类型创建请求。"""
|
||||
|
||||
code: str = Field(..., description="类型编码")
|
||||
name: str = Field(..., description="类型名称")
|
||||
description: str = Field("", description="描述")
|
||||
entryModuleId: int | None = Field(None, description="入口模块ID")
|
||||
isEnabled: bool = Field(True, description="是否启用")
|
||||
sortOrder: int = Field(0, description="排序")
|
||||
ruleSetIds: list[int] = Field(default_factory=list, description="关联的规则集ID")
|
||||
|
||||
|
||||
class DocumentTypeUpdateDTO(BaseModel):
|
||||
"""文档类型更新请求。"""
|
||||
|
||||
name: str | None = Field(None, description="类型名称")
|
||||
description: str | None = Field(None, description="描述")
|
||||
entryModuleId: int | None = Field(None, description="入口模块ID")
|
||||
isEnabled: bool | None = Field(None, description="是否启用")
|
||||
sortOrder: int | None = Field(None, description="排序")
|
||||
ruleSetIds: list[int] | None = Field(None, description="关联的规则集ID(传则全量替换)")
|
||||
|
||||
|
||||
class DocumentListPageVO(BaseModel):
|
||||
|
||||
Reference in New Issue
Block a user