#!/usr/bin/env bash
# El celular deja de ser obligatorio: entran los 5 asociados que quedaban por fuera.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SRC="$SCRIPT_DIR/files"
APP_ROOT="${1:-$(cd "$SCRIPT_DIR/.." && pwd)}"
if [ ! -f "$APP_ROOT/public/index.php" ]; then echo "ERROR: '$APP_ROOT' no es la raiz de la app."; exit 1; fi
STAMP="$(date +%Y%m%d-%H%M%S)"; BACKUP="$APP_ROOT/_backup-celular-$STAMP"; mkdir -p "$BACKUP"
cd "$SRC"
while IFS= read -r rel; do
  rel="${rel#./}"; dest="$APP_ROOT/$rel"
  if [ -f "$dest" ]; then mkdir -p "$BACKUP/$(dirname "$rel")"; cp -p "$dest" "$BACKUP/$rel"; fi
  mkdir -p "$(dirname "$dest")"; cp -f "$SRC/$rel" "$dest"; chmod 644 "$dest"
  echo "  [OK] $rel"
done < <(find . -type f)
echo "--- Aplicando migracion -----------------------------------------"
cd "$APP_ROOT"
if php scripts/migrate.php; then echo "Migracion aplicada."; else
  echo "!!! FALLO la migracion. Revertir archivos: cp -rp \"$BACKUP\"/* \"$APP_ROOT\"/"; exit 1; fi
echo "==============================================================="
echo " LISTO. Ahora recarga la base para que entren los 5:"
echo "   cd $APP_ROOT && php scripts/cargar-base.php datos/Base-Asociados-FEVAL-3-zonas.xlsx"
echo " Debe decir: Cargadas 2991 · Rechazadas 0"
echo ""
echo " Y vuelve a generar las claves (para que los 5 tengan la suya):"
echo "   cd $APP_ROOT && php scripts/generar-claves.php --confirmar"
echo "==============================================================="
