#!/bin/bash
# Instala/atualiza o app no servidor cPanel.
# Uso (no Terminal do cPanel ou via SSH):
#   cd ~/blanc-app && bash install.sh
set -e
cd "$(dirname "$0")"

echo "== Pasta: $(pwd)"

if [ ! -d ".output/server" ]; then
  echo "ERRO: pasta .output nao encontrada. Extraia o ZIP aqui primeiro."; exit 1
fi

# Ativa o Node do cPanel, se existir (ajuste a versao se necessario)
for v in 22 20; do
  if [ -f "$HOME/nodevenv/blanc-app/$v/bin/activate" ]; then
    # shellcheck disable=SC1090
    source "$HOME/nodevenv/blanc-app/$v/bin/activate"; break
  fi
done

if ! command -v node >/dev/null; then
  echo "ERRO: Node nao encontrado. Crie o app em 'Setup Node.js App' antes."; exit 1
fi
echo "== Node: $(node -v)"
MAJOR=$(node -v | sed 's/v\([0-9]*\).*/\1/')
if [ "$MAJOR" -lt 20 ]; then echo "ERRO: precisa Node 20 ou superior."; exit 1; fi

if [ ! -f ".env" ]; then
  cp .env.example .env
  chmod 600 .env
  echo "== Criei o .env. Preencha os valores e rode este script de novo:"
  echo "   nano .env"
  exit 0
fi
chmod 600 .env

if grep -q "COLE_AQUI" .env; then
  echo "AVISO: ainda ha campos 'COLE_AQUI' no .env:"; grep -n "COLE_AQUI" .env | cut -d= -f1
fi

mkdir -p tmp
touch tmp/restart.txt
echo "== Pronto. App reiniciado. Teste: https://app.blancdigital.com.br"
