github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/buildinfo/builddiscard.go (about) 1 package buildinfo 2 3 import ( 4 "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils" 5 "github.com/jfrog/jfrog-cli-core/v2/utils/config" 6 "github.com/jfrog/jfrog-client-go/artifactory/services" 7 ) 8 9 type BuildDiscardCommand struct { 10 serverDetails *config.ServerDetails 11 services.DiscardBuildsParams 12 } 13 14 func NewBuildDiscardCommand() *BuildDiscardCommand { 15 return &BuildDiscardCommand{} 16 } 17 18 func (buildDiscard *BuildDiscardCommand) SetServerDetails(serverDetails *config.ServerDetails) *BuildDiscardCommand { 19 buildDiscard.serverDetails = serverDetails 20 return buildDiscard 21 } 22 23 func (buildDiscard *BuildDiscardCommand) SetDiscardBuildsParams(params services.DiscardBuildsParams) *BuildDiscardCommand { 24 buildDiscard.DiscardBuildsParams = params 25 return buildDiscard 26 } 27 28 func (buildDiscard *BuildDiscardCommand) Run() error { 29 servicesManager, err := utils.CreateServiceManager(buildDiscard.serverDetails, -1, 0, false) 30 if err != nil { 31 return err 32 } 33 return servicesManager.DiscardBuilds(buildDiscard.DiscardBuildsParams) 34 } 35 36 func (buildDiscard *BuildDiscardCommand) ServerDetails() (*config.ServerDetails, error) { 37 return buildDiscard.serverDetails, nil 38 } 39 40 func (buildDiscard *BuildDiscardCommand) CommandName() string { 41 return "rt_build_discard" 42 }