gendesign/tradein-mvp/backend/app/api/v1
lekss361 40c6f8b30f fix(tradein): убрать require_admin полностью — Caddy basic_auth достаточен
Доделка 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 (без последствий).
2026-05-23 17:16:00 +03:00
..
__init__.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
admin.py fix(tradein): убрать require_admin полностью — Caddy basic_auth достаточен 2026-05-23 17:16:00 +03:00
brand.py feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) 2026-05-21 00:25:39 +03:00
geocode.py feat(tradein): выбор адреса на карте ЕКБ (#415) 2026-05-22 12:09:35 +05:00
trade_in.py feat(tradein): Stage 4a — API endpoints for Avito enrichment + IMV benchmark UI (#460) 2026-05-23 13:34:38 +00:00