diff --git a/Core b/Core index 76e4cc18..a609ec32 160000 --- a/Core +++ b/Core @@ -1 +1 @@ -Subproject commit 76e4cc183acc4e76513b5eb2ea075aa9a2ab5cef +Subproject commit a609ec32f12305301403fdfb97703fff3a6001aa 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 775bcdba..cfc66f67 100644 --- a/app/src/main/kotlin/com/infomaniak/auth/utils/MigrationUtils.kt +++ b/app/src/main/kotlin/com/infomaniak/auth/utils/MigrationUtils.kt @@ -17,23 +17,15 @@ */ package com.infomaniak.auth.utils +import com.infomaniak.auth.lib.models.migration.SharedApiToken import com.infomaniak.auth.lib.models.migration.user.SharedUserProfile import com.infomaniak.auth.lib.models.migration.user.preferences.Preferences -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.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.SharedApiToken -import com.infomaniak.core.auth.models.user.preferences.Country -import com.infomaniak.core.auth.models.user.preferences.Language import com.infomaniak.core.auth.models.user.preferences.OrganizationPreference -import com.infomaniak.core.auth.models.user.preferences.Preferences as CorePreferences -import com.infomaniak.core.auth.models.user.preferences.TimeZone -import com.infomaniak.core.auth.models.user.preferences.security.AuthDevices import com.infomaniak.core.auth.models.user.preferences.security.Security +import com.infomaniak.core.auth.models.user.preferences.Preferences as CorePreferences import com.infomaniak.lib.login.ApiToken as LoginApiToken fun LoginApiToken.toSharedApiToken(): SharedApiToken { @@ -83,115 +75,27 @@ fun User.toSharedUser(): SharedUserProfile { private fun Preferences.toCorePreferences() = CorePreferences( security = security?.toSecurity(), organizationPreference = organizationPreference.toOrganizationPreference(), - language = language.toLanguage(), - country = country.toCountry(), - timezone = timezone?.toTimeZone(), ) private fun CorePreferences.toPreferences() = Preferences( security = security?.toSharedSecurity(), - organizationPreference = organizationPreference.toSharedOrganizationPreference(), - language = language.toSharedLanguage(), - country = country.toSharedCountry(), - timezone = timezone?.toSharedTimeZone(), -) - -private fun SharedLanguage.toLanguage() = Language( - shortName = shortName, - locale = locale, - shortLocale = shortLocale, -) - -private fun Language.toSharedLanguage() = SharedLanguage( - shortName = shortName, - locale = locale, - shortLocale = shortLocale, -) - -private fun SharedCountry.toCountry() = Country( - shortName = shortName, - isEnabled = isEnabled, -) - -private fun Country.toSharedCountry() = SharedCountry( - shortName = shortName, - isEnabled = isEnabled, -) - -private fun SharedTimeZone.toTimeZone() = TimeZone( - gmt = gmt, -) - -private fun TimeZone.toSharedTimeZone() = SharedTimeZone( - gmt = gmt, + organizationPreference = organizationPreference.toSharedOrganizationPreference() ) private fun SharedOrganizationPreference.toOrganizationPreference() = OrganizationPreference( currentOrganizationId = currentOrganizationId, - lastLoginAt = lastLoginAt, ) private fun OrganizationPreference.toSharedOrganizationPreference() = SharedOrganizationPreference( currentOrganizationId = currentOrganizationId, - lastLoginAt = lastLoginAt, ) private fun SharedSecurity.toSecurity() = Security( score = score, - hasRecoveryEmail = hasRecoveryEmail, - hasValidPhone = hasValidPhone, - emailValidatedAt = emailValidatedAt ?: 0L, - otp = otp, - sms = sms, - smsPhone = smsPhone, - yubikey = yubikey, - infomaniakApplication = infomaniakApplication, - doubleAuth = doubleAuth, - remainingRescueCode = remainingRescueCode, - lastLoginAt = lastLoginAt, dateLastChangedPassword = dateLastChangedPassword, - doubleAuthMethod = doubleAuthMethod, - authDevices = authDevices?.mapTo(ArrayList()) { it.toAuthDevices() }, ) private fun Security.toSharedSecurity() = SharedSecurity( score = score, - hasRecoveryEmail = hasRecoveryEmail, - hasValidPhone = hasValidPhone, - emailValidatedAt = emailValidatedAt, - otp = otp, - sms = sms, - smsPhone = smsPhone, - yubikey = yubikey, - infomaniakApplication = infomaniakApplication, - doubleAuth = doubleAuth, - remainingRescueCode = remainingRescueCode, - lastLoginAt = lastLoginAt, dateLastChangedPassword = dateLastChangedPassword, - doubleAuthMethod = doubleAuthMethod, - authDevices = authDevices?.mapTo(ArrayList()) { it.toSharedAuthDevices() }, -) - -private fun SharedAuthDevices.toAuthDevices() = AuthDevices( - id = id, - name = name, - lastConnexion = lastConnexion ?: 0L, - userAgent = userAgent, - userIp = userIp, - device = device, - createdAt = createdAt, - updatedAt = updatedAt, - deletedAt = deletedAt, -) - -private fun AuthDevices.toSharedAuthDevices() = SharedAuthDevices( - id = id, - name = name, - lastConnexion = lastConnexion, - userAgent = userAgent, - userIp = userIp, - device = device, - createdAt = createdAt, - updatedAt = updatedAt, - deletedAt = deletedAt, ) 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 c4a30d14..0b246ff7 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 @@ -26,7 +26,4 @@ data class Preferences( var security: SharedSecurity?, @SerialName("account") 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/SharedOrganizationPreference.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedOrganizationPreference.kt index 98d26521..c83492d0 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedOrganizationPreference.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/SharedOrganizationPreference.kt @@ -24,6 +24,4 @@ import kotlinx.serialization.Serializable data class SharedOrganizationPreference( @SerialName("current_account_id") var currentOrganizationId: Int, - @SerialName("last_login_at") - var lastLoginAt: Long, ) diff --git a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedSecurity.kt b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedSecurity.kt index f79594d2..21edaf56 100644 --- a/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedSecurity.kt +++ b/multiplatform-lib/src/commonMain/kotlin/models/migration/user/preferences/security/SharedSecurity.kt @@ -23,29 +23,6 @@ import kotlinx.serialization.Serializable @Serializable data class SharedSecurity( var score: Int, - @SerialName("has_recovery_email") - var hasRecoveryEmail: Boolean, - @SerialName("has_valid_phone") - var hasValidPhone: Boolean, - @SerialName("email_validated_at") - var emailValidatedAt: Long?, - var otp: Boolean, - var sms: Boolean, - @SerialName("sms_phone") - var smsPhone: String, - var yubikey: Boolean, - @SerialName("infomaniak_application") - var infomaniakApplication: Boolean, - @SerialName("double_auth") - var doubleAuth: Boolean, - @SerialName("remaining_rescue_code") - var remainingRescueCode: Int, - @SerialName("last_login_at") - var lastLoginAt: Long, @SerialName("date_last_changed_password") var dateLastChangedPassword: Long, - @SerialName("double_auth_method") - var doubleAuthMethod: String, - @SerialName("auth_devices") - var authDevices: ArrayList?, )