70 lines
1.7 KiB
Bash
70 lines
1.7 KiB
Bash
#!/bin/bash
|
|
PSQL="psql --username=freecodecamp --dbname=salon -t --no-align -c"
|
|
|
|
SELECT_SERVICE() {
|
|
|
|
if [[ $1 ]]; then
|
|
echo -e "\n$1"
|
|
fi
|
|
|
|
SERVICES=$($PSQL "SELECT * FROM services")
|
|
echo "$SERVICES" | while IFS="|" read SERVICE_ID SERVICE_NAME; do
|
|
echo "$SERVICE_ID) $SERVICE_NAME"
|
|
done
|
|
read SERVICE_ID_SELECTED
|
|
|
|
if [[ ! $SERVICE_ID_SELECTED =~ ^[0-9]+$ ]]; then
|
|
SELECT_SERVICE "Please use a valid number"
|
|
fi
|
|
|
|
SERVICE=$($PSQL "SELECT service_id, name FROM services WHERE service_id = $SERVICE_ID_SELECTED")
|
|
|
|
echo $SERVICE
|
|
|
|
SERVICE_ID=$(echo "$SERVICE" | cut -d '|' -f1)
|
|
SERVICE_NAME=$(echo "$SERVICE" | cut -d '|' -f2)
|
|
|
|
if [[ -z $SERVICE_ID ]]; then
|
|
SELECT_SERVICE "This is not a valid service"
|
|
fi
|
|
|
|
}
|
|
|
|
NEW_CUSTOMER() {
|
|
|
|
echo -e "\nWhat's your name?"
|
|
read CUSTOMER_NAME
|
|
CUSTOMER_INSERT=$($PSQL "INSERT INTO CUSTOMERS(phone, name) VALUES('$1','$CUSTOMER_NAME')")
|
|
CUSTOMER_ID=$($PSQL "SELECT customer_id FROM customers WHERE phone = '$CUSTOMER_PHONE'")
|
|
}
|
|
|
|
GET_CUSTOMER() {
|
|
|
|
echo -e "\nWhat's your phone number?"
|
|
read CUSTOMER_PHONE
|
|
|
|
CUSTOMER_RESULT=$($PSQL "SELECT customer_id, name FROM customers WHERE phone = '$CUSTOMER_PHONE'")
|
|
|
|
if [[ -z $CUSTOMER_RESULT ]]; then
|
|
NEW_CUSTOMER $CUSTOMER_PHONE
|
|
else
|
|
echo $CUSTOMER_RESULT | IFS="|" read CUSTOMER_ID BAR CUSTOMER_NAME
|
|
fi
|
|
|
|
}
|
|
|
|
SET_APPOINTMENT() {
|
|
|
|
echo -e "\nAt what time would you like to schedule your appointment?"
|
|
read SERVICE_TIME
|
|
|
|
CREATE_APPOINTMENT=$($PSQL "INSERT INTO appointments(customer_id, service_id, time) VALUES($CUSTOMER_ID,$SERVICE_ID,'$SERVICE_TIME')")
|
|
}
|
|
|
|
echo -e "\n~~~~~ Kapsalon kanker lekker ~~~~~\n"
|
|
|
|
SELECT_SERVICE
|
|
GET_CUSTOMER
|
|
SET_APPOINTMENT
|
|
|
|
echo -e "\nI have put you down for a $SERVICE_NAME at $SERVICE_TIME, $CUSTOMER_NAME." |