(f factory.Factory)
| 51 | } |
| 52 | |
| 53 | func NewCmdDelete(f factory.Factory) *cobra.Command { |
| 54 | deleteFlags := NewDeleteFlags() |
| 55 | confirmFlags := question.NewConfirmFlags() |
| 56 | cmd := &cobra.Command{ |
| 57 | Use: "delete {<id>}", |
| 58 | Short: "Delete a package", |
| 59 | Long: "Delete a package in Octopus Deploy", |
| 60 | Aliases: []string{"del", "rm", "remove"}, |
| 61 | Example: heredoc.Docf(` |
| 62 | %[1]s package delete Packages-1 |
| 63 | %[1]s package rm Packages-1 |
| 64 | %[1]s package del --package-id ThePackage --version 1.0.0 |
| 65 | `, constants.ExecutableName), |
| 66 | RunE: func(c *cobra.Command, args []string) error { |
| 67 | if len(args) == 0 { |
| 68 | args = append(args, "") |
| 69 | } |
| 70 | |
| 71 | opts := NewDeleteOptions(args[0], deleteFlags, confirmFlags, cmd.NewDependencies(f, c)) |
| 72 | return deleteRun(opts) |
| 73 | }, |
| 74 | } |
| 75 | |
| 76 | flags := cmd.Flags() |
| 77 | flags.StringVarP(&deleteFlags.PackageId.Value, deleteFlags.PackageId.Name, "p", "", "The Package ID of the package to delete") |
| 78 | flags.StringVarP(&deleteFlags.Version.Value, deleteFlags.Version.Name, "v", "", "The version of the package to delete") |
| 79 | question.RegisterConfirmDeletionFlag(cmd, &confirmFlags.Confirm.Value, "package") |
| 80 | |
| 81 | return cmd |
| 82 | } |
| 83 | |
| 84 | func deleteRun(opts *DeleteOptions) error { |
| 85 | if !opts.NoPrompt { |
nothing calls this directly
no test coverage detected