@echo off
title IAVigilante Connector
color 0A

echo.
echo   ╔══════════════════════════════════════╗
echo   ║     Conector IAVigilante             ║
echo   ╚══════════════════════════════════════╝
echo.

REM Check Node.js
where node >nul 2>nul
if %ERRORLEVEL% NEQ 0 (
  echo   Necesitás instalar Node.js primero.
  echo.
  echo   Descargalo desde: https://nodejs.org/es/download/
  echo   Elegí la versión LTS y seguí los pasos del instalador.
  echo.
  echo   Después de instalarlo, volvé a abrir este archivo.
  echo.
  pause
  exit /b 1
)

for /f "tokens=*" %%i in ('node -v') do set NODE_VER=%%i
echo   Node.js encontrado: %NODE_VER%
echo.

REM Ask for server URL
set /p SERVER_URL="  URL de IAVigilante [https://www.iavigilante.com]: "
if "%SERVER_URL%"=="" set SERVER_URL=https://www.iavigilante.com

REM Ask for pairing code
set /p PAIRING_CODE="  Código de vinculación: "

if "%PAIRING_CODE%"=="" (
  echo   Error: El código es requerido.
  pause
  exit /b 1
)

echo.
echo   Validando código...

REM Convert to uppercase
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  set "PAIRING_CODE=!PAIRING_CODE:%%a=%%A!"
)

REM Validate pairing (simplified - in real deployment would use proper JSON)
curl -s -X POST "%SERVER_URL%/api/vision/connectors/validate" -H "content-type: application/json" -d "{\"code\":\"%PAIRING_CODE%\"}" > %TEMP%\iv_result.json 2>nul

REM Check if Node.js is available for JSON parsing
node -e "const d=require('fs').readFileSync(process.env.TEMP+'/iv_result.json','utf8');const j=JSON.parse(d);if(j.error){console.log('Error: '+j.error);process.exit(1)}const c=j.data;require('fs').mkdirSync(process.env.USERPROFILE+'\\.iavigilante',{recursive:true});require('fs').writeFileSync(process.env.USERPROFILE+'\\.iavigilante\\connector.json',JSON.stringify({apiUrl:'%SERVER_URL%',agentId:c.agentId,tenantId:c.tenantId,secret:c.secret},null,2));console.log('OK')"

if %ERRORLEVEL% NEQ 0 (
  echo   Error: Código no válido o expirado.
  pause
  exit /b 1
)

echo   ¡Vinculación exitosa!
echo.

REM Download connector
echo   Descargando Conector...
curl -s -o "%USERPROFILE%\.iavigilante\connector.mjs" "%SERVER_URL%/api/vision/connectors/download?platform=windows" 2>nul

echo.
echo   ╔══════════════════════════════════════╗
echo   ║  ¡Conectado! El Conector está listo  ║
echo   ╚══════════════════════════════════════╝
echo.
echo   Para mantenerlo corriendo, escribí:
echo   node %USERPROFILE%\.iavigilante\connector.mjs
echo.

pause
node "%USERPROFILE%\.iavigilante\connector.mjs"
