github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/generic/deleteprops.go (about)

     1  package generic
     2  
     3  import (
     4  	"github.com/jfrog/jfrog-client-go/utils/errorutils"
     5  )
     6  
     7  type DeletePropsCommand struct {
     8  	PropsCommand
     9  }
    10  
    11  func NewDeletePropsCommand() *DeletePropsCommand {
    12  	return &DeletePropsCommand{}
    13  }
    14  
    15  func (dp *DeletePropsCommand) DeletePropsCommand(command PropsCommand) *DeletePropsCommand {
    16  	dp.PropsCommand = command
    17  	return dp
    18  }
    19  
    20  func (dp *DeletePropsCommand) CommandName() string {
    21  	return "rt_delete_properties"
    22  }
    23  
    24  func (dp *DeletePropsCommand) Run() error {
    25  	serverDetails, err := dp.ServerDetails()
    26  	if errorutils.CheckError(err) != nil {
    27  		return err
    28  	}
    29  	servicesManager, err := createPropsServiceManager(dp.threads, dp.retries, dp.retryWaitTimeMilliSecs, serverDetails)
    30  	if err != nil {
    31  		return err
    32  	}
    33  	reader, err := searchItems(dp.Spec(), servicesManager)
    34  	if err != nil {
    35  		return err
    36  	}
    37  	defer reader.Close()
    38  	propsParams := GetPropsParams(reader, dp.props)
    39  	success, err := servicesManager.DeleteProps(propsParams)
    40  	result := dp.Result()
    41  	result.SetSuccessCount(success)
    42  	totalLength, totalLengthErr := reader.Length()
    43  	result.SetFailCount(totalLength - success)
    44  	if totalLengthErr != nil {
    45  		return totalLengthErr
    46  	}
    47  	return err
    48  }