NTP-34542 | Added Metric Info in Consent Url API (#14897)

This commit is contained in:
Aparna Vadlamani
2025-02-07 16:45:52 +05:30
committed by GitHub
parent 3bba08c276
commit a4d4c27cee
7 changed files with 18 additions and 5 deletions

View File

@@ -108,8 +108,12 @@ class RemoteDataProviderImpl @Inject constructor(private val retrofitService: Re
)
}
override suspend fun fetchConsentUrl(): RepoResult<FetchConsentUrlResponse> {
return apiResponseCallback(retrofitService.fetchConsentUrl())
override suspend fun fetchConsentUrl(screenName: String): RepoResult<FetchConsentUrlResponse> {
return apiResponseCallback(
response = retrofitService.fetchConsentUrl(),
metricInfo =
MetricInfo.AppMetric(screen = screenName, isNae = { !it.isSuccessWithData() }),
)
}
override suspend fun getCustomerProfileData(): RepoResult<CustomerProfileData> {

View File

@@ -1,6 +1,6 @@
/*
*
* * Copyright © 2024 by Navi Technologies Limited
* * Copyright © 2024-2025 by Navi Technologies Limited
* * All rights reserved. Strictly confidential
*
*/
@@ -50,7 +50,7 @@ interface RemoteDataProvider {
suspend fun pollSyncStatus(requestId: String): RepoResult<PollingStatusResponse>
suspend fun fetchConsentUrl(): RepoResult<FetchConsentUrlResponse>
suspend fun fetchConsentUrl(screenName: String): RepoResult<FetchConsentUrlResponse>
suspend fun getCustomerProfileData(): RepoResult<CustomerProfileData>
}

View File

@@ -14,6 +14,7 @@ import com.navi.moneymanager.common.analytics.DataProviderEventTrackerImpl
import com.navi.moneymanager.common.dataprovider.data.datastore.DataStoreInfoProvider
import com.navi.moneymanager.common.model.CategoryDetailsScreenInputParams
import com.navi.moneymanager.common.model.bottomSheet.CategoryDetailsScreenBottomSheets
import com.navi.moneymanager.common.navigation.utils.MMScreen
import com.navi.moneymanager.common.network.di.RoomDataStoreInfoProvider
import com.navi.moneymanager.common.utils.Constants.IS_TOTAL_SYNC_COMPLETED
import com.navi.moneymanager.postonboard.categorydetails.model.CategoryDetailsScreenData
@@ -223,6 +224,7 @@ constructor(
fun fetchConsentUrl() {
viewModelScope.safeLaunch(Dispatchers.IO) {
manageConsentUseCase.execute(
screenName = MMScreen.CATEGORY_DETAILS.screen,
onLoading = {
sendEvent(
CategoryDetailsScreenUiEvent.UpdateHelpBottomSheetState(

View File

@@ -18,6 +18,7 @@ import com.navi.moneymanager.common.dataprovider.data.datastore.DataStoreInfoPro
import com.navi.moneymanager.common.model.FilterAttribute
import com.navi.moneymanager.common.model.SelectedMonth
import com.navi.moneymanager.common.model.bottomSheet.DashboardScreenBottomSheets
import com.navi.moneymanager.common.navigation.utils.MMScreen
import com.navi.moneymanager.common.network.di.RoomDataStoreInfoProvider
import com.navi.moneymanager.common.utils.Constants.ALL_BANKS
import com.navi.moneymanager.common.utils.Constants.IS_FIRST_MONTH_SYNC_COMPLETED
@@ -344,6 +345,7 @@ constructor(
fun fetchConsentUrl() {
viewModelScope.safeLaunch(Dispatchers.IO) {
manageConsentUseCase.execute(
screenName = MMScreen.DASHBOARD.screen,
onLoading = {
sendEvent(
DashboardScreenUiEvent.UpdateHelpBottomSheetState(

View File

@@ -16,12 +16,13 @@ import javax.inject.Inject
class ManageConsentUseCase @Inject constructor(private val remoteDataProvider: RemoteDataProvider) {
suspend fun execute(
screenName: String,
onLoading: () -> Unit,
onSuccess: (url: String?) -> Unit,
onFailure: () -> Unit,
) {
onLoading()
val response = remoteDataProvider.fetchConsentUrl()
val response = remoteDataProvider.fetchConsentUrl(screenName = screenName)
if (response.isSuccessWithData()) {
onSuccess(response.data?.journeyUrl)
} else {

View File

@@ -15,6 +15,7 @@ import com.navi.moneymanager.common.model.FilterAttribute
import com.navi.moneymanager.common.model.SelectedMonth
import com.navi.moneymanager.common.model.SpendAnalysisScreenInputParams
import com.navi.moneymanager.common.model.bottomSheet.SpendAnalysisScreenBottomSheets
import com.navi.moneymanager.common.navigation.utils.MMScreen
import com.navi.moneymanager.common.network.di.RoomDataStoreInfoProvider
import com.navi.moneymanager.common.utils.Constants.IS_TOTAL_SYNC_COMPLETED
import com.navi.moneymanager.common.utils.asList
@@ -208,6 +209,7 @@ constructor(
fun fetchConsentUrl() {
viewModelScope.safeLaunch(Dispatchers.IO) {
manageConsentUseCase.execute(
screenName = MMScreen.SPEND_ANALYSIS.screen,
onLoading = {
sendEvent(
SpendAnalysisScreenUiEvent.UpdateHelpBottomSheetState(

View File

@@ -10,6 +10,7 @@ package com.navi.moneymanager.postonboard.transactiondetails.viewModel
import androidx.lifecycle.viewModelScope
import com.navi.moneymanager.base.viewmodel.MMBaseViewModel
import com.navi.moneymanager.common.analytics.DataProviderEventTrackerImpl
import com.navi.moneymanager.common.navigation.utils.MMScreen
import com.navi.moneymanager.postonboard.help.model.HelpBottomSheetState
import com.navi.moneymanager.postonboard.help.usecase.ManageConsentUseCase
import com.navi.moneymanager.postonboard.transactiondetails.model.TransactionDetailsScreenUiEffect
@@ -49,6 +50,7 @@ constructor(
fun fetchConsentUrl() {
viewModelScope.safeLaunch(Dispatchers.IO) {
manageConsentUseCase.execute(
screenName = MMScreen.TRANSACTION_DETAILS.screen,
onLoading = {
sendEvent(
TransactionDetailsScreenUiEvent.UpdateHelpBottomSheetState(