github.com/jfrog/jfrog-cli-core/v2@v2.52.0/artifactory/commands/usersmanagement/groupcreate.go (about)

     1  package usersmanagement
     2  
     3  import (
     4  	"github.com/jfrog/jfrog-cli-core/v2/artifactory/utils"
     5  	"github.com/jfrog/jfrog-cli-core/v2/utils/config"
     6  	"github.com/jfrog/jfrog-client-go/artifactory/services"
     7  )
     8  
     9  type GroupCreateCommand struct {
    10  	rtDetails       *config.ServerDetails
    11  	name            string
    12  	replaceIfExists bool
    13  }
    14  
    15  func NewGroupCreateCommand() *GroupCreateCommand {
    16  	return &GroupCreateCommand{}
    17  }
    18  
    19  func (gcc *GroupCreateCommand) ServerDetails() (*config.ServerDetails, error) {
    20  	return gcc.rtDetails, nil
    21  }
    22  
    23  func (gcc *GroupCreateCommand) SetServerDetails(serverDetails *config.ServerDetails) *GroupCreateCommand {
    24  	gcc.rtDetails = serverDetails
    25  	return gcc
    26  }
    27  
    28  func (gcc *GroupCreateCommand) SetName(groupName string) *GroupCreateCommand {
    29  	gcc.name = groupName
    30  	return gcc
    31  }
    32  
    33  func (gcc *GroupCreateCommand) Name() string {
    34  	return gcc.name
    35  }
    36  
    37  func (gcc *GroupCreateCommand) SetReplaceIfExists(replaceIfExists bool) *GroupCreateCommand {
    38  	gcc.replaceIfExists = replaceIfExists
    39  	return gcc
    40  }
    41  
    42  func (gcc *GroupCreateCommand) ReplaceIfExists() bool {
    43  	return gcc.replaceIfExists
    44  }
    45  
    46  func (gcc *GroupCreateCommand) CommandName() string {
    47  	return "rt_group_create"
    48  }
    49  
    50  func (gcc *GroupCreateCommand) Run() error {
    51  	servicesManager, err := utils.CreateServiceManager(gcc.rtDetails, -1, 0, false)
    52  	if err != nil {
    53  		return err
    54  	}
    55  	group := new(services.Group)
    56  	group.Name = gcc.Name()
    57  	params := new(services.GroupParams)
    58  	params.GroupDetails = *group
    59  	params.ReplaceIfExists = gcc.ReplaceIfExists()
    60  	return servicesManager.CreateGroup(*params)
    61  }