#!/usr/bin/env bash
# Setup o singură dată pe mașina locală (asterix) — deploy către Listara.
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "${ROOT}"

LISTARA_IP="${LISTARA_IP:-192.166.82.76}"
LISTARA_NAME="${LISTARA_NAME:-listara.online}"

echo "=== Setup deploy → Listara ==="

if [[ -f deploy/deploy.conf ]] && grep -q '207.231.110.240' deploy/deploy.conf 2>/dev/null; then
  cp deploy/deploy.conf deploy/deploy.conf.windows
  echo "Salvat deploy/deploy.conf → deploy/deploy.conf.windows"
fi

if [[ ! -f deploy/deploy.conf.listara ]]; then
  cp deploy/deploy.conf.listara.example deploy/deploy.conf.listara
  echo "Creat deploy/deploy.conf.listara"
fi
sed -i "s|^DEPLOY_HOST=.*|DEPLOY_HOST=\"${LISTARA_IP}\"|" deploy/deploy.conf.listara
grep -q '^DEPLOY_HOSTNAME=' deploy/deploy.conf.listara || \
  echo "DEPLOY_HOSTNAME=\"${LISTARA_NAME}\"" >> deploy/deploy.conf.listara

mkdir -p deploy/keys
chmod 700 deploy/keys
PROJECT_DIR="${ROOT}" bash "${ROOT}/deploy/lib/install-listara-ssh.sh"

chmod +x deploy/run-listara-deploy.sh deploy/listara-deploy-menu.sh \
  deploy/launch-listara-menu.sh deploy/start-listara-deploy.sh \
  deploy/run-full-deploy-listara.sh deploy/start-full-deploy-listara.sh \
  deploy/verify-listara.sh deploy.sh 2>/dev/null || true

copy_desktop() {
  local src="$1" name="$2"
  cp "${src}" "$HOME/Desktop/${name}"
  chmod +x "$HOME/Desktop/${name}"
  gio set "$HOME/Desktop/${name}" metadata::trusted true 2>/dev/null || true
}

if [[ -d "$HOME/Desktop" ]]; then
  copy_desktop deploy/Deploy-Productie-Listara.desktop Deploy-Productie-Listara.desktop
  copy_desktop deploy/Deploy-Full-Listara.desktop Deploy-Full-Listara.desktop
  echo "Shortcut-uri Desktop: Deploy-Productie-Listara + Deploy-Full-Listara"
fi

echo ""
echo "Setup complet. Deploy:"
echo "  cd \"${ROOT}\" && bash deploy/run-listara-deploy.sh"
echo ""
