All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 20m44s
52 lines
2.8 KiB
Markdown
52 lines
2.8 KiB
Markdown
# Changelog
|
||
|
||
Alle nennenswerten Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
|
||
Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
|
||
|
||
## [1.4.2] – 2026-05-20 — Hotfix: Admin leer & Legacy-Symbole
|
||
|
||
### Behoben
|
||
- **Admin Symbol-Manager**: Liest jetzt korrekt `categories` statt `groups` aus der API-Response von `/api/tenant/symbols?grouped=true`.
|
||
- **Datenmigration (Step 18)**: Neue Migration in `prisma/migrate.js` migriert bestehende `tenantSymbols` automatisch: setzt fehlende `name`, `svgPath`, `categoryId` (Default-Kategorie „Meine Symbole“) und `migratedFromIconId`. Behebt „Leichen“ mit broken images.
|
||
|
||
## [1.4.1] – 2026-05-20 — Hotfix: Production 500 & Null-Crash
|
||
|
||
### Behoben
|
||
- **Migration `prisma/migrate.js`**: `ALTER TABLE ... ADD COLUMN ... REFERENCES` auf PostgreSQL mit bestehenden Daten führte zu stillen Fehlern. Spalte `categoryId` wird jetzt ohne Inline-REFERENCES angelegt; Foreign-Key wird in separatem idempotenten Schritt (15b) erstellt.
|
||
- **Frontend `right-sidebar.tsx`**: `s.name.toLowerCase()` crashte wenn Symbol-Name `null` war. Optionaler Fallback auf leeren String hinzugefügt.
|
||
|
||
## [1.4.0] – 2026-05-20 — Phase 1: Symbol-Architektur Redesign
|
||
|
||
### Neu
|
||
- **SymbolTemplate** — globale, read-only Vorlagen-Pakete aus `public/signaturen/*.svg`
|
||
- **TenantCategory** — mandantenspezifische, frei anlegbare Kategorien für Symbole
|
||
- **TenantSymbol Refactor** — Symbole sind jetzt vollständig mandantenspezifisch (`name`, `svgPath`, `categoryId`, `isUploaded`)
|
||
- Upload-Dialog für eigene SVG/PNG/JPEG-Symbole mit Drag & Drop
|
||
- Import-Dialog für Vorlagen-Pakete (z.B. "Feuerwehr Schweiz")
|
||
|
||
### APIs
|
||
- `GET /api/templates` — listet verfügbare Template-Pakete mit Vorschau
|
||
- `POST /api/templates/import` — importiert ein Paket als TenantSymbols
|
||
- `GET/POST/PATCH/DELETE /api/tenant/categories` — CRUD für Tenant-Kategorien
|
||
- `GET/POST/PATCH/DELETE /api/tenant/symbols` — erweitert: Gruppierung, Upload, JSON-Import
|
||
- `GET /api/tenant/symbols/[id]/image` — liefert TenantSymbol-Bilder aus MinIO oder `public/`
|
||
- `GET /api/icons/[id]/image` — TenantSymbol-First Lookup, dann Legacy-Fallback
|
||
- `GET /api/icons` — liefert jetzt auch `tenantSymbols` und `tenantSymbolGroups`
|
||
|
||
### UI
|
||
- **Admin → Symbol-Manager**: komplett neues Layout mit 3 Tabs (Symbole, Kategorien, Import)
|
||
- **Sidebar (RightSidebar)**: zeigt Tenant-Symbole jetzt nach Kategorie gruppiert an
|
||
|
||
### Migration & Seed
|
||
- `prisma/migrations/20260520_symbol_architecture/migration.sql`
|
||
- `prisma/seed-symbol-templates.ts`
|
||
- `prisma/migrate-tenant-symbols.ts`
|
||
- Alle Seeds idempotent (`upsert` statt `deleteMany`)
|
||
|
||
---
|
||
|
||
## [1.3.5] – vor 2026-05-20
|
||
|
||
### Bestehende Features
|
||
- Karten-Zeichenwerkzeuge, Journal, Einsatzrapport, Projekte, Benutzerverwaltung, Mandantenverwaltung
|