feat(seed): sieben Vorlagen, Beispielbestand und Demo-Kunden (#33)
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s

This commit was merged in pull request #33.
This commit is contained in:
2026-09-26 03:26:58 +00:00
parent ae290345b7
commit 9bd198a531
33 changed files with 3400 additions and 119 deletions
+22
View File
@@ -65,6 +65,28 @@ absichtlich nicht automatisch** — ihn startest du einmal von Hand:
docker compose run --rm migrate pnpm db:seed
```
### Was der Seed anlegt
| | Inhalt |
|---|---|
| Grundbestand | Betriebsmodus, eigene Organisation, Administrator aus `SEED_ADMIN_EMAIL` und `SEED_ADMIN_PASSWORD` |
| Vorlagen | die sieben Abläufe des Hauses als **veröffentlichte Version 1** — PC Neuinstallation, Onboarding, Offboarding, Server-Inbetriebnahme, Firewall-Rollout, Patchday, Restore-Test |
| Beispielbestand | 3 Abteilungen, 5 Personen, `PC-001` und `NB-001` mit Tag-Code, 5 vorgedruckte Tags, Schnellstart-Vorgaben je Gerätetyp |
| Verzeichnis | eine **deaktivierte** Beispielquelle zum Abschauen — Adresse und Bind-Passwort ersetzen, dann einschalten |
Mit `SEED_MODE=DIENSTLEISTUNG` (Alias `SEED_MODE=SERVICE`) kommen zwei Demo-Kunden dazu,
„Musterfirma GmbH" (`MUS`) und „Bäckerei Reiter" (`REI`), mit je einer Abteilung, einer Person und
einem Gerät nach der Hostname-Regel (`MUS-PC-001`).
**Der Seed richtet ein, er räumt nicht auf.** Was schon da ist, bleibt: eine bearbeitete Vorlage,
eine geänderte Ziel-OU oder ein umgeschalteter Betriebsmodus überstehen jeden weiteren Lauf. Zweimal
hintereinander aufgerufen ändert der zweite Lauf nichts.
Die sieben Vorlagen liegen als JSON im [Austauschformat](docs/vorlagen-format.md) unter
`prisma/seed-daten/vorlagen/`. Wer eine anpassen will, ändert die Datei — oder besser: die Vorlage
in der Oberfläche, denn eine veröffentlichte Version wird nie verändert, und der Seed fasst eine
vorhandene Vorlage nicht mehr an.
### Die Datenbank ist von außen nicht erreichbar
Das ist bewusst so gebaut und in `tests/betriebsstand.test.ts` festgehalten: