fix: добавить admin_etl.py + rebase на актуальный main

Worker предыдущей задачи (PR #437) ошибочно пропустил admin_etl.py — 2 endpoints
оставались под AdminTokenAuth. Также исправлены 2 оставшихся AdminTokenAuth
параметра в admin_scrape.py (ekburg-permits, kn-catalog-objects) у которых import
уже был удалён — NameError при запросе. Rebase на main HEAD 0e29464.

Total: 6 файлов, 47 endpoints без AdminTokenAuth.
This commit is contained in:
lekss361 2026-05-23 13:32:12 +03:00
parent 82217b7edd
commit cd0d80b626
2 changed files with 2 additions and 6 deletions

View file

@ -9,7 +9,8 @@ POST /api/v1/admin/etl/objective-backfill
POST /api/v1/admin/etl/nspd-denorm-backfill
Запустить backfill nspd_parcels/nspd_buildings из всех nspd_quarter_dumps.
Header: X-Admin-Token: <SCRAPE_ADMIN_TOKEN>
Auth: gendsgn.ru-wide Caddy basic_auth gate (PR #426). App-level X-Admin-Token
header removed 2026-05-23 двойная auth избыточна для pilot.
"""
from __future__ import annotations
@ -21,7 +22,6 @@ from fastapi import APIRouter, Depends, Query
from sqlalchemy.orm import Session
from app.core.db import get_db
from app.core.deps import AdminTokenAuth
from app.services.etl.objective_backfill import (
AUTO_ACCEPT_THRESHOLD,
AUTO_ACCEPT_THRESHOLD_V2,
@ -38,7 +38,6 @@ router = APIRouter()
@router.post("/objective-backfill")
def run_objective_backfill(
db: Annotated[Session, Depends(get_db)],
_: AdminTokenAuth,
dry_run: Annotated[bool, Query(description="Preview без insertions")] = False,
refresh_mv: Annotated[
bool, Query(description="REFRESH mv_layout_velocity после backfill")
@ -107,7 +106,6 @@ def run_objective_backfill(
@router.post("/nspd-denorm-backfill")
def run_nspd_denorm_backfill(
_: AdminTokenAuth,
limit: Annotated[
int | None,
Query(description="Максимум кварталов для обработки (None = все)"),

View file

@ -1202,7 +1202,6 @@ class TriggerEkburgPermitsRequest(BaseModel):
@router.post("/ekburg-permits")
def trigger_ekburg_permits(
payload: TriggerEkburgPermitsRequest,
_: AdminTokenAuth,
) -> dict[str, Any]:
"""Manual trigger для синхронизации РНС/РВЭ ЕКБ из екатеринбург.рф (xlsx).
@ -1240,7 +1239,6 @@ class TriggerKnCatalogObjectsRequest(BaseModel):
@router.post("/kn-catalog-objects")
def trigger_kn_catalog_objects(
payload: TriggerKnCatalogObjectsRequest,
_: AdminTokenAuth,
) -> dict[str, Any]:
"""Manual trigger для catalog-OBJECT scraper (заполняет wall_type, energy_eff,
ceiling_height_m, parking_*, playground_*, scores из SSR __NEXT_DATA__).