1package bridgecmd
2
3import (
4 "github.com/spf13/cobra"
5
6 "github.com/MichaelMure/git-bug/bridge/core/auth"
7 "github.com/MichaelMure/git-bug/commands/completion"
8 "github.com/MichaelMure/git-bug/commands/execenv"
9)
10
11func newBridgeAuthRm() *cobra.Command {
12 env := execenv.NewEnv()
13
14 cmd := &cobra.Command{
15 Use: "rm BRIDGE_ID",
16 Short: "Remove a credential",
17 PreRunE: execenv.LoadRepo(env),
18 RunE: func(cmd *cobra.Command, args []string) error {
19 return runBridgeAuthRm(env, args)
20 },
21 Args: cobra.ExactArgs(1),
22 ValidArgsFunction: completion.BridgeAuth(env),
23 }
24
25 return cmd
26}
27
28func runBridgeAuthRm(env *execenv.Env, args []string) error {
29 cred, err := auth.LoadWithPrefix(env.Repo, args[0])
30 if err != nil {
31 return err
32 }
33
34 err = auth.Remove(env.Repo, cred.ID())
35 if err != nil {
36 return err
37 }
38
39 env.Out.Printf("credential %s removed\n", cred.ID())
40 return nil
41}