Add authentication
This commit is contained in:
@@ -8,26 +8,35 @@ androidx-appcompat = "1.7.1"
|
||||
androidx-core = "1.18.0"
|
||||
androidx-espresso = "3.7.0"
|
||||
androidx-lifecycle = "2.10.0"
|
||||
androidx-security-crypto = "1.1.0"
|
||||
androidx-testExt = "1.3.0"
|
||||
composeHotReload = "1.0.0"
|
||||
composeMultiplatform = "1.10.3"
|
||||
exposed = "0.55.0"
|
||||
flyway = "12.4.0"
|
||||
hikari = "6.2.1"
|
||||
junit = "4.13.2"
|
||||
kermit = "2.1.0"
|
||||
koin = "4.2.1"
|
||||
kotlin = "2.3.20"
|
||||
kotlinx-coroutines = "1.10.2"
|
||||
kotlinx-serialization = "1.7.3"
|
||||
ktor = "3.4.1"
|
||||
ktor = "3.4.2"
|
||||
lokksmith = "0.13.0"
|
||||
logback = "1.5.32"
|
||||
material3 = "1.10.0-alpha05"
|
||||
multiplatformSettings = "1.3.0"
|
||||
postgresql = "42.7.10"
|
||||
spotless = "8.4.0"
|
||||
testcontainers = "1.21.4"
|
||||
|
||||
[libraries]
|
||||
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
||||
kotlin-testJunit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
|
||||
junit = { module = "junit:junit", version.ref = "junit" }
|
||||
|
||||
# kotlinx.serialization (shared DTOs — D-27)
|
||||
kotlinx-serializationJson = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
|
||||
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
|
||||
androidx-testExt-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-testExt" }
|
||||
androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-espresso" }
|
||||
@@ -43,6 +52,7 @@ compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMul
|
||||
compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" }
|
||||
compose-uiToolingPreview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "composeMultiplatform" }
|
||||
kotlinx-coroutinesSwing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" }
|
||||
kotlinx-coroutinesTest = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" }
|
||||
logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
||||
ktor-serverCore = { module = "io.ktor:ktor-server-core-jvm", version.ref = "ktor" }
|
||||
ktor-serverNetty = { module = "io.ktor:ktor-server-netty-jvm", version.ref = "ktor" }
|
||||
@@ -65,6 +75,40 @@ flyway-core = { module = "org.flywaydb:flyway-core", version.ref = "flyway" }
|
||||
flyway-database-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version.ref = "flyway" }
|
||||
postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresql" }
|
||||
|
||||
# Phase 2 — Server: Ktor auth + JWT + call logging + status pages (D-21..D-23)
|
||||
ktor-serverAuth = { module = "io.ktor:ktor-server-auth-jvm", version.ref = "ktor" }
|
||||
ktor-serverAuthJwt = { module = "io.ktor:ktor-server-auth-jwt-jvm", version.ref = "ktor" }
|
||||
ktor-serverCallLogging = { module = "io.ktor:ktor-server-call-logging-jvm", version.ref = "ktor" }
|
||||
ktor-serverStatusPages = { module = "io.ktor:ktor-server-status-pages-jvm", version.ref = "ktor" }
|
||||
|
||||
# Phase 2 — Client: Ktor client core + auth + content-negotiation + logging + engines (D-16..D-18)
|
||||
# `ktor-serializationKotlinxJsonMpp` is the multiplatform variant (no `-jvm` classifier) for
|
||||
# commonMain consumption; the `-jvm` variant above stays available to the server module.
|
||||
ktor-clientCore = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
|
||||
ktor-clientAuth = { module = "io.ktor:ktor-client-auth", version.ref = "ktor" }
|
||||
ktor-clientContentNegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
|
||||
ktor-clientLogging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
|
||||
ktor-clientOkhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
|
||||
ktor-clientDarwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" }
|
||||
ktor-clientCio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" }
|
||||
ktor-serializationKotlinxJsonMpp = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
||||
|
||||
# Phase 2 — Client: Lokksmith OIDC + Android secure storage + multiplatform-settings (D-01, D-13, AUTH-02)
|
||||
lokksmith-core = { module = "dev.lokksmith:lokksmith-core", version.ref = "lokksmith" }
|
||||
androidx-security-crypto = { module = "androidx.security:security-crypto", version.ref = "androidx-security-crypto" }
|
||||
multiplatform-settings = { module = "com.russhwolf:multiplatform-settings", version.ref = "multiplatformSettings" }
|
||||
multiplatform-settings-coroutines = { module = "com.russhwolf:multiplatform-settings-coroutines", version.ref = "multiplatformSettings" }
|
||||
|
||||
# Phase 2 — Server: Exposed DSL + Hikari (D-26)
|
||||
exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" }
|
||||
exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" }
|
||||
exposed-java-time = { module = "org.jetbrains.exposed:exposed-java-time", version.ref = "exposed" }
|
||||
hikari = { module = "com.zaxxer:HikariCP", version.ref = "hikari" }
|
||||
|
||||
# Phase 2 — Server tests: Testcontainers (D-21..D-25)
|
||||
testcontainers-postgresql = { module = "org.testcontainers:postgresql", version.ref = "testcontainers" }
|
||||
testcontainers-junit-jupiter = { module = "org.testcontainers:junit-jupiter", version.ref = "testcontainers" }
|
||||
|
||||
[plugins]
|
||||
androidApplication = { id = "com.android.application", version.ref = "agp" }
|
||||
androidLibrary = { id = "com.android.library", version.ref = "agp" }
|
||||
|
||||
Reference in New Issue
Block a user