feat(onboarding): Explicit Device Enrollment für Master-Geräte hinzugefügt
- 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>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
---
|
||||
type: Journal
|
||||
status: ACTIVE
|
||||
owner: Curator
|
||||
created: 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):**
|
||||
- `DeviceRole` wurde um fachspezifische Rollen erweitert (`RICHTER`, `ZEITNEHMER`, `STALLMEISTER`, `ANZEIGE`,
|
||||
`PARCOURS_CHEF`).
|
||||
- `DeviceTable` (Exposed) und `Device`-Modell enthalten nun `expectedName`, `isOnline` und `isSynchronized`.
|
||||
- **Frontend (Desktop-App):**
|
||||
- `OnboardingSettings` speichert nun eine Liste von `ExpectedClient`.
|
||||
- `OnboardingScreen` (v2) bietet Master-Geräten eine Tabelle zum Verwalten dieser Liste.
|
||||
- `OnboardingValidator` stellt sicher, dass alle erwarteten Geräte einen Namen haben, bevor die Konfiguration
|
||||
gespeichert wird.
|
||||
|
||||
## 🧪 Verifikation
|
||||
|
||||
- Erweiterte Unit-Tests in `OnboardingValidatorTest` decken die Validierung der Client-Liste ab (24/24 Tests grün).
|
||||
- UI-Komponenten (Dropdown für Rollen, Add/Delete-Actions) wurden in `Screens.kt` integriert.
|
||||
|
||||
## 🔗 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.kt`
|
||||
- `frontend/shells/meldestelle-desktop/src/jvmMain/kotlin/at/mocode/desktop/v2/Screens.kt`
|
||||
Reference in New Issue
Block a user