aboutsummaryrefslogtreecommitdiffstats
path: root/commands/bridge_auth.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/bridge_auth.go')
-rw-r--r--commands/bridge_auth.go53
1 files changed, 53 insertions, 0 deletions
diff --git a/commands/bridge_auth.go b/commands/bridge_auth.go
new file mode 100644
index 00000000..e7fce1bd
--- /dev/null
+++ b/commands/bridge_auth.go
@@ -0,0 +1,53 @@
+package commands
+
+import (
+ "fmt"
+
+ "github.com/spf13/cobra"
+
+ text "github.com/MichaelMure/go-term-text"
+
+ "github.com/MichaelMure/git-bug/bridge/core"
+ "github.com/MichaelMure/git-bug/util/colors"
+)
+
+func runBridgeAuth(cmd *cobra.Command, args []string) error {
+ tokens, err := core.ListTokens(repo)
+ if err != nil {
+ return err
+ }
+
+ for _, token := range tokens {
+ token, err := core.LoadToken(repo, token)
+ if err != nil {
+ return err
+ }
+ printToken(token)
+ }
+
+ return nil
+}
+
+func printToken(token *core.Token) {
+ targetFmt := text.LeftPadMaxLine(token.Target, 10, 0)
+
+ fmt.Printf("%s %s %s %s\n",
+ colors.Cyan(token.ID().Human()),
+ colors.Yellow(targetFmt),
+ colors.Magenta("token"),
+ token.Value,
+ )
+}
+
+var bridgeAuthCmd = &cobra.Command{
+ Use: "auth",
+ Short: "List all known bridge authentication credentials.",
+ PreRunE: loadRepo,
+ RunE: runBridgeAuth,
+ Args: cobra.NoArgs,
+}
+
+func init() {
+ bridgeCmd.AddCommand(bridgeAuthCmd)
+ bridgeAuthCmd.Flags().SortFlags = false
+}