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

Function selectVersion

pkg/cmd/package/delete/delete.go:164–191  ·  view source on GitHub ↗
(opts *DeleteOptions, packageID string)

Source from the content-addressed store, hash-verified

162}
163
164func selectVersion(opts *DeleteOptions, packageID string) (*packages.Package, error) {
165 packageVersions, err := packages.Get(opts.Client, opts.Client.GetSpaceID(), packages.PackagesQuery{
166 NuGetPackageID: packageID,
167 })
168 if err != nil {
169 return nil, err
170 }
171 allPackageVersions, err := packageVersions.GetAllPages(opts.Client.Sling())
172 if err != nil {
173 return nil, err
174 }
175
176 var packageVersionToDelete *packages.Package
177 if opts.DeleteFlags.Version.Value != "" {
178 idx := slices.IndexFunc(allPackageVersions, func(p *packages.Package) bool { return p.Version == opts.DeleteFlags.Version.Value })
179 if idx == -1 {
180 return nil, fmt.Errorf("unable to find a version matching the specified version: '%s", opts.DeleteFlags.Version.Value)
181 }
182 packageVersionToDelete = allPackageVersions[idx]
183 } else {
184 packageVersionToDelete, err = question.SelectMap(opts.Ask, "Select the version you wish to delete:", allPackageVersions, func(item *packages.Package) string { return item.Version })
185 if err != nil {
186 return nil, err
187 }
188 }
189
190 return packageVersionToDelete, nil
191}
192
193func delete(client *client.Client, packageToDelete *packages.Package) error {
194 return packages.DeleteByID(client, client.GetSpaceID(), packageToDelete.GetID())

Callers 1

PromptMissingFunction · 0.85

Calls 2

SelectMapFunction · 0.92
GetMethod · 0.65

Tested by

no test coverage detected