| 79 | } |
| 80 | |
| 81 | func (api *API) GetWorkflowFromWorkflowRunID(workflowRunID string) (*config.Workflow, error) { |
| 82 | var workflowText []byte |
| 83 | var workflowID string |
| 84 | err := api.db.QueryRow(`select workflows.id, text from workflows join workflow_runs on (workflow_runs.config_hash, workflow_runs.workflow_id) = (workflows.config_hash, workflows.id) where workflow_runs.id = $1`, |
| 85 | workflowRunID). |
| 86 | Scan(&workflowID, &workflowText) |
| 87 | if err != nil { |
| 88 | return nil, err |
| 89 | } |
| 90 | workflow := &config.Workflow{} |
| 91 | err = workflow.Parse(workflowText) |
| 92 | if err != nil { |
| 93 | return nil, err |
| 94 | } |
| 95 | return workflow, nil |
| 96 | } |
| 97 | |
| 98 | func (api *API) ScheduleTask(workflowRunID string, workflowTaskID string, input map[string]interface{}) error { |
| 99 | taskID, err := uuid.NewRandom() |