This commit is contained in:
+15
-19
@@ -1,6 +1,6 @@
|
||||
# Wegwichtel Streckeneditor - erste einfache Fassung
|
||||
# Wegwichtel Streckeneditor - einfache Fassung mit Tests
|
||||
|
||||
Dieses Paket ergänzt die Oberfläche um einen einfachen Streckeneditor auf der Streckenauswahl.
|
||||
Dieses Paket ergänzt die Oberfläche um einen einfachen Streckeneditor auf der Streckenauswahl und liefert passende Tests mit.
|
||||
|
||||
## Enthaltene Dateien
|
||||
|
||||
@@ -9,36 +9,32 @@ Dieses Paket ergänzt die Oberfläche um einen einfachen Streckeneditor auf der
|
||||
- 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
|
||||
- eigenständige Editor-Styles
|
||||
- `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`
|
||||
- ergänzt `routes.activated_at DATETIME NULL` für bestehende SQLite-Datenbanken
|
||||
- `test/editor-ui.test.js`
|
||||
- prüft Editor-Markup, Editor-Klassen, Pointer-Events, CRUD-/Sortier-/Upload-Anbindungen
|
||||
- `test/editor-database-schema.test.js`
|
||||
- prüft, dass `activated_at DATETIME NULL` über Schema oder Migration verfügbar ist
|
||||
|
||||
## Datenbank
|
||||
|
||||
Neue Strecken bleiben fachlich Entwürfe, solange `routes.activated_at` NULL ist.
|
||||
Die Aktivierung wird in dieser Fassung nicht durch die Programmlogik gesetzt.
|
||||
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:
|
||||
Für bestehende SQLite-Datenbanken:
|
||||
|
||||
```sh
|
||||
sqlite3 <pfad-zur-wegwichtel-db> < database/migrations/20260901_add_route_activated_at.sql
|
||||
```
|
||||
|
||||
## Erwartete API-Endpunkte
|
||||
Falls `database/schema.sql` für komplett neue Datenbanken ohne Migrationslauf verwendet wird, muss dort in der `routes`-Tabelle zusätzlich diese Spalte enthalten sein:
|
||||
|
||||
Der Editor nutzt die vorhandene REST-Struktur der Anwendung:
|
||||
```sql
|
||||
activated_at DATETIME NULL
|
||||
```
|
||||
|
||||
- `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.
|
||||
Das Paket ersetzt `database/schema.sql` bewusst nicht blind, damit bestehende Tabellen, Indizes und Trigger nicht versehentlich überschrieben werden.
|
||||
|
||||
Reference in New Issue
Block a user