From 224bc27b2dd8dde641afa2a1ed232cb422d8fcce Mon Sep 17 00:00:00 2001 From: Louis CAD Date: Thu, 30 Apr 2026 15:20:42 +0200 Subject: [PATCH] refactor: Add Shared prefix to models shared with iOS to workaround Swift namespacing limitation --- .../infomaniak/auth/di/ApplicationModule.kt | 6 ++-- .../infomaniak/auth/utils/MigrationUtils.kt | 30 +++++++++---------- .../internal/MigrationAuthentication.kt | 4 +-- .../internal/managers/AuthenticatorManager.kt | 6 ++-- .../internal/managers/MigrationManager.kt | 8 ++--- .../internal/requests/AuthenticatorRequest.kt | 4 +-- .../{ApiToken.kt => SharedApiToken.kt} | 2 +- .../{UserProfile.kt => SharedUserProfile.kt} | 6 ++-- .../migration/user/preferences/Preferences.kt | 12 ++++---- .../{Country.kt => SharedCountry.kt} | 4 +-- .../{Language.kt => SharedLanguage.kt} | 4 +-- ...nce.kt => SharedOrganizationPreference.kt} | 2 +- ...emplate.kt => SharedPreferenceTemplate.kt} | 2 +- .../{TimeZone.kt => SharedTimeZone.kt} | 4 +-- .../{AuthDevices.kt => SharedAuthDevices.kt} | 2 +- .../{Security.kt => SharedSecurity.kt} | 4 +-- .../network/interfaces/AuthenticatorBridge.kt | 8 ++--- 17 files changed, 54 insertions(+), 54 deletions(-) rename multiplatform-lib/src/commonMain/kotlin/models/migration/{ApiToken.kt => SharedApiToken.kt} (97%) rename multiplatform-lib/src/commonMain/kotlin/models/migration/user/{UserProfile.kt => SharedUserProfile.kt} (88%) rename multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/{Country.kt => SharedCountry.kt} (94%) rename multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/{Language.kt => SharedLanguage.kt} (95%) rename multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/{OrganizationPreference.kt => SharedOrganizationPreference.kt} (96%) rename multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/{PreferenceTemplate.kt => SharedPreferenceTemplate.kt} (95%) rename multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/{TimeZone.kt => SharedTimeZone.kt} (93%) rename multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/{AuthDevices.kt => SharedAuthDevices.kt} (97%) rename multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/{Security.kt => SharedSecurity.kt} (95%) diff --git a/app/src/main/kotlin/com/infomaniak/auth/di/ApplicationModule.kt b/app/src/main/kotlin/com/infomaniak/auth/di/ApplicationModule.kt index e21435df..da505cf5 100644 --- a/app/src/main/kotlin/com/infomaniak/auth/di/ApplicationModule.kt +++ b/app/src/main/kotlin/com/infomaniak/auth/di/ApplicationModule.kt @@ -20,7 +20,7 @@ package com.infomaniak.auth.di import android.content.Context import com.infomaniak.auth.BuildConfig import com.infomaniak.auth.lib.AuthenticatorFacade -import com.infomaniak.auth.lib.models.migration.user.UserProfile +import com.infomaniak.auth.lib.models.migration.user.SharedUserProfile import com.infomaniak.auth.lib.network.interfaces.AuthenticatorBridge import com.infomaniak.auth.lib.network.interfaces.BreadcrumbType import com.infomaniak.auth.lib.network.interfaces.CrashReportInterface @@ -52,7 +52,7 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.transform import javax.inject.Singleton -import com.infomaniak.auth.lib.models.migration.ApiToken as MigrationApiToken +import com.infomaniak.auth.lib.models.migration.SharedApiToken as MigrationApiToken import com.infomaniak.lib.login.ApiToken as LoginApiToken @Module @@ -205,7 +205,7 @@ object ApplicationModule { ) } - override suspend fun persistUserProfile(userProfile: UserProfile) { + override suspend fun persistUserProfile(userProfile: SharedUserProfile) { accountUtils.addUser(userProfile.toUser()) } } diff --git a/app/src/main/kotlin/com/infomaniak/auth/utils/MigrationUtils.kt b/app/src/main/kotlin/com/infomaniak/auth/utils/MigrationUtils.kt index f7a3095a..16fe90ea 100644 --- a/app/src/main/kotlin/com/infomaniak/auth/utils/MigrationUtils.kt +++ b/app/src/main/kotlin/com/infomaniak/auth/utils/MigrationUtils.kt @@ -17,16 +17,16 @@ */ package com.infomaniak.auth.utils -import com.infomaniak.auth.lib.models.migration.user.UserProfile -import com.infomaniak.auth.lib.models.migration.user.preferences.Country -import com.infomaniak.auth.lib.models.migration.user.preferences.Language -import com.infomaniak.auth.lib.models.migration.user.preferences.OrganizationPreference +import com.infomaniak.auth.lib.models.migration.user.SharedUserProfile +import com.infomaniak.auth.lib.models.migration.user.preferences.SharedCountry +import com.infomaniak.auth.lib.models.migration.user.preferences.SharedLanguage +import com.infomaniak.auth.lib.models.migration.user.preferences.SharedOrganizationPreference import com.infomaniak.auth.lib.models.migration.user.preferences.Preferences -import com.infomaniak.auth.lib.models.migration.user.preferences.TimeZone -import com.infomaniak.auth.lib.models.migration.user.preferences.security.AuthDevices -import com.infomaniak.auth.lib.models.migration.user.preferences.security.Security +import com.infomaniak.auth.lib.models.migration.user.preferences.SharedTimeZone +import com.infomaniak.auth.lib.models.migration.user.preferences.security.SharedAuthDevices +import com.infomaniak.auth.lib.models.migration.user.preferences.security.SharedSecurity import com.infomaniak.core.auth.models.user.User -import com.infomaniak.auth.lib.models.migration.ApiToken as MigrationApiToken +import com.infomaniak.auth.lib.models.migration.SharedApiToken as MigrationApiToken import com.infomaniak.core.auth.models.user.preferences.Country as CoreCountry import com.infomaniak.core.auth.models.user.preferences.Language as CoreLanguage import com.infomaniak.core.auth.models.user.preferences.OrganizationPreference as CoreOrganizationPreference @@ -44,7 +44,7 @@ fun LoginApiToken.toMigrationApiToken(): MigrationApiToken { ) } -fun UserProfile.toUser(): User { +fun SharedUserProfile.toUser(): User { return User( id = id, displayName = displayName, @@ -67,27 +67,27 @@ private fun Preferences.toCorePreferences() = CorePreferences( timezone = timezone?.toCoreTimeZone(), ) -private fun Language.toCoreLanguage() = CoreLanguage( +private fun SharedLanguage.toCoreLanguage() = CoreLanguage( shortName = shortName, locale = locale, shortLocale = shortLocale, ) -private fun Country.toCoreCountry() = CoreCountry( +private fun SharedCountry.toCoreCountry() = CoreCountry( shortName = shortName, isEnabled = isEnabled, ) -private fun TimeZone.toCoreTimeZone() = CoreTimeZone( +private fun SharedTimeZone.toCoreTimeZone() = CoreTimeZone( gmt = gmt, ) -private fun OrganizationPreference.toCoreOrganizationPreference() = CoreOrganizationPreference( +private fun SharedOrganizationPreference.toCoreOrganizationPreference() = CoreOrganizationPreference( currentOrganizationId = currentOrganizationId, lastLoginAt = lastLoginAt, ) -private fun Security.toCoreSecurity() = CoreSecurity( +private fun SharedSecurity.toCoreSecurity() = CoreSecurity( score = score, hasRecoveryEmail = hasRecoveryEmail, hasValidPhone = hasValidPhone, @@ -105,7 +105,7 @@ private fun Security.toCoreSecurity() = CoreSecurity( authDevices = authDevices?.mapTo(ArrayList()) { it.toCoreAuthDevices() }, ) -private fun AuthDevices.toCoreAuthDevices() = CoreAuthDevices( +private fun SharedAuthDevices.toCoreAuthDevices() = CoreAuthDevices( id = id, name = name, lastConnexion = lastConnexion ?: 0L, diff --git a/multiplatform-lib/src/commonMain/kotlin/internal/MigrationAuthentication.kt b/multiplatform-lib/src/commonMain/kotlin/internal/MigrationAuthentication.kt index e9317d30..978f4b8c 100644 --- a/multiplatform-lib/src/commonMain/kotlin/internal/MigrationAuthentication.kt +++ b/multiplatform-lib/src/commonMain/kotlin/internal/MigrationAuthentication.kt @@ -17,10 +17,10 @@ */ package com.infomaniak.auth.lib.internal -import com.infomaniak.auth.lib.models.migration.ApiToken +import com.infomaniak.auth.lib.models.migration.SharedApiToken internal sealed interface MigrationAuthentication { - data class CrossAppLogin(val derivedToken: ApiToken) : MigrationAuthentication + data class CrossAppLogin(val derivedToken: SharedApiToken) : MigrationAuthentication data class NoOngoingLogin(val password: String) : MigrationAuthentication data object OngoingLogin : MigrationAuthentication } diff --git a/multiplatform-lib/src/commonMain/kotlin/internal/managers/AuthenticatorManager.kt b/multiplatform-lib/src/commonMain/kotlin/internal/managers/AuthenticatorManager.kt index f1218eea..d5250990 100644 --- a/multiplatform-lib/src/commonMain/kotlin/internal/managers/AuthenticatorManager.kt +++ b/multiplatform-lib/src/commonMain/kotlin/internal/managers/AuthenticatorManager.kt @@ -29,7 +29,7 @@ import com.infomaniak.auth.lib.internal.repositories.AccountsRepository import com.infomaniak.auth.lib.internal.repositories.WebAuthnRepository import com.infomaniak.auth.lib.internal.utils.SignUtils import com.infomaniak.auth.lib.internal.utils.Xor -import com.infomaniak.auth.lib.models.migration.ApiToken +import com.infomaniak.auth.lib.models.migration.SharedApiToken import io.ktor.utils.io.core.toByteArray import kotlinx.serialization.json.Json import okio.ByteString.Companion.toByteString @@ -74,7 +74,7 @@ internal class AuthenticatorManager( clientId: String, userId: Long, keyIdOrDefault: String? = null, - ): Xor { + ): Xor { val keyId = keyIdOrDefault ?: keyPairManager.findKeyIdFor(MatchOn.UserId(userId)) ?: return Xor.Second(Failure.KeyManagement.KeyNotFound("No key found for user $userId")) @@ -115,7 +115,7 @@ internal class AuthenticatorManager( authenticatorAttachment = "platform", ) val verifyAuthData = webAuthnRepository.verify(verifyAuthenticationData) - val apiToken = ApiToken( + val apiToken = SharedApiToken( accessToken = verifyAuthData.accessToken, tokenType = verifyAuthData.tokenType, userId = userId.toInt(), diff --git a/multiplatform-lib/src/commonMain/kotlin/internal/managers/MigrationManager.kt b/multiplatform-lib/src/commonMain/kotlin/internal/managers/MigrationManager.kt index d01867a2..2ee8d96b 100644 --- a/multiplatform-lib/src/commonMain/kotlin/internal/managers/MigrationManager.kt +++ b/multiplatform-lib/src/commonMain/kotlin/internal/managers/MigrationManager.kt @@ -33,7 +33,7 @@ import com.infomaniak.auth.lib.internal.otp.getLegacyAccounts import com.infomaniak.auth.lib.internal.otp.getSecretFor import com.infomaniak.auth.lib.internal.otp.needMigration import com.infomaniak.auth.lib.internal.repositories.WebAuthnRepository -import com.infomaniak.auth.lib.models.migration.ApiToken +import com.infomaniak.auth.lib.models.migration.SharedApiToken import com.infomaniak.auth.lib.network.exceptions.ApiException import com.osmerion.kotlin.io.encoding.Base32 import io.ktor.utils.io.core.toByteArray @@ -86,7 +86,7 @@ internal class MigrationManager( */ suspend fun tryMigrating( userId: Long, - persistUser: suspend (apiToken: ApiToken) -> Unit, + persistUser: suspend (apiToken: SharedApiToken) -> Unit, authentication: MigrationAuthentication, ): Boolean { @OptIn(ExperimentalUuidApi::class) @@ -160,8 +160,8 @@ internal class MigrationManager( return generator.generate(timestampSeconds) } - private fun AuthResult.toApiToken(): ApiToken { - return ApiToken( + private fun AuthResult.toApiToken(): SharedApiToken { + return SharedApiToken( accessToken = this.accessToken, tokenType = this.tokenType, userId = this.userId.toInt(), diff --git a/multiplatform-lib/src/commonMain/kotlin/internal/requests/AuthenticatorRequest.kt b/multiplatform-lib/src/commonMain/kotlin/internal/requests/AuthenticatorRequest.kt index 857462fd..70d2caa3 100644 --- a/multiplatform-lib/src/commonMain/kotlin/internal/requests/AuthenticatorRequest.kt +++ b/multiplatform-lib/src/commonMain/kotlin/internal/requests/AuthenticatorRequest.kt @@ -27,7 +27,7 @@ import com.infomaniak.auth.lib.internal.models.SuccessfulApiResponse import com.infomaniak.auth.lib.internal.models.VerifyAuthenticationData import com.infomaniak.auth.lib.internal.network.ApiRoutes import com.infomaniak.auth.lib.internal.network.utils.decode -import com.infomaniak.auth.lib.models.migration.user.UserProfile +import com.infomaniak.auth.lib.models.migration.user.SharedUserProfile import io.ktor.client.HttpClient import io.ktor.client.request.HttpRequestBuilder import io.ktor.client.request.delete @@ -142,7 +142,7 @@ internal class AuthenticatorRequest( suspend fun getUserProfile( token: String, - ): SuccessfulApiResponse { + ): SuccessfulApiResponse { val url = "${routes.userProfile()}&with=security" return httpClient.get(url) { diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/ApiToken.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/SharedApiToken.kt similarity index 97% rename from multiplatform-lib/src/commonMain/kotlin/models/migration/ApiToken.kt rename to multiplatform-lib/src/commonMain/kotlin/models/migration/SharedApiToken.kt index 156d406f..6b6fb030 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/ApiToken.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/SharedApiToken.kt @@ -22,7 +22,7 @@ import kotlinx.serialization.Serializable import kotlinx.serialization.Transient @Serializable -data class ApiToken( +data class SharedApiToken( @SerialName("access_token") val accessToken: String, @SerialName("refresh_token") val refreshToken: String? = null, @SerialName("token_type") val tokenType: String, diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/UserProfile.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/SharedUserProfile.kt similarity index 88% rename from multiplatform-lib/src/commonMain/kotlin/models/migration/user/UserProfile.kt rename to multiplatform-lib/src/commonMain/kotlin/models/migration/user/SharedUserProfile.kt index d5827aa6..81e3092f 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/UserProfile.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/SharedUserProfile.kt @@ -17,14 +17,14 @@ */ package com.infomaniak.auth.lib.models.migration.user -import com.infomaniak.auth.lib.models.migration.ApiToken +import com.infomaniak.auth.lib.models.migration.SharedApiToken import com.infomaniak.auth.lib.models.migration.user.preferences.Preferences import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlinx.serialization.Transient @Serializable -data class UserProfile( +data class SharedUserProfile( val id: Int, @SerialName("display_name") val displayName: String?, @@ -43,5 +43,5 @@ data class UserProfile( * Local */ @Transient - var apiToken: ApiToken = ApiToken(accessToken = "", tokenType = "", userId = 0), + var apiToken: SharedApiToken = SharedApiToken(accessToken = "", tokenType = "", userId = 0), ) diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Preferences.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Preferences.kt index f3155e47..1f91fd9e 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Preferences.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Preferences.kt @@ -17,16 +17,16 @@ */ package com.infomaniak.auth.lib.models.migration.user.preferences -import com.infomaniak.auth.lib.models.migration.user.preferences.security.Security +import com.infomaniak.auth.lib.models.migration.user.preferences.security.SharedSecurity import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable data class Preferences( - var security: Security? = null, + var security: SharedSecurity? = null, @SerialName("account") - var organizationPreference: OrganizationPreference, - var language: Language, - var country: Country, - var timezone: TimeZone? = null, + var organizationPreference: SharedOrganizationPreference, + var language: SharedLanguage, + var country: SharedCountry, + var timezone: SharedTimeZone? = null, ) diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Country.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedCountry.kt similarity index 94% rename from multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Country.kt rename to multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedCountry.kt index ca8bf5ac..eabb4486 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Country.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedCountry.kt @@ -21,9 +21,9 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable -data class Country( +data class SharedCountry( @SerialName("short_name") var shortName: String, @SerialName("is_enabled") var isEnabled: Boolean, -) : PreferenceTemplate() +) : SharedPreferenceTemplate() diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Language.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedLanguage.kt similarity index 95% rename from multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Language.kt rename to multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedLanguage.kt index bd9d0c4b..bd167ed7 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/Language.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedLanguage.kt @@ -22,11 +22,11 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable -data class Language( +data class SharedLanguage( @SerialName("short_name") var shortName: String, @ColumnInfo(defaultValue = "") var locale: String, @SerialName("short_locale") var shortLocale: String, -) : PreferenceTemplate() +) : SharedPreferenceTemplate() diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/OrganizationPreference.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedOrganizationPreference.kt similarity index 96% rename from multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/OrganizationPreference.kt rename to multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedOrganizationPreference.kt index 5df425cb..98d26521 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/OrganizationPreference.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedOrganizationPreference.kt @@ -21,7 +21,7 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable -data class OrganizationPreference( +data class SharedOrganizationPreference( @SerialName("current_account_id") var currentOrganizationId: Int, @SerialName("last_login_at") diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/PreferenceTemplate.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedPreferenceTemplate.kt similarity index 95% rename from multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/PreferenceTemplate.kt rename to multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedPreferenceTemplate.kt index 24d1a138..a0b2f430 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/PreferenceTemplate.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedPreferenceTemplate.kt @@ -20,7 +20,7 @@ package com.infomaniak.auth.lib.models.migration.user.preferences import kotlinx.serialization.Serializable @Serializable -abstract class PreferenceTemplate( +abstract class SharedPreferenceTemplate( var id: Int = 0, var name: String = "", ) diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/TimeZone.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedTimeZone.kt similarity index 93% rename from multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/TimeZone.kt rename to multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedTimeZone.kt index a70c9c40..9835e3f7 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/TimeZone.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedTimeZone.kt @@ -20,6 +20,6 @@ package com.infomaniak.auth.lib.models.migration.user.preferences import kotlinx.serialization.Serializable @Serializable -data class TimeZone( +data class SharedTimeZone( var gmt: String, -) : PreferenceTemplate() +) : SharedPreferenceTemplate() diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/AuthDevices.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedAuthDevices.kt similarity index 97% rename from multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/AuthDevices.kt rename to multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedAuthDevices.kt index b6778a73..1fd55dfe 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/AuthDevices.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedAuthDevices.kt @@ -21,7 +21,7 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable -data class AuthDevices( +data class SharedAuthDevices( var id: Int, var name: String, @SerialName("last_connexion") diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/Security.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedSecurity.kt similarity index 95% rename from multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/Security.kt rename to multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedSecurity.kt index b2b356f8..f79594d2 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/Security.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedSecurity.kt @@ -21,7 +21,7 @@ import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable -data class Security( +data class SharedSecurity( var score: Int, @SerialName("has_recovery_email") var hasRecoveryEmail: Boolean, @@ -47,5 +47,5 @@ data class Security( @SerialName("double_auth_method") var doubleAuthMethod: String, @SerialName("auth_devices") - var authDevices: ArrayList?, + var authDevices: ArrayList?, ) diff --git a/multiplatform-lib/src/commonMain/kotlin/network/interfaces/AuthenticatorBridge.kt b/multiplatform-lib/src/commonMain/kotlin/network/interfaces/AuthenticatorBridge.kt index 680c25ff..24b16637 100644 --- a/multiplatform-lib/src/commonMain/kotlin/network/interfaces/AuthenticatorBridge.kt +++ b/multiplatform-lib/src/commonMain/kotlin/network/interfaces/AuthenticatorBridge.kt @@ -17,12 +17,12 @@ */ package com.infomaniak.auth.lib.network.interfaces -import com.infomaniak.auth.lib.models.migration.ApiToken -import com.infomaniak.auth.lib.models.migration.user.UserProfile +import com.infomaniak.auth.lib.models.migration.SharedApiToken +import com.infomaniak.auth.lib.models.migration.user.SharedUserProfile interface AuthenticatorBridge { - suspend fun getTokenFromCrossAppLogin(userId: Long): ApiToken? + suspend fun getTokenFromCrossAppLogin(userId: Long): SharedApiToken? suspend fun getTokenFromDatabase(userId: Long): String? suspend fun persistTokenForAccount(userId: Long, token: String) - suspend fun persistUserProfile(userProfile: UserProfile) + suspend fun persistUserProfile(userProfile: SharedUserProfile) }