#!/usr/bin/env bash
# =====================================================================
#  Reset seguro de las pruebas + desactivar usuarios
#
#  PROBLEMA QUE RESUELVE: "reset-pruebas.php --confirmar" borra tambien
#  otp_codigos, o sea LAS CLAVES DE LOS 2.988 ASOCIADOS. Al regenerarlas
#  saldrian DISTINTAS, y el Excel que ya se le entrego a FEVAL quedaria
#  inservible.
#
#   1. Modo nuevo --solo-selecciones: borra unicamente lo elegido y su
#      auditoria. Las claves se conservan: los mismos probadores vuelven
#      a entrar con la clave que ya tienen. Tampoco toca 'envios'.
#   2. Antes de borrar deja un CSV en datos/ con lo que habia, por si
#      alguna de esas elecciones resulta ser de un asociado real.
#   3. usuarios.php aprende "desactivar" y "activar": el mensaje de
#      error ya lo recomendaba, pero la accion no existia.
#
#  No toca la base por si solo: instala y muestra el simulacro.
# =====================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
APP_ROOT="${1:-$(cd "$SCRIPT_DIR/.." && pwd)}"
if [ ! -f "$APP_ROOT/public/index.php" ]; then echo "ERROR: '$APP_ROOT' no es la raiz."; exit 1; fi
STAMP="$(date +%Y%m%d-%H%M%S)"; BACKUP="$APP_ROOT/_backup-reset-$STAMP"; mkdir -p "$BACKUP/scripts"
for f in reset-pruebas.php usuarios.php; do
  [ -f "$APP_ROOT/scripts/$f" ] && cp -p "$APP_ROOT/scripts/$f" "$BACKUP/scripts/" || true
  cp -f "$SCRIPT_DIR/files/scripts/$f" "$APP_ROOT/scripts/$f"; chmod 644 "$APP_ROOT/scripts/$f"
  echo "  [OK] scripts/$f"
done
echo ""
echo "--- SIMULACRO (no borra nada todavia) -------------------------"
cd "$APP_ROOT" && php scripts/reset-pruebas.php --solo-selecciones
echo ""
echo "Si el resumen te cuadra, ejecutalo de verdad con:"
echo "   php scripts/reset-pruebas.php --solo-selecciones --confirmar"
echo "Respaldo del codigo: $BACKUP"
