chore: fix DI binding for ZnsImportProvider in zns-import-feature, ensure proper Koin resolution
This commit is contained in:
parent
189ebc6565
commit
bcabb86841
27
docs/99_Journal/2026-04-19_ZnsImportProvider_DI_Fix.md
Normal file
27
docs/99_Journal/2026-04-19_ZnsImportProvider_DI_Fix.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Journal: 19. April 2026 - Fix ZnsImportProvider DI-Binding
|
||||
|
||||
## 🏗️ Status Quo
|
||||
|
||||
Nach der Einführung der Entkopplung durch das `ZnsImportProvider` Interface am 17. April kam es beim Start der Desktop-App zu einem Koin-Fehler.
|
||||
Die App brach ab mit: `No definition found for type 'at.mocode.frontend.core.domain.zns.ZnsImportProvider'`.
|
||||
|
||||
## ✅ Änderungen
|
||||
|
||||
### 1. Feature: ZNS-Import (Frontend)
|
||||
|
||||
- **Datei:** `frontend/features/zns-import-feature/src/jvmMain/kotlin/at/mocode/frontend/features/zns/import/di/ZnsImportModule.kt`
|
||||
- **Fix:** Die Koin-Moduldefinition wurde korrigiert. `ZnsImportViewModel` wird nun explizit an das Interface `ZnsImportProvider` gebunden.
|
||||
|
||||
```kotlin
|
||||
val znsImportModule = module {
|
||||
factory { ZnsImportViewModel(get(named("apiClient")), get(), get()) } bind ZnsImportProvider::class
|
||||
}
|
||||
```
|
||||
|
||||
## 🚀 Ergebnis
|
||||
|
||||
Die Desktop-App kann nun wieder korrekt starten, da Koin das Interface `ZnsImportProvider` auflösen kann, welches in den UI-Komponenten (z. B. Wizards) injiziert wird.
|
||||
|
||||
## 🧹 Curator Hinweis
|
||||
|
||||
Dieser Fix schließt die am 17. April begonnene Integration der ZNS Cloud-Suche ab, indem die notwendige DI-Konfiguration für die Desktop-Shell nachgereicht wurde.
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
package at.mocode.frontend.features.zns.import.di
|
||||
|
||||
import at.mocode.frontend.core.domain.zns.ZnsImportProvider
|
||||
import at.mocode.frontend.features.zns.import.ZnsImportViewModel
|
||||
import org.koin.core.qualifier.named
|
||||
import org.koin.dsl.bind
|
||||
import org.koin.dsl.module
|
||||
|
||||
val znsImportModule = module {
|
||||
factory { ZnsImportViewModel(get(named("apiClient")), get(), get()) }
|
||||
factory { ZnsImportViewModel(get(named("apiClient")), get(), get()) } bind ZnsImportProvider::class
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user