#!/bin/bash
# Script de verificación de acceso de red para API Cartec

echo "================================================================"
echo "     VERIFICACIÓN API CARTEC - 192.168.100.87:3000"
echo "================================================================"
echo ""

echo "1️⃣  Estado del servicio cartec-api:"
echo "-----------------------------------"
sudo systemctl status cartec-api --no-pager -n 5
echo ""

echo "2️⃣  Puerto 3000 escuchando:"
echo "-----------------------------------"
sudo netstat -tlnp | grep 3000 || echo "❌ Puerto 3000 no está escuchando"
echo ""
echo "ℹ️  Debe mostrar: 0.0.0.0:3000 (no 127.0.0.1:3000)"
echo ""

echo "3️⃣  Estado del firewall:"
echo "-----------------------------------"
sudo ufw status | head -10
echo ""

echo "4️⃣  Verificar puerto 3000 en firewall:"
echo "-----------------------------------"
sudo ufw status | grep 3000 || echo "⚠️  Puerto 3000 NO está abierto"
echo ""

echo "================================================================"
echo "                    ACCIONES REQUERIDAS"
echo "================================================================"
echo ""

# Verificar si el puerto está en el firewall
if ! sudo ufw status | grep -q "3000"; then
    echo "⚠️  ACCIÓN NECESARIA: Abrir puerto 3000"
    echo "   Ejecutar: sudo ufw allow 3000/tcp"
    echo ""
fi

# Verificar si está escuchando en localhost
if sudo netstat -tlnp | grep 3000 | grep -q "127.0.0.1"; then
    echo "⚠️  ADVERTENCIA: API solo escucha en localhost"
    echo "   La configuración actual NO permite acceso desde red"
    echo ""
fi

if sudo netstat -tlnp | grep 3000 | grep -q "0.0.0.0"; then
    echo "✅ API escucha en todas las interfaces (correcto)"
    echo ""
fi

echo "================================================================"
echo "          PRUEBAS DESDE OTRA MÁQUINA EN LA RED"
echo "================================================================"
echo ""
echo "Desde cualquier máquina en 192.168.100.x ejecutar:"
echo ""
echo "# Health check"
echo "curl http://192.168.100.87:3000/api/health"
echo ""
echo "# Crear OT (usar archivo JSON)"
echo "curl -X POST http://192.168.100.87:3000/api/ot/create \\"
echo "  -H 'Content-Type: application/json' \\"
echo "  -d @payload.json"
echo ""
echo "================================================================"
