NTP-66509 | Sidharth Bamba | tstore uptime metric changes (#16247)

This commit is contained in:
Sidharth Bamba
2025-05-22 12:54:09 +05:30
committed by GitHub
parent b65ccba55f
commit 432cfd86d4
8 changed files with 36 additions and 7 deletions

View File

@@ -10,6 +10,7 @@ package com.navi.common.checkmate.model
import com.navi.common.model.ModuleNameV2
import com.navi.common.network.models.RepoResult
import com.navi.common.network.models.isSuccess
import com.navi.common.network.models.isSuccessWithData
sealed class MetricInfo<T>(
open val vertical: String,
@@ -152,6 +153,16 @@ sealed class MetricInfo<T>(
},
override val vertical: String = ModuleNameV2.COMMON.name,
) : MetricInfo<RepoResult<T>>(screen = screen, vertical = vertical, isNae = isNae)
data class TStoreMetric<T>(
override val screen: String,
override val isNae: (RepoResult<T>) -> Boolean = { !it.isSuccessWithData() },
) :
MetricInfo<RepoResult<T>>(
screen = screen,
vertical = ModuleNameV2.TSTORE.name,
isNae = isNae,
)
}
enum class EventType {

View File

@@ -50,6 +50,7 @@ fun getEventNameWithVerticalPrefix(eventName: String, vertical: String): String
ModuleNameV2.NAVIPAY.name -> "NaviPay_$eventName"
ModuleNameV2.BBPS.name -> "NaviBBPS_$eventName"
ModuleNameV2.PG.name -> "NaviPMT_$eventName"
ModuleNameV2.TSTORE.name -> "NaviTStore_$eventName"
ModuleNameV2.AMC.name -> "amc_$eventName"
ModuleNameV2.COIN.name -> "navi_coin_$eventName"
ModuleNameV2.Insurance.name -> "gi_$eventName"

View File

@@ -32,4 +32,5 @@ enum class ModuleNameV2 {
MONEY_MANAGER,
ADS,
PAYMENTS_SHARED,
TSTORE,
}

View File

@@ -12,6 +12,7 @@ import com.google.firebase.firestore.DocumentSnapshot
import com.navi.analytics.utils.NaviTrackEvent
import com.navi.base.model.ActionData
import com.navi.base.utils.EMPTY
import com.navi.common.model.ModuleNameV2
import com.navi.common.network.isNetworkConnectivityInterceptorEnabled
import com.navi.common.network.models.ErrorMessage
import com.navi.common.network.models.GenericErrorResponse
@@ -5815,7 +5816,11 @@ class NaviPayAnalytics private constructor() {
fun onLanded(source: String, isFromHomeBottomBar: Boolean) {
NaviTrackEvent.trackEventOnClickStream(
"NaviTStore_OrderList_Landed",
mapOf("source" to source, "isFromHomeBottomBar" to isFromHomeBottomBar.toString()),
mapOf(
"source" to source,
"vertical" to ModuleNameV2.TSTORE.name,
"isFromHomeBottomBar" to isFromHomeBottomBar.toString(),
),
)
}
@@ -5936,7 +5941,10 @@ class NaviPayAnalytics private constructor() {
inner class OrderDetails {
fun onLanded() {
NaviTrackEvent.trackEventOnClickStream("NaviTStore_OrderDetails_Landed")
NaviTrackEvent.trackEventOnClickStream(
"NaviTStore_OrderDetails_Landed",
mapOf("vertical" to ModuleNameV2.TSTORE.name),
)
}
fun onHelpCtaClicked(orderId: String) {

View File

@@ -701,6 +701,13 @@ fun <T> getMetricInfo(
return MetricInfo.UPIMetric(screenName, isNae = isNae)
}
fun <T> getTStoreMetricInfo(
screenName: String,
isNae: (RepoResult<T>) -> Boolean = { !it.isSuccessWithData() },
): MetricInfo<RepoResult<T>> {
return MetricInfo.TStoreMetric(screenName, isNae = isNae)
}
fun generateSHA256Hash(input: String): String {
val sha256Digest = MessageDigest.getInstance(SHA_256)
val hashBytes = sha256Digest.digest(input.toByteArray())

View File

@@ -63,6 +63,7 @@ import com.navi.pay.common.utils.NaviPayCommonUtils.getDateTimeObjectFromEpochSt
import com.navi.pay.common.utils.NaviPayCommonUtils.getHelpCtaData
import com.navi.pay.common.utils.getBankNameAccountNumberText
import com.navi.pay.common.utils.getMetricInfo
import com.navi.pay.common.utils.getTStoreMetricInfo
import com.navi.pay.common.utils.timeToExpireInDays
import com.navi.pay.common.viewmodel.NaviPayBaseVM
import com.navi.pay.destinations.LinkedAccountBalanceScreenDestination
@@ -1477,7 +1478,7 @@ constructor(
.startPolling {
orderDetailsRepository.fetchOrderStatus(
orderId = orderEntity.value?.orderReferenceId.orEmpty(),
metricInfo = getMetricInfo(screenName = screenName, isNae = { false }),
metricInfo = getTStoreMetricInfo(screenName = screenName, isNae = { false }),
)
}
.collect {

View File

@@ -14,7 +14,7 @@ import com.navi.common.constants.ARC_LOCAL_COUNTER_KEY
import com.navi.common.network.models.isSuccessWithData
import com.navi.pay.common.sync.model.view.SyncEntity
import com.navi.pay.common.sync.repository.SyncRepository
import com.navi.pay.common.utils.getMetricInfo
import com.navi.pay.common.utils.getTStoreMetricInfo
import com.navi.pay.onboarding.account.add.repository.BankRepository
import com.navi.pay.tstore.details.ui.upi.NaviPayTransactionDetailsMetadata
import com.navi.pay.tstore.list.model.network.OrderHistoryRequest
@@ -63,7 +63,7 @@ constructor(
val orderHistoryAPIResponse =
orderRepository.getOrderHistoryFromNetwork(
orderHistoryRequest = OrderHistoryRequest(updatedAt = updatedAtForApiRequest),
metricInfo = getMetricInfo(screenName = screenName, isNae = { false }),
metricInfo = getTStoreMetricInfo(screenName = screenName, isNae = { false }),
)
if (!orderHistoryAPIResponse.isSuccessWithData()) {

View File

@@ -15,7 +15,7 @@ import com.navi.common.firebaseremoteconfig.FirebaseRemoteConfigHelper.NAVI_PAY_
import com.navi.common.network.models.isSuccessWithData
import com.navi.pay.common.sync.model.view.SyncEntity
import com.navi.pay.common.sync.repository.SyncRepository
import com.navi.pay.common.utils.getMetricInfo
import com.navi.pay.common.utils.getTStoreMetricInfo
import com.navi.pay.tstore.list.repository.OrderRepository
import com.navi.pay.tstore.utils.error.model.OrderErrorEntity
import com.navi.pay.utils.NAVI_PAY_SYNC_TABLE_ORDER_ERROR_MAPPING_KEY
@@ -47,7 +47,7 @@ constructor(
val response =
orderRepository.getErrorMapping(
updatedAt = lastSyncedTimestamp.toString(),
metricInfo = getMetricInfo(screenName, isNae = { false }),
metricInfo = getTStoreMetricInfo(screenName, isNae = { false }),
)
if (response.isSuccessWithData()) {