#!/bin/bash

if [[ -z "$DOPPLER_TOKEN" ]]; then
    echo "DOPPLER_TOKEN environment variable is not set. Exiting..."
    exit 1
fi

#doppler secrets download --no-file --format env > .env   

set -a
source .env
set +a

if [[ -z "$RECO_TYPE" ]]; then
    echo "RECO_TYPE environment variable is not set. Exiting..."
    exit 1
fi

if [[ -z "$SQL_FILE" ]]; then
    echo "SQL_FILE environment variable is not set. Exiting..."
    exit 1
fi

# Create variables
RECO_TYPE_DB="reco-${RECO_TYPE}-db"

# drop the db; 
docker exec -i ${RECO_TYPE_DB} mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "drop database $MYSQL_DATABASE"

# Create the database
docker exec -i ${RECO_TYPE_DB} mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "CREATE DATABASE IF NOT EXISTS $MYSQL_DATABASE"

# Disable ONLY_FULL_GROUP_BY mode
docker exec -i ${RECO_TYPE_DB} mysql -u root -p"$MYSQL_ROOT_PASSWORD" -e "SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));"

# Copy the SQL file to a temporary location
cp $SQL_FILE /tmp/aws-recomedcloud.sql

# Replace utf8mb4_0900_ai_ci with utf8mb4_unicode_ci in the SQL file
sed -i.bak 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' /tmp/aws-recomedcloud.sql

# quick fix trying to fix the insanity export that was done
#sed -i.bak 's/,,,,,,,,,/,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,/g' /tmp/aws-recomedcloud.sql  
#sed -i.bak 's/,,,,,,,,/,NULL,NULL,NULL,NULL,NULL,NULL,NULL,/g' /tmp/aws-recomedcloud.sql  
#sed -i.bak 's/,,,,,,,/,NULL,NULL,NULL,NULL,NULL,NULL,/g' /tmp/aws-recomedcloud.sql  
#sed -i.bak 's/,,,,,,/,NULL,NULL,NULL,NULL,NULL,/g' /tmp/aws-recomedcloud.sql  
#sed -i.bak 's/,,,,,/,NULL,NULL,NULL,NULL,/g' /tmp/aws-recomedcloud.sql  
#sed -i.bak 's/,,,,/,NULL,NULL,NULL,/g' /tmp/aws-recomedcloud.sql  
#sed -i.bak 's/,,,/,NULL,NULL,/g' /tmp/aws-recomedcloud.sql  
#sed -i.bak 's/,,/,NULL,/g' /tmp/aws-recomedcloud.sql  
#sed -i.bak 's/,)/,NULL)/g' /tmp/aws-recomedcloud.sql  

# Import the SQL file into the database
#docker exec -i ${RECO_TYPE_DB} mysql --force -u root -p"$MYSQL_ROOT_PASSWORD" $MYSQL_DATABASE < /tmp/aws-recomedcloud.sql
docker exec -i ${RECO_TYPE_DB} mysql -u root -p"$MYSQL_ROOT_PASSWORD" $MYSQL_DATABASE < /tmp/aws-recomedcloud.sql

rm -rf /tmp/aws-recomedcloud.sql*
