#!/bin/bash
start=$(date +%s)
TIMESTAMP=$(date +%F_%H-%M-%S-%N)
SOURCEFILE_DB="oxid_db_staging.sql.gz"
SCRIPTDIR=$(dirname "$0")
TEMP_FOLDER="tmp-$TIMESTAMP"
COMPLETE_TEMP_FOLDER=$SCRIPTDIR/$TEMP_FOLDER

ENV=$(printenv OXID_ENV)
CONFIG="$SCRIPTDIR/../../configurations/$ENV/.config"

if test -f "$CONFIG"; then
    source $CONFIG
else
    echo "No config found. Exiting... $CONFIG ¯\_(ツ)_/¯"
    exit 1
fi

cd $SCRIPTDIR

export SSHPASS=$FTPPASS

rm -rf $SCRIPTDIR/tmp-*
mkdir $COMPLETE_TEMP_FOLDER
cd $COMPLETE_TEMP_FOLDER

sshpass -e sftp -oBatchMode=no -b - $FTPUSER@$FTPHOST << !
    get $SOURCEFILE_DB
    bye
!

# import dump in db
cd ..

echo "$COMPLETE_TEMP_FOLDER/$SOURCEFILE_DB"
if test -f "$COMPLETE_TEMP_FOLDER/$SOURCEFILE_DB"; then
    echo -n "Importing database dump..."
    gunzip -c $COMPLETE_TEMP_FOLDER/$SOURCEFILE_DB | mysql --host=$MYSQLHOST --user=$MYSQLUSER --password=$MYSQLPASS -D $MYSQLDB
    SQLSTATUS=$?

    if [ $SQLSTATUS -eq 0 ]; then
        echo -e "\\r${CHECK_MARK} Importing database dump... DONE"

        echo -n "Cleaning up database dump..."
        rm $COMPLETE_TEMP_FOLDER/$SOURCEFILE_DB
        echo -e "\\r${CHECK_MARK} Cleaning up database dump... DONE"
    else
        echo -e "Importing database... FAILED"

        echo -n "Cleaning up database dump..."
        rm $COMPLETE_TEMP_FOLDER/$SOURCEFILE_DB
        rm -r $COMPLETE_TEMP_FOLDER
        echo -e "\\r${CHECK_MARK} Cleaning up database dump... DONE"

        exit 1
    fi
else
  echo "file not found"
fi

# cleanup temp folder
echo -n "Cleaning up temp folder..."
rm -rf $SCRIPTDIR/tmp-*
echo -e "\\r${CHECK_MARK} Cleaning up temp folder... DONE"

end=$(date +%s)
executiontime=$((end-start))

echo "Oxid database dump successfully imported from $FTPHOST (took $executiontime seconds)"

exit 0
