github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/usersmanagement/usersdelete.go (about) 1 package usersmanagement 2 3 import ( 4 "fmt" 5 6 "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils" 7 "github.com/jfrog/jfrog-cli-core/v2/utils/config" 8 "github.com/jfrog/jfrog-client-go/utils/log" 9 ) 10 11 type UsersDeleteCommand struct { 12 serverDetails *config.ServerDetails 13 usersNames []string 14 } 15 16 func NewUsersDeleteCommand() *UsersDeleteCommand { 17 return &UsersDeleteCommand{} 18 } 19 20 func (udc *UsersDeleteCommand) SetUsers(usersNames []string) *UsersDeleteCommand { 21 udc.usersNames = usersNames 22 return udc 23 } 24 25 func (udc *UsersDeleteCommand) UsersNames() []string { 26 return udc.usersNames 27 } 28 29 func (udc *UsersDeleteCommand) ServerDetails() (*config.ServerDetails, error) { 30 return udc.serverDetails, nil 31 } 32 33 func (udc *UsersDeleteCommand) SetServerDetails(serverDetails *config.ServerDetails) *UsersDeleteCommand { 34 udc.serverDetails = serverDetails 35 return udc 36 } 37 38 func (udc *UsersDeleteCommand) CommandName() string { 39 return "rt_users_delete" 40 } 41 42 func (udc *UsersDeleteCommand) Run() error { 43 servicesManager, err := utils.CreateServiceManager(udc.serverDetails, -1, 0, false) 44 if err != nil { 45 return err 46 } 47 48 for _, userName := range udc.usersNames { 49 log.Info(fmt.Sprintf("Deleting user %s...", userName)) 50 err = servicesManager.DeleteUser(userName) 51 if err != nil { 52 break 53 } 54 } 55 return err 56 }