github.com/jfrog/jfrog-cli-core/v2@v2.52.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  }