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. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.json | ||
| Dockerfile | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| sentry.client.config.ts | ||
| sentry.edge.config.ts | ||
| sentry.server.config.ts | ||
| tsconfig.json | ||
| vitest-env.d.ts | ||
| vitest.config.ts | ||
| vitest.setup.ts | ||