### Constants

nginx_conf_path="/etc/nginx/conf.d/${domain}.d/ihatemoney.conf"
supervisor_conf_path="/etc/supervisor/conf.d/ihatemoney.conf"
gunicorn_conf_path="/etc/ihatemoney/gunicorn.conf.py"
ihatemoney_conf_path="/etc/ihatemoney/ihatemoney.cfg"
INSTALL_DIR="/opt/yunohost/ihatemoney"


### Functions


install_apt_dependencies() {
    ynh_install_app_dependencies \
        python3-dev \
        python3-virtualenv \
        libffi-dev \
        libssl-dev \
        supervisor \
        virtualenv
}

create_unix_user() {
    sudo mkdir -p /opt/yunohost
    sudo useradd ihatemoney -d /opt/yunohost/ihatemoney/ --create-home || ynh_die "User creation failed"
}

create_system_dirs() {
    sudo install -o ihatemoney -g ihatemoney -m 755 -d \
         /var/log/ihatemoney \
         /etc/ihatemoney
    sudo mkdir -p /opt/yunohost
}

init_virtualenv () {
    sudo virtualenv /opt/yunohost/ihatemoney/venv --python /usr/bin/python3

    # PyMySQL → cryptography → setuptools>=18.5
    # Required on Jessie, Stretch has setuptools>=18.5
    /opt/yunohost/ihatemoney/venv/bin/pip install 'setuptools>=18.5'
}

pip_install () {
    sudo /opt/yunohost/ihatemoney/venv/bin/pip install --upgrade \
     'gunicorn>=19.3.0' \
     'PyMySQL>=0.9,<0.10' \
     'ihatemoney>=3,<4' \

}

configure_nginx () {
    local domain=$1
    local path=$2
    local python_version="$(readlink /usr/bin/python3|sed s/.*python//)"


    sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf
    sed -i "s@PYTHON_VERSION@$python_version@g" ../conf/nginx.conf
    # Fix double-slash for domain-root install
    sed -i "s@location //@location /@" ../conf/nginx.conf
    sudo install -o root -g root -m644 \
         ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/ihatemoney.conf
}

configure_supervisor () {
    sudo install -o root -g root -m 644 \
         ../conf/supervisord.conf /etc/supervisor/conf.d/ihatemoney.conf
}