#!/usr/bin/env bash set -euo pipefail BASE_URL="${BASE_URL:-http://localhost}" EMAIL="${EMAIL:-admin@example.com}" PASSWORD="${PASSWORD:-admin123}" STUDY_ID="${STUDY_ID:-aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa}" echo "[1/6] login: $EMAIL" TOKEN=$(curl -sS -X POST "$BASE_URL/api/v1/auth/login" \ -H 'Content-Type: application/json' \ -d "{\"email\":\"$EMAIL\",\"password\":\"$PASSWORD\"}" | \ python3 -c 'import json,sys; print(json.load(sys.stdin).get("access_token",""))') if [[ -z "$TOKEN" ]]; then echo "login failed: access_token empty" exit 1 fi AUTH=(-H "Authorization: Bearer $TOKEN") echo "[2/6] get setup-config" GET_RESP=$(curl -sS "$BASE_URL/api/v1/studies/$STUDY_ID/setup-config" "${AUTH[@]}") VERSION=$(echo "$GET_RESP" | python3 -c 'import json,sys; print(json.load(sys.stdin).get("version",""))') if [[ -z "$VERSION" ]]; then echo "get setup-config failed" echo "$GET_RESP" exit 1 fi echo "version=$VERSION" echo "[3/6] save draft" PUT_PAYLOAD=$(cat <