keys-admin.git

commit 290eb64704f69053e7087e95624ad932c11f86a7

Author: Paolo Lulli <paolo@lulli.net>

Add key deletion feature

 .gitignore | 1 +
 nyckel | 21 +++++++++++++++++++++


diff --git a/.gitignore b/.gitignore
index e50730c1ae5a2d58dd286caf71c4ba13a7937323..8bdb31c6e7d899c996eeb4a2ef5717c1ff4fe03c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 keepass.keyx
+.idea/*




diff --git a/nyckel b/nyckel
index 823f0f806e744b615bd10f33ec3ed19a2ea5cf2f..b8c59eba1733d59e5da2d95d8cf47e5587b0f0eb 100755
--- a/nyckel
+++ b/nyckel
@@ -77,6 +77,14 @@
   keepassxc-cli add --key-file ${KEEPASS_FILE} --no-password ${KEEPASS_DB} -u ${entry_user} ${entry}  --password-prompt
 }
 
+delete_secret(){
+  profile=$1
+  entry=$2
+  source "$CONFIG_DIR/$profile/config"
+
+  keepassxc-cli rm --key-file ${KEEPASS_FILE} --no-password ${KEEPASS_DB} ${entry} 
+}
+
 update_secret(){
   profile=$1
   entry=$2
@@ -126,10 +134,18 @@ }
 
 usage(){
   program=$(basename $0)
+echo " _   _            _        _ "
+echo "| \ | |_   _  ___| | _____| |"
+echo "|  \| | | | |/ __| |/ / _ \ |"
+echo "| |\  | |_| | (__|   <  __/ |"
+echo "|_| \_|\__, |\___|_|\_\___|_|"
+echo "       |___/                 "
+echo "                             "
   echo "${program} -C <profile>             : Create db <profile>"
   echo "${program} -L                       : List profiles"
   echo "${program} <profile> -l             : List keys in db <profile>"
   echo "${program} <profile> -W <secret>    : Write <secret> into <profile> db"
+  echo "${program} <profile> -D <secret>    : Delete <secret> from <profile> db"
   echo "${program} <profile> -U <secret>    : Update <secret> into <profile> db"
   echo "${program} <profile> -G <secret>    : Generate a random secret and write as <secret> into <profile> db"
   echo "${program} <profile> -s <secret>    : Show <secret> from <profile> db"
@@ -176,6 +192,11 @@   profile_name=$1
   entryname=$3
   if [ "$2" == "-W" ]; then
     add_secret "${profile_name}" "${entryname}"
+    exit
+  fi
+
+  if [ "$2" == "-D" ]; then
+    delete_secret "${profile_name}" "${entryname}"
     exit
   fi