github.com/jfrog/jfrog-cli-core@v1.12.1/artifactory/commands/generic/setprops.go (about)

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