45 lines
1.6 KiB
Markdown
45 lines
1.6 KiB
Markdown
# Wegwichtel Streckeneditor - erste einfache Fassung
|
|
|
|
Dieses Paket ergänzt die Oberfläche um einen einfachen Streckeneditor auf der Streckenauswahl.
|
|
|
|
## Enthaltene Dateien
|
|
|
|
- `public/index.html`
|
|
- neuer Abschnitt `Strecken verwalten` mit rundem Plus-Button
|
|
- neues Dialogfenster `#editor-dialog`
|
|
- Einbindung von `css/editor.css` und `js/editor-ui.js`
|
|
- `public/css/editor.css`
|
|
- eigenständige Editor-Styles, damit `app.css` nicht erneut ersetzt werden muss
|
|
- `public/js/editor-ui.js`
|
|
- Editor-Dialog, Streckenliste, Streckendetailformular, POI-Formular
|
|
- POI-Sortierung per Pfeil nach oben/unten
|
|
- Upload einer Audiodatei und beliebig vieler Bilder pro POI
|
|
- `database/migrations/20260901_add_route_activated_at.sql`
|
|
- ergänzt `routes.activated_at DATETIME NULL`
|
|
|
|
## Datenbank
|
|
|
|
Neue Strecken bleiben fachlich Entwürfe, solange `routes.activated_at` NULL ist.
|
|
Die Aktivierung wird in dieser Fassung nicht durch die Programmlogik gesetzt.
|
|
|
|
SQLite-Migration einmalig ausführen, falls die Spalte noch nicht existiert:
|
|
|
|
```sh
|
|
sqlite3 <pfad-zur-wegwichtel-db> < database/migrations/20260901_add_route_activated_at.sql
|
|
```
|
|
|
|
## Erwartete API-Endpunkte
|
|
|
|
Der Editor nutzt die vorhandene REST-Struktur der Anwendung:
|
|
|
|
- `GET /api/routes`
|
|
- `GET /api/routes/:routeId`
|
|
- `POST /api/routes`
|
|
- `PUT /api/routes/:routeId`
|
|
- `POST /api/routes/:routeId/pois`
|
|
- `PUT /api/routes/:routeId/pois/:poiId`
|
|
- `POST /api/routes/:routeId/pois/:poiId/audio`
|
|
- `POST /api/routes/:routeId/pois/:poiId/images`
|
|
|
|
Schreibende Zugriffe bleiben damit an die bestehende serverseitige Absicherung gebunden.
|