#!/bin/bash

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

echo ""
echo -e "${BLUE}╔══════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║     k0lmena TMT — v2.0.0                ║${NC}"
echo -e "${BLUE}╚══════════════════════════════════════════╝${NC}"
echo ""

# Verificar Docker
if ! command -v docker &> /dev/null; then
  echo -e "${RED}❌ Docker no está instalado.${NC}"
  echo "   Descargalo en: https://www.docker.com/products/docker-desktop"
  exit 1
fi

if ! docker info &> /dev/null; then
  echo -e "${RED}❌ Docker Desktop no está corriendo.${NC}"
  echo "   Abrilo y volvé a ejecutar este script."
  exit 1
fi

echo -e "${GREEN}✅ Docker detectado${NC}"

# Crear .env si no existe
if [ ! -f ".env" ]; then
  echo ""
  echo -e "${YELLOW}⚙️  Primera vez — configurando el archivo .env...${NC}"

  read -p "   Contraseña para la base de datos (Enter para usar 'kolmena2024'): " DB_PASS
  DB_PASS=${DB_PASS:-kolmena2024}

  cat > .env << EOF
POSTGRES_USER=postgres
POSTGRES_PASSWORD=${DB_PASS}
SECRETPRIVATEKEY=kolmena-secret-$(date +%s)
APP_VERSION=2.0.0
EOF
  echo -e "${GREEN}✅ Archivo .env creado${NC}"
else
  # Asegurarse de que APP_VERSION sea 2.0.0
  sed -i.bak 's/^APP_VERSION=.*/APP_VERSION=2.0.0/' .env 2>/dev/null || true
  echo -e "${GREEN}✅ Archivo .env encontrado${NC}"
fi

# Cargar la imagen Docker
echo ""
echo -e "${YELLOW}📦 Cargando imagen Docker (puede tardar 1-2 minutos)...${NC}"
docker load < k0lmenatmt-2.0.0.tar.gz
echo -e "${GREEN}✅ Imagen cargada${NC}"

# Levantar servicios
echo ""
echo -e "${YELLOW}🚀 Levantando servicios...${NC}"
docker-compose down 2>/dev/null || true
docker-compose up -d

# Esperar que esté listo
echo ""
echo -e "${YELLOW}⏳ Esperando que la aplicación esté lista...${NC}"
for i in {1..30}; do
  if curl -s http://localhost:4000/healthz > /dev/null 2>&1; then
    echo ""
    echo -e "${GREEN}╔══════════════════════════════════════════╗${NC}"
    echo -e "${GREEN}║  ✅ k0lmena está corriendo               ║${NC}"
    echo -e "${GREEN}║                                          ║${NC}"
    echo -e "${GREEN}║  👉 http://localhost:4000                ║${NC}"
    echo -e "${GREEN}╚══════════════════════════════════════════╝${NC}"
    echo ""
    exit 0
  fi
  printf "."
  sleep 2
done

echo ""
echo -e "${YELLOW}⚠️  Tardando más de lo esperado. Revisá los logs:${NC}"
echo "   docker-compose logs"
