github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/usersmanagement/userscreate.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/artifactory/services" 9 "github.com/jfrog/jfrog-client-go/utils/log" 10 ) 11 12 type UsersCreateCommand struct { 13 serverDetails *config.ServerDetails 14 users []services.User 15 usersGroups *[]string 16 replaceIfExists bool 17 } 18 19 func NewUsersCreateCommand() *UsersCreateCommand { 20 return &UsersCreateCommand{} 21 } 22 23 func (ucc *UsersCreateCommand) SetUsers(users []services.User) *UsersCreateCommand { 24 ucc.users = users 25 return ucc 26 } 27 28 func (ucc *UsersCreateCommand) Users() []services.User { 29 return ucc.users 30 } 31 32 func (ucc *UsersCreateCommand) ServerDetails() (*config.ServerDetails, error) { 33 return ucc.serverDetails, nil 34 } 35 36 func (ucc *UsersCreateCommand) SetServerDetails(serverDetails *config.ServerDetails) *UsersCreateCommand { 37 ucc.serverDetails = serverDetails 38 return ucc 39 } 40 41 func (ucc *UsersCreateCommand) SetUsersGroups(usersGroups *[]string) *UsersCreateCommand { 42 ucc.usersGroups = usersGroups 43 return ucc 44 } 45 46 func (ucc *UsersCreateCommand) SetReplaceIfExists(replaceIfExists bool) *UsersCreateCommand { 47 ucc.replaceIfExists = replaceIfExists 48 return ucc 49 } 50 51 func (ucc *UsersCreateCommand) ReplaceIfExists() bool { 52 return ucc.replaceIfExists 53 } 54 55 func (ucc *UsersCreateCommand) CommandName() string { 56 return "rt_users_create" 57 } 58 59 func (ucc *UsersCreateCommand) Run() error { 60 servicesManager, err := utils.CreateServiceManager(ucc.serverDetails, -1, 0, false) 61 if err != nil { 62 return err 63 } 64 65 for _, user := range ucc.users { 66 log.Info(fmt.Sprintf("Creating user %s...", user.Name)) 67 user.Groups = ucc.usersGroups 68 params := new(services.UserParams) 69 params.UserDetails = user 70 params.ReplaceIfExists = ucc.ReplaceIfExists() 71 err = servicesManager.CreateUser(*params) 72 if err != nil { 73 break 74 } 75 } 76 return err 77 }