diff --git a/composeApp/src/commonMain/kotlin/dev/ulfrx/recipe/auth/AuthModule.kt b/composeApp/src/commonMain/kotlin/dev/ulfrx/recipe/auth/AuthModule.kt new file mode 100644 index 0000000..41646be --- /dev/null +++ b/composeApp/src/commonMain/kotlin/dev/ulfrx/recipe/auth/AuthModule.kt @@ -0,0 +1,19 @@ +package dev.ulfrx.recipe.auth + +import io.ktor.client.HttpClient +import org.koin.dsl.module + +val authModule = + module { + single { SecureAuthStateStore() } + single { OidcClient() } + single { MeClient() } + single { + AuthSession( + oidcClient = get(), + store = get(), + meClient = get(), + ) + } + single { AuthHttpClient.create(get()) } + } diff --git a/composeApp/src/commonMain/kotlin/dev/ulfrx/recipe/di/AppModule.kt b/composeApp/src/commonMain/kotlin/dev/ulfrx/recipe/di/AppModule.kt index 337f956..30acd0f 100644 --- a/composeApp/src/commonMain/kotlin/dev/ulfrx/recipe/di/AppModule.kt +++ b/composeApp/src/commonMain/kotlin/dev/ulfrx/recipe/di/AppModule.kt @@ -1,9 +1,10 @@ package dev.ulfrx.recipe.di +import dev.ulfrx.recipe.auth.authModule import org.koin.dsl.module // Phase 2 adds authModule; Phase 4 adds syncModule; Phase 5 adds catalogModule; etc. val appModule = module { - // intentionally empty in Phase 1 + includes(authModule) }