Skip to content

Commit

Permalink
chore: update payment life cycle for smart retry analytics
Browse files Browse the repository at this point in the history
  • Loading branch information
JeevaRamu0104 committed Oct 28, 2024
1 parent ad5fefb commit bf2f47c
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,17 @@ module TableModule = {
let (offset, setOffset) = React.useState(_ => 0)
let {filterValueJson} = React.useContext(FilterContext.filterContext)
let isSmartRetryEnabled =
filterValueJson->getString("is_smart_retry_enabled", "true")->getBoolFromString(true)
filterValueJson
->getString("is_smart_retry_enabled", "true")
->getBoolFromString(true)
->getSmartRetryMetricType
let defaultSort: Table.sortedObject = {
key: "",
order: Table.INC,
}
let tableBorderClass = "border-2 border-solid border-jp-gray-940 border-collapse border-opacity-30 dark:border-jp-gray-dark_table_border_color dark:border-opacity-30"

let defaultCol = isSmartRetryEnbldForFailedPmtDist(isSmartRetryEnabled->getSmartRetryMetricType)
let defaultCol = isSmartRetryEnbldForFailedPmtDist(isSmartRetryEnabled)
let visibleColumns = [defaultCol]->Array.concat([selectedTab->getColumn])
let tableData = getTableData(data)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,31 @@ open NewAnalyticsHelper
open LineGraphTypes
open NewPaymentAnalyticsEntity
open PaymentsProcessedUtils

open NewPaymentAnalyticsUtils
module TableModule = {
open LogicUtils
open PaymentsProcessedTypes

@react.component
let make = (~data, ~className="", ~isSmartRetryEnabled) => {
let make = (~data, ~className="") => {
let (offset, setOffset) = React.useState(_ => 0)
let defaultSort: Table.sortedObject = {
key: "",
order: Table.INC,
}
let tableBorderClass = "border-collapse border border-jp-gray-940 border-solid border-2 border-opacity-30 dark:border-jp-gray-dark_table_border_color dark:border-opacity-30"

let {filterValueJson} = React.useContext(FilterContext.filterContext)
let paymentsProcessed = switch data->getArrayFromJson([])->Array.get(0) {
| Some(val) => val->getArrayDataFromJson(tableItemToObjMapper)
| _ => []
}->Array.map(Nullable.make)

let defaultCols = isSmartRetryEnabled
? [Payment_Processed_Amount, Payment_Processed_Count]
: [
Payment_Processed_Amount_Without_Smart_Retries,
Payment_Processed_Count_Without_Smart_Retries,
]
let isSmartRetryEnabled =
filterValueJson
->getString("is_smart_retry_enabled", "true")
->getBoolFromString(true)
->getSmartRetryMetricType

let defaultCols = isSmartRetryEnabled->isSmartRetryEnbldForPmtProcessed
let visibleColumns = defaultCols->Array.concat(visibleColumns)

<div className>
Expand Down Expand Up @@ -57,7 +58,7 @@ module TableModule = {
module PaymentsProcessedHeader = {
open NewAnalyticsTypes
open NewAnalyticsUtils
open NewPaymentAnalyticsUtils
open LogicUtils
@react.component
let make = (
~data: JSON.t,
Expand All @@ -67,8 +68,13 @@ module PaymentsProcessedHeader = {
~setSelectedMetric,
~granularity,
~setGranularity,
~isSmartRetryEnabled,
) => {
let {filterValueJson} = React.useContext(FilterContext.filterContext)
let isSmartRetryEnabled =
filterValueJson
->getString("is_smart_retry_enabled", "true")
->getBoolFromString(true)
->getSmartRetryMetricType
let primaryValue = getMetaDataValue(
~data,
~index=0,
Expand Down Expand Up @@ -138,7 +144,10 @@ let make = (
let startTimeVal = filterValueJson->getString("startTime", "")
let endTimeVal = filterValueJson->getString("endTime", "")
let isSmartRetryEnabled =
filterValueJson->getString("is_smart_retry_enabled", "true")->getBoolFromString(true)
filterValueJson
->getString("is_smart_retry_enabled", "true")
->getBoolFromString(true)
->getSmartRetryMetricType

let getPaymentsProcessed = async () => {
setScreenState(_ => PageLoaderWrapper.Loading)
Expand Down Expand Up @@ -267,7 +276,6 @@ let make = (
setSelectedMetric
granularity
setGranularity
isSmartRetryEnabled
/>
<div className="mb-5">
{switch viewType {
Expand All @@ -281,8 +289,7 @@ let make = (
)}
className="mr-3"
/>
| Table =>
<TableModule data={paymentsProcessedData} className="mx-7" isSmartRetryEnabled />
| Table => <TableModule data={paymentsProcessedData} className="mx-7" />
}}
</div>
</PageLoaderWrapper>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -192,19 +192,29 @@ let defaulGranularity = {
let getKeyForModule = (key, ~isSmartRetryEnabled) => {
let field = key->getVariantValueFromString
switch (field, isSmartRetryEnabled) {
| (Payment_Processed_Amount, true) => Payment_Processed_Amount
| (Payment_Processed_Amount, false) => Payment_Processed_Amount_Without_Smart_Retries
| (Payment_Processed_Count, true) => Payment_Processed_Count
| (Payment_Processed_Count, false) | _ => Payment_Processed_Count_Without_Smart_Retries
| (Payment_Processed_Amount, Smart_Retry) => Payment_Processed_Amount
| (Payment_Processed_Count, Smart_Retry) => Payment_Processed_Count
| (Payment_Processed_Amount, Default) => Payment_Processed_Amount_Without_Smart_Retries
| (Payment_Processed_Count, Default) | _ => Payment_Processed_Count_Without_Smart_Retries
}->getStringFromVariant
}

let getMetaDataMapper = (key, ~isSmartRetryEnabled) => {
let field = key->getVariantValueFromString
switch (field, isSmartRetryEnabled) {
| (Payment_Processed_Amount, true) => Total_Payment_Processed_Amount
| (Payment_Processed_Amount, false) => Total_Payment_Processed_Amount_Without_Smart_Retries
| (Payment_Processed_Count, true) => Total_Payment_Processed_Count
| (Payment_Processed_Count, false) | _ => Total_Payment_Processed_Count_Without_Smart_Retriess
| (Payment_Processed_Amount, Smart_Retry) => Total_Payment_Processed_Amount
| (Payment_Processed_Count, Smart_Retry) => Total_Payment_Processed_Count
| (Payment_Processed_Amount, Default) => Total_Payment_Processed_Amount_Without_Smart_Retries
| (Payment_Processed_Count, Default) | _ => Total_Payment_Processed_Count_Without_Smart_Retriess
}->getStringFromVariant
}

let isSmartRetryEnbldForPmtProcessed = isEnabled => {
switch isEnabled {
| Smart_Retry => [Payment_Processed_Amount, Payment_Processed_Count]
| Default => [
Payment_Processed_Amount_Without_Smart_Retries,
Payment_Processed_Count_Without_Smart_Retries,
]
}
}

0 comments on commit bf2f47c

Please sign in to comment.