#!/usr/bin/env bash

TERRA_PREFIX=""
TERRA_GUI_BRANCH=""

red=$(tput setaf 1)
green=$(tput setaf 2)
reset=$(tput sgr0)

while [[ "$#" -gt 0 ]]; do
    case $1 in
        -b|--branch) TERRA_GUI_BRANCH="--branch $2"; shift ;;
        -e|--env) TERRA_PREFIX="$2."; shift ;;
        *) echo "${red}ERROR: unknown parameter \"$1\"${reset}"; exit 1 ;;
    esac
    shift
done

TERRA_GUI_PATH=/content/terra_gui
TERRA_GUI_ENV=$TERRA_GUI_PATH/.terra-gui.env
TERRA_GUI_AUTH_URL=http://${TERRA_PREFIX}terra.neural-university.ru/api/v1/login/

if [ -f "$TERRA_GUI_ENV" ]; then
  set -o allexport; source $TERRA_GUI_ENV; set +o allexport
fi

rm -rf $TERRA_GUI_PATH
git clone $TERRA_GUI_BRANCH https://github.com/aiuniver/terra_gui.git $TERRA_GUI_PATH &> /dev/null
cd $TERRA_GUI_PATH || exit

tc-gdmount

while [ -z "$TERRA_GUI_AUTH_EMAIL" ]; do
  read -p "Введите E-mail: " TERRA_GUI_AUTH_EMAIL
done

while [ -z "$TERRA_GUI_AUTH_TOKEN" ]; do
  read -s -p "Введите Token: " TERRA_GUI_AUTH_TOKEN
  echo ""
done

RESPONSE=$(tc-auth --email=$TERRA_GUI_AUTH_EMAIL --token=$TERRA_GUI_AUTH_TOKEN --url=$TERRA_GUI_AUTH_URL)
if [ -z "$RESPONSE" ]; then
  cat <<EOT >> $TERRA_GUI_ENV
TERRA_GUI_AUTH_EMAIL=$TERRA_GUI_AUTH_EMAIL
TERRA_GUI_AUTH_TOKEN=$TERRA_GUI_AUTH_TOKEN
EOT
  echo "${green}Установка выполнена!${reset}"
else
  rm $TERRA_GUI_ENV &> /dev/null
  echo "${red}$RESPONSE${reset}"
fi
