Per audit batch #127 P2 hygiene (issue #128). ## Problem Identical `_check_token` function в 3 admin files: - backend/app/api/v1/admin_scrape.py:37-44 - backend/app/api/v1/admin_leads.py:26-33 - backend/app/api/v1/admin_jobs.py:24-31 ## Fix New `backend/app/core/deps.py` с `verify_admin_token` + Annotated alias: ```python AdminTokenAuth = Annotated[None, Depends(verify_admin_token)] ``` Заменено в 27 endpoints (18 admin_scrape + 6 admin_leads + 3 admin_jobs): - Removed local `_check_token` definitions - `_: None = Depends(_check_token)` → `_: AdminTokenAuth` - Removed unused imports (`Header`, `HTTPException`, `settings` где не используется) ## Semantics preserved Все 3 original implementations были identical (503 if env missing + 401 if mismatch, same header `X-Admin-Token`, same env `SCRAPE_ADMIN_TOKEN`). Минор: 503 detail text unified to `"admin disabled — set SCRAPE_ADMIN_TOKEN"` (в оригинале три разные строки — `"admin scrape disabled..."` etc). Cosmetic — detail в HTTP 503 не парсится клиентским кодом. ## Tests `uv run pytest tests/ -x -k admin` → 64/64 passed. ## Vault `code/patterns/Pattern_Admin_Token_Dependency_May14.md` — created. Closes #128 Refs: #127 Co-authored-by: lekss361 <claudestars@proton.me> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| config.py | ||
| db.py | ||
| deps.py | ||