bridge_auth.go

 1package commands
 2
 3import (
 4	"fmt"
 5
 6	"github.com/spf13/cobra"
 7
 8	text "github.com/MichaelMure/go-term-text"
 9
10	"github.com/MichaelMure/git-bug/bridge/core"
11	"github.com/MichaelMure/git-bug/util/colors"
12)
13
14func runBridgeAuth(cmd *cobra.Command, args []string) error {
15	tokens, err := core.ListTokens(repo)
16	if err != nil {
17		return err
18	}
19
20	for _, token := range tokens {
21		token, err := core.LoadToken(repo, token)
22		if err != nil {
23			return err
24		}
25		printToken(token)
26	}
27
28	return nil
29}
30
31func printToken(token *core.Token) {
32	targetFmt := text.LeftPadMaxLine(token.Target, 10, 0)
33
34	fmt.Printf("%s %s %s %s\n",
35		colors.Cyan(token.ID().Human()),
36		colors.Yellow(targetFmt),
37		colors.Magenta("token"),
38		token.Value,
39	)
40}
41
42var bridgeAuthCmd = &cobra.Command{
43	Use:     "auth",
44	Short:   "List all known bridge authentication credentials.",
45	PreRunE: loadRepo,
46	RunE:    runBridgeAuth,
47	Args:    cobra.NoArgs,
48}
49
50func init() {
51	bridgeCmd.AddCommand(bridgeAuthCmd)
52	bridgeAuthCmd.Flags().SortFlags = false
53}