Доделка PR #437 (refactor: убрать X-Admin-Token UI / middleware). require_admin Depends остался в admin.py — блокировал /admin/scrape/* возвратом 401 для всех запросов без X-Admin-Token. Frontend /scrapers/avito (PR #472) не шлёт header (полагается на Caddy basic_auth gate), → 'Invalid or missing X-Admin-Token'. Изменения: - admin.py: удалена функция require_admin + 7 Depends() в endpoint decorators (/scrape, /geocode-missing, /scrape/cian/upload-cookies, /scrape/cian/test-auth, /scrape/avito-house, /scrape/avito-detail, /scrape/avito-imv) - config.py: удалено settings.admin_token field - cron-scrape.sh: удалён ADMIN_HDR + X-Admin-Token из всех curl - upload-cian-cookies.sh: удалён TRADEIN_ADMIN_TOKEN loading + header Auth contract: Caddy basic_auth gate'ит /trade-in/api/v1/admin/* (через handle_path конфиг). Application layer — open после Caddy unwrap. ADMIN_TOKEN env переменная больше не используется backend'ом, но её можно держать в .env.runtime как dead reference (без последствий).
37 lines
1.2 KiB
Bash
37 lines
1.2 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_BASE_URL — base URL (default: https://gendsgn.ru/trade-in)
|
|
# Auth: Caddy basic_auth (auth handled by curl --user / browser session).
|
|
|
|
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
|
|
|
|
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 "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" \
|
|
| python3 -m json.tool
|