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