#!/bin/bash
# Script helper para transferir proyecto desde PC local al servidor
# Uso: ./transfer-project.sh <nombre_proyecto> [servidor]

PROJECT_NAME="$1"
SERVER="${2:-root@72.61.45.136}"
LOCAL_FOLDER="$HOME/preparacion-proyectos/${PROJECT_NAME}"
REMOTE_FOLDER="/root/projects-pending/${PROJECT_NAME}"

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

echo -e "${BLUE}========================================${NC}"
echo -e "${BLUE}  Transferir Proyecto al Servidor${NC}"
echo -e "${BLUE}========================================${NC}"
echo ""

if [[ -z "$PROJECT_NAME" ]]; then
  echo -e "${RED}❌ Error: Debes proporcionar el nombre del proyecto${NC}"
  echo ""
  echo "Uso: ./transfer-project.sh <nombre_proyecto> [servidor]"
  echo "Ejemplo: ./transfer-project.sh mi-proyecto"
  echo "Ejemplo: ./transfer-project.sh mi-proyecto root@72.61.45.136"
  exit 1
fi

# Verificar que existe la carpeta local
if [[ ! -d "$LOCAL_FOLDER" ]]; then
  echo -e "${RED}❌ Error: No se encuentra la carpeta local${NC}"
  echo "   Ruta esperada: ${LOCAL_FOLDER}"
  echo ""
  echo "Estructura esperada:"
  echo "  ${LOCAL_FOLDER}/"
  echo "    ├── assets/"
  echo "    │   ├── logo.png"
  echo "    │   └── ... (otros assets)"
  echo "    └── config-files/"
  echo "        ├── cd-system.php (opcional)"
  echo "        └── site.php (opcional)"
  exit 1
fi

# Verificar estructura básica
if [[ ! -d "${LOCAL_FOLDER}/assets" ]]; then
  echo -e "${YELLOW}⚠️  Advertencia: No se encuentra la carpeta 'assets'${NC}"
  echo "   El script continuará, pero no se transferirán assets"
fi

# Contar archivos
ASSET_COUNT=0
CONFIG_COUNT=0

if [[ -d "${LOCAL_FOLDER}/assets" ]]; then
  ASSET_COUNT=$(find "${LOCAL_FOLDER}/assets" -type f 2>/dev/null | wc -l | tr -d ' ')
fi

if [[ -d "${LOCAL_FOLDER}/config-files" ]]; then
  CONFIG_COUNT=$(find "${LOCAL_FOLDER}/config-files" -name "*.php" -type f 2>/dev/null | wc -l | tr -d ' ')
fi

echo -e "${GREEN}📦 Proyecto:${NC} ${PROJECT_NAME}"
echo -e "${GREEN}📁 Carpeta local:${NC} ${LOCAL_FOLDER}"
echo -e "${GREEN}🖥️  Servidor:${NC} ${SERVER}"
echo -e "${GREEN}📂 Carpeta remota:${NC} ${REMOTE_FOLDER}"
echo ""
echo -e "${BLUE}Archivos encontrados:${NC}"
echo "   Assets: ${ASSET_COUNT} archivos"
echo "   Configuraciones: ${CONFIG_COUNT} archivos PHP"
echo ""

# Confirmar transferencia
read -p "¿Continuar con la transferencia? (y/N): " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
  echo -e "${YELLOW}Transferencia cancelada${NC}"
  exit 0
fi

echo ""
echo -e "${BLUE}🔄 Transfiriendo proyecto...${NC}"

# Transferir carpeta completa
scp -r "$LOCAL_FOLDER" "${SERVER}:${REMOTE_FOLDER}"

if [[ $? -eq 0 ]]; then
  echo ""
  echo -e "${GREEN}✅ Transferencia completada exitosamente${NC}"
  echo ""
  echo -e "${BLUE}Próximos pasos:${NC}"
  echo "   1. Conecta al servidor:"
  echo -e "      ${GREEN}ssh ${SERVER}${NC}"
  echo ""
  echo "   2. Ejecuta el script de creación:"
  echo -e "      ${GREEN}cd /scripts${NC}"
  echo -e "      ${GREEN}./setup_cd_project2.sh ${PROJECT_NAME} ${REMOTE_FOLDER}${NC}"
  echo ""
else
  echo ""
  echo -e "${RED}❌ Error en la transferencia${NC}"
  echo "   Verifica:"
  echo "   - Que tengas acceso SSH al servidor"
  echo "   - Que la carpeta local exista y tenga permisos de lectura"
  echo "   - Que tengas espacio en el servidor"
  exit 1
fi

