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:
parent
ef94c90da1
commit
b041e4fb32
33
server/automation/envoy/yaml_decode.gen.go
generated
33
server/automation/envoy/yaml_decode.gen.go
generated
@ -617,6 +617,17 @@ func (d *auxYamlDoc) unmarshalTriggerNode(dctx documentContext, n *yaml.Node, me
|
||||
|
||||
break
|
||||
|
||||
case "eventtype", "eventType", "event_type":
|
||||
// Handle field alias
|
||||
//
|
||||
// @todo consider adding an is empty check before overwriting
|
||||
err = y7s.DecodeScalar(n, "eventType", &r.EventType)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
break
|
||||
|
||||
case "id":
|
||||
// Handle identifiers
|
||||
err = y7s.DecodeScalar(n, "id", &auxNodeValue)
|
||||
@ -646,6 +657,28 @@ func (d *auxYamlDoc) unmarshalTriggerNode(dctx documentContext, n *yaml.Node, me
|
||||
|
||||
break
|
||||
|
||||
case "resourcetype", "resourceType", "resource_type":
|
||||
// Handle field alias
|
||||
//
|
||||
// @todo consider adding an is empty check before overwriting
|
||||
err = y7s.DecodeScalar(n, "resourceType", &r.ResourceType)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
break
|
||||
|
||||
case "stepid", "stepID", "step_id":
|
||||
// Handle field alias
|
||||
//
|
||||
// @todo consider adding an is empty check before overwriting
|
||||
err = y7s.DecodeScalar(n, "stepID", &r.StepID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
break
|
||||
|
||||
case "updatedby":
|
||||
// Handle references
|
||||
err = y7s.DecodeScalar(n, "updatedBy", &auxNodeValue)
|
||||
|
||||
@ -21,6 +21,11 @@ trigger: {
|
||||
goType: "uint64",
|
||||
storeIdent: "rel_step"
|
||||
dal: { type: "ID" }
|
||||
envoy: {
|
||||
yaml: {
|
||||
identKeyAlias: ["stepID", "step_id"]
|
||||
}
|
||||
}
|
||||
}
|
||||
enabled: {
|
||||
sortable: true,
|
||||
@ -37,11 +42,21 @@ trigger: {
|
||||
sortable: true,
|
||||
goType: "string"
|
||||
dal: { length: 64 }
|
||||
envoy: {
|
||||
yaml: {
|
||||
identKeyAlias: ["resourceType", "resource_type"]
|
||||
}
|
||||
}
|
||||
}
|
||||
event_type: {
|
||||
sortable: true,
|
||||
goType: "string"
|
||||
dal: {}
|
||||
envoy: {
|
||||
yaml: {
|
||||
identKeyAlias: ["eventType", "event_type"]
|
||||
}
|
||||
}
|
||||
}
|
||||
constraints: {
|
||||
goType: "types.TriggerConstraintSet"
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user