Tell us what’s happening:
My bash is not working. I’m pretty sure I’ve written it correctly. The code is saying that SUBTASKS 1.1 :18 You should enter a new customer into the database if they don’t exist. I’ve rewritten the code multiple times I don’t know what’s wrong. Pls help.
ERROR: syntax error at or near ","
LINE 1: ...ppointments(customer_id, service_id, time) VALUES(, 1, '10:3...
^
There was an error scheduling your appointment. Please try again.
#!/bin/bash
PSQL="psql -X --username=freecodecamp --dbname=salon --tuples-only -c"
echo -e "\n~~~~~ MY SALON ~~~~~\n"
echo -e "Welcome to My Salon, how can I help you?\n"
GET_SERVICES_ID() {
if [[ $1 ]]
then
echo -e "\n$1"
fi
LIST_SERVICES=$($PSQL "SELECT * FROM services")
echo "$LIST_SERVICES" | while read SERVICE_ID BAR SERVICE
do
ID=$(echo $SERVICE_ID | sed 's/ //g')
NAME=$(echo $SERVICE | sed 's/ //g')
echo "$ID) $SERVICE"
done
read SERVICE_ID_SELECTED
case $SERVICE_ID_SELECTED in
[1-5]) NEXT ;;
*) GET_SERVICES_ID "I could not find that service. What would you like today?" ;;
esac
}
NEXT() {
echo -e "\nWhat's your phone number?"
read CUSTOMER_PHONE
# Check if the customer exists
NAME=$($PSQL "SELECT name FROM customers WHERE phone='$CUSTOMER_PHONE'")
CUSTOMER_NAME=$(echo $NAME | sed 's/ //g')
if [[ -z $NAME ]]
then
# If the customer does not exist, prompt for their name and add them
echo -e "\nI don't have a record for that phone number, what's your name?"
read CUSTOMER_NAME
# Insert the new customer into the database
SAVED_TO_TABLE_CUSTOMERS=$($PSQL "INSERT INTO customers(name, phone) VALUES('$CUSTOMER_NAME', '$CUSTOMER_PHONE')")
else
# If the customer exists, greet them
echo -e "\nWelcome back, $CUSTOMER_NAME!"
fi
# Get the service name
GET_SERVICE_NAME=$($PSQL "SELECT name FROM services WHERE service_id=$SERVICE_ID_SELECTED")
SERVICE_NAME=$(echo $GET_SERVICE_NAME | sed 's/ //g')
# Retrieve the customer ID
CUSTOMER_ID=$($PSQL "SELECT customer_id FROM customers WHERE phone='$CUSTOMER_PHONE'")
echo -e "\nWhat time would you like your $SERVICE_NAME, $CUSTOMER_NAME?"
read SERVICE_TIME
# Insert the appointment into the appointments table
SAVED_TO_TABLE_APPOINTMENTS=$($PSQL "INSERT INTO appointments(customer_id, service_id, time) VALUES($CUSTOMER_ID, $SERVICE_ID_SELECTED, '$SERVICE_TIME')")
if [[ $SAVED_TO_TABLE_APPOINTMENTS == "INSERT 0 1" ]]
then
echo -e "\nI have put you down for a $SERVICE_NAME at $SERVICE_TIME, $CUSTOMER_NAME."
fi
}
GET_SERVICES_ID
###Your project link(s)
solution: https://freecodecam-learnsalona-i03809fquqm.ws-us116.gitpod.io/
Your browser information:
User Agent is: Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Challenge Information:
Salon Appointment Scheduler - Build a Salon Appointment Scheduler