github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/utils/delete.go (about)

     1  package utils
     2  
     3  import (
     4  	"github.com/jfrog/jfrog-cli-core/v2/utils/config"
     5  	"github.com/jfrog/jfrog-cli-core/v2/utils/coreutils"
     6  	"github.com/jfrog/jfrog-client-go/artifactory"
     7  	rtclientutils "github.com/jfrog/jfrog-client-go/artifactory/services/utils"
     8  	"github.com/jfrog/jfrog-client-go/utils/io/content"
     9  	"github.com/jfrog/jfrog-client-go/utils/log"
    10  )
    11  
    12  func ConfirmDelete(pathsToDeleteReader *content.ContentReader) (bool, error) {
    13  	length, err := pathsToDeleteReader.Length()
    14  	if err != nil || length < 1 {
    15  		return false, err
    16  	}
    17  	for resultItem := new(rtclientutils.ResultItem); pathsToDeleteReader.NextRecord(resultItem) == nil; resultItem = new(rtclientutils.ResultItem) {
    18  		log.Output("  " + resultItem.GetItemRelativePath())
    19  	}
    20  	if err := pathsToDeleteReader.GetError(); err != nil {
    21  		return false, err
    22  	}
    23  	pathsToDeleteReader.Reset()
    24  	return coreutils.AskYesNo("Are you sure you want to delete the above paths?", false), nil
    25  }
    26  
    27  func CreateDeleteServiceManager(artDetails *config.ServerDetails, threads, httpRetries, httpRetryWaitMilliSecs int, dryRun bool) (artifactory.ArtifactoryServicesManager, error) {
    28  	return CreateServiceManagerWithThreads(artDetails, dryRun, threads, httpRetries, httpRetryWaitMilliSecs)
    29  }