#!/usr/bin/env sh
set -eu

: "${DECISIOQ_CLIENT_ID:?Set DECISIOQ_CLIENT_ID}"
: "${DECISIOQ_CLIENT_SECRET:?Set DECISIOQ_CLIENT_SECRET}"

IDENTITY_URL="${DECISIOQ_IDENTITY_URL:-https://identity.vinquery.com/connect/token}"
DKS_URL="${DECISIOQ_DKS_URL:-https://dks.vinquery.com}"
DDE_URL="${DECISIOQ_DDE_URL:-https://dde.vinquery.com}"
AUDIENCE="${DECISIOQ_AUDIENCE:-vinquery:api:decisioq}"
CORRELATION_ID="auto-auct-006-curl-001"
SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)"

TOKEN_RESPONSE=$(curl -sS -X POST "$IDENTITY_URL" \
  -H "Content-Type: application/json" \
  --data "{\"clientId\":\"$DECISIOQ_CLIENT_ID\",\"clientSecret\":\"$DECISIOQ_CLIENT_SECRET\",\"audience\":\"$AUDIENCE\"}")

TOKEN=$(printf '%s' "$TOKEN_RESPONSE" | sed -n 's/.*"jwtToken"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')
if [ -z "$TOKEN" ]; then
  echo "Token response did not contain jwtToken"
  echo "$TOKEN_RESPONSE"
  exit 1
fi

curl -sS "$DKS_URL/decisioncatalog/decisions/AUTO-AUCT-006" \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Correlation-Id: $CORRELATION_ID" > /dev/null

curl -sS -X POST "$DDE_URL/api/v1/execute-catalog" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -H "X-Correlation-Id: $CORRELATION_ID" \
  --data @"$SCRIPT_DIR/../auto-auct-006-execute.json"
