@@ -4,61 +4,76 @@ import (
4
4
"errors"
5
5
6
6
"github.com/auth0/auth0-cli/internal/ansi"
7
+ "github.com/auth0/auth0-cli/internal/prompt"
7
8
"github.com/spf13/cobra"
8
9
"gopkg.in/auth0.v5/management"
9
10
)
10
11
12
+ const (
13
+ userID = "id"
14
+ userEmail = "email"
15
+ )
16
+
11
17
func usersCmd (cli * cli ) * cobra.Command {
12
18
cmd := & cobra.Command {
13
19
Use : "users" ,
14
20
Short : "manage users." ,
15
21
}
16
22
17
23
cmd .SetUsageTemplate (resourceUsageTemplate ())
18
- cmd .AddCommand (getusersCmd (cli ))
24
+ cmd .AddCommand (showUserCmd (cli ))
19
25
20
26
return cmd
21
27
}
22
28
23
- func getusersCmd (cli * cli ) * cobra.Command {
29
+ func showUserCmd (cli * cli ) * cobra.Command {
24
30
var flags struct {
25
- id string
26
- email string
27
- fields string
31
+ ID string
32
+ Email string
33
+ Fields string
28
34
}
29
35
30
36
cmd := & cobra.Command {
31
- Use : "get " ,
32
- Short : "Get a user's details" ,
33
- Long : `$ auth0 users get
37
+ Use : "show " ,
38
+ Short : "Show a user's details" ,
39
+ Long : `$ auth0 users show --id id --email email
34
40
Get a user
35
41
` ,
42
+ PreRun : func (cmd * cobra.Command , args []string ) {
43
+ prepareInteractivity (cmd )
44
+ },
36
45
RunE : func (cmd * cobra.Command , args []string ) error {
37
- userID , err := cmd .LocalFlags ().GetString ("id" )
38
- if err != nil {
39
- return err
46
+ if shouldPrompt (cmd , userID ) && flags .Email == "" {
47
+ input := prompt .TextInput (userID , "Id:" , "ID of the user to show." , false )
48
+
49
+ if err := prompt .AskOne (input , & flags ); err != nil {
50
+ return err
51
+ }
40
52
}
41
53
42
- userEmail , err := cmd .LocalFlags ().GetString ("email" )
43
- if err != nil {
44
- return err
54
+ if shouldPrompt (cmd , userEmail ) && flags .ID == "" {
55
+ input := prompt .TextInput (userEmail , "Email:" , "Email of the user to show." , false )
56
+
57
+ if err := prompt .AskOne (input , & flags ); err != nil {
58
+ return err
59
+ }
45
60
}
46
61
47
- if userID == "" && userEmail == "" {
62
+ if flags . ID == "" && flags . Email == "" {
48
63
return errors .New ("User id or email flag must be specified" )
49
64
}
50
65
51
- if userID != "" && userEmail != "" {
66
+ if flags . ID != "" && flags . Email != "" {
52
67
return errors .New ("User id and email flags cannot be combined" )
53
68
}
54
69
55
70
var users []* management.User
56
71
var user * management.User
57
72
58
- if userID != "" {
73
+ if flags . ID != "" {
59
74
err := ansi .Spinner ("Getting user" , func () error {
60
75
var err error
61
- user , err = cli .api .User .Read (flags .id )
76
+ user , err = cli .api .User .Read (flags .ID )
62
77
return err
63
78
})
64
79
@@ -72,10 +87,10 @@ Get a user
72
87
return nil
73
88
}
74
89
75
- if userEmail != "" {
90
+ if flags . Email != "" {
76
91
err := ansi .Spinner ("Getting user(s)" , func () error {
77
92
var err error
78
- users , err = cli .api .User .ListByEmail (userEmail )
93
+ users , err = cli .api .User .ListByEmail (flags . Email )
79
94
return err
80
95
})
81
96
@@ -91,8 +106,8 @@ Get a user
91
106
},
92
107
}
93
108
94
- cmd .Flags ().StringVarP (& flags .id , "id" , "i" , "" , "User ID of user to get ." )
95
- cmd .Flags ().StringVarP (& flags .email , "email" , "e" , "" , "Email of user to get ." )
109
+ cmd .Flags ().StringVarP (& flags .ID , userID , "i" , "" , "ID of the user to show ." )
110
+ cmd .Flags ().StringVarP (& flags .Email , userEmail , "e" , "" , "Email of the user to show ." )
96
111
97
112
return cmd
98
113
}
0 commit comments