#!/usr/bin/env bash
set -u

PAQUETE_DIR="$(cd "$(dirname "$0")" && pwd)"
PROYECTO_DIR="${1:-/home/iotcuboc/pyme}"
MARCA="$(date +%Y%m%d_%H%M%S)"
RESPALDO_DIR="${PROYECTO_DIR}/respaldos/hotfix_auth_revision_stock_v4_3_1_${MARCA}"
ARCHIVO="public/venta_stock_revisar_v3.php"

fallar(){ echo "ERROR: $1" >&2; exit 1; }
[ -d "$PROYECTO_DIR" ] || fallar "No existe el proyecto: $PROYECTO_DIR"
[ -f "$PROYECTO_DIR/$ARCHIVO" ] || fallar "Primero debe estar instalada Revisión de Stock v4.3"
[ -f "$PAQUETE_DIR/$ARCHIVO" ] || fallar "Falta en el paquete: $ARCHIVO"
command -v php >/dev/null 2>&1 || fallar "PHP CLI no está disponible"
php -l "$PAQUETE_DIR/$ARCHIVO" >/dev/null || fallar "PHP inválido"

mkdir -p "$RESPALDO_DIR/public" || fallar "No se pudo crear el respaldo"
cp -p "$PROYECTO_DIR/$ARCHIVO" "$RESPALDO_DIR/$ARCHIVO" || fallar "No se pudo respaldar"
cp -p "$PAQUETE_DIR/$ARCHIVO" "$PROYECTO_DIR/$ARCHIVO" || {
  cp -p "$RESPALDO_DIR/$ARCHIVO" "$PROYECTO_DIR/$ARCHIVO"
  fallar "No se pudo instalar; se restauró el archivo anterior"
}
php -l "$PROYECTO_DIR/$ARCHIVO" >/dev/null || {
  cp -p "$RESPALDO_DIR/$ARCHIVO" "$PROYECTO_DIR/$ARCHIVO"
  fallar "Falló la validación final; se restauró el archivo anterior"
}

echo "Autenticación de Revisión de Stock corregida."
echo "Respaldo: $RESPALDO_DIR"
