github.com/osievert/jfrog-cli-core@v1.2.7/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 (deleteProps *DeletePropsCommand) DeletePropsCommand(command PropsCommand) *DeletePropsCommand {
    16  	deleteProps.PropsCommand = command
    17  	return deleteProps
    18  }
    19  
    20  func (deleteProps *DeletePropsCommand) CommandName() string {
    21  	return "rt_delete_properties"
    22  }
    23  
    24  func (deleteProps *DeletePropsCommand) Run() error {
    25  	rtDetails, err := deleteProps.RtDetails()
    26  	if errorutils.CheckError(err) != nil {
    27  		return err
    28  	}
    29  	servicesManager, err := createPropsServiceManager(deleteProps.threads, rtDetails)
    30  	if err != nil {
    31  		return err
    32  	}
    33  	reader, err := searchItems(deleteProps.Spec(), servicesManager)
    34  	if err != nil {
    35  		return err
    36  	}
    37  	defer reader.Close()
    38  	propsParams := GetPropsParams(reader, deleteProps.props)
    39  	success, err := servicesManager.DeleteProps(propsParams)
    40  	result := deleteProps.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  }