- Master-Geräte können erwartete Clients inkl. Name & Rolle definieren. - Neue Rollen (`RICHTER`, `ZEITNEHMER` etc.) integriert. - Backend- und Frontend-Validierung erweitert, UI-Komponente für Client-Verwaltung. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
1.8 KiB
1.8 KiB
| type | status | owner | created |
|---|---|---|---|
| Journal | ACTIVE | Curator | 2026-04-16 |
Journal — 16. April 2026 (Explicit Device Enrollment)
🎯 Ziel & Entscheidung
Implementierung des "Explicit Device Enrollment"-Konzepts im Onboarding-Prozess. Ein Master-Gerät definiert nun vorab, welche Clients (Name & Rolle) im lokalen Netzwerk erwartet werden. Dies erhöht die Sicherheit und automatisiert die Feature-Freischaltung auf den Clients.
🏗️ Architektur-Änderungen
- Backend (Identity-Service):
DeviceRolewurde um fachspezifische Rollen erweitert (RICHTER,ZEITNEHMER,STALLMEISTER,ANZEIGE,PARCOURS_CHEF).DeviceTable(Exposed) undDevice-Modell enthalten nunexpectedName,isOnlineundisSynchronized.
- Frontend (Desktop-App):
OnboardingSettingsspeichert nun eine Liste vonExpectedClient.OnboardingScreen(v2) bietet Master-Geräten eine Tabelle zum Verwalten dieser Liste.OnboardingValidatorstellt sicher, dass alle erwarteten Geräte einen Namen haben, bevor die Konfiguration gespeichert wird.
🧪 Verifikation
- Erweiterte Unit-Tests in
OnboardingValidatorTestdecken die Validierung der Client-Liste ab (24/24 Tests grün). - UI-Komponenten (Dropdown für Rollen, Add/Delete-Actions) wurden in
Screens.ktintegriert.
🔗 Relevante Dateien
backend/services/identity/identity-domain/src/main/kotlin/at/mocode/identity/domain/model/Device.kt
backend/services/identity/identity-infrastructure/src/main/kotlin/at/mocode/identity/infrastructure/persistence/DeviceTable.kt
frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/screens/onboarding/OnboardingSettings.ktfrontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/v2/Screens.kt