diff options
Diffstat (limited to 'commands/bridge_auth_show.go')
-rw-r--r-- | commands/bridge_auth_show.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/commands/bridge_auth_show.go b/commands/bridge_auth_show.go index 5352957d..02c56806 100644 --- a/commands/bridge_auth_show.go +++ b/commands/bridge_auth_show.go @@ -7,17 +7,46 @@ import ( "github.com/spf13/cobra" "github.com/MichaelMure/git-bug/bridge/core/auth" + "github.com/MichaelMure/git-bug/cache" + "github.com/MichaelMure/git-bug/util/colors" + "github.com/MichaelMure/git-bug/util/interrupt" ) func runBridgeAuthShow(cmd *cobra.Command, args []string) error { + backend, err := cache.NewRepoCache(repo) + if err != nil { + return err + } + defer backend.Close() + interrupt.RegisterCleaner(backend.Close) + cred, err := auth.LoadWithPrefix(repo, args[0]) if err != nil { return err } + var userFmt string + + switch cred.UserId() { + case auth.DefaultUserId: + userFmt = colors.Red("default user") + default: + user, err := backend.ResolveIdentity(cred.UserId()) + if err != nil { + return err + } + userFmt = user.DisplayName() + + defaultUser, _ := backend.GetUserIdentity() + if cred.UserId() == defaultUser.Id() { + userFmt = colors.Red(userFmt) + } + } + fmt.Printf("Id: %s\n", cred.ID()) fmt.Printf("Target: %s\n", cred.Target()) fmt.Printf("Kind: %s\n", cred.Kind()) + fmt.Printf("User: %s\n", userFmt) fmt.Printf("Creation: %s\n", cred.CreateTime().Format(time.RFC822)) switch cred := cred.(type) { |