#!/bin/bash

# ── Configuración ─────────────────────────────────────
BACKEND_PORT=8022
FRONTEND_PORT=3010
NETWORK_NAME="crm_democrm_network"
BACKEND_CONTAINER="crm_dreinet_back_demo"
FRONTEND_CONTAINER="crm_dreinet_front_demo"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

echo "================================================="
echo "  Levantando democrm.itego.com.ar"
echo "================================================="

echo ""
echo "[1/5] Deteniendo y eliminando contenedores viejos..."
sudo docker rm -f $BACKEND_CONTAINER $FRONTEND_CONTAINER 2>/dev/null || true

echo ""
echo "[2/5] Creando red '$NETWORK_NAME' si no existe..."
sudo docker network create $NETWORK_NAME 2>/dev/null || true

echo ""
echo "[3/5] Construyendo Backend (Django)..."
sudo docker build -t crm-dreinet-back "$SCRIPT_DIR/crm_dreinet"

echo ""
echo "[4/5] Construyendo Frontend (Nuxt)..."
sudo docker build -t crm-dreinet-front "$SCRIPT_DIR/crm_dreinet_front"

echo ""
echo "[5/5] Levantando contenedores..."

# Backend
sudo docker run -d \
  --name $BACKEND_CONTAINER \
  --network $NETWORK_NAME \
  -p $BACKEND_PORT:8020 \
  -v "$SCRIPT_DIR/crm_dreinet:/app" \
  --env-file "$SCRIPT_DIR/crm_dreinet/.env" \
  -e DJANGO_SETTINGS_MODULE=config.settings \
  --add-host=host.docker.internal:host-gateway \
  crm-dreinet-back

# Frontend
sudo docker run -d \
  --name $FRONTEND_CONTAINER \
  --network $NETWORK_NAME \
  -p $FRONTEND_PORT:3000 \
  -e NUXT_PUBLIC_API_BASE="https://api-democrm.itego.com.ar/api" \
  -e NUXT_PUBLIC_WS_BASE="wss://api-democrm.itego.com.ar" \
  -e NITRO_HOST=0.0.0.0 \
  -e NITRO_PORT=3000 \
  crm-dreinet-front

echo ""
echo "================================================="
echo "  Listo!"
echo "  Backend:  http://192.168.90.211:$BACKEND_PORT"
echo "  Frontend: http://192.168.90.211:$FRONTEND_PORT"
echo "  Prod:     https://democrm.itego.com.ar"
echo "  API:      https://api-democrm.itego.com.ar"
echo "================================================="

echo ""
echo "Estado de los contenedores:"
sudo docker ps --filter "name=$BACKEND_CONTAINER" --filter "name=$FRONTEND_CONTAINER" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
