#!/bin/bash

# ============================================================================
# COMANDOS CURL PARA PROBAR LA API ULTRANAV
# ============================================================================

# Token Bearer (generado desde la clave API)
TOKEN="c06ab5c4a51ba98ac02151518cd2ecc06c38e3d24e3d10346bacf9b6210a78c7"
BASE_URL="https://ultranav.smartime.cl"

# ============================================================================
# 1. HEALTH CHECK (Sin autenticación)
# ============================================================================
echo "=== 1. Health Check ==="
curl -X GET \
  "$BASE_URL/health" \
  -H "Content-Type: application/json" \
  -v

echo -e "\n\n"

# ============================================================================
# 2. RESUMEN DE ASISTENCIA (Con autenticación)
# ============================================================================
echo "=== 2. Resumen de Asistencia (idNodo por defecto 26338) ==="
curl -X POST \
  "$BASE_URL/api/v1/asistencia/resumen" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fecha": "01-01-2026 - 31-01-2026",
    "idNodo": null
  }' \
  -v

echo -e "\n\n"

# ============================================================================
# 3. RESUMEN DE ASISTENCIA (Con idNodo específico)
# ============================================================================
echo "=== 3. Resumen de Asistencia (idNodo específico) ==="
curl -X POST \
  "$BASE_URL/api/v1/asistencia/resumen" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fecha": "15-01-2026 - 20-01-2026",
    "idNodo": 26338
  }' \
  -v

echo -e "\n\n"

# ============================================================================
# 4. SIN TOKEN (Debe fallar con 401)
# ============================================================================
echo "=== 4. Sin Token (Debe fallar con 401) ==="
curl -X POST \
  "$BASE_URL/api/v1/asistencia/resumen" \
  -H "Content-Type: application/json" \
  -d '{
    "fecha": "01-01-2026 - 31-01-2026"
  }' \
  -v

echo -e "\n\n"

# ============================================================================
# 5. FORMATO DE FECHA INCORRECTO (Debe fallar con 400)
# ============================================================================
echo "=== 5. Formato de Fecha Incorrecto (Debe fallar con 400) ==="
curl -X POST \
  "$BASE_URL/api/v1/asistencia/resumen" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fecha": "2026-01-01 to 2026-01-31"
  }' \
  -v

echo -e "\n\n"

# ============================================================================
# 6. RANGO DE FECHAS MAYOR A 30 DÍAS (Debe fallar con 400)
# ============================================================================
echo "=== 6. Rango Mayor a 30 Días (Debe fallar con 400) ==="
curl -X POST \
  "$BASE_URL/api/v1/asistencia/resumen" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fecha": "01-01-2026 - 05-02-2026"
  }' \
  -v

echo -e "\n\n"

# ============================================================================
# VERSIÓN COMPACTA (Sin -v para salida limpia)
# ============================================================================
echo "=== VERSIÓN COMPACTA (Sin detalles de conexión) ==="
echo ""
echo "Health Check:"
curl -s -X GET "$BASE_URL/health" | jq '.'

echo -e "\nResumen de Asistencia:"
curl -s -X POST \
  "$BASE_URL/api/v1/asistencia/resumen" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fecha": "01-01-2026 - 31-01-2026",
    "idNodo": null
  }' | jq '.'
