auto-sync: 2026-06-04 08:40:01
This commit is contained in:
@@ -297,6 +297,33 @@ docker restart prototype-enduro-trails-1
|
||||
|
||||
---
|
||||
|
||||
## ET-011 — Скачивание GPX чужих публичных треков (03-04.06.2026) ✅
|
||||
|
||||
> Не путать с F-05 (экспорт СОБСТВЕННОГО построенного маршрута). ET-011 — скачивание уже собранных чужих треков из попапа на карте.
|
||||
|
||||
**Фича:** кнопка «Скачать GPX» в попапе публичного трека. Эндпоинт `GET /api/gps-tracks/{track_id}/download` — собирает GPX 1.1 из геометрии трека, с проверками формата/размера/лицензии.
|
||||
|
||||
**Лицензионная политика (ADR-015, default-deny):**
|
||||
- `config/gps_sources.yaml` → `download_allowed: <bool>` на каждый источник. По умолчанию `DEFAULT_DOWNLOAD_ALLOWED_SOURCES = {"osm"}` — качать можно только OSM.
|
||||
- Источник без флага → **403 `source_forbidden`** + ссылка на оригинал (`external_urls`). Это не баг — намеренно.
|
||||
|
||||
**Состояние источников (origin/main, enduro-trails #23):**
|
||||
- `osm` → `true` | `enduro_russia` → **`true`** (А-1, решение владельца 04.06) | `wikiloc` → `false` | `ttrails` → `false`
|
||||
- ⚠️ **А-1:** `enduro_russia` включён по явному решению Славы (286 треков — из этого источника). ToS EnduroRussia явно не разрешает ре-экспорт — юр-риск принят владельцем осознанно.
|
||||
|
||||
**Проверка на проде (трек 102):** HTTP 200, 265 КБ, `application/gpx+xml`, content-disposition с кириллицей, валидный GPX 1.1 (xmllint OK). ✅ Качается.
|
||||
|
||||
### ⚠️ Грабли ET-011 (важные)
|
||||
| Грабля | Решение |
|
||||
|--------|---------|
|
||||
| Конфиг `gps_sources.yaml` монтируется volume `./config:/app/config:ro` | Правка файла + рестарт контейнера = новая политика **без пересборки образа** |
|
||||
| Файл `gps_sources.yaml` root-owned, у slin нет write/sudo | Правка через docker-root: `docker run --rm -v .../config:/c alpine sh -c '...'` |
|
||||
| `download_allowed: false` (default ADR-015) → 403, а не 404 | Если фронт показывает «Открыть оригинал» — источник просто не разрешён к скачиванию (не баг) |
|
||||
| 404 на `/download` при живом треке = маршрут НЕ зарегистрирован (старый образ) | Проверять openapi прода в первую очередь; пересобрать контейнер из актуального main |
|
||||
| deploy-hook падал: `/var/log/enduro-trails` root-owned | **ИСПРАВЛЕНО 04.06** через installer: `sudo chown slin:slin /var/log/enduro-trails`. Сейчас slin пишет в каталог → хук не падает |
|
||||
|
||||
---
|
||||
|
||||
## Документы
|
||||
|
||||
| Документ | Описание |
|
||||
|
||||
Reference in New Issue
Block a user