| 90 | } |
| 91 | |
| 92 | func DeleteRun(opts *DeleteOptions) error { |
| 93 | project, err := getProject(opts) |
| 94 | if err != nil { |
| 95 | return err |
| 96 | } |
| 97 | |
| 98 | if shared.AreRunbooksInGit(project) { |
| 99 | gitReference, err := getGitReference(opts, project) |
| 100 | if err != nil { |
| 101 | return err |
| 102 | } |
| 103 | |
| 104 | runbook, err := getGitRunbook(opts, project, gitReference) |
| 105 | if err != nil { |
| 106 | return err |
| 107 | } |
| 108 | |
| 109 | if opts.SkipConfirmation { |
| 110 | return deleteGitRunbook(opts, runbook, gitReference) |
| 111 | } else { |
| 112 | return question.DeleteWithConfirmation(opts.Ask, resourceDescription, runbook.Name, runbook.GetID(), func() error { |
| 113 | return deleteGitRunbook(opts, runbook, gitReference) |
| 114 | }) |
| 115 | } |
| 116 | } else { |
| 117 | runbook, err := getDbRunbook(opts, project) |
| 118 | if err != nil { |
| 119 | return err |
| 120 | } |
| 121 | |
| 122 | if opts.SkipConfirmation { |
| 123 | return deleteDbRunbook(opts, runbook) |
| 124 | } else { |
| 125 | return question.DeleteWithConfirmation(opts.Ask, resourceDescription, runbook.Name, runbook.GetID(), func() error { |
| 126 | return deleteDbRunbook(opts, runbook) |
| 127 | }) |
| 128 | } |
| 129 | } |
| 130 | |
| 131 | } |
| 132 | |
| 133 | func getDbRunbook(opts *DeleteOptions, project *projects.Project) (*runbooks.Runbook, error) { |
| 134 | var runbook *runbooks.Runbook |