Skip to content

Commit ee5f627

Browse files
committed
refactor: make it more idiomatic
1 parent 2f8ba95 commit ee5f627

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

crates/hyperswitch_connectors/src/connectors/jpmorgan/transformers.rs

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,6 @@ pub struct JpmorganRefundResponse {
557557
pub remaining_refundable_amount: Option<i64>,
558558
}
559559

560-
#[allow(dead_code)]
561560
#[derive(Debug, Serialize, Default, Deserialize, Clone)]
562561
pub enum RefundStatus {
563562
Succeeded,
@@ -576,24 +575,23 @@ impl From<RefundStatus> for common_enums::RefundStatus {
576575
}
577576
}
578577

579-
pub fn refund_status_from_transaction_state(
580-
response_status: JpmorganResponseStatus,
581-
transaction_state: JpmorganTransactionState,
582-
) -> common_enums::RefundStatus {
583-
match response_status {
584-
JpmorganResponseStatus::Success => match transaction_state {
585-
JpmorganTransactionState::Voided | JpmorganTransactionState::Closed => {
586-
common_enums::RefundStatus::Success
587-
}
588-
JpmorganTransactionState::Declined | JpmorganTransactionState::Error => {
589-
common_enums::RefundStatus::Failure
590-
}
591-
JpmorganTransactionState::Pending | JpmorganTransactionState::Authorized => {
592-
common_enums::RefundStatus::Pending
593-
}
594-
},
595-
JpmorganResponseStatus::Denied | JpmorganResponseStatus::Error => {
596-
common_enums::RefundStatus::Failure
578+
impl From<(JpmorganResponseStatus, JpmorganTransactionState)> for RefundStatus {
579+
fn from(
580+
(response_status, transaction_state): (JpmorganResponseStatus, JpmorganTransactionState),
581+
) -> Self {
582+
match response_status {
583+
JpmorganResponseStatus::Success => match transaction_state {
584+
JpmorganTransactionState::Voided | JpmorganTransactionState::Closed => {
585+
Self::Succeeded
586+
}
587+
JpmorganTransactionState::Declined | JpmorganTransactionState::Error => {
588+
Self::Failed
589+
}
590+
JpmorganTransactionState::Pending | JpmorganTransactionState::Authorized => {
591+
Self::Processing
592+
}
593+
},
594+
JpmorganResponseStatus::Denied | JpmorganResponseStatus::Error => Self::Failed,
597595
}
598596
}
599597
}
@@ -612,10 +610,11 @@ impl TryFrom<RefundsResponseRouterData<Execute, JpmorganRefundResponse>>
612610
.transaction_id
613611
.clone()
614612
.ok_or(errors::ConnectorError::ResponseHandlingFailed)?,
615-
refund_status: refund_status_from_transaction_state(
613+
refund_status: RefundStatus::from((
616614
item.response.response_status,
617615
item.response.transaction_state,
618-
),
616+
))
617+
.into(),
619618
}),
620619
..item.data
621620
})
@@ -644,10 +643,11 @@ impl TryFrom<RefundsResponseRouterData<RSync, JpmorganRefundSyncResponse>>
644643
Ok(Self {
645644
response: Ok(RefundsResponseData {
646645
connector_refund_id: item.response.transaction_id.clone(),
647-
refund_status: refund_status_from_transaction_state(
646+
refund_status: RefundStatus::from((
648647
item.response.response_status,
649648
item.response.transaction_state,
650-
),
649+
))
650+
.into(),
651651
}),
652652
..item.data
653653
})

0 commit comments

Comments
 (0)