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