NTP-66822 | Adding downtime events for digitap vendor (#16421)

This commit is contained in:
Prajjaval Verma
2025-06-04 11:51:56 +05:30
committed by GitHub
parent 53c1f0d8da
commit bfb6162a9a
2 changed files with 32 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
/*
*
* * Copyright © 2022-2024 by Navi Technologies Limited
* * Copyright © 2022-2025 by Navi Technologies Limited
* * All rights reserved. Strictly confidential
*
*/
@@ -30,3 +30,4 @@ const val VENDOR_GI_PAYU = "gi_payu"
const val VENDOR_GI_JUSPAY = "gi_juspay"
const val VENDOR_GI_RAZORPAY = "gi_razorpay"
const val VENDOR_MEDIBUDDY = "gi_medibuddy"
const val VENDOR_GI_DIGITAP = "gi_digitap"

View File

@@ -25,6 +25,7 @@ import com.navi.base.utils.SUCCESS
import com.navi.base.utils.isNotNull
import com.navi.common.ResponseState
import com.navi.common.constants.GI
import com.navi.common.constants.VENDOR_GI_DIGITAP
import com.navi.common.network.models.ErrorMessage
import com.navi.insurance.R
import com.navi.insurance.analytics.InsuranceAnalyticsConstants
@@ -52,6 +53,7 @@ import com.navi.insurance.util.Constants
import com.navi.insurance.util.JOURNEY_KEY_EXTRA
import com.navi.insurance.util.QUERY_PARAMS
import com.navi.insurance.util.TRUE
import com.navi.insurance.util.logGiAppErrorEvent
import com.navi.naviwidgets.extensions.addOnMultipleClicksHandler
import com.navi.naviwidgets.extensions.getJsonObject
import com.navi.naviwidgets.extensions.setTextFieldData
@@ -428,6 +430,17 @@ class GiAadhaarVerificationFragment : GiBaseFragment(), OKYCListener {
Pair("txnId", txnId),
)
)
if (containsKnownUIDAIError(error.errorMessage)) {
logGiAppErrorEvent(
screen = screenName,
errorCode = error.errorCode.toString(),
errorTitle = error.errorMessage.toString(),
errorDes = error.message,
isSourceExternal = true,
vendor = VENDOR_GI_DIGITAP,
exception = error.stackTraceToString(),
)
}
aadhaarVerificationData =
AadhaarVerificationData(
error.errorCode,
@@ -465,6 +478,15 @@ class GiAadhaarVerificationFragment : GiBaseFragment(), OKYCListener {
}
}
private fun containsKnownUIDAIError(errorMessage: String): Boolean {
val cleaned = errorMessage.trim()
return KNOWN_UIDAI_ERROR_MESSAGES.any { known ->
known.equals(cleaned, ignoreCase = true) ||
known.contains(cleaned, ignoreCase = true) ||
cleaned.contains(known, ignoreCase = true)
}
}
companion object {
const val DEFAULT_POLLING_DURATION = 3000L
const val DEFAULT_TIMEOUT_DURATION = 10000L
@@ -475,5 +497,13 @@ class GiAadhaarVerificationFragment : GiBaseFragment(), OKYCListener {
private const val OKYC_FORM_ENABLED_KEY = "okycFormEnabled"
private const val IS_NAVI_ONE_PROFILE_ENABLED = "isNaviOneProfileEnabled"
private const val TRANSITION_KEY = "transition"
private val KNOWN_UIDAI_ERROR_MESSAGES =
listOf(
"Error from UIDAI - Error while processing the request. Please retry.",
"Authentication Failed",
"Error from UIDAI - required fields are missing",
"Something went wrong. Please Try after some time",
"Error from UIDAI - Unable to resolve host \"svc.digitap.ai\": No address associated with hostname",
)
}
}