update.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package user
  2. import (
  3. "github.com/gravitl/netmaker/cli/functions"
  4. "github.com/gravitl/netmaker/models"
  5. "github.com/spf13/cobra"
  6. )
  7. var userUpdateCmd = &cobra.Command{
  8. Use: "update [USER NAME]",
  9. Args: cobra.ExactArgs(1),
  10. Short: "Update a user",
  11. Long: `Update a user`,
  12. Run: func(cmd *cobra.Command, args []string) {
  13. user := &models.User{UserName: args[0]}
  14. if platformID != "" {
  15. user.PlatformRoleID = models.UserRoleID(platformID)
  16. }
  17. if len(groups) > 0 {
  18. grMap := make(map[models.UserGroupID]struct{})
  19. for _, groupID := range groups {
  20. grMap[models.UserGroupID(groupID)] = struct{}{}
  21. }
  22. user.UserGroups = grMap
  23. }
  24. functions.PrettyPrint(functions.UpdateUser(user))
  25. },
  26. }
  27. func init() {
  28. userUpdateCmd.Flags().StringVar(&password, "password", "", "Password of the user")
  29. userUpdateCmd.Flags().StringVarP(&platformID, "platform-role", "r", "",
  30. "Platform Role of the user; run `nmctl roles list` to see available user roles")
  31. userUpdateCmd.PersistentFlags().StringToStringVarP(&networkRoles, "network-roles", "n", nil,
  32. "Mapping of networkID and list of roles user will be part of (comma separated)")
  33. userUpdateCmd.Flags().BoolVar(&admin, "admin", false, "Make the user an admin ? (deprecated v0.25.0 onwards)")
  34. userUpdateCmd.Flags().StringArrayVarP(&groups, "groups", "g", nil, "List of user groups the user will be part of (comma separated)")
  35. rootCmd.AddCommand(userUpdateCmd)
  36. }