1package commands
2
3import (
4 "errors"
5 "fmt"
6
7 "github.com/MichaelMure/git-bug/identity"
8 "github.com/spf13/cobra"
9)
10
11func runId(cmd *cobra.Command, args []string) error {
12 if len(args) > 1 {
13 return errors.New("only one identity can be displayed at a time")
14 }
15
16 var id *identity.Identity
17 var err error
18
19 if len(args) == 1 {
20 id, err = identity.Read(repo, args[0])
21 } else {
22 id, err = identity.GetUserIdentity(repo)
23 }
24
25 if err != nil {
26 return err
27 }
28
29 fmt.Printf("Id: %s\n", id.Id())
30 fmt.Printf("Identity: %s\n", id.DisplayName())
31 fmt.Printf("Name: %s\n", id.Name())
32 fmt.Printf("Login: %s\n", id.Login())
33 fmt.Printf("Email: %s\n", id.Email())
34 fmt.Printf("Protected: %v\n", id.IsProtected())
35
36 return nil
37}
38
39var idCmd = &cobra.Command{
40 Use: "id [<id>]",
41 Short: "Display or change the user identity",
42 PreRunE: loadRepo,
43 RunE: runId,
44}
45
46func init() {
47 RootCmd.AddCommand(idCmd)
48 selectCmd.Flags().SortFlags = false
49}