diff --git a/salon.sh b/salon.sh new file mode 100644 index 0000000..208d54a --- /dev/null +++ b/salon.sh @@ -0,0 +1,70 @@ +#!/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 heel lekker ~~~~~\n" + +SELECT_SERVICE +GET_CUSTOMER +SET_APPOINTMENT + +echo -e "\nI have put you down for a $SERVICE_NAME at $SERVICE_TIME, $CUSTOMER_NAME." \ No newline at end of file