penguin/utils

my env utils

commit da241a102716f1705b968d876a60fb4edd56bd04

author斟酌 鵬兄 <tgckpg@gmail.com>
date2023-10-08T18:37:42Z
subjectValidate some kstore args
commit da241a102716f1705b968d876a60fb4edd56bd04
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date:   2023-10-08T18:37:42Z

    Validate some kstore args
---
 bash/sources/16_keystore | 32 ++++++++++++++++++++++++--------
 1 file changed, 24 insertions(+), 8 deletions(-)

diff --git a/bash/sources/16_keystore b/bash/sources/16_keystore
index aa5870f..4288637 100644
--- a/bash/sources/16_keystore
+++ b/bash/sources/16_keystore
@@ -36,7 +36,7 @@ function kstore {
 			__func_head "add [key] [value|file|-] [prop, default: $_KSTORE_DEF_PROP]"
 			__func_help "update [key] [value|file|-] [prop, default: $_KSTORE_DEF_PROP]"
 			__func_help "get [key] [prop, default: $_KSTORE_DEF_PROP]"
-			__func_help "del [key]"
+			__func_help "del [key] [prop, default: $_KSTORE_DEF_PROP]"
 			__func_help "list"
 			__func_help "search [key] [prop]"
 			__func_help "secret ..."
@@ -230,6 +230,10 @@ function kstore-secret-clear {
 }
 
 function kstore-update {
+	if [ -z "$1" ]; then
+		__func_head "[key] [value|file|-] [prop, default: $_KSTORE_DEF_PROP]"
+		return 1
+	fi
 	kstore-init || return 1
 	local _key _val _prop
 	_key=`kstore-quote "$1"`
@@ -241,34 +245,46 @@ function kstore-update {
 }
 
 function kstore-add {
+	if [ -z "$1" ]; then
+		__func_head "[key] [value|file|-] [prop, default: $_KSTORE_DEF_PROP]"
+		return 1
+	fi
 	kstore-init || return 1
 	local _key _val _prop
 	_key=`kstore-quote "$1"`
 	_val=`kstore-enc "$2"`
 	_val=`kstore-quote "$_val"`
 	_prop=`kstore-quote "${3:-$_KSTORE_DEF_PROP}"`
-    sqlite3 "$_AUTH_DB" \
+    $_SQLITE "$_AUTH_DB" \
 		"INSERT INTO store ( key, prop, data )
 			VALUES( '$_key', '$_prop', '$_val' );"
 }
 
 function kstore-get {
+	if [ -z "$1" ]; then
+		__func_head "[key] [prop, default: $_KSTORE_DEF_PROP]"
+		return 1
+	fi
 	kstore-init || return 1
 	local _key _prop _cond
 	_key=`kstore-quote "$1"`
 	_prop=`kstore-quote "${2:-$_KSTORE_DEF_PROP}"`
 	_cond="key = '$_key' AND prop = '$_prop'"
 
-    sqlite3 "$_AUTH_DB" "SELECT 1111 FROM store WHERE $_cond;" | grep -q 1111
+    $_SQLITE "$_AUTH_DB" "SELECT 1111 FROM store WHERE $_cond;" | grep -q 1111
 	if [ $? -eq 0 ]; then
 		$_SQLITE -list "$_AUTH_DB" "SELECT ( data ) FROM store WHERE $_cond;" | kstore-dec
 	else
-		echo "\"$1\" not found" >&2
+		echo "\"$1\" not found (prop: $_prop)" >&2
 		return 1
 	fi
 }
 
 function kstore-del {
+	if [ -z "$1" ]; then
+		__func_head "[key] [prop, default: $_KSTORE_DEF_PROP]"
+		return 1
+	fi
 	kstore-init || return 1
 
 	local _CONFIRM _key _prop _cond
@@ -276,13 +292,13 @@ function kstore-del {
 	_prop=`kstore-quote "${2:-$_KSTORE_DEF_PROP}"`
 	_cond="key = '$_key' AND prop = '$_prop'"
 
-    sqlite3 "$_AUTH_DB" "SELECT 1111 FROM store WHERE $_cond;" | grep -q 1111
+    $_SQLITE "$_AUTH_DB" "SELECT 1111 FROM store WHERE $_cond;" | grep -q 1111
 	if [ $? -eq 0 ]; then
-		sqlite3 "$_AUTH_DB" "SELECT * FROM store WHERE $_cond;"
+		$_SQLITE "$_AUTH_DB" "SELECT * FROM store WHERE $_cond;"
 		echo
 		read -p "Delete this entry (yes/no)? " _CONFIRM
 		if [ "$_CONFIRM" == "yes" ]; then
-			sqlite3 "$_AUTH_DB" "DELETE FROM store WHERE $_cond;"
+			$_SQLITE "$_AUTH_DB" "DELETE FROM store WHERE $_cond;"
 			if [ $? -eq 0 ]; then
 				echo "deleted"
 			fi
@@ -290,7 +306,7 @@ function kstore-del {
 			echo "action canceled"
 		fi
 	else
-		echo "\"$1\" not found" >&2
+		echo "\"$1\" not found (prop: $_prop)" >&2
 	fi
 }