Backend (parcels.py + layout_tz_pdf.py): - 🟡 /best-layouts/pdf 404 handling: catch ValueError → 404 (consistent с JSON endpoint handling геометрия не найдена) - 🟡 XSS defense-in-depth: html.escape() для r.room_bucket, r.area_bin, m.room_bucket в HTML row generators Frontend (BestLayoutsBlock.tsx): - 🟡 data_window dates → ru-RU locale (toLocaleDateString) - 🟢 target_total_flats clamped к [1, 10000] перед submit (paste-bypass на client защищён, backend Pydantic le=10000) Tests: 5+27 backend pass, frontend tsc/lint/build clean. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.json | ||
| Dockerfile | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||