MCPcopy Create free account
hub / github.com/OctopusDeploy/cli / deleteRun

Function deleteRun

pkg/cmd/package/delete/delete.go:84–125  ·  view source on GitHub ↗
(opts *DeleteOptions)

Source from the content-addressed store, hash-verified

82}
83
84func deleteRun(opts *DeleteOptions) error {
85 if !opts.NoPrompt {
86 if err := PromptMissing(opts); err != nil {
87 return err
88 }
89 }
90
91 if opts.ID == "" {
92 return fmt.Errorf("package identifier is required but was not provided")
93 }
94
95 packageToDelete, err := packages.GetByID(opts.Client, opts.Client.GetSpaceID(), opts.ID)
96 if err != nil {
97 return err
98 }
99
100 if opts.ConfirmFlags.Confirm.Value {
101 return delete(opts.Client, packageToDelete)
102 } else {
103 packageIdentity := packageToDelete.PackageID + " " + packageToDelete.Version
104 var enteredPackageIdentity string
105 if err := opts.Ask(&survey.Input{
106 Message: fmt.Sprintf(
107 `You are about to delete the package "%s" %s. This action cannot be reversed. To confirm, type the package identity (%s):`,
108 packageIdentity, output.Dimf("(%s)", packageToDelete.GetID()), packageIdentity),
109 }, &enteredPackageIdentity); err != nil {
110 return err
111 }
112
113 if enteredPackageIdentity != packageIdentity {
114 return fmt.Errorf("input value %s does match expected value %s", enteredPackageIdentity, packageIdentity)
115 }
116
117 err = delete(opts.Client, packageToDelete)
118 if err != nil {
119 return err
120 }
121
122 fmt.Printf("%s The package, \"%s\" %s was deleted successfully.\n", output.Red("✔"), packageIdentity, output.Dimf("(%s)", packageToDelete.GetID()))
123 return nil
124 }
125}
126
127func PromptMissing(opts *DeleteOptions) error {
128 if opts.ID == "" {

Callers 1

NewCmdDeleteFunction · 0.70

Calls 5

DimfFunction · 0.92
RedFunction · 0.92
PromptMissingFunction · 0.70
deleteFunction · 0.70
AskMethod · 0.65

Tested by

no test coverage detected