aboutsummaryrefslogtreecommitdiffstats
path: root/commands/bridge/bridge_auth_rm.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/bridge/bridge_auth_rm.go')
-rw-r--r--commands/bridge/bridge_auth_rm.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/commands/bridge/bridge_auth_rm.go b/commands/bridge/bridge_auth_rm.go
new file mode 100644
index 00000000..d58ca63e
--- /dev/null
+++ b/commands/bridge/bridge_auth_rm.go
@@ -0,0 +1,41 @@
+package bridgecmd
+
+import (
+ "github.com/spf13/cobra"
+
+ "github.com/MichaelMure/git-bug/bridge/core/auth"
+ "github.com/MichaelMure/git-bug/commands/completion"
+ "github.com/MichaelMure/git-bug/commands/execenv"
+)
+
+func newBridgeAuthRm() *cobra.Command {
+ env := execenv.NewEnv()
+
+ cmd := &cobra.Command{
+ Use: "rm BRIDGE_ID",
+ Short: "Remove a credential",
+ PreRunE: execenv.LoadRepo(env),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return runBridgeAuthRm(env, args)
+ },
+ Args: cobra.ExactArgs(1),
+ ValidArgsFunction: completion.BridgeAuth(env),
+ }
+
+ return cmd
+}
+
+func runBridgeAuthRm(env *execenv.Env, args []string) error {
+ cred, err := auth.LoadWithPrefix(env.Repo, args[0])
+ if err != nil {
+ return err
+ }
+
+ err = auth.Remove(env.Repo, cred.ID())
+ if err != nil {
+ return err
+ }
+
+ env.Out.Printf("credential %s removed\n", cred.ID())
+ return nil
+}