bridge_rm.go

 1package commands
 2
 3import (
 4	"github.com/spf13/cobra"
 5
 6	"github.com/MichaelMure/git-bug/bridge"
 7	"github.com/MichaelMure/git-bug/cache"
 8	"github.com/MichaelMure/git-bug/util/interrupt"
 9)
10
11func newBridgeRm() *cobra.Command {
12	env := newEnv()
13
14	cmd := &cobra.Command{
15		Use:     "rm <name>",
16		Short:   "Delete a configured bridge.",
17		PreRunE: loadRepo(env),
18		RunE: func(cmd *cobra.Command, args []string) error {
19			return runBridgeRm(env, args)
20		},
21		Args: cobra.ExactArgs(1),
22	}
23
24	return cmd
25}
26
27func runBridgeRm(env *Env, args []string) error {
28	backend, err := cache.NewRepoCache(env.repo)
29	if err != nil {
30		return err
31	}
32	defer backend.Close()
33	interrupt.RegisterCleaner(backend.Close)
34
35	err = bridge.RemoveBridge(backend, args[0])
36	if err != nil {
37		return err
38	}
39
40	env.out.Printf("Successfully removed bridge configuration %v\n", args[0])
41	return nil
42}