#!/usr/bin/env bash
# Setup del backend Sichat. Ejecutar dentro de la carpeta Backend:  ./setup.sh
set -e
cd "$(dirname "$0")"

echo "==> Instalando dependencias PHP (composer)"
composer install --no-dev --optimize-autoloader

if [ ! -f .env ]; then
  cp .env.example .env
  echo ""
  echo "  Se creó .env desde la plantilla."
  echo "  EDITA .env (DB_*, APP_URL, JWT_KEY, WHATSAPP_*, URL_MICROSIP/TOKEN_MICROSIP,"
  echo "  licencia/clave_producto/hardware_id y ADMIN_SEED_*) y vuelve a correr ./setup.sh"
  exit 0
fi

if ! grep -q "^APP_KEY=base64:" .env; then
  echo "==> Generando APP_KEY"
  php artisan key:generate --force
fi

echo "==> Corriendo migraciones (crea el esquema y el admin ID 1)"
php artisan migrate --force

echo "==> Sembrando datos base (horarios, etc.)"
php artisan db:seed --force

echo "==> Ajustando permisos de storage y cache"
chmod -R ug+rw storage bootstrap/cache 2>/dev/null || true

echo ""
echo "==> Backend listo."
echo "    IMPORTANTE: NO ejecutes 'php artisan config:cache' (rompe la lectura de .env)."
echo "    Configura el cron de scheduler y un queue:work (ver DEPLOY.md)."
