#!/bin/bash

BASE_URL=$1

if [ -z "$BASE_URL" ]; then
        echo "Musisz podać adres API. (np. http://pck.nom.pl)"
        exit 1
fi

# Endpointy
GET_DOMAINS_ENDPOINT="$BASE_URL/api/get-domain-for-whois-check/"
POST_WHOIS_DATA_ENDPOINT="$BASE_URL/api/post-domain-whois"

# Pobranie danych o domenach (max 5 domen) metodą GET
#domains_json=$(curl -s -X GET $GET_DOMAINS_ENDPOINT)
domains_json=$(curl -s -L -X GET $GET_DOMAINS_ENDPOINT)
echo "Raw API response: $domains_json"

# Sprawdzenie czy dane zostały pobrane
if [ -z "$domains_json" ]; then
  echo "Błąd: Nie udało się pobrać domen z API."
  exit 1
fi

# Parsowanie JSON, wyciągnięcie domen
domains=$(echo "$domains_json" | jq -r '.[]')

# Sprawdzenie czy jq jest zainstalowane
if ! command -v jq &> /dev/null; then
  echo "Błąd: jq nie jest zainstalowane. Wołaj admina!"
  exit 1
fi

# Iteracja po domenach
for domain in $domains; do
  echo "Pobieranie danych WHOIS dla domeny: $domain"

  # Uruchomienie whois dla każdej domeny
  whois_data=$(whois $domain)

  # Sprawdzenie, czy dane WHOIS zostały pobrane
  if [ -z "$whois_data" ]; then
    echo "Błąd: Nie udało się pobrać danych WHOIS dla domeny $domain"
    continue
  fi

  # Utworzenie JSON do wysłania na endpoint POST
  json_payload=$(jq -n --arg domain "$domain" --arg whois_data "$whois_data" \
    '{domain: $domain, whois_data: $whois_data}')

  # Wysłanie danych WHOIS metodą POST na drugi endpoint
  response=$(curl -s -X POST $POST_WHOIS_DATA_ENDPOINT \
    -H "Content-Type: application/json" \
    -d "$json_payload")

  # Sprawdzenie, czy wysłanie danych się powiodło
  if [ $? -eq 0 ]; then
    echo "Dane WHOIS dla domeny $domain zostały wysłane pomyślnie."
  else
    echo "Błąd: Nie udało się wysłać danych WHOIS dla domeny $domain."
  fi
done
