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

     1  package permissiontarget
     2  
     3  import (
     4  	rtUtils "github.com/jfrog/jfrog-cli-core/artifactory/utils"
     5  	"github.com/jfrog/jfrog-cli-core/utils/config"
     6  	"github.com/jfrog/jfrog-cli-core/utils/coreutils"
     7  )
     8  
     9  type PermissionTargetDeleteCommand struct {
    10  	rtDetails            *config.ServerDetails
    11  	permissionTargetName string
    12  	quiet                bool
    13  }
    14  
    15  func NewPermissionTargetDeleteCommand() *PermissionTargetDeleteCommand {
    16  	return &PermissionTargetDeleteCommand{}
    17  }
    18  
    19  func (ptdc *PermissionTargetDeleteCommand) SetPermissionTargetName(permissionTargetName string) *PermissionTargetDeleteCommand {
    20  	ptdc.permissionTargetName = permissionTargetName
    21  	return ptdc
    22  }
    23  
    24  func (ptdc *PermissionTargetDeleteCommand) SetQuiet(quiet bool) *PermissionTargetDeleteCommand {
    25  	ptdc.quiet = quiet
    26  	return ptdc
    27  }
    28  
    29  func (ptdc *PermissionTargetDeleteCommand) SetServerDetails(serverDetails *config.ServerDetails) *PermissionTargetDeleteCommand {
    30  	ptdc.rtDetails = serverDetails
    31  	return ptdc
    32  }
    33  
    34  func (ptdc *PermissionTargetDeleteCommand) ServerDetails() (*config.ServerDetails, error) {
    35  	return ptdc.rtDetails, nil
    36  }
    37  
    38  func (ptdc *PermissionTargetDeleteCommand) CommandName() string {
    39  	return "rt_permission_target_delete"
    40  }
    41  
    42  func (ptdc *PermissionTargetDeleteCommand) Run() (err error) {
    43  	if !ptdc.quiet && !coreutils.AskYesNo("Are you sure you want to permanently delete the permission target "+ptdc.permissionTargetName+"?", false) {
    44  		return nil
    45  	}
    46  	servicesManager, err := rtUtils.CreateServiceManager(ptdc.rtDetails, -1, false)
    47  	if err != nil {
    48  		return err
    49  	}
    50  	return servicesManager.DeletePermissionTarget(ptdc.permissionTargetName)
    51  }