| 56 | } |
| 57 | |
| 58 | func (api *API) GetWorkflows(hash string) (map[string]config.Workflow, error) { |
| 59 | rows, err := api.db.Query("SELECT text FROM workflows WHERE config_hash = $1", hash) |
| 60 | if err != nil { |
| 61 | return nil, err |
| 62 | } |
| 63 | defer rows.Close() |
| 64 | workflows := map[string]config.Workflow{} |
| 65 | for rows.Next() { |
| 66 | var workflowText []byte |
| 67 | err = rows.Scan(&workflowText) |
| 68 | if err != nil { |
| 69 | return nil, err |
| 70 | } |
| 71 | workflow := config.Workflow{} |
| 72 | err = workflow.Parse(workflowText) |
| 73 | if err != nil { |
| 74 | return nil, fmt.Errorf("parse workflow: %w", err) |
| 75 | } |
| 76 | workflows[workflow.ID] = workflow |
| 77 | } |
| 78 | return workflows, nil |
| 79 | } |
| 80 | |
| 81 | func (api *API) GetWorkflowFromWorkflowRunID(workflowRunID string) (*config.Workflow, error) { |
| 82 | var workflowText []byte |