gendesign/tradein-mvp/scripts/upload-cian-cookies.sh
lekss361 2dd76ea5e8
Some checks failed
Deploy Trade-In / changes (push) Successful in 4s
Deploy Trade-In / build-frontend (push) Has been skipped
Deploy Trade-In / build-backend (push) Successful in 39s
Deploy Trade-In / deploy (push) Has been cancelled
feat(tradein): cian_session cookies management + admin endpoints (Wave 4 Worker A) (#457)
2026-05-23 13:22:00 +00:00

50 lines
1.6 KiB
Bash

#!/bin/bash
# Upload Cian session cookies to backend for Valuation Calculator auth.
#
# Usage: ./scripts/upload-cian-cookies.sh [cookies.json]
#
# cookies.json — JSON object { cookie_name: cookie_value, ... }
# Экспортируется из Chrome DevTools → Application → Cookies → www.cian.ru
# или через расширение Cookie-Editor → Export → JSON (object format).
#
# Переменные окружения:
# TRADEIN_ADMIN_TOKEN — admin token (или берётся из .env.runtime)
# TRADEIN_BASE_URL — base URL (default: https://gendsgn.ru/trade-in)
set -euo pipefail
COOKIES_FILE="${1:-cookies.json}"
if [[ ! -f "$COOKIES_FILE" ]]; then
echo "Error: cookies file not found: $COOKIES_FILE" >&2
echo "Usage: $0 cookies.json" >&2
exit 1
fi
# Загружаем токен из env или .env.runtime
ADMIN_TOKEN="${TRADEIN_ADMIN_TOKEN:-}"
if [[ -z "$ADMIN_TOKEN" ]] && [[ -f ".env.runtime" ]]; then
ADMIN_TOKEN="$(grep '^TRADEIN_ADMIN_TOKEN=' .env.runtime 2>/dev/null | cut -d= -f2- || true)"
fi
if [[ -z "$ADMIN_TOKEN" ]]; then
echo "Error: TRADEIN_ADMIN_TOKEN not set (env or .env.runtime)" >&2
exit 1
fi
BASE_URL="${TRADEIN_BASE_URL:-https://gendsgn.ru/trade-in}"
echo "Uploading Cian cookies from $COOKIES_FILE to $BASE_URL ..."
echo
curl -fsSL -X POST "$BASE_URL/api/v1/admin/scrape/cian/upload-cookies" \
-H "X-Admin-Token: $ADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d "@$COOKIES_FILE" \
| python3 -m json.tool
echo
echo "Verifying session:"
curl -fsSL "$BASE_URL/api/v1/admin/scrape/cian/test-auth" \
-H "X-Admin-Token: $ADMIN_TOKEN" \
| python3 -m json.tool