34 lines
1.8 KiB
Markdown
34 lines
1.8 KiB
Markdown
# #021 Stabiler Schlüssel für Seed-Vorlagen
|
|
|
|
**Status:** erledigt
|
|
**Im Tracker:** [#32](https://git.wilde-server.de/florian.wilde/Laufzettel/issues/32) — die Zählung dort schließt Pull Requests ein und läuft deshalb auseinander
|
|
**Meilenstein:** v0.2.0
|
|
**Labels:** phase-2, backend
|
|
|
|
**Geschätzt:** 2 h **Tatsächlich:** 55 min
|
|
|
|
## Ziel
|
|
|
|
Der Seed erkennt seine sieben Vorlagen am **Namen**. Wird eine umbenannt, legt der nächste Lauf sie
|
|
erneut an — und `GeraetetypVorlage` bekommt eine zweite Zeile, der Schnellstart steht auf der
|
|
Geräteseite doppelt. Aufgefallen im Review zu [#017](017-seed-sieben-vorlagen.md).
|
|
|
|
## Aufgaben
|
|
|
|
- [x] Ein optionales Feld `seedSchluessel` im [Austauschformat](../vorlagen-format.md) — **nicht**
|
|
`schluessel` wie hier geplant: so heißt im Format schon das Feld einer Variablen, und zwei
|
|
Dinge gleichen Namens in derselben Datei wären eine Lesefalle — gedacht für
|
|
mitgelieferte Vorlagen, nicht für die Oberfläche; beim Import **nicht** übernommen, damit eine
|
|
eingespielte Kopie nicht den Platz des Originals einnimmt
|
|
- [x] `Vorlage.seedSchluessel` mit partiellem eindeutigen Index (nur wo gesetzt)
|
|
- [x] Der Seed sucht über den Schlüssel und fällt auf den Namen zurück, solange noch keiner gesetzt
|
|
ist — eine bestehende Installation darf beim ersten Lauf danach keine Dubletten bekommen
|
|
- [x] Dokumentieren, was der Schlüssel **nicht** tut: er macht eine Vorlage nicht unveränderlich und
|
|
erlaubt dem Seed nicht, eine bearbeitete Vorlage zu überschreiben
|
|
|
|
## Akzeptanzkriterien
|
|
|
|
- [x] Test: umbenannte Seed-Vorlage, zweiter Seed-Lauf legt keine zweite an
|
|
- [x] Test: zweiter Lauf erzeugt keine zweite `GeraetetypVorlage`-Zeile
|
|
- [x] Test: eine über den Import eingespielte Kopie bekommt **keinen** Schlüssel
|