diff options
author | Amine <hilalyamine@gmail.com> | 2019-09-17 14:11:16 +0200 |
---|---|---|
committer | amine <hilalyamine@gmail.com> | 2019-11-09 13:25:07 +0100 |
commit | 9370e1292b99bc443fe9128d670f36a94f996ca9 (patch) | |
tree | 221b1f933e28bc51d6af809f2972e80fd385ad7c | |
parent | 56551b6a2232e52e03765e90d4504391e30a824a (diff) | |
download | git-bug-9370e1292b99bc443fe9128d670f36a94f996ca9.tar.gz |
commands: add bridge token subcommand
-rw-r--r-- | commands/bridge_token.go | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/commands/bridge_token.go b/commands/bridge_token.go new file mode 100644 index 00000000..6cb6c4b7 --- /dev/null +++ b/commands/bridge_token.go @@ -0,0 +1,64 @@ +package commands + +import ( + "fmt" + + "github.com/spf13/cobra" + + "github.com/MichaelMure/git-bug/bridge/core" + "github.com/MichaelMure/git-bug/cache" + "github.com/MichaelMure/git-bug/util/interrupt" +) + +var ( + bridgeTokenAll bool + bridgeTokenLocalOnly bool + bridgeTokenGlobalOnly bool +) + +func runTokenBridge(cmd *cobra.Command, args []string) error { + backend, err := cache.NewRepoCache(repo) + if err != nil { + return err + } + defer backend.Close() + interrupt.RegisterCleaner(backend.Close) + + var tokens []string + if bridgeTokenLocalOnly || bridgeTokenAll { + localTokens, err := core.ListTokens(backend) + if err != nil { + return err + } + tokens = localTokens + } + + if bridgeTokenGlobalOnly || bridgeTokenAll { + globalTokens, err := core.ListGlobalTokens(backend) + if err != nil { + return err + } + tokens = append(tokens, globalTokens...) + } + + for _, c := range tokens { + fmt.Println(c) + } + return nil +} + +var bridgeTokenCmd = &cobra.Command{ + Use: "token", + Short: "Configure and use bridge tokens.", + PreRunE: loadRepo, + RunE: runTokenBridge, + Args: cobra.NoArgs, +} + +func init() { + bridgeCmd.AddCommand(bridgeTokenCmd) + bridgeTokenCmd.Flags().BoolVarP(&bridgeTokenAll, "all", "a", false, "") + bridgeTokenCmd.Flags().BoolVarP(&bridgeTokenLocalOnly, "local", "l", true, "") + bridgeTokenCmd.Flags().BoolVarP(&bridgeTokenGlobalOnly, "global", "g", false, "") + bridgeTokenCmd.Flags().SortFlags = false +} |