#!/bin/bash
set -e

REPO_DIR="$HOME/ICA_Events"

deploy_one() {
  PUBLIC_DIR="$1"
  PM2_NAME="$2"
  PORT="$3"

  echo ""
  echo "=== Deploy: $PM2_NAME ==="

  cd "$PUBLIC_DIR"

  echo "Removing old src..."
  rm -rf src

  echo "Copying fresh src..."
  cp -R "$REPO_DIR/src" "$PUBLIC_DIR/src"

  echo "Installing deps..."
  yarn install

  echo "Building..."
  yarn build

  echo "Restarting PM2..."
  pm2 delete "$PM2_NAME" 2>/dev/null || true
  pm2 start yarn --name "$PM2_NAME" -- start --port "$PORT"
}

echo "=== Sync repo ==="
cd "$REPO_DIR"

git add -A

if ! git diff --cached --quiet; then
  git commit -m "Server auto backup before deploy"
  git push
fi

git pull --rebase

deploy_one "$HOME/public_html" "ICA Events" 3000
deploy_one "$HOME/tr.ica-events.com" "ICA Events TR" 3004
deploy_one "$HOME/cn.ica-events.com" "ICA Events CN" 3002

echo ""
echo "=== PM2 status ==="
pm2 status

echo ""
echo "Deploy complete."
