update dependencies
This commit is contained in:
build.gradlegradle.properties
client
defaultAndroidSettings.gradlefeatures
auth
client
src
commonMain
kotlin
dev
inmo
postssystem
features
auth
client
common
src
commonMain
kotlin
dev
inmo
postssystem
features
auth
common
common
users
server
gradle
@ -1,14 +1,12 @@
|
||||
package dev.inmo.postssystem.features.auth.client.ui
|
||||
|
||||
import dev.inmo.postssystem.features.common.common.ui.fsm.UIFSMState
|
||||
import dev.inmo.postssystem.features.common.common.ui.fsm.UIFSMStateSerializer
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
data class AuthUIFSMState(
|
||||
@Serializable(UIFSMStateSerializer::class)
|
||||
override val from: UIFSMState?,
|
||||
override val context: String = "main"
|
||||
) : UIFSMState {
|
||||
companion object {
|
||||
val default = AuthUIFSMState(null)
|
||||
}
|
||||
}
|
||||
) : UIFSMState
|
||||
|
39
features/auth/common/src/commonMain/kotlin/dev/inmo/postssystem/features/auth/common/AuthModels.kt
39
features/auth/common/src/commonMain/kotlin/dev/inmo/postssystem/features/auth/common/AuthModels.kt
@ -3,10 +3,49 @@ package dev.inmo.postssystem.features.auth.common
|
||||
import com.benasher44.uuid.uuid4
|
||||
import dev.inmo.postssystem.features.users.common.Username
|
||||
import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||
import kotlinx.serialization.encoding.Decoder
|
||||
import kotlinx.serialization.encoding.Encoder
|
||||
import kotlin.jvm.JvmInline
|
||||
|
||||
@Serializable(AuthKeySerializer::class)
|
||||
sealed interface AuthKey
|
||||
|
||||
@Serializable
|
||||
private data class AuthKeySurrogate(
|
||||
val authCreds: AuthCreds?,
|
||||
val token: AuthToken?,
|
||||
val refreshToken: RefreshToken?
|
||||
)
|
||||
|
||||
@Serializer(AuthKey::class)
|
||||
object AuthKeySerializer : KSerializer<AuthKey> {
|
||||
override val descriptor: SerialDescriptor
|
||||
get() = AuthKeySurrogate.serializer().descriptor
|
||||
|
||||
override fun deserialize(decoder: Decoder): AuthKey {
|
||||
val surrogate = AuthKeySurrogate.serializer().deserialize(decoder)
|
||||
when {
|
||||
surrogate.authCreds != null -> return surrogate.authCreds
|
||||
surrogate.token != null -> return surrogate.token
|
||||
surrogate.refreshToken != null -> return surrogate.refreshToken
|
||||
}
|
||||
error("Unsupported version of auth key surrogate")
|
||||
}
|
||||
|
||||
override fun serialize(encoder: Encoder, value: AuthKey) {
|
||||
AuthKeySurrogate.serializer().serialize(
|
||||
encoder,
|
||||
AuthKeySurrogate(
|
||||
value as? AuthCreds,
|
||||
value as? AuthToken,
|
||||
value as? RefreshToken
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Serializable
|
||||
@SerialName("authcreds")
|
||||
data class AuthCreds(
|
||||
|
@ -13,8 +13,8 @@ kotlin {
|
||||
dependencies {
|
||||
api project(":postssystem.features.common.common")
|
||||
api libs.microutils.repos.ktor.client
|
||||
api "io.ktor:ktor-client-auth:$ktor_version"
|
||||
api "io.ktor:ktor-client-logging:$ktor_version"
|
||||
api libs.ktor.client.auth
|
||||
api libs.ktor.client.logging
|
||||
|
||||
api libs.microutils.common.compose
|
||||
api libs.microutils.coroutines.compose
|
||||
|
@ -14,19 +14,19 @@ kotlin {
|
||||
api libs.microutils.serialization.typedserializer
|
||||
api libs.microutils.mimetypes
|
||||
api libs.klock
|
||||
api "io.insert-koin:koin-core:$koin_version"
|
||||
api "com.benasher44:uuid:$uuid_version"
|
||||
api "io.ktor:ktor-http:$ktor_version"
|
||||
api libs.koin.core
|
||||
api libs.uuid
|
||||
api libs.ktor.http
|
||||
}
|
||||
}
|
||||
jvmMain {
|
||||
dependencies {
|
||||
api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
||||
api libs.kotlin.reflect
|
||||
}
|
||||
}
|
||||
androidMain {
|
||||
dependencies {
|
||||
api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
||||
api libs.kotlin.reflect
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,8 +17,8 @@ kotlin {
|
||||
}
|
||||
jvmMain {
|
||||
dependencies {
|
||||
api "io.ktor:ktor-auth:$ktor_version"
|
||||
api "ch.qos.logback:logback-classic:$logback_version"
|
||||
api libs.ktor.auth
|
||||
api libs.logback
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -15,8 +15,8 @@ kotlin {
|
||||
}
|
||||
jvmMain {
|
||||
dependencies {
|
||||
api "io.ktor:ktor-auth:$ktor_version"
|
||||
api "io.ktor:ktor-server-sessions:$ktor_version"
|
||||
api libs.ktor.auth
|
||||
api libs.ktor.server.sessions
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user