@@ -6,49 +6,68 @@ import (
"github.com/MichaelMure/git-bug/input"
)
+type createUserOptions struct {
+ name string
+ email string
+ avatarURL string
+}
+
func newUserCreateCommand() *cobra.Command {
env := newEnv()
+ options := createUserOptions{}
cmd := &cobra.Command{
Use: "create",
Short: "Create a new identity.",
PreRunE: loadBackend(env),
PostRunE: closeBackend(env),
RunE: func(cmd *cobra.Command, args []string) error {
- return runUserCreate(env)
+ return runUserCreate(env, options)
},
}
+ flags := cmd.Flags()
+ flags.StringVarP(&options.name, "name", "n", "", "Name to identify the user")
+ flags.StringVarP(&options.email, "email", "e", "", "Email of the user")
+ flags.StringVarP(&options.avatarURL, "avatar", "a", "", "Avatar URL")
+
return cmd
}
-func runUserCreate(env *Env) error {
- preName, err := env.backend.GetUserName()
- if err != nil {
- return err
- }
+func runUserCreate(env *Env, opts createUserOptions) error {
- name, err := input.PromptDefault("Name", "name", preName, input.Required)
- if err != nil {
- return err
+ if opts.name == "" {
+ preName, err := env.backend.GetUserName()
+ if err != nil {
+ return err
+ }
+ opts.name, err = input.PromptDefault("Name", "name", preName, input.Required)
+ if err != nil {
+ return err
+ }
}
- preEmail, err := env.backend.GetUserEmail()
- if err != nil {
- return err
- }
+ if opts.email == "" {
+ preEmail, err := env.backend.GetUserEmail()
+ if err != nil {
+ return err
+ }
- email, err := input.PromptDefault("Email", "email", preEmail, input.Required)
- if err != nil {
- return err
+ opts.email, err = input.PromptDefault("Email", "email", preEmail, input.Required)
+ if err != nil {
+ return err
+ }
}
- avatarURL, err := input.Prompt("Avatar URL", "avatar")
- if err != nil {
- return err
+ if opts.avatarURL == "" {
+ var err error
+ opts.avatarURL, err = input.Prompt("Avatar URL", "avatar")
+ if err != nil {
+ return err
+ }
}
- id, err := env.backend.NewIdentityRaw(name, email, "", avatarURL, nil, nil)
+ id, err := env.backend.NewIdentityRaw(opts.name, opts.email, "", opts.avatarURL, nil, nil)
if err != nil {
return err
}
@@ -17,10 +17,22 @@ Create a new identity.
.SH OPTIONS
+.PP
+\fB\-a\fP, \fB\-\-avatar\fP=""
+ Avatar URL
+
+.PP
+\fB\-e\fP, \fB\-\-email\fP=""
+ Email of the user
+
.PP
\fB\-h\fP, \fB\-\-help\fP[=false]
help for create
+.PP
+\fB\-n\fP, \fB\-\-name\fP=""
+ Name to identify the user
+
.SH SEE ALSO
.PP
@@ -9,7 +9,10 @@ git-bug user create [flags]
### Options
```
- -h, --help help for create
+ -a, --avatar string Avatar URL
+ -e, --email string Email of the user
+ -h, --help help for create
+ -n, --name string Name to identify the user
```
### SEE ALSO