NTP-60702 | Added check for recurrencePattern (#16773)
This commit is contained in:
committed by
GitHub
parent
baaddc3189
commit
8dc7c830e9
@@ -15,6 +15,7 @@ import com.navi.pay.analytics.NaviPayAnalytics
|
||||
import com.navi.pay.management.common.sendmoney.model.network.SplitDetailsItem
|
||||
import com.navi.pay.management.common.sendmoney.model.view.PayeeEntity
|
||||
import com.navi.pay.management.common.sendmoney.model.view.SplitDetailsType
|
||||
import com.navi.pay.management.mandate.model.view.MandateRecurrence
|
||||
import com.navi.pay.management.moneytransfer.scanpay.model.view.QrError
|
||||
import com.navi.pay.management.moneytransfer.scanpay.model.view.UpiUriResult
|
||||
import com.navi.pay.management.moneytransfer.scanpay.model.view.UriType
|
||||
@@ -121,6 +122,7 @@ class UpiUriParser @Inject constructor() {
|
||||
fun Uri.getPayeeEntity(isVerifiedVpa: Boolean = false): PayeeEntity {
|
||||
val amount =
|
||||
(getQueryParameter("am") ?: "").let { if (it.isAmountValidForSendMoney()) it else "" }
|
||||
val recurrencePattern = getQueryParameter("recur")
|
||||
return PayeeEntity(
|
||||
name = getQueryParameter("pn") ?: "",
|
||||
vpa = getQueryParameter("pa") ?: "",
|
||||
@@ -167,9 +169,17 @@ fun Uri.getPayeeEntity(isVerifiedVpa: Boolean = false): PayeeEntity {
|
||||
mandateValidityEndDate = getQueryParameter("validityend"),
|
||||
mandateAmountRule =
|
||||
getQueryParamValueOrDefault(getQueryParameter("amrule"), DEFAULT_MANDATE_AMOUNT_RULE),
|
||||
mandateRecurrence = getQueryParameter("recur"),
|
||||
mandateRecurrenceValue = getQueryParameter("recurvalue"),
|
||||
mandateRecurrenceType = getQueryParameter("recurtype"),
|
||||
mandateRecurrence = recurrencePattern,
|
||||
mandateRecurrenceValue =
|
||||
getValueBasedOnRecurrencePattern(
|
||||
pattern = recurrencePattern,
|
||||
value = getQueryParameter("recurvalue"),
|
||||
),
|
||||
mandateRecurrenceType =
|
||||
getValueBasedOnRecurrencePattern(
|
||||
pattern = recurrencePattern,
|
||||
value = getQueryParameter("recurtype"),
|
||||
),
|
||||
mandateRevocable = getQueryParameter("rev"),
|
||||
mandateShareToPayee = getQueryParameter("share"),
|
||||
mandateBlock = getQueryParameter("block"),
|
||||
@@ -180,6 +190,19 @@ fun Uri.getPayeeEntity(isVerifiedVpa: Boolean = false): PayeeEntity {
|
||||
)
|
||||
}
|
||||
|
||||
private fun getValueBasedOnRecurrencePattern(pattern: String?, value: String?): String? {
|
||||
val recurringPatterns =
|
||||
setOf(
|
||||
MandateRecurrence.ONETIME.name,
|
||||
MandateRecurrence.DAILY.name,
|
||||
MandateRecurrence.ASPRESENTED.name,
|
||||
)
|
||||
return when {
|
||||
pattern in recurringPatterns -> null
|
||||
else -> value
|
||||
}
|
||||
}
|
||||
|
||||
private fun getValidatedNote(notes: String?): String {
|
||||
if (notes == null) return ""
|
||||
return notes.filter { char -> NOTES_REGEX.matches(char.toString()) }.trim()
|
||||
|
||||
Reference in New Issue
Block a user