package main import ( "encoding/json" "fmt" "github.com/oarkflow/mq/dag/v2" ) func main() { graph := v2.NewGraph() customRegistrationNode := &v2.Operation{ Type: "page", ID: "customRegistration", Content: `
Click here to verify your email
Verify`, } dashboardNode := &v2.Operation{ Type: "page", ID: "dashboard", Content: `Welcome to your dashboard!
`, } manualVerificationNode := &v2.Operation{ Type: "page", ID: "manualVerificationPage", Content: `Please verify the user's information manually.
`, } verifyApprovedNode := &v2.Operation{ Type: "process", ID: "verifyApproved", Func: func(task *v2.Task) v2.Result { return v2.Result{} }, } denyVerificationNode := &v2.Operation{ Type: "process", ID: "denyVerification", Func: func(task *v2.Task) v2.Result { task.FinalResult = "Verification Denied" return v2.Result{} }, } graph.AddNode(customRegistrationNode) graph.AddNode(checkValidityNode) graph.AddNode(checkManualVerificationNode) graph.AddNode(approveCustomerNode) graph.AddNode(sendVerificationEmailNode) graph.AddNode(verificationLinkPageNode) graph.AddNode(dashboardNode) graph.AddNode(manualVerificationNode) graph.AddNode(verifyApprovedNode) graph.AddNode(denyVerificationNode) graph.AddEdge("customRegistration", "checkValidity") graph.AddEdge("checkValidity", "checkManualVerification") graph.AddEdge("checkManualVerification", "approveCustomer") graph.AddEdge("checkManualVerification", "manualVerificationPage") graph.AddEdge("approveCustomer", "sendVerificationEmail") graph.AddEdge("sendVerificationEmail", "verificationLinkPage") graph.AddEdge("verificationLinkPage", "dashboard") graph.AddEdge("manualVerificationPage", "verifyApproved") graph.AddEdge("manualVerificationPage", "denyVerification") graph.AddEdge("verifyApproved", "approveCustomer") graph.AddEdge("denyVerification", "verificationLinkPage") graph.Start() } func isValidEmail(email string) bool { return email != "" } func isValidPhone(phone string) bool { return phone != "" }