TP-41172 | Added updates in bank table as transactional (#7829)

This commit is contained in:
Ujjwal Kumar
2023-09-08 18:55:49 +05:30
committed by GitHub
parent 93e475fee1
commit 205dfb4a0f
3 changed files with 11 additions and 4 deletions

View File

@@ -31,11 +31,12 @@ class RefreshBankListUseCase @Inject constructor(
val banks = response.data?.banks ?: listOf()
val bankEntityList = banks.map { it.toBankEntity() }
bankRepository.clearBankListAndUpdateWithNewValues(bankEntityList = bankEntityList)
sharedPreferenceRepository.saveLongValue(
key = KEY_BANK_LIST_DB_LAST_REFRESHED_TIMESTAMP,
value = DateTime.now().millis
)
bankRepository.updateBankListValueInDB(bankEntityList = bankEntityList)
bankEntityList.filter { it.popular }.forEach {
imageCache.cacheImage(imageUrl = it.iconUrl)

View File

@@ -5,6 +5,7 @@ import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Transaction
import com.navi.pay.onboarding.account.add.model.view.BankEntity
import com.navi.pay.utils.NAVI_PAY_DATABASE_BANK_TABLE_NAME
@@ -31,4 +32,10 @@ interface BankDao {
@Query("SELECT code FROM $NAVI_PAY_DATABASE_BANK_TABLE_NAME WHERE isUpiLiteSupported = 1")
suspend fun getAllBankWithUpiLiteSupport(): List<String>
@Transaction
suspend fun clearBankListAndUpdateWithNewValues(bankEntityList: List<BankEntity>) {
deleteAll()
insertAll(banksEntityList = bankEntityList)
}
}

View File

@@ -48,9 +48,8 @@ class BankRepository @Inject constructor(
return apiResponseCallback(naviPayRetrofitService.addBankAccount(addAccountRequest = addAccountRequest))
}
suspend fun updateBankListValueInDB(bankEntityList: List<BankEntity>) {
bankDao.deleteAll()
bankDao.insertAll(banksEntityList = bankEntityList)
suspend fun clearBankListAndUpdateWithNewValues(bankEntityList: List<BankEntity>) {
bankDao.clearBankListAndUpdateWithNewValues(bankEntityList = bankEntityList)
}
suspend fun getBankEntityListFromBankCodes(bankCodeList: List<String>): List<BankEntity> {