#!/bin/bash
# =============================================================
#  Quink Upload サンプルスクリプト (Mac/Linux)
#
#  ファイルをアップロードして発行された URL を返します。
#  ここから先（メール・Slack 通知など）は用途に合わせて追記してください。
#
#  使い方:
#    chmod +x upload.sh          # 初回のみ
#    ./upload.sh report.zip
#    ./upload.sh a.zip b.pdf     # 複数ファイル一括
#
#  戻り値（標準出力）:
#    アップロードに成功したファイルの URL を1行ずつ出力します。
#    スクリプトから呼び出す例:
#      urls=$(./upload.sh report.zip)
#      echo "$urls"
#
#  前提:
#    curl / python3 が使えること（Mac 標準搭載）
# =============================================================

# ── 設定（ここを編集してください） ────────────────────────────
API_KEY="your-api-key-here"   # マイファイルページで取得した API キー
UPLOAD_URL="https://quink.jp/upload"
# ─────────────────────────────────────────────────────────────

if [ $# -eq 0 ]; then
  echo "Usage: $0 file1 [file2 ...]" >&2
  exit 1
fi

for FILE in "$@"; do
  if [ ! -f "$FILE" ]; then
    echo "[WARN] ファイルが見つかりません（スキップ）: $FILE" >&2
    continue
  fi

  RESPONSE=$(curl -s -X POST "$UPLOAD_URL" \
    -H "X-API-Key: $API_KEY" \
    -F "file=@$FILE")

  URL=$(echo "$RESPONSE" | python3 -c \
    "import sys,json; d=json.load(sys.stdin); print(d['url'])" 2>/dev/null)

  if [ -n "$URL" ]; then
    echo "$URL"
  else
    ERR=$(echo "$RESPONSE" | python3 -c \
      "import sys,json; d=json.load(sys.stdin); print(d.get('detail','Unknown error'))" 2>/dev/null \
      || echo "$RESPONSE")
    echo "[ERROR] $(basename "$FILE"): $ERR" >&2
  fi
done
