mirror of
https://github.com/oarkflow/mq.git
synced 2025-10-07 17:00:57 +08:00
feat: [wip] - Implement html node
This commit is contained in:
@@ -187,7 +187,7 @@ func (tm *DAG) ProcessTask(ctx context.Context, payload []byte) Result {
|
|||||||
if next == "true" {
|
if next == "true" {
|
||||||
nodes, err := tm.GetNextNodes(manager.currentNode)
|
nodes, err := tm.GetNextNodes(manager.currentNode)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return Result{Error: err}
|
return Result{Error: err, Ctx: ctx}
|
||||||
}
|
}
|
||||||
if len(nodes) > 0 {
|
if len(nodes) > 0 {
|
||||||
ctx = context.WithValue(ctx, "initial_node", nodes[0].ID)
|
ctx = context.WithValue(ctx, "initial_node", nodes[0].ID)
|
||||||
@@ -195,7 +195,11 @@ func (tm *DAG) ProcessTask(ctx context.Context, payload []byte) Result {
|
|||||||
}
|
}
|
||||||
firstNode, err := tm.parseInitialNode(ctx)
|
firstNode, err := tm.parseInitialNode(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return Result{Error: err}
|
return Result{Error: err, Ctx: ctx}
|
||||||
|
}
|
||||||
|
node, ok := tm.nodes.Get(firstNode)
|
||||||
|
if ok && node.Type != Page && payload == nil {
|
||||||
|
return Result{Error: fmt.Errorf("payload is required for node %s", firstNode), Ctx: ctx}
|
||||||
}
|
}
|
||||||
manager.ProcessTask(ctx, taskID, firstNode, payload)
|
manager.ProcessTask(ctx, taskID, firstNode, payload)
|
||||||
return <-resultCh
|
return <-resultCh
|
||||||
|
@@ -35,7 +35,7 @@ func Form(ctx context.Context, payload json.RawMessage) v2.Result {
|
|||||||
func NodeA(ctx context.Context, payload json.RawMessage) v2.Result {
|
func NodeA(ctx context.Context, payload json.RawMessage) v2.Result {
|
||||||
var data map[string]any
|
var data map[string]any
|
||||||
if err := json.Unmarshal(payload, &data); err != nil {
|
if err := json.Unmarshal(payload, &data); err != nil {
|
||||||
return v2.Result{Error: err}
|
return v2.Result{Error: err, Ctx: ctx}
|
||||||
}
|
}
|
||||||
data["allowed_voting"] = data["age"] == "18"
|
data["allowed_voting"] = data["age"] == "18"
|
||||||
updatedPayload, _ := json.Marshal(data)
|
updatedPayload, _ := json.Marshal(data)
|
||||||
@@ -98,10 +98,10 @@ func main() {
|
|||||||
dag.AddNode(v2.Process, "NodeB", NodeB)
|
dag.AddNode(v2.Process, "NodeB", NodeB)
|
||||||
dag.AddNode(v2.Process, "NodeC", NodeC)
|
dag.AddNode(v2.Process, "NodeC", NodeC)
|
||||||
dag.AddNode(v2.Page, "Result", Result)
|
dag.AddNode(v2.Page, "Result", Result)
|
||||||
dag.AddEdge("Form", "NodeA")
|
// dag.AddEdge("Form", "NodeA")
|
||||||
dag.AddEdge("NodeA", "NodeB")
|
dag.AddEdge("NodeA", "NodeB")
|
||||||
dag.AddEdge("NodeB", "NodeC")
|
dag.AddEdge("NodeB", "NodeC")
|
||||||
dag.AddEdge("NodeC", "Result")
|
// dag.AddEdge("NodeC", "Result")
|
||||||
if dag.Error != nil {
|
if dag.Error != nil {
|
||||||
panic(dag.Error)
|
panic(dag.Error)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user