Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2.5 KiB
Journal: 17. April 2026 - ZNS Cloud-Suche Integration
🏗️ Status Quo
Bisher konnten ZNS-Daten (Vereine/Veranstalter) im "Neue Veranstaltung" Wizard nur durch den manuellen Upload einer .zip oder .dat Datei importiert werden. Da die ZNS-Daten bereits im Backend (Masterdata-Service) vorhanden sind, war ein direkter Zugriff aus dem Wizard heraus wünschenswert, um den Workflow zu vereinfachen.
✅ Änderungen
1. Domain & Core (Frontend)
- Datei:
frontend/core/domain/src/commonMain/kotlin/at/mocode/frontend/core/domain/zns/ZnsImportProvider.kt - Erweiterung: Das
ZnsImportProviderInterface wurde umsearchRemote(query: String)erweitert. - Datenmodell:
ZnsImportStateenthält nunremoteResults: List<ZnsRemoteVerein>undisSearching: Boolean.
2. Feature: ZNS-Import (Frontend)
- Datei:
frontend/features/zns-import-feature/src/jvmMain/kotlin/at/mocode/zns/feature/ZnsImportViewModel.kt - Implementierung: Die
searchRemoteMethode nutzt denhttpClient, um den Endpunkt/api/v1/masterdata/verein/searchdes API-Gateways abzufragen. - Serialisierung: Ein internes
VereinRemoteDtowurde hinzugefügt, um die Backend-Antwort korrekt zu mappen.
3. Shell: Desktop App (Frontend)
- Datei:
frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/v2/VeranstaltungScreens.kt - UI-Integration:
- Im ersten Schritt des Veranstaltungs-Wizards wurde ein neues Suchfeld "ZNS Cloud-Suche" integriert.
- Die Suchergebnisse werden in einer horizontalen
LazyRowals Cards angezeigt. - Bei Klick auf ein Ergebnis wird der Verein automatisch in den lokalen
StoreV2übernommen (falls noch nicht vorhanden) und als aktiver Veranstalter für den Wizard gesetzt.
- Imports: Notwendige UI-Komponenten (
LazyRow,TextOverflow,Icons.Default.Cloud) wurden ergänzt.
🚀 UX-Vorteil
Der User muss nun keine ZNS-Dateien mehr manuell verwalten, wenn die Daten bereits einmal zentral importiert wurden. Die "Cloud-Suche" fungiert als globale Stammdaten-Quelle, die nahtlos mit dem lokalen Offline-Store synchronisiert wird, sobald ein Eintrag ausgewählt wird.
🧹 Curator Hinweis
Die Session wurde mit der erfolgreichen Implementierung der hybriden Datenquelle (Lokal + Cloud) für den Veranstaltungs-Wizard abgeschlossen. Dies stärkt den "Offline-First" Ansatz bei gleichzeitiger Nutzung zentraler Cloud-Ressourcen.
Nächste Schritte:
- Erweiterung der Cloud-Suche auf Reiter und Pferde (für spätere Wizard-Schritte).
- Performance-Optimierung (Debounce) für die Remote-Suche.