(opts *DeleteOptions)
| 80 | } |
| 81 | |
| 82 | func deleteRun(opts *DeleteOptions) error { |
| 83 | if opts.DeleteFlags.PackageId.Value != "" { |
| 84 | if opts.DeleteFlags.Version.Value == "" { |
| 85 | return fmt.Errorf("--version must be specified when --package-id is used") |
| 86 | } |
| 87 | |
| 88 | buildInfo, err := buildinformation.Get( |
| 89 | opts.Client, |
| 90 | opts.Client.GetSpaceID(), |
| 91 | buildinformation.BuildInformationQuery{ |
| 92 | PackageID: opts.DeleteFlags.PackageId.Value, |
| 93 | Filter: opts.DeleteFlags.Version.Value, |
| 94 | }) |
| 95 | if err != nil { |
| 96 | return err |
| 97 | } |
| 98 | |
| 99 | if len(buildInfo.Items) == 1 { |
| 100 | opts.ID = buildInfo.Items[0].GetID() |
| 101 | } |
| 102 | } |
| 103 | |
| 104 | if opts.ID == "" { |
| 105 | return fmt.Errorf("build information identifier is required but was not provided") |
| 106 | } |
| 107 | |
| 108 | itemToDelete, err := buildinformation.GetById(opts.Client, opts.Client.GetSpaceID(), opts.ID) |
| 109 | if err != nil { |
| 110 | return err |
| 111 | } |
| 112 | |
| 113 | if opts.ConfirmFlags.Confirm.Value { |
| 114 | return delete(opts.Client, itemToDelete) |
| 115 | } else { |
| 116 | return question.DeleteWithConfirmation(opts.Ask, "build information", itemToDelete.PackageID+" "+itemToDelete.Version, itemToDelete.ID, func() error { |
| 117 | return delete(opts.Client, itemToDelete) |
| 118 | }) |
| 119 | } |
| 120 | } |
| 121 | |
| 122 | func delete(client *client.Client, itemToDelete *buildinformation.BuildInformation) error { |
| 123 | return buildinformation.DeleteByID(client, client.GetSpaceID(), itemToDelete.GetID()) |
no test coverage detected