bridge.go

 1package bridgecmd
 2
 3import (
 4	"github.com/spf13/cobra"
 5
 6	"github.com/git-bug/git-bug/bridge"
 7	"github.com/git-bug/git-bug/commands/execenv"
 8)
 9
10func NewBridgeCommand(env *execenv.Env) *cobra.Command {
11	cmd := &cobra.Command{
12		Use:     "bridge",
13		Short:   "List bridges to other bug trackers",
14		PreRunE: execenv.LoadBackend(env),
15		RunE: execenv.CloseBackend(env, func(cmd *cobra.Command, args []string) error {
16			return runBridge(env)
17		}),
18		Args: cobra.NoArgs,
19	}
20
21	cmd.AddCommand(newBridgeAuthCommand(env))
22	cmd.AddCommand(newBridgeNewCommand(env))
23	cmd.AddCommand(newBridgePullCommand(env))
24	cmd.AddCommand(newBridgePushCommand(env))
25	cmd.AddCommand(newBridgeRm(env))
26
27	return cmd
28}
29
30func runBridge(env *execenv.Env) error {
31	configured, err := bridge.ConfiguredBridges(env.Backend)
32	if err != nil {
33		return err
34	}
35
36	for _, c := range configured {
37		env.Out.Println(c)
38	}
39
40	return nil
41}