#/usr/bin/bash
mode="dev"


if [ -n "$2" ]; then
	if [[ $1 =~ ^(prod)$ ]]; then 
  		mode=$1 
	fi
fi

if [ $mode == "dev" ]; then
    echo "[Installing AURA ENGINE for Development]"
fi
if [ $mode == "prod" ]; then
    echo "[Installing AURA ENGINE for Production]"
fi


# Production 

if [ $mode == "dev" ]; then

    echo "Copy configuration to './configuration/engine.ini'"
    cp -n sample.engine.ini engine.ini
fi


# Production 

if [ $mode == "prod" ]; then
    if getent passwd 'engineuser' > /dev/null 2>&1; then  
        echo "User 'engineuser' exists already."; 
    else     
        echo "Creating Engine User ..."
        adduser engineuser
        adduser engineuser sudo
    fi
    
    echo "Copy Supervisor Config to '/etc/supervisor/conf.d'"
    cp configuration/supervisor/engine-api.conf /etc/supervisor/conf.d/

    echo "Create Log Directory `/var/log/aura/engine`"
    mkdir -p /var/log/aura
    mkdir -p /var/log/aura/engine

    echo "Create Configuration Directory `/etc/aura/engine`"
    mkdir -p /etc/aura

    echo "Copy configuration to './configuration/engine.ini'"
    cp -n sample.engine.ini engine.ini
    
    echo "Set Ownership of '/opt/aura/engine', '/var/log/aura/' and '/etc/aura/engine.ini' to Engine User"
    chown -R engineuser:engineuser .
    chown -R engineuser:engineuser /var/log/aura/
    chown -R engineuser:engineuser /etc/aura/engine.ini
fi


# Development and Production

echo "Create local Logs Folder ..."
mkdir -p logs

echo "Installing Web Application Packages ..."
./install-web.sh

echo "Installing Python Requirements ..."
python3.7 $(which pip3) install -r requirements.txt