diff --git a/docs/99_Journal/2026-04-19_ZnsImportProvider_DI_Fix.md b/docs/99_Journal/2026-04-19_ZnsImportProvider_DI_Fix.md new file mode 100644 index 00000000..1f6ef906 --- /dev/null +++ b/docs/99_Journal/2026-04-19_ZnsImportProvider_DI_Fix.md @@ -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. diff --git a/frontend/features/zns-import-feature/src/jvmMain/kotlin/at/mocode/frontend/features/zns/import/di/ZnsImportModule.kt b/frontend/features/zns-import-feature/src/jvmMain/kotlin/at/mocode/frontend/features/zns/import/di/ZnsImportModule.kt index 076f95e9..acfd4dd8 100644 --- a/frontend/features/zns-import-feature/src/jvmMain/kotlin/at/mocode/frontend/features/zns/import/di/ZnsImportModule.kt +++ b/frontend/features/zns-import-feature/src/jvmMain/kotlin/at/mocode/frontend/features/zns/import/di/ZnsImportModule.kt @@ -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 }