NTP-7545 | clean slate | delete specific rows of a table (#13844)
This commit is contained in:
@@ -47,12 +47,28 @@ constructor(
|
||||
}
|
||||
}
|
||||
|
||||
override fun cleanTable(moduleName: String, tableName: String) {
|
||||
override fun cleanTable(
|
||||
moduleName: String,
|
||||
tableName: String,
|
||||
keys: List<String>?,
|
||||
columnName: String?
|
||||
) {
|
||||
coroutineScope.launch {
|
||||
getTableCleaner(moduleName = moduleName)?.cleanTable(tableName = tableName)
|
||||
if (columnName.isNullOrBlank() || keys.isNullOrEmpty()) {
|
||||
getTableCleaner(moduleName = moduleName)?.cleanTable(tableName = tableName)
|
||||
} else {
|
||||
getTableCleaner(moduleName = moduleName)
|
||||
?.cleanTableRows(tableName = tableName, keys = keys, columnName = columnName)
|
||||
}
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
eventName = "CacheCleaner_cleanTable",
|
||||
eventValues = mapOf("moduleName" to moduleName, "tableName" to tableName)
|
||||
eventValues =
|
||||
mapOf(
|
||||
"moduleName" to moduleName,
|
||||
"tableName" to tableName,
|
||||
"keys" to keys.toString(),
|
||||
"columnName" to columnName.orEmpty()
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ import com.navi.common.pushnotification.CustomNotificationHandler
|
||||
import com.navi.common.pushnotification.NotificationCancelBroadcastReceiver
|
||||
import com.navi.common.pushnotification.NotificationConstants
|
||||
import com.navi.common.pushnotification.NotificationReceiverActivity
|
||||
import com.navi.common.utils.COMMA
|
||||
import com.navi.common.utils.log
|
||||
import com.navi.pay.common.utils.NaviPayNotificationHandler
|
||||
import com.naviapp.R
|
||||
@@ -206,6 +207,19 @@ class NaviFirebaseMessagingService : FirebaseMessagingService() {
|
||||
type = data[NotificationConstants.PREFERENCE_TYPE].orEmpty()
|
||||
)
|
||||
}
|
||||
NotificationConstants.ACTION_CLEAN_DATABASE_MODULE_TABLE_KEYS -> {
|
||||
moduleDatabaseCleanerExecutor
|
||||
.get()
|
||||
.cleanTable(
|
||||
moduleName = data[NotificationConstants.MODULE_NAME].orEmpty(),
|
||||
tableName = data[NotificationConstants.TABLE_NAME].orEmpty(),
|
||||
keys =
|
||||
data[NotificationConstants.COMMA_SEPARATED_TABLE_KEYS]
|
||||
.orEmpty()
|
||||
.split(COMMA),
|
||||
columnName = data[NotificationConstants.COLUMN_NAME].orEmpty()
|
||||
)
|
||||
}
|
||||
}
|
||||
NaviTrackEvent.trackEventOnClickStream(
|
||||
Constants.SILENT_PN_ACTION,
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
package com.navi.bbps.db.cleaner
|
||||
|
||||
import androidx.sqlite.db.SimpleSQLiteQuery
|
||||
import com.navi.bbps.db.NaviBbpsAppDatabase
|
||||
import com.navi.bbps.db.NaviBbpsAppDatabase.Companion.NAVI_BBPS_ALL_PREPAID_PLANS_TABLE
|
||||
import com.navi.bbps.db.NaviBbpsAppDatabase.Companion.NAVI_BBPS_DATABASE_BILLERS
|
||||
@@ -33,4 +34,23 @@ constructor(private val naviBbpsAppDatabase: NaviBbpsAppDatabase) : NaviModuleTa
|
||||
NAVI_BBPS_TABLE_MY_SAVED_BILLS -> naviBbpsAppDatabase.myBillsDao().deleteAll()
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun cleanTableRows(tableName: String, keys: List<String>, columnName: String) {
|
||||
val placeholders = keys.joinToString(",") { "?" }
|
||||
val query = "DELETE FROM $tableName WHERE $columnName IN ($placeholders)"
|
||||
val sqlQuery = SimpleSQLiteQuery(query, keys.toTypedArray())
|
||||
|
||||
when (tableName) {
|
||||
NAVI_BBPS_DATABASE_BILLERS -> naviBbpsAppDatabase.billerListDao().deleteRows(sqlQuery)
|
||||
NAVI_BBPS_ALL_PREPAID_PLANS_TABLE ->
|
||||
naviBbpsAppDatabase.allPrepaidPlansDao().deleteRows(sqlQuery)
|
||||
NAVI_BBPS_TABLE_DISMISSED_BILLS ->
|
||||
naviBbpsAppDatabase.dismissedBillDao().deleteRows(sqlQuery)
|
||||
NAVI_BBPS_MOBILE_SERIES_TO_OPERATOR_CIRCLE_MAPPING_TABLE ->
|
||||
naviBbpsAppDatabase.phoneSeriesOperatorCircleMappingDao().deleteRows(sqlQuery)
|
||||
NAVI_BBPS_MOBILE_NUMBER_TO_OPERATOR_CIRCLE_MAPPING_TABLE ->
|
||||
naviBbpsAppDatabase.phoneNumberToOperatorCircleMappingDao().deleteRows(sqlQuery)
|
||||
NAVI_BBPS_TABLE_MY_SAVED_BILLS -> naviBbpsAppDatabase.myBillsDao().deleteRows(sqlQuery)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,8 +9,10 @@ package com.navi.bbps.feature.billerlist.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Transaction
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.bbps.db.NaviBbpsAppDatabase.Companion.NAVI_BBPS_DATABASE_BILLERS
|
||||
import com.navi.bbps.feature.billerlist.model.view.BillerItemEntity
|
||||
|
||||
@@ -31,4 +33,6 @@ interface BillerListDao {
|
||||
suspend fun getBillersByCategory(categoryId: String): List<BillerItemEntity>
|
||||
|
||||
@Query("DELETE FROM $NAVI_BBPS_DATABASE_BILLERS") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
}
|
||||
|
||||
@@ -9,7 +9,9 @@ package com.navi.bbps.feature.mybills.db
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.bbps.db.NaviBbpsAppDatabase.Companion.NAVI_BBPS_TABLE_DISMISSED_BILLS
|
||||
import com.navi.bbps.feature.mybills.model.view.DismissedBillEntity
|
||||
|
||||
@@ -24,4 +26,6 @@ interface DismissedBillDao {
|
||||
@Upsert fun insert(dismissedBillEntity: DismissedBillEntity)
|
||||
|
||||
@Query("DELETE FROM $NAVI_BBPS_TABLE_DISMISSED_BILLS") fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
}
|
||||
|
||||
@@ -11,7 +11,9 @@ import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Transaction
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.bbps.db.NaviBbpsAppDatabase.Companion.NAVI_BBPS_TABLE_MY_SAVED_BILLS
|
||||
import com.navi.bbps.feature.mybills.model.view.MyBillEntity
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
@@ -29,6 +31,8 @@ interface MyBillsDao {
|
||||
|
||||
@Query("DELETE FROM $NAVI_BBPS_TABLE_MY_SAVED_BILLS") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
|
||||
@Transaction
|
||||
suspend fun refresh(myBills: List<MyBillEntity>) {
|
||||
deleteAll()
|
||||
|
||||
@@ -9,8 +9,10 @@ package com.navi.bbps.feature.prepaidrecharge.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Transaction
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.bbps.db.NaviBbpsAppDatabase.Companion.NAVI_BBPS_ALL_PREPAID_PLANS_TABLE
|
||||
import com.navi.bbps.feature.prepaidrecharge.model.view.PrepaidRechargeEntity
|
||||
|
||||
@@ -27,6 +29,8 @@ interface AllPrepaidPlansDao {
|
||||
|
||||
@Query("DELETE FROM $NAVI_BBPS_ALL_PREPAID_PLANS_TABLE") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
|
||||
@Query(
|
||||
"SELECT * FROM $NAVI_BBPS_ALL_PREPAID_PLANS_TABLE WHERE operatorCode = :operatorCode AND circleId = :circleId"
|
||||
)
|
||||
|
||||
@@ -9,7 +9,9 @@ package com.navi.bbps.feature.prepaidrecharge.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.bbps.db.NaviBbpsAppDatabase.Companion.NAVI_BBPS_MOBILE_NUMBER_TO_OPERATOR_CIRCLE_MAPPING_TABLE
|
||||
import com.navi.bbps.feature.prepaidrecharge.model.view.PhoneNumberToOperatorCircleMappingEntity
|
||||
|
||||
@@ -29,4 +31,6 @@ interface PhoneNumberToOperatorCircleMappingDao {
|
||||
|
||||
@Query("DELETE FROM $NAVI_BBPS_MOBILE_NUMBER_TO_OPERATOR_CIRCLE_MAPPING_TABLE")
|
||||
suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
}
|
||||
|
||||
@@ -9,7 +9,9 @@ package com.navi.bbps.feature.prepaidrecharge.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.bbps.db.NaviBbpsAppDatabase.Companion.NAVI_BBPS_MOBILE_SERIES_TO_OPERATOR_CIRCLE_MAPPING_TABLE
|
||||
import com.navi.bbps.feature.prepaidrecharge.model.view.OperatorCircleSeriesMappingItemEntity
|
||||
|
||||
@@ -19,6 +21,8 @@ interface PhoneSeriesOperatorCircleMappingDao {
|
||||
@Query("DELETE FROM $NAVI_BBPS_MOBILE_SERIES_TO_OPERATOR_CIRCLE_MAPPING_TABLE")
|
||||
suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
|
||||
@Upsert suspend fun upsertMapping(mapping: List<OperatorCircleSeriesMappingItemEntity>)
|
||||
|
||||
@Query(
|
||||
|
||||
@@ -7,8 +7,29 @@
|
||||
|
||||
package com.navi.common.dbcleaner
|
||||
|
||||
/** Interface for executing database cleaning tasks in different modules. */
|
||||
interface ModuleDatabaseCleanerExecutor {
|
||||
/**
|
||||
* Cleans the entire database in the specified module.
|
||||
*
|
||||
* @param moduleName the name of the module.
|
||||
* @param dbName the name of the database to clean.
|
||||
*/
|
||||
fun cleanDatabase(moduleName: String, dbName: String)
|
||||
|
||||
fun cleanTable(moduleName: String, tableName: String)
|
||||
/**
|
||||
* Cleans a table in the specified module.
|
||||
*
|
||||
* @param moduleName the name of the module.
|
||||
* @param tableName the name of the table to clean.
|
||||
* @param keys optional list of keys to filter the rows to be cleaned.
|
||||
* @param columnName optional column name to match the keys. If both keys and columnName are
|
||||
* null, the entire table will be cleaned.
|
||||
*/
|
||||
fun cleanTable(
|
||||
moduleName: String,
|
||||
tableName: String,
|
||||
keys: List<String>? = null,
|
||||
columnName: String? = null
|
||||
)
|
||||
}
|
||||
|
||||
@@ -9,4 +9,6 @@ package com.navi.common.dbcleaner
|
||||
|
||||
interface NaviModuleTableCleaner {
|
||||
suspend fun cleanTable(tableName: String)
|
||||
|
||||
suspend fun cleanTableRows(tableName: String, keys: List<String>, columnName: String)
|
||||
}
|
||||
|
||||
@@ -47,7 +47,10 @@ object NotificationConstants {
|
||||
const val COMMA_SEPARATED_PREFERENCE_KEYS = "comma_separated_preference_keys"
|
||||
const val PREFERENCE_TYPE = "preference_type"
|
||||
const val ACTION_CLEAN_PREFERENCE_KEYS = "actionCleanPreferenceKeys"
|
||||
const val ACTION_CLEAN_DATABASE_MODULE_TABLE_KEYS = "actionCleanDatabaseModuleTableKeys"
|
||||
const val DB_NAME = "db_name"
|
||||
const val TABLE_NAME = "table_name"
|
||||
const val MODULE_NAME = "module_name"
|
||||
const val COLUMN_NAME = "column_name"
|
||||
const val COMMA_SEPARATED_TABLE_KEYS = "comma_separated_table_keys"
|
||||
}
|
||||
|
||||
@@ -9,8 +9,10 @@ package com.navi.pay.common.bankuptime.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Transaction
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.common.bankuptime.model.view.BankUptimeEntity
|
||||
import com.navi.pay.utils.NAVI_PAY_DATABASE_BANK_UPTIME_TABLE
|
||||
|
||||
@@ -21,6 +23,8 @@ interface BankUptimeDao {
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_BANK_UPTIME_TABLE") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
|
||||
@Query("SELECT * FROM $NAVI_PAY_DATABASE_BANK_UPTIME_TABLE WHERE ifsc IN (:ifscList)")
|
||||
suspend fun getBankUptimeEntitiesForIfscList(ifscList: List<String>): List<BankUptimeEntity>
|
||||
|
||||
|
||||
@@ -9,7 +9,9 @@ package com.navi.pay.common.butler.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.common.butler.model.view.VpaTransactionsInsightEntity
|
||||
import com.navi.pay.utils.NAVI_PAY_DATABASE_VPA_TRANSACTION_INSIGHTS_TABLE_NAME
|
||||
|
||||
@@ -34,4 +36,6 @@ interface VpaTransactionInsightsDao {
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_VPA_TRANSACTION_INSIGHTS_TABLE_NAME")
|
||||
suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.common.sync.model.view.SyncEntity
|
||||
import com.navi.pay.utils.NAVI_PAY_DATABASE_SYNC_TABLE_NAME
|
||||
|
||||
@@ -23,4 +25,6 @@ interface SyncDao {
|
||||
suspend fun get(key: String): SyncEntity?
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_SYNC_TABLE_NAME") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
}
|
||||
|
||||
@@ -11,6 +11,8 @@ import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.common.validatevpa.model.view.ValidateVpaEntity
|
||||
import com.navi.pay.utils.NAVI_PAY_DATABASE_VALIDATE_VPA_CACHE_TABLE_NAME
|
||||
|
||||
@@ -27,4 +29,6 @@ interface ValidateVpaDao {
|
||||
suspend fun delete(vpa: String)
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_VALIDATE_VPA_CACHE_TABLE_NAME") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
package com.navi.pay.db.cleaner
|
||||
|
||||
import androidx.sqlite.db.SimpleSQLiteQuery
|
||||
import com.navi.common.dbcleaner.NaviModuleTableCleaner
|
||||
import com.navi.pay.db.NaviPayAppDatabase
|
||||
import com.navi.pay.db.NaviPayAppEncryptedDatabase
|
||||
@@ -54,4 +55,39 @@ constructor(
|
||||
naviPayAppDatabase.orderTagSummaryDao().deleteAll()
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun cleanTableRows(tableName: String, keys: List<String>, columnName: String) {
|
||||
// Trim spaces from keys
|
||||
val sanitizedKeys = keys.map { it.trim() }
|
||||
// Generate placeholders for each key
|
||||
val placeholders = sanitizedKeys.joinToString(",") { "?" }
|
||||
// Construct the SQL query with placeholders
|
||||
val query = "DELETE FROM $tableName WHERE $columnName IN ($placeholders)"
|
||||
val sqlQuery = SimpleSQLiteQuery(query, sanitizedKeys.toTypedArray())
|
||||
|
||||
when (tableName) {
|
||||
NAVI_PAY_DATABASE_T_STORE_ORDER_HISTORY_TABLE_NAME ->
|
||||
naviPayAppEncryptedDatabase.orderDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_TRANSACTION_HISTORY_TABLE_NAME ->
|
||||
naviPayAppEncryptedDatabase.transactionHistoryDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_ACCOUNTS_TABLE_NAME ->
|
||||
naviPayAppEncryptedDatabase.accountDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_VPA_TABLE_NAME ->
|
||||
naviPayAppEncryptedDatabase.vpaDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_SAVED_BENEFICIARY_TABLE ->
|
||||
naviPayAppEncryptedDatabase.savedBeneficiaryDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_VALIDATE_VPA_CACHE_TABLE_NAME ->
|
||||
naviPayAppEncryptedDatabase.validateVpaDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_SYNC_TABLE_NAME -> naviPayAppDatabase.syncDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_BANK_UPTIME_TABLE ->
|
||||
naviPayAppDatabase.bankUptimeDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_BANK_TABLE_NAME -> naviPayAppDatabase.bankDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_UPI_NUMBERS_TABLE_NAME ->
|
||||
naviPayAppDatabase.upiNumbersDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_VPA_TRANSACTION_INSIGHTS_TABLE_NAME ->
|
||||
naviPayAppDatabase.vpaTransactionInsightsDao().deleteRows(sqlQuery)
|
||||
NAVI_PAY_DATABASE_ORDER_TAG_SUMMARY_TABLE_NAME ->
|
||||
naviPayAppDatabase.orderTagSummaryDao().deleteRows(sqlQuery)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,9 @@ package com.navi.pay.management.savedbeneficiary.repository
|
||||
import androidx.paging.PagingSource
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.management.savedbeneficiary.model.view.SavedBeneficiaryEntity
|
||||
import com.navi.pay.utils.NAVI_PAY_DATABASE_SAVED_BENEFICIARY_TABLE
|
||||
|
||||
@@ -57,4 +59,6 @@ interface SavedBeneficiaryDao {
|
||||
suspend fun deleteAllPartiallyDeletedBeneficiaries()
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_SAVED_BENEFICIARY_TABLE") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
}
|
||||
|
||||
@@ -71,4 +71,6 @@ interface TransactionDao {
|
||||
fun getOldestTransactionTimestamp(): Flow<DateTime?>
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_TRANSACTION_HISTORY_TABLE_NAME") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
}
|
||||
|
||||
@@ -9,8 +9,10 @@ package com.navi.pay.management.upinumber.list.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Transaction
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.management.upinumber.list.model.view.UpiNumberEntity
|
||||
import com.navi.pay.management.upinumber.list.model.view.UpiNumberStatus
|
||||
import com.navi.pay.utils.NAVI_PAY_DATABASE_UPI_NUMBERS_TABLE_NAME
|
||||
@@ -22,6 +24,8 @@ interface UpiNumbersDao {
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_UPI_NUMBERS_TABLE_NAME") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
|
||||
@Transaction
|
||||
suspend fun refreshUpiNumbersTable(upiNumberEntities: List<UpiNumberEntity>) {
|
||||
deleteAll()
|
||||
|
||||
@@ -12,7 +12,9 @@ import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Transaction
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.onboarding.account.add.model.view.BankEntity
|
||||
import com.navi.pay.utils.NAVI_PAY_DATABASE_BANK_TABLE_NAME
|
||||
|
||||
@@ -49,6 +51,8 @@ interface BankDao {
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_BANK_TABLE_NAME") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
|
||||
@Query("SELECT * FROM $NAVI_PAY_DATABASE_BANK_TABLE_NAME WHERE code IN (:bankCodeList)")
|
||||
suspend fun getBankEntityListFromBankCodeList(bankCodeList: List<String>): List<BankEntity>
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ package com.navi.pay.onboarding.account.common.dao
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.management.lite.models.view.UPILiteEntity
|
||||
import com.navi.pay.onboarding.account.common.model.view.AccountEntity
|
||||
import com.navi.pay.onboarding.account.common.model.view.AccountStatus
|
||||
@@ -23,6 +25,8 @@ interface AccountDao {
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_ACCOUNTS_TABLE_NAME") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
|
||||
@Query("SELECT * FROM $NAVI_PAY_DATABASE_ACCOUNTS_TABLE_NAME WHERE status = :status")
|
||||
fun getAllAccountByStatusAsFlow(status: AccountStatus): Flow<List<AccountEntity>>
|
||||
|
||||
|
||||
@@ -10,6 +10,8 @@ package com.navi.pay.onboarding.account.common.dao
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.onboarding.account.common.model.view.VpaEntity
|
||||
import com.navi.pay.onboarding.account.common.model.view.VpaStatus
|
||||
import com.navi.pay.utils.NAVI_PAY_DATABASE_VPA_TABLE_NAME
|
||||
@@ -20,6 +22,8 @@ interface VpaDao {
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_VPA_TABLE_NAME") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
|
||||
@Query(
|
||||
"SELECT * FROM $NAVI_PAY_DATABASE_VPA_TABLE_NAME WHERE bankAccountUniqueId IN (:bankAccountUniqueIds) AND status = :status"
|
||||
)
|
||||
|
||||
@@ -61,6 +61,8 @@ interface OrderDao {
|
||||
@RawQuery(observedEntities = [OrderEntity::class])
|
||||
suspend fun getOrderHistoryCountForFilters(query: SupportSQLiteQuery): Int
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
|
||||
@Query(
|
||||
"SELECT " +
|
||||
"orderReferenceId, amount, currency, orderTitle, orderDescription, orderStatusOfView, orderTimestamp, orderImageUrl, " +
|
||||
|
||||
@@ -9,7 +9,9 @@ package com.navi.pay.tstore.list.db.dao
|
||||
|
||||
import androidx.room.Dao
|
||||
import androidx.room.Query
|
||||
import androidx.room.RawQuery
|
||||
import androidx.room.Upsert
|
||||
import androidx.sqlite.db.SupportSQLiteQuery
|
||||
import com.navi.pay.tstore.list.model.view.OrderTagSummaryEntity
|
||||
import com.navi.pay.utils.NAVI_PAY_DATABASE_ORDER_TAG_SUMMARY_TABLE_NAME
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
@@ -23,4 +25,6 @@ interface OrderTagSummaryDao {
|
||||
fun getAll(): Flow<List<OrderTagSummaryEntity>>
|
||||
|
||||
@Query("DELETE FROM $NAVI_PAY_DATABASE_ORDER_TAG_SUMMARY_TABLE_NAME") suspend fun deleteAll()
|
||||
|
||||
@RawQuery suspend fun deleteRows(query: SupportSQLiteQuery): Int
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user