todo: Factory-Defaults Export/Import als neuer Punkt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
duffyduck 2026-04-23 11:59:24 +02:00
parent ea3f3c6d29
commit d2766f3621
1 changed files with 30 additions and 0 deletions

View File

@ -15,6 +15,36 @@ Wenn eine Email einem Vertrag zugeordnet ist:
- Anhänge auch in Vertragsdokumente speichern
- Rechnungen wie Kündigungsdokumente behandeln
### Factory-Defaults: Export + Import von Lieferanten & Formularvorlagen
**Ziel:** Einmal gepflegte Stammdaten (Anbieter, Tarife, Kündigungsfristen, Laufzeiten,
PDF-Auftragsvorlagen) sollen sich exportieren und in andere Installationen oder
als Factory-Default beim Initialisieren wieder einspielen lassen.
**Konzept:**
- Ordner: `backend/factory-defaults/` (gitignoriert für echte Firmen-Exports,
aber mit `.gitkeep` und optional einem öffentlich teilbaren `seeds/`-Unterordner)
Struktur:
```
backend/factory-defaults/
providers/ → providers.json (Anbieter + Tarife)
contract-meta/ → cancellationPeriods.json, contractDurations.json, contractCategories.json
pdf-templates/ → {templateName}.json + dazugehörige PDF-Datei
```
- **Export:** Button in Einstellungen → "Factory-Defaults exportieren"
- Erstellt ZIP mit allen JSON-Dateien + PDF-Vorlagen
- User entpackt das ZIP nach `backend/factory-defaults/`
- **Import-Script:** `backend/scripts/seed-factory-defaults.ts`
- Liest alle Dateien aus `backend/factory-defaults/`
- Bei mehreren Dateien: automatisches Mergen (per unique name)
- Nutzt Prisma `upsert` → idempotent, kann mehrfach ausgeführt werden
- PDF-Dateien werden nach `uploads/` kopiert + Pfade in DB aktualisiert
- Aufruf: `npm run seed:defaults`
- **Init-DB Integration:** Script wird optional beim Setup mit ausgeführt
wenn der Ordner existiert
---
## ✅ Erledigt