Skip to content

Commit ffb1c21

Browse files
fix: app workflow publish panic (#719)
(cherry picked from commit 708a6ed)
1 parent e344828 commit ffb1c21

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

backend/domain/workflow/service/service_impl.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1648,7 +1648,7 @@ func replaceRelatedWorkflowOrExternalResourceInWorkflowNodes(nodes []*vo.Node, r
16481648
for _, node := range nodes {
16491649
switch entity.IDStrToNodeType(node.Type) {
16501650
case entity.NodeTypeSubWorkflow:
1651-
if !hasWorkflowRelated {
1651+
if !hasWorkflowRelated || node.Data.Inputs.SubWorkflow == nil {
16521652
continue
16531653
}
16541654
workflowID, err := strconv.ParseInt(node.Data.Inputs.WorkflowID, 10, 64)
@@ -1660,7 +1660,7 @@ func replaceRelatedWorkflowOrExternalResourceInWorkflowNodes(nodes []*vo.Node, r
16601660
node.Data.Inputs.WorkflowVersion = wf.Version
16611661
}
16621662
case entity.NodeTypePlugin:
1663-
if !hasPluginRelated {
1663+
if !hasPluginRelated || node.Data.Inputs.PluginAPIParam == nil {
16641664
continue
16651665
}
16661666
apiParams := slices.ToMap(node.Data.Inputs.APIParams, func(e *vo.Param) (string, *vo.Param) {
@@ -1703,6 +1703,9 @@ func replaceRelatedWorkflowOrExternalResourceInWorkflowNodes(nodes []*vo.Node, r
17031703
}
17041704

17051705
case entity.NodeTypeLLM:
1706+
if node.Data.Inputs.LLM == nil {
1707+
continue
1708+
}
17061709
if hasWorkflowRelated && node.Data.Inputs.FCParam != nil && node.Data.Inputs.FCParam.WorkflowFCParam != nil {
17071710
for idx := range node.Data.Inputs.FCParam.WorkflowFCParam.WorkflowList {
17081711
wf := node.Data.Inputs.FCParam.WorkflowFCParam.WorkflowList[idx]
@@ -1749,7 +1752,7 @@ func replaceRelatedWorkflowOrExternalResourceInWorkflowNodes(nodes []*vo.Node, r
17491752
}
17501753

17511754
case entity.NodeTypeKnowledgeIndexer, entity.NodeTypeKnowledgeRetriever:
1752-
if !hasKnowledgeRelated {
1755+
if !hasKnowledgeRelated || node.Data.Inputs.Knowledge == nil {
17531756
continue
17541757
}
17551758
datasetListInfoParam := node.Data.Inputs.DatasetParam[0]
@@ -1765,7 +1768,7 @@ func replaceRelatedWorkflowOrExternalResourceInWorkflowNodes(nodes []*vo.Node, r
17651768
}
17661769

17671770
case entity.NodeTypeDatabaseCustomSQL, entity.NodeTypeDatabaseQuery, entity.NodeTypeDatabaseInsert, entity.NodeTypeDatabaseDelete, entity.NodeTypeDatabaseUpdate:
1768-
if !hasDatabaseRelated {
1771+
if !hasDatabaseRelated || node.Data.Inputs.DatabaseNode == nil {
17691772
continue
17701773
}
17711774
dsList := node.Data.Inputs.DatabaseInfoList

0 commit comments

Comments
 (0)