#!/usr/bin/env bash
# TrustOriginality.ai reference CLI — curl wrapper for smoke tests (not a production SDK).
# Usage:
#   export TO_API_KEY=to_live_...
#   export TO_BASE_URL=https://panel.trustoriginality.ai   # optional
#   ./scripts/trustoriginality-cli.sh text "Sample text to analyze"
#   ./scripts/trustoriginality-cli.sh image /path/to/photo.jpg
#   ./scripts/trustoriginality-cli.sh image-url https://example.com/photo.jpg

set -euo pipefail

BASE_URL="${TO_BASE_URL:-https://panel.trustoriginality.ai}"
API_KEY="${TO_API_KEY:-}"

if [[ -z "$API_KEY" ]]; then
  echo "Error: set TO_API_KEY to your panel API key." >&2
  exit 1
fi

cmd="${1:-}"
shift || true

case "$cmd" in
  text)
    text="${1:?usage: text \"content to analyze\"}"
    curl -sS -X POST "${BASE_URL}/api/text/analyze" \
      -H "X-Api-Key: ${API_KEY}" \
      -H "Content-Type: application/json" \
      -d "$(python3 -c "import json,sys; print(json.dumps({'text': sys.argv[1]}))" "$text")"
    echo
    ;;
  image)
    file="${1:?usage: image /path/to/file.jpg}"
    curl -sS -X POST "${BASE_URL}/api/image/analyze" \
      -H "X-Api-Key: ${API_KEY}" \
      -F "file=@${file}"
    echo
    ;;
  image-url)
    url="${1:?usage: image-url https://example.com/photo.jpg}"
    curl -sS -X POST "${BASE_URL}/api/image/analyze" \
      -H "X-Api-Key: ${API_KEY}" \
      -F "url=${url}"
    echo
    ;;
  *)
    cat <<EOF
TrustOriginality.ai reference CLI (curl wrapper)

Commands:
  text "..."       Analyze text
  image PATH       Analyze local image file
  image-url URL    Analyze image from URL

Environment:
  TO_API_KEY       Required API key
  TO_BASE_URL      Default: https://panel.trustoriginality.ai

Docs: https://trustoriginality.ai/developers/api-reference
OpenAPI: https://trustoriginality.ai/docs/developers/trustoriginality-api.openapi.yaml
Postman: https://trustoriginality.ai/docs/developers/trustoriginality-api.postman_collection.json
EOF
    exit "${cmd:+1}"
    ;;
esac
