Merge PR #2965: add --force to keys delete for unattended execution

* add --force to keys delete for unattended execution

Skip password check when --force is on and delete
keys unconditionally.

Closes: #2961

* Forcibly cleanup keys on fixtures initialization
This commit is contained in:
Alessio Treglia
2018-11-30 21:36:55 +01:00
committed by Christopher Goes
parent a55f4490f9
commit 956c2229bf
6 changed files with 27 additions and 19 deletions
+15 -8
View File
@@ -19,7 +19,8 @@ import (
)
const (
flagYes = "yes"
flagYes = "yes"
flagForce = "force"
)
func deleteKeyCommand() *cobra.Command {
@@ -39,6 +40,8 @@ gaiacli.
cmd.Flags().BoolP(flagYes, "y", false,
"Skip confirmation prompt when deleting offline or ledger key references")
cmd.Flags().BoolP(flagForce, "f", false,
"Remove the key unconditionally without asking for the passphrase")
return cmd
}
@@ -62,20 +65,24 @@ func runDeleteCmd(cmd *cobra.Command, args []string) error {
return err
}
}
if err := kb.Delete(name, ""); err != nil {
if err := kb.Delete(name, "", true); err != nil {
return err
}
fmt.Fprintln(os.Stderr, "Public key reference deleted")
return nil
}
oldpass, err := client.GetPassword(
"DANGER - enter password to permanently delete key:", buf)
if err != nil {
return err
// skip passphrase check if run with --force
skipPass := viper.GetBool(flagForce)
var oldpass string
if !skipPass {
if oldpass, err = client.GetPassword(
"DANGER - enter password to permanently delete key:", buf); err != nil {
return err
}
}
err = kb.Delete(name, oldpass)
err = kb.Delete(name, oldpass, skipPass)
if err != nil {
return err
}
@@ -113,7 +120,7 @@ func DeleteKeyRequestHandler(w http.ResponseWriter, r *http.Request) {
return
}
err = kb.Delete(name, m.Password)
err = kb.Delete(name, m.Password, false)
if keyerror.IsErrKeyNotFound(err) {
w.WriteHeader(http.StatusNotFound)
w.Write([]byte(err.Error()))