#!/bin/bash
# ============================================================
# EMERGENCY ROLLBACK: Flujo de inventario
# ============================================================
# Uso: ./emergency_rollback_inventory.sh
#
# Este script revierte los cambios aplicados por:
#   fix_inventory_flow_complete.sql
#
# Restaura las funciones originales:
#   - setpaymentstatusv2
#   - newexpensev2
#   - updateexpensev4
#   - purchaseentry
# ============================================================

set -e

# Colores
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Configuracion (modificar segun tu entorno)
DB_NAME="hotel_hacienda"
DB_USER="postgres"
ROLLBACK_FILE="$(dirname "$0")/rollback_inventory_flow_complete.sql"

echo -e "${YELLOW}============================================================${NC}"
echo -e "${YELLOW} EMERGENCY ROLLBACK - Flujo de Inventario${NC}"
echo -e "${YELLOW}============================================================${NC}"
echo ""
echo "Base de datos: $DB_NAME"
echo "Usuario:       $DB_USER"
echo "Archivo:       $ROLLBACK_FILE"
echo ""

if [ ! -f "$ROLLBACK_FILE" ]; then
    echo -e "${RED}ERROR: No se encontro el archivo de rollback:${NC}"
    echo "$ROLLBACK_FILE"
    exit 1
fi

echo -e "${RED}ADVERTENCIA:${NC} Este rollback restaura el comportamiento anterior."
echo "Esto significa que al pagar un expense, el stock volvera a sumarse."
echo ""
read -p "¿Estas seguro de que quieres continuar? (escribe SI para confirmar): " CONFIRM

if [ "$CONFIRM" != "SI" ]; then
    echo "Rollback cancelado."
    exit 0
fi

echo ""
echo "Ejecutando rollback..."

if psql -U "$DB_USER" -d "$DB_NAME" -f "$ROLLBACK_FILE"; then
    echo ""
    echo -e "${GREEN}============================================================${NC}"
    echo -e "${GREEN} Rollback ejecutado correctamente.${NC}"
    echo -e "${GREEN}============================================================${NC}"
else
    echo ""
    echo -e "${RED}============================================================${NC}"
    echo -e "${RED} ERROR al ejecutar el rollback.${NC}"
    echo -e "${RED}============================================================${NC}"
    exit 1
fi
