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}