removed unnecessary use of 'eval'

master
Aaron Johnson 4 years ago
parent 8057215475
commit e9ee3397a7

52
bank

@ -101,7 +101,7 @@ dbconnect="psql -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USER} -d ${DB_NAME}"
get_name() { get_name() {
# Arg1 == Account ID # Arg1 == Account ID
# Arg2 == "bold" for bold text # Arg2 == "bold" for bold text
NAME=$(eval "$dbconnect -c \"SELECT id,name,created FROM account WHERE id = $1;\"" | grep -E "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}" | awk -F '|' '{print $2}') NAME=$($dbconnect -c "SELECT id,name,created FROM account WHERE id = $1;" | grep -E "[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}" | awk -F '|' '{print $2}')
NAME=${NAME#"${NAME%%[! ]*}"} NAME=${NAME%"${NAME##*[! ]}"} #Strip leading/trailing space from $NAME NAME=${NAME#"${NAME%%[! ]*}"} NAME=${NAME%"${NAME##*[! ]}"} #Strip leading/trailing space from $NAME
if [ "$2" == "bold" ]; then if [ "$2" == "bold" ]; then
@ -119,8 +119,8 @@ create_account() {
case $CONFIRM in case $CONFIRM in
[Yy]) [Yy])
printf "\n$(tput bold)Creating account...\n\n$(tput sgr0)" printf "\n$(tput bold)Creating account...\n\n$(tput sgr0)"
eval "$dbconnect -c \"INSERT INTO account (name,created) VALUES ('${name}','${tstamp}');\"" && $dbconnect -c "INSERT INTO account (name,created) VALUES ('${name}','${tstamp}');" &&
eval "$dbconnect -c \"INSERT INTO balance (id,gold) VALUES ((SELECT id FROM account WHERE name = '${name}'),'0');\"" && $dbconnect -c "INSERT INTO balance (id,gold) VALUES ((SELECT id FROM account WHERE name = '${name}'),'0');" &&
printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" || printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" ||
printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)"
;; ;;
@ -132,14 +132,14 @@ create_account() {
} }
disable_account() { disable_account() {
eval "$dbconnect -c \"SELECT id,name,created FROM account WHERE enabled = true ORDER BY name;\"" $dbconnect -c "SELECT id,name,created FROM account WHERE enabled = true ORDER BY name;"
read -p "Enter Account ID ('c' to cancel): " ID read -p "Enter Account ID ('c' to cancel): " ID
([ "$ID" == "c" ] || [ "$ID" == "c" ]) && return ([ "$ID" == "c" ] || [ "$ID" == "c" ]) && return
read -p "$(tput bold)$(tput setaf 3)DISABLING$(tput sgr0) account #${ID}: $(get_name $ID bold). Are you sure? (y/N)" -n1 CONFIRM read -p "$(tput bold)$(tput setaf 3)DISABLING$(tput sgr0) account #${ID}: $(get_name $ID bold). Are you sure? (y/N)" -n1 CONFIRM
case $CONFIRM in case $CONFIRM in
[Yy]) [Yy])
printf "\n$(tput bold)$(tput setaf 3)Disabling account...\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 3)Disabling account...\n\n$(tput sgr0)"
eval "$dbconnect -c \"UPDATE account SET enabled = false WHERE id = '${ID}';\"" && $dbconnect -c "UPDATE account SET enabled = false WHERE id = '${ID}';" &&
printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" || printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" ||
printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)"
;; ;;
@ -152,14 +152,14 @@ disable_account() {
enable_account() { enable_account() {
echo "DISABLED Accounts:" echo "DISABLED Accounts:"
eval "$dbconnect -c \"SELECT id,name,created FROM account WHERE enabled = false ORDER BY name;\"" $dbconnect -c "SELECT id,name,created FROM account WHERE enabled = false ORDER BY name;"
read -p "Enter Account ID ('c' to cancel): " ID read -p "Enter Account ID ('c' to cancel): " ID
([ "$ID" == "c" ] || [ "$ID" == "c" ]) && return ([ "$ID" == "c" ] || [ "$ID" == "c" ]) && return
read -p "$(tput bold)Enabling$(tput sgr0) account #${ID}: $(get_name $ID bold). Are you sure? (y/N)" -n1 CONFIRM read -p "$(tput bold)Enabling$(tput sgr0) account #${ID}: $(get_name $ID bold). Are you sure? (y/N)" -n1 CONFIRM
case $CONFIRM in case $CONFIRM in
[Yy]) [Yy])
printf "\n$(tput bold)$(tput setaf 3)Disabling account...\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 3)Disabling account...\n\n$(tput sgr0)"
eval "$dbconnect -c \"UPDATE account SET enabled = true WHERE id = '${ID}';\"" && $dbconnect -c "UPDATE account SET enabled = true WHERE id = '${ID}';" &&
printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" || printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" ||
printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)"
;; ;;
@ -171,7 +171,7 @@ enable_account() {
} }
make_deposit() { make_deposit() {
eval "$dbconnect -c \"SELECT id,name FROM account WHERE enabled = true ORDER BY name;\"" $dbconnect -c "SELECT id,name FROM account WHERE enabled = true ORDER BY name;"
read -p "Enter Account ID ('c' to cancel): " ID read -p "Enter Account ID ('c' to cancel): " ID
([ "$ID" == "c" ] || [ "$ID" == "c" ]) && return ([ "$ID" == "c" ] || [ "$ID" == "c" ]) && return
read -p "Enter amount of gp to deposit: " amount read -p "Enter amount of gp to deposit: " amount
@ -180,12 +180,12 @@ make_deposit() {
case $CONFIRM in case $CONFIRM in
[Yy]) [Yy])
printf "\n$(tput bold)Depositing...\n\n$(tput sgr0)" printf "\n$(tput bold)Depositing...\n\n$(tput sgr0)"
eval "$dbconnect -c \"INSERT INTO transaction (account,deposit,timestamp) VALUES ('${ID}','${amount}','${tstamp}');\"" $dbconnect -c "INSERT INTO transaction (account,deposit,timestamp) VALUES ('${ID}','${amount}','${tstamp}');"
eval "$dbconnect -c \"UPDATE balance SET gold = gold + '${amount}' WHERE id = '${ID}';\"" $dbconnect -c "UPDATE balance SET gold = gold + '${amount}' WHERE id = '${ID}';"
printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" || printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" ||
printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)"
printf "\nNew balance:\n" printf "\nNew balance:\n"
eval "$dbconnect -c \"SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id where balance.id = ${ID};\"" $dbconnect -c "SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id where balance.id = ${ID};"
;; ;;
*) *)
printf "\n$(tput bold)$(tput setaf 1)ABORT\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 1)ABORT\n\n$(tput sgr0)"
@ -195,7 +195,7 @@ make_deposit() {
} }
make_withdrawal() { make_withdrawal() {
eval "$dbconnect -c \"SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id WHERE account.enabled = true ORDER BY name;\"" #Show balances first $dbconnect -c "SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id WHERE account.enabled = true ORDER BY name;" #Show balances first
read -p "Enter Account ID ('c' to cancel): " ID read -p "Enter Account ID ('c' to cancel): " ID
([ "$ID" == "c" ] || [ "$ID" == "c" ]) && return ([ "$ID" == "c" ] || [ "$ID" == "c" ]) && return
read -p "Enter amount of gp to withdraw: " amount read -p "Enter amount of gp to withdraw: " amount
@ -204,12 +204,12 @@ make_withdrawal() {
case $CONFIRM in case $CONFIRM in
[Yy]) [Yy])
printf "\n$(tput bold)Withdrawing...\n\n$(tput sgr0)" printf "\n$(tput bold)Withdrawing...\n\n$(tput sgr0)"
eval "$dbconnect -c \"INSERT INTO transaction (account,withdrawal,timestamp) VALUES ('${ID}','${amount}','${tstamp}');\"" $dbconnect -c "INSERT INTO transaction (account,withdrawal,timestamp) VALUES ('${ID}','${amount}','${tstamp}');"
eval "$dbconnect -c \"UPDATE balance SET gold = gold - '${amount}' WHERE id = '${ID}';\"" $dbconnect -c "UPDATE balance SET gold = gold - '${amount}' WHERE id = '${ID}';"
printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" || printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" ||
printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)"
printf "\nNew balance:\n" printf "\nNew balance:\n"
eval "$dbconnect -c \"SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id where balance.id = ${ID};\"" $dbconnect -c "SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id where balance.id = ${ID};"
;; ;;
*) *)
printf "\n$(tput bold)$(tput setaf 1)ABORT\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 1)ABORT\n\n$(tput sgr0)"
@ -219,7 +219,7 @@ make_withdrawal() {
} }
bank_transfer() { bank_transfer() {
eval "$dbconnect -c \"SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id WHERE account.enabled = true ORDER BY name;\"" #Show balances first $dbconnect -c "SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id WHERE account.enabled = true ORDER BY name;" #Show balances first
read -p "Enter Account ID to transfer $(tput bold)FROM$(tput sgr0): " FROM read -p "Enter Account ID to transfer $(tput bold)FROM$(tput sgr0): " FROM
read -p "Enter Account ID to transfer $(tput bold)TO$(tput sgr0): " TO read -p "Enter Account ID to transfer $(tput bold)TO$(tput sgr0): " TO
read -p "Enter amount of gp to transfer: " amount read -p "Enter amount of gp to transfer: " amount
@ -228,15 +228,15 @@ bank_transfer() {
case $CONFIRM in case $CONFIRM in
[Yy]) [Yy])
printf "\n$(tput bold)Transferring...\n\n$(tput sgr0)" printf "\n$(tput bold)Transferring...\n\n$(tput sgr0)"
eval "$dbconnect -c \"INSERT INTO transaction (account,withdrawal,timestamp) VALUES ('${FROM}','${amount}','${tstamp}');\"" $dbconnect -c "INSERT INTO transaction (account,withdrawal,timestamp) VALUES ('${FROM}','${amount}','${tstamp}');"
eval "$dbconnect -c \"UPDATE balance SET gold = gold - '${amount}' WHERE id = '${FROM}';\"" $dbconnect -c "UPDATE balance SET gold = gold - '${amount}' WHERE id = '${FROM}';"
eval "$dbconnect -c \"INSERT INTO transaction (account,deposit,timestamp) VALUES ('${TO}','${amount}','${tstamp}');\"" $dbconnect -c "INSERT INTO transaction (account,deposit,timestamp) VALUES ('${TO}','${amount}','${tstamp}');"
eval "$dbconnect -c \"UPDATE balance SET gold = gold + '${amount}' WHERE id = '${TO}';\"" $dbconnect -c "UPDATE balance SET gold = gold + '${amount}' WHERE id = '${TO}';"
eval "$dbconnect -c \"INSERT INTO transfer (from_id,to_id,gold,timestamp) VALUES ('${FROM}','${TO}','${amount}','${tstamp}');\"" $dbconnect -c "INSERT INTO transfer (from_id,to_id,gold,timestamp) VALUES ('${FROM}','${TO}','${amount}','${tstamp}');"
printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" || printf "\n$(tput bold)$(tput setaf 2)DONE!\n\n$(tput sgr0)" ||
printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 1)ERROR ??: Unknown\n\n$(tput sgr0)"
printf "\nNew balances:\n" printf "\nNew balances:\n"
eval "$dbconnect -c \"SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id WHERE balance.id = ${FROM} OR balance.id = ${TO};\"" $dbconnect -c "SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id WHERE balance.id = ${FROM} OR balance.id = ${TO};"
;; ;;
*) *)
printf "\n$(tput bold)$(tput setaf 1)ABORT\n\n$(tput sgr0)" printf "\n$(tput bold)$(tput setaf 1)ABORT\n\n$(tput sgr0)"
@ -246,25 +246,25 @@ bank_transfer() {
} }
show_balance() { show_balance() {
eval "$dbconnect -c \"SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id WHERE account.enabled = true ORDER BY name;\"" $dbconnect -c "SELECT account.id,account.name,gold FROM balance INNER JOIN account ON account.id = balance.id WHERE account.enabled = true ORDER BY name;"
hold_menu hold_menu
} }
show_transactions_all() { show_transactions_all() {
eval "$dbconnect -c \"SELECT transaction.id,account.name,withdrawal,deposit,timestamp FROM transaction INNER JOIN account ON account.id = transaction.account ORDER BY timestamp;\"" $dbconnect -c "SELECT transaction.id,account.name,withdrawal,deposit,timestamp FROM transaction INNER JOIN account ON account.id = transaction.account ORDER BY timestamp;"
hold_menu hold_menu
} }
show_transactions() { show_transactions() {
read -p "Enter search term (e.g. character name): " name read -p "Enter search term (e.g. character name): " name
echo echo
eval "$dbconnect -c \"SELECT transaction.id,account.name,withdrawal,deposit,timestamp FROM transaction INNER JOIN account ON account.id = transaction.account ORDER BY timestamp;\"" | grep -iE "$name|timestamp|------" $dbconnect -c "SELECT transaction.id,account.name,withdrawal,deposit,timestamp FROM transaction INNER JOIN account ON account.id = transaction.account ORDER BY timestamp;" | grep -iE "$name|timestamp|------"
echo echo
hold_menu hold_menu
} }
show_transfers() { show_transfers() {
eval "$dbconnect -c \"SELECT transfer.id,f.name AS from,t.name AS to,gold,timestamp FROM transfer LEFT JOIN account AS f ON f.id = transfer.from_id LEFT JOIN account AS t ON t.id = transfer.to_id ORDER BY timestamp;\"" $dbconnect -c "SELECT transfer.id,f.name AS from,t.name AS to,gold,timestamp FROM transfer LEFT JOIN account AS f ON f.id = transfer.from_id LEFT JOIN account AS t ON t.id = transfer.to_id ORDER BY timestamp;"
hold_menu hold_menu
} }

Loading…
Cancel
Save