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:
@@ -15,6 +15,36 @@ Wenn eine Email einem Vertrag zugeordnet ist:
|
|||||||
- Anhänge auch in Vertragsdokumente speichern
|
- Anhänge auch in Vertragsdokumente speichern
|
||||||
- Rechnungen wie Kündigungsdokumente behandeln
|
- 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
|
## ✅ Erledigt
|
||||||
|
|||||||
Reference in New Issue
Block a user