bugfix:修复一些bug

This commit is contained in:
2026-10-02 02:36:11 -07:00
parent 68588d1f92
commit 5b1e6c5654
14 changed files with 37 additions and 81 deletions
+3 -13
View File
@@ -7,7 +7,7 @@ from copy import deepcopy
from app.actions.registry import apply_action
from app.actions.update import fit_existing_path
from app.resources.material_fields import check_update_field
from app.resources.material_fields import check_update_field, find_material
from app.schemas.actions import Action, AddAction, UpdateAction
from app.schemas.capabilities import DATA_BINDING_ERROR, DATA_BINDING_SUPPORTED
from app.schemas.component_resource import ComponentCatalog
@@ -39,18 +39,8 @@ def merge_config(defaults: dict, overrides: dict) -> dict:
def complete_add(action: AddAction, catalog: ComponentCatalog) -> AddAction:
"""用物料默认配置补全新增组件,模型显式写出的字段优先,并按物料设置 sample_data"""
material = next(
(item for item in catalog.components if item.key == action.component_key), None
)
if material is None:
raise ValueError(
f"物料 {action.component_key} 不存在,可用物料用 list_components 查看"
)
if material.type != action.node.type:
raise ValueError(
f"物料 {material.key} 的类型是 {material.type},node.type 必须与之一致"
)
"""按 node.type 找物料补全新增组件,模型显式写出的字段优先,并按物料设置 sample_data"""
material = find_material(catalog, action.node.type)
if not DATA_BINDING_SUPPORTED and action.node.model_extra.get("dataId"):
raise ValueError(DATA_BINDING_ERROR)
overrides = action.node.model_dump(mode="json", exclude_unset=True)