Worked on withdraw. Added exact search as well as term search.

master
Matt Theissen 4 years ago
parent a70d01c386
commit 68b06ce53c

@ -6,7 +6,7 @@ bal="00.00"
## SSH Config ## SSH Config
ssh_user="theissenm" ssh_user="theissenm"
ssh_host="knd-db01.kniod.corp" ssh_host="knd-db01.kniod.corp"
db_ssh="ssh $ssh_user@$ssh_host"
# Functions # Functions
@ -21,16 +21,16 @@ new_account() {
case $yn in case $yn in
# If user selects yes. Insert their username and a timestamp into the database. # If user selects yes. Insert their username and a timestamp into the database.
[Yy] ) ssh $ssh_user@$ssh_host "psql -U ddbank -d ddbank -c \"insert into account (username,timestamp) values ('$user1','now');\"" &>/dev/null || echo "Username already taken."; [Yy] ) $db_ssh "psql -U ddbank -d ddbank -c \"insert into account (username,timestamp) values ('$user1','now');\"" &>/dev/null || echo "Username already taken.";
# Sets the user's id as the variable. # Sets the user's id as the variable.
user1_id=$(ssh $ssh_user@$ssh_host "psql -U ddbank -d ddbank -c \"select id from account where username='$user1';\"" | awk 'FNR == 3 {print}') user1_id=$($db_ssh "psql -U ddbank -d ddbank -c \"select id from account where username='$user1';\"" | awk 'FNR == 3 {print}')
# Gives the user the starting balance. # Gives the user the starting balance.
ssh $ssh_user@$ssh_host "psql -U ddbank -d ddbank -c \"insert into balance (id,balance) values ('$user1_id',$bal);\"" &>/dev/null $db_ssh "psql -U ddbank -d ddbank -c \"insert into balance (id,balance) values ('$user1_id',$bal);\"" &>/dev/null
# Pulls the user's account and ID for awk'ing # Pulls the user's account and ID for awk'ing
user_account=$(ssh $ssh_user@$ssh_host "psql -U ddbank -d ddbank -c \"select id,username from account;\"" | grep $user1_id) user_account=$($db_ssh "psql -U ddbank -d ddbank -c \"select id,username from account;\"" | grep $user1_id)
echo "" echo ""
acc_id=$(echo "$user_account" | awk -F\| '{print $1}') acc_id=$(echo "$user_account" | awk -F\| '{print $1}')
acc_name=$(echo "$user_account" | awk -F\| '{print $2}') acc_name=$(echo "$user_account" | awk -F\| '{print $2}')
@ -47,7 +47,7 @@ new_account() {
} }
list_user() { list_user() {
ssh $ssh_user@$ssh_host "psql -U ddbank -d ddbank -c \"select * from account;\"" $db_ssh "psql -U ddbank -d ddbank -c \"select * from account;\""
} }
list_balance() { list_balance() {
@ -57,16 +57,20 @@ list_balance() {
do do
echo "" echo ""
echo "1) List all users balances." echo "1) List all users balances."
echo "2) User Search" echo "2) Exact User Search"
echo "3) User Search"
echo "0) Go back." echo "0) Go back."
echo "" echo ""
read -n1 -p "*Balance Menu: Select from the above: " ii read -n1 -p "*Balance Menu: Select from the above: " ii
echo "" echo ""
case $ii in case $ii in
1 ) ssh $ssh_user@$ssh_host "psql -U ddbank -d ddbank -c \"select id,username,balance from account join balance using (id);\"" ;; 1 ) clear
2 ) read -p "Enter the user account name: " bal_user $db_ssh "psql -U ddbank -d ddbank -c \"select id,username,balance from account join balance using (id);\"" ;;
bal_user1=$(ssh $ssh_user@$ssh_host "psql -U ddbank -d ddbank -c \"select id,username,balance from account join balance using (id);\"") 2 ) read -p "Enter the user account name: " ex_mat
$db_ssh "psql -U ddbank -d ddbank -c \"select id,username,balance from account join balance using (id) where username='$ex_mat';\""
3 ) read -p "Enter search term: " bal_user
bal_user1=$($db_ssh "psql -U ddbank -d ddbank -c \"select id,username,balance from account join balance using (id);\"")
echo "$bal_user1" | awk 'FNR == 1 {print}' echo "$bal_user1" | awk 'FNR == 1 {print}'
echo "$bal_user1" | grep -iE "$bal_user" echo "$bal_user1" | grep -iE "$bal_user"
echo "" ;; echo "" ;;
@ -75,7 +79,7 @@ list_balance() {
done done
} }
dwt_menu() { bank_menu() {
clear clear
while true while true
do do
@ -85,11 +89,19 @@ do
echo "3) Transfer" echo "3) Transfer"
echo "0) Go Back" echo "0) Go Back"
echo "" echo ""
read -n1 -p "*Banking Menu: Select from the above: " ii_dwt read -n1 -p "*Banking Menu: Select from the above: " ii_bank
echo "" echo ""
case $ii_dwt in case $ii_bank in
[0q] ) break ;; [0q] ) break ;;
1 ) read -p "Withdraw from user: " bank_user
read -p "Amount to withdraw: " bank_wth_amt
echo "$bal_user2" | awk 'FNR == 1 {print}'
bank_1_amt=$($db_ssh "psql -U ddbank -d ddbank -c \"select id,username,balance from account join balance using (id) where username='$bank_user';\"")
new_amt="$bank_wth_amt - $bank_1_amt"
$db_ssh "psql -U ddbank -d ddbank -c \"update accounts set balance = '$new_amt' where username = '$bank_user';\"" ;;
esac esac
done done
} }
@ -97,9 +109,9 @@ done
clear clear
while true while true
do do
# Menu # Main Menu
echo "" echo ""
echo "DDBank Menu: " echo "DDBank Main Menu: "
echo "1) Create new user account." echo "1) Create new user account."
echo "2) List user accounts." echo "2) List user accounts."
echo "3) List user(s) balance." echo "3) List user(s) balance."
@ -112,7 +124,7 @@ do
1 ) new_account ;; 1 ) new_account ;;
2 ) list_user ;; 2 ) list_user ;;
3 ) list_balance ;; 3 ) list_balance ;;
4 ) dwt_menu ;; 4 ) bank_menu ;;
9 ) clear ;; 9 ) clear ;;
0 ) break ;; 0 ) break ;;
* ) clear ;; * ) clear ;;