From 938f324bb8e6f0f505f9f77907cd6e96dcb4bc67 Mon Sep 17 00:00:00 2001 From: ulfrxdev Date: Tue, 28 Apr 2026 16:55:36 +0200 Subject: [PATCH] feat(02-06): wire auth session into koin - provide authModule singletons for store, OIDC, MeClient, AuthSession, and HttpClient - include authModule from appModule bootstrap --- .../dev/ulfrx/recipe/auth/AuthModule.kt | 19 +++++++++++++++++++ .../kotlin/dev/ulfrx/recipe/di/AppModule.kt | 3 ++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 composeApp/src/commonMain/kotlin/dev/ulfrx/recipe/auth/AuthModule.kt 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) }