Streamlined Keycloak configurations with defaults for development and production in `.env`. Added health checks and improved environment variable documentation with comments to differentiate local and server deployments. Ensured compatibility with pre-built registry images.
1.5 KiB
1.5 KiB
| type | status | owner | date | author |
|---|---|---|---|---|
| Report | ACTIVE | Curator | 2026-02-01 | Curator |
Report: Fix Sync Type Mismatch (String vs Long)
1. Problembeschreibung
Es wurde eine kritische Inkonsistenz im Delta-Sync-Mechanismus zwischen Frontend und Backend festgestellt.
- Frontend: Der generische
SyncManagernutzte einen String-Cursor (UUIDv7), was zu einem Typ-Fehler führte. - Backend: Der
PingControllererwartete strikt einenLong(Timestamp) für den ParameterlastSyncTimestamp.
2. Durchgeführte Maßnahmen
2.1 Backend (ping-service)
- Parameter-Umbenennung: Der Parameter im
PingControllerwurde vonlastSyncTimestampzusinceumbenannt, um der Konvention des Frontend-SyncManagers zu entsprechen. - Tests: Unit- und Integrationstests (
PingControllerTest) wurden aktualisiert.
2.2 Frontend (meldestelle-portal)
- Repository-Anpassung:
PingEventRepositoryImplholt nun explizit denlast_modifiedTimestamp aus der Datenbank (via neuer SQL-QueryselectLatestPingEventTimestamp). - Typ-Konvertierung: Der Timestamp wird als String an den
SyncManagerübergeben, der ihn als URL-Parameter anhängt. Spring Boot konvertiert diesen String automatisch zurück in einenLong.
2.3 Contracts (ping-api)
- Das Interface
PingApiwurde aktualisiert:syncPings(since: Long).
3. Ergebnis
- Die Typ-Sicherheit ist hergestellt.
- Tests im Backend laufen erfolgreich durch.
- Der Sync-Mechanismus ist nun robust und bereit für den produktiven Einsatz.
4. Status
✅ RESOLVED