Skip to content

Commit

Permalink
refactor(MyKSuiteDataModels): Clean data models
Browse files Browse the repository at this point in the history
  • Loading branch information
FabianDevel committed Feb 20, 2025
1 parent 50e3328 commit 2f2643b
Show file tree
Hide file tree
Showing 8 changed files with 5 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,6 @@ object RealmDatabase {
private object RealmConfig {

//region Configurations versions
const val APP_SETTINGS_SCHEMA_VERSION = 2L
const val USER_INFO_SCHEMA_VERSION = 2L
const val MAILBOX_INFO_SCHEMA_VERSION = 8L
const val MAILBOX_CONTENT_SCHEMA_VERSION = 21L
Expand Down Expand Up @@ -209,8 +208,6 @@ object RealmDatabase {
val appSettings = RealmConfiguration
.Builder(appSettingsSet)
.name(appSettingsDbName)
.schemaVersion(APP_SETTINGS_SCHEMA_VERSION)
.migration(APP_SETTINGS_MIGRATION)
.build()

val userInfo
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@ import io.realm.kotlin.dynamic.getValue
import io.realm.kotlin.migration.AutomaticSchemaMigration
import io.realm.kotlin.migration.AutomaticSchemaMigration.MigrationContext

val APP_SETTINGS_MIGRATION = AutomaticSchemaMigration { migrationContext ->
SentryDebug.addMigrationBreadcrumb(migrationContext)
}

val USER_INFO_MIGRATION = AutomaticSchemaMigration { migrationContext ->
SentryDebug.addMigrationBreadcrumb(migrationContext)
migrationContext.deleteRealmFromFirstMigration()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ class AppSettings : RealmObject {

var currentUserId: Int = DEFAULT_ID
var currentMailboxId: Int = DEFAULT_ID
var myKSuiteId: Int = DEFAULT_ID

companion object {
const val DEFAULT_ID = -1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ class SettingsFragment : Fragment() {
private fun setupMyKSuiteLayout(myKSuiteData: MyKSuiteData) = with(binding) {
observeMyKSuiteMailbox()

myKSuiteData.kSuitePack.type?.displayNameRes?.let(myKSuiteSettingsTitle::setText)
myKSuiteSettingsTitle.setText(myKSuiteData.name)

myKSuiteViewModel.getMyKSuiteMailbox(myKSuiteData.mail.mailboxId)

Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/com/infomaniak/mail/utils/LogoutUser.kt
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ class LogoutUser @Inject constructor(

user.logoutToken()
AccountUtils.removeUser(user)
MyKSuiteDataUtils.deleteKSuiteData(user.id)
RealmDatabase.removeUserData(appContext, user.id)
mailboxController.deleteUserMailboxes(user.id)
localSettings.removeRegisteredFirebaseUser(userId = user.id)
Expand Down
14 changes: 1 addition & 13 deletions app/src/main/java/com/infomaniak/mail/utils/MyKSuiteDataUtils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ import com.infomaniak.core.myksuite.ui.data.MyKSuiteDataManager
import com.infomaniak.lib.core.networking.HttpClient
import com.infomaniak.lib.core.utils.SentryLog
import com.infomaniak.mail.data.api.ApiRepository
import com.infomaniak.mail.data.cache.appSettings.AppSettingsController
import com.infomaniak.mail.data.models.AppSettings
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.MissingFieldException
import kotlin.coroutines.cancellation.CancellationException
Expand All @@ -32,19 +30,9 @@ object MyKSuiteDataUtils : MyKSuiteDataManager() {

private val TAG = MyKSuiteDataUtils::class.simpleName.toString()

override val userId get() = AccountUtils.currentUserId

override var myKSuiteId: Int = AppSettingsController.getAppSettings().myKSuiteId
set(myKSuiteId) {
field = myKSuiteId
AppSettingsController.updateAppSettings { appSettings -> appSettings.myKSuiteId = myKSuiteId }
}
override val currentUserId get() = AccountUtils.currentUserId

override var myKSuite: MyKSuiteData? = null
set(myKSuiteData) {
field = myKSuiteData
myKSuiteId = myKSuiteData?.id ?: AppSettings.DEFAULT_ID
}

suspend fun fetchMyKSuiteData(): MyKSuiteData? = runCatching {
MyKSuiteDataUtils.requestKSuiteData()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ package com.infomaniak.mail.utils
import android.content.Context
import androidx.fragment.app.Fragment
import androidx.navigation.NavController
import com.infomaniak.core.myksuite.ui.components.MyKSuiteTier
import com.infomaniak.core.myksuite.ui.data.MyKSuiteData
import com.infomaniak.core.myksuite.ui.screens.KSuiteApp
import com.infomaniak.core.myksuite.ui.screens.MyKSuiteDashboardScreenData
Expand Down Expand Up @@ -51,7 +50,7 @@ object MyKSuiteUiUtils {

fun getDashboardData(context: Context, myKSuiteData: MyKSuiteData): MyKSuiteDashboardScreenData {
return MyKSuiteDashboardScreenData(
myKSuiteTier = if (myKSuiteData.isMyKSuitePlus) MyKSuiteTier.Plus else MyKSuiteTier.Free,
myKSuiteTier = myKSuiteData.tier,
email = myKSuiteData.mail.email,
avatarUri = AccountUtils.currentUser?.avatar ?: "",
dailySendingLimit = myKSuiteData.mail.dailyLimitSent.toString(),
Expand Down

0 comments on commit 2f2643b

Please sign in to comment.