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 }