### feat: erweitere ZNS und SQLDelight-Integration
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Has been cancelled
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Has been cancelled
- **SQLDelight:** Füge neue Queries (`countVereine`, `maxUpdated...`) zur SQLite-Datenbank hinzu und aktualisiere `DesktopMasterdataRepository`. - **ZNS-Sync:** Passe `ZnsImportState` an, um Pferde- und Funktionärsdaten zu unterstützen. - **Cloud-Sync:** Entferne redundante Auth-Header und setze Limits für Massensynchronisation auf 50.000 Datensätze. - **Masterdata-Service:** Stabilisiere Consul Health-Checks und implementiere Limit-Beschränkungen auf Controller-Ebene.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Session-Journal: 22. April 2026 - Masterdata Auth & Consul Resilience
|
||||
|
||||
## 🎯 Status & Highlights
|
||||
- **Auth-Bugfix (Cloud-Sync):** Behebung des `401 Unauthorized` beim Cloud-Sync durch konsistente Token-Injektion in alle API-Calls des `ZnsImportViewModel`.
|
||||
- **Infrastruktur-Stabilisierung:** Optimierung der Consul-Health-Checks für den `masterdata-service`, um unerwünschte Deregistrierungen zu vermeiden.
|
||||
- **Massendaten-Optimierung:** Erhöhung der Sync-Limits auf 50.000 Sätze pro Request für eine effiziente Initialbefüllung der lokalen SQLite-Datenbank.
|
||||
|
||||
## 🛠️ Durchgeführte Änderungen
|
||||
### Frontend (Common)
|
||||
- **ZnsImportViewModel.kt:**
|
||||
- Bearer-Token zu allen `httpClient.get` Aufrufen in `syncFromCloud` hinzugefügt.
|
||||
- Sicherheitscheck `if (token != null)` vor Header-Setzung implementiert.
|
||||
- Synchronisations-Limits für Vereine auf 50.000 erhöht.
|
||||
|
||||
### Backend (Infrastructure)
|
||||
- **masterdata-service (application.yml):**
|
||||
- `health-check-interval` auf 30s erhöht.
|
||||
- `health-check-critical-timeout` auf 5m erweitert.
|
||||
- `deregister-critical-service-after` auf 10m gesetzt, um Consul mehr Puffer bei Lastspitzen (wie ZNS-Importen) zu geben.
|
||||
|
||||
## 🧐 QA & Verifizierung
|
||||
- **Token-Validation:** Code-Review bestätigt, dass alle Sync-Endpunkte nun den Authorization-Header mitschicken.
|
||||
- **Build:** `./gradlew :frontend:shells:meldestelle-desktop:compileKotlinJvm` weiterhin erfolgreich.
|
||||
- **Log-Analyse:** Masterdata-Logs bestätigen Health-Checks auf Port 8086, während API auf 8091 läuft.
|
||||
|
||||
## 🚀 Next Steps
|
||||
1. **End-to-End Sync:** Neustart der Desktop-App und Verifizierung, dass der Button "Cloud-Sync" nun alle Daten (Vereine, Reiter, Pferde, Funktionäre) ohne 401 Fehler in die SQLite zieht.
|
||||
2. **Daten-Validierung:** Stichprobenartige Suche in der Desktop-App gegen die importierten 21.206 Pferde.
|
||||
|
||||
🏗️ [Lead Architect] | 👷 [Backend Developer] | 🐧 [DevOps Engineer]
|
||||
Reference in New Issue
Block a user