feat(site-finder): §3 «Сети и точки подключения» — попапы показывают характеристики (#2111) #2112

Merged
bot-backend merged 1 commit from feat/networks-max-info into main 2026-06-30 13:16:08 +00:00

1 commit

Author SHA1 Message Date
5428c73db5 feat(site-finder): §3 «Сети и точки подключения» — попапы показывают характеристики (#2111)
All checks were successful
CI / changes (pull_request) Successful in 7s
CI / frontend-tests (pull_request) Successful in 1m12s
CI / openapi-codegen-check (pull_request) Successful in 2m7s
CI / backend-tests (pull_request) Successful in 14m35s
Audit #2111 (HIGH): попапы карт §3 показывали данные, которые есть в источнике,
но недоливались до фронта. Три слоя:

- Utility OSM: гуманизируем voltage/operator/diameter/material/цепи из tags JSONB
  в одну RU-строку UtilityInfrastructureFeature.characteristics
  («110 кВ/10 кВ · МРСК Урала», «⌀ 500 мм · steel»). diameter берёт первый
  числовой run (не склеивает мульти-размеры «500x300»).
- Точки подключения (НСПД 36328): EngineeringStructure.purpose (назначение/класс,
  дедуп против type) + рендер «Назначение» и «№ ЕГРН» (cad_num уже был в схеме).
- ЗОУИТ: бэкенд уже отдавал reg_numb_border + coverage_pct — фронт рендерит
  «Рег. №» и «Перекрытие участка N%» (0..1 → %, typeof-guard сохраняет 0%).

Аддитивные optional-поля схемы (str|None=None) — без breaking changes.
api-types.ts перегенерён офлайн из app.openapi(). Юнит-тесты: _utility_characteristics
(formatter edge-cases) + purpose dedup-vs-type.
2026-06-30 17:59:59 +05:00