#!/bin/sh

bblue=`tput setab 4`
bgreen=`tput setab 2`
fwhite=`tput setaf 7`
reset=`tput sgr0`


PRODUCTION_HOST="157.90.230.112"
PRODUCTION_USER="deploy"
PRODUCTION_CONFIG="production.ini"
PRODUCTION_BRANCH="master-2023"
PRODUCTION_PATH="/var/www/html/"
PRODUCT_COMPOSER="composer"

DEVELOPMENT_HOST="10.102.2.101"
DEVELOPMENT_USER="deploy"
DEVELOPMENT_CONFIG="development.ini"
DEVELOPMENT_BRANCH="dev"
DEVELOPMENT_PATH="/var/www/"
DEVELOPMENT_COMPOSER="composer"

echo "Select environment: 1 (master-2023) or 2 (development) "
read ENVIRONMENT

if [ $ENVIRONMENT -eq 1 ];then
  HOST=$PRODUCTION_HOST
  USER=$PRODUCTION_USER
  CONFIG=$PRODUCTION_CONFIG
  BRANCH=$PRODUCTION_BRANCH
  HOSTPATH=$PRODUCTION_PATH
  COMPOSER=$PRODUCT_COMPOSER
fi

if [ $ENVIRONMENT -eq 2 ];then

  echo "Whay is your dev? (dev-01, dev-02 or dev-03)"
  read DEV_NUMBER

  HOST=$DEVELOPMENT_HOST
  USER=$DEVELOPMENT_USER
  CONFIG=$DEVELOPMENT_CONFIG
  HOSTPATH=$DEVELOPMENT_PATH$DEV_NUMBER
  COMPOSER=$DEVELOPMENT_COMPOSER
  echo "Select brach to deploy (default is dev):"
  read BRANCH
  if [ -z "$BRANCH" ]; then
    BRANCH="develop"
  fi
fi

echo "${bblue}${fwhite}Deploy branch $BRANCH ${reset}"

echo "${bblue}${fwhite}Reading configuration file${reset}"
cat $CONFIG
echo ""
echo "Are you sure? (y or n)"
read CONFIRMATION

if [ $CONFIRMATION = "n" ];then
  exit 0
fi

echo "${bblue}${fwhite}Generate temp files to deploy${reset}"
mkdir tmp/
cd tmp/
git clone -b $BRANCH https://gitlab.com/desmondodev/gestion-cocina-colegio.git
cd gestion-cocina-colegio
ln -s ../../../../qr src/public/static/qr

if [ $ENVIRONMENT -eq 1 ];then
  rm -rf src/public/static/images
  ln -s ../../../../images src/public/static/images
fi

ln -s ../../../../adminer.php src/public/adminer.php
chmod 777 src/static/images/coffeeshop

BUILD=`git rev-parse --short HEAD`

echo "${bblue}${fwhite}Composer install${reset}"
$COMPOSER install

echo "${bblue}${fwhite}Install DomPdf Fonts${reset}"
curl -o load_font.php https://raw.githubusercontent.com/dompdf/utils/master/load_font.php
php load_font.php Poppins src/public/static/fonts/Poppins/Poppins-Regular.ttf src/public/static/fonts/Poppins/Poppins-Bold.ttf src/public/static/fonts/Poppins/Poppins-Italic.ttf src/public/static/fonts/Poppins/Poppins-BoldItalic.ttf
rm load_font.php

chmod -R 777 src/Languages

echo "${bblue}${fwhite}Sync files white server${reset}"
rsync --stats -avz --delete --exclude 'logs' --exclude 'config.ini' . $USER@$HOST:$HOSTPATH/

echo "${bblue}${fwhite}Upload config.ini${reset}"
cd ../../

cp $CONFIG final.ini
echo "\nbuild = $BUILD\n" >> final.ini

scp final.ini $USER@$HOST:$HOSTPATH/src/Configuration/config.ini

echo "${bblue}${fwhite}Clean temp files${reset}"
rm -rf tmp/
rm final.ini

echo "${bgreen}Deploy success${reset}"
