bugfix:修复一些bug
This commit is contained in:
+3
-13
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user