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_user="theissenm"
ssh_host="knd-db01.kniod.corp"
db_ssh="ssh $ssh_user@$ssh_host"
# Functions
@ -21,16 +21,16 @@ new_account() {
case $yn in
# 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.
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.
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
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 ""
acc_id=$(echo "$user_account" | awk -F\| '{print $1}')
acc_name=$(echo "$user_account" | awk -F\| '{print $2}')
@ -47,7 +47,7 @@ new_account() {
}
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() {
@ -57,16 +57,20 @@ list_balance() {
do
echo ""
echo "1) List all users balances."
echo "2) User Search"
echo "2) Exact User Search"
echo "3) User Search"
echo "0) Go back."
echo ""
read -n1 -p "*Balance Menu: Select from the above: " ii
echo ""
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);\"" ;;
2 ) read -p "Enter the user account name: " bal_user
bal_user1=$(ssh $ssh_user@$ssh_host "psql -U ddbank -d ddbank -c \"select id,username,balance from account join balance using (id);\"")
1 ) clear
$db_ssh "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" | grep -iE "$bal_user"
echo "" ;;
@ -75,7 +79,7 @@ list_balance() {
done
}
dwt_menu() {
bank_menu() {
clear
while true
do
@ -85,11 +89,19 @@ do
echo "3) Transfer"
echo "0) Go Back"
echo ""
read -n1 -p "*Banking Menu: Select from the above: " ii_dwt
read -n1 -p "*Banking Menu: Select from the above: " ii_bank
echo ""
case $ii_dwt in
case $ii_bank in
[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
done
}
@ -97,9 +109,9 @@ done
clear
while true
do
# Menu
# Main Menu
echo ""
echo "DDBank Menu: "
echo "DDBank Main Menu: "
echo "1) Create new user account."
echo "2) List user accounts."
echo "3) List user(s) balance."
@ -112,7 +124,7 @@ do
1 ) new_account ;;
2 ) list_user ;;
3 ) list_balance ;;
4 ) dwt_menu ;;
4 ) bank_menu ;;
9 ) clear ;;
0 ) break ;;
* ) clear ;;