gendesign/tradein-mvp/backend/app/services
lekss361 34e8c72e6c feat(tradein): cian_session cookies management + admin endpoints (Wave 4 Worker A)
- New: app/services/cian_session.py — load/save/verify encrypted Cian cookies
  (pgp_sym_encrypt via COOKIE_ENCRYPTION_KEY, psycopg v3, httpx)
- Modified: app/api/v1/admin.py — POST /scrape/cian/upload-cookies +
  GET /scrape/cian/test-auth (behind existing require_admin X-Admin-Token)
- Modified: app/core/config.py — add cookie_encryption_key setting (env COOKIE_ENCRYPTION_KEY)
- New: tests/test_cian_session.py — 16 unit tests (16/16 passed)
- New: scripts/upload-cian-cookies.sh — CLI helper for cookie upload flow
2026-05-23 16:13:10 +03:00
..
exporters fix(tradein): security hotfix — C-3 config default + C-4 empty estimate persist + C-6 PDF URL allowlist (#435) 2026-05-23 09:38:23 +00:00
scrapers feat(tradein): cian_detail.py — detail page scraper (88 fields + BTI + priceChanges, Wave 4 Worker B) 2026-05-23 16:12:43 +03:00
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
brand.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
cian_session.py feat(tradein): cian_session cookies management + admin endpoints (Wave 4 Worker A) 2026-05-23 16:13:10 +03:00
estimator.py feat(tradein): integrate Avito IMV as 5th evaluation source (on-demand cached) (#452) 2026-05-23 13:08:22 +00:00
geocoder.py fix(tradein): map-picker подставляет уличный адрес, а не название POI 2026-05-22 13:32:39 +05:00
house_metadata.py feat(tradein): кадастр зданий как источник house_metadata (#393) 2026-05-22 10:54:42 +05:00
scrape_pipeline.py feat(tradein): scrape_pipeline.py — Avito full orchestrator (search → houses → detail) (#451) 2026-05-23 12:55:13 +00:00