Fix workflow importing and referencing
* Page blocks used invalid ref. formats & value setters. * Some default values were skipped due to how yaml decoder works.
This commit is contained in:
@@ -261,14 +261,14 @@ func getPageBlockAutomationRefs(b types.PageBlock, index int) (refs map[string]e
|
||||
refs = make(map[string]envoyx.Ref)
|
||||
|
||||
bb, _ := b.Options["buttons"].([]interface{})
|
||||
for _, b := range bb {
|
||||
for buttonIx, b := range bb {
|
||||
button, _ := b.(map[string]interface{})
|
||||
id := optString(button, "workflow", "workflowID")
|
||||
if id == "" || id == "0" {
|
||||
return
|
||||
}
|
||||
|
||||
refs[fmt.Sprintf("Blocks.%d.Options.WorkflowID", index)] = envoyx.Ref{
|
||||
refs[fmt.Sprintf("Blocks.%d.Options.buttons.%d.WorkflowID", index, buttonIx)] = envoyx.Ref{
|
||||
ResourceType: automationTypes.WorkflowResourceType,
|
||||
Identifiers: envoyx.MakeIdentifiers(id),
|
||||
}
|
||||
|
||||
@@ -432,6 +432,14 @@ func (b *PageBlock) setOptionValue(path []string, pos uint, value any) (err erro
|
||||
|
||||
case "chartID", "ChartID":
|
||||
b.Options["chartID"] = cast.ToString(value)
|
||||
|
||||
case "buttons":
|
||||
switch path[2] {
|
||||
case "workflowID", "WorkflowID":
|
||||
button := (b.Options["buttons"].([]any))[cast.ToInt(path[1])].(map[string]interface{})
|
||||
button["workflowID"] = cast.ToString(value)
|
||||
delete(button, "workflow")
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user