mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 04:04:55 +08:00
refactor(routing): add support to accept the saving_percentage in decision engine response (#8388)
This commit is contained in:
@ -67,17 +67,32 @@ pub struct DecidedGateway {
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
|
||||
pub struct DebitRoutingOutput {
|
||||
pub co_badged_card_networks: Vec<common_enums::CardNetwork>,
|
||||
pub co_badged_card_networks_info: Vec<CoBadgedCardNetworksInfo>,
|
||||
pub issuer_country: common_enums::CountryAlpha2,
|
||||
pub is_regulated: bool,
|
||||
pub regulated_name: Option<common_enums::RegulatedName>,
|
||||
pub card_type: common_enums::CardType,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize, PartialEq, Clone)]
|
||||
pub struct CoBadgedCardNetworksInfo {
|
||||
pub network: common_enums::CardNetwork,
|
||||
pub saving_percentage: f64,
|
||||
}
|
||||
|
||||
impl DebitRoutingOutput {
|
||||
pub fn get_co_badged_card_networks(&self) -> Vec<common_enums::CardNetwork> {
|
||||
self.co_badged_card_networks_info
|
||||
.iter()
|
||||
.map(|data| data.network.clone())
|
||||
.collect()
|
||||
}
|
||||
}
|
||||
|
||||
impl From<&DebitRoutingOutput> for payment_methods::CoBadgedCardData {
|
||||
fn from(output: &DebitRoutingOutput) -> Self {
|
||||
Self {
|
||||
co_badged_card_networks: output.co_badged_card_networks.clone(),
|
||||
co_badged_card_networks: output.get_co_badged_card_networks(),
|
||||
issuer_country_code: output.issuer_country,
|
||||
is_regulated: output.is_regulated,
|
||||
regulated_name: output.regulated_name.clone(),
|
||||
@ -96,7 +111,7 @@ impl TryFrom<(payment_methods::CoBadgedCardData, String)> for DebitRoutingReques
|
||||
})?;
|
||||
|
||||
Ok(Self {
|
||||
co_badged_card_networks: output.co_badged_card_networks,
|
||||
co_badged_card_networks_info: output.co_badged_card_networks,
|
||||
issuer_country: output.issuer_country_code,
|
||||
is_regulated: output.is_regulated,
|
||||
regulated_name: output.regulated_name,
|
||||
@ -114,7 +129,7 @@ pub struct CoBadgedCardRequest {
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
|
||||
pub struct DebitRoutingRequestData {
|
||||
pub co_badged_card_networks: Vec<common_enums::CardNetwork>,
|
||||
pub co_badged_card_networks_info: Vec<common_enums::CardNetwork>,
|
||||
pub issuer_country: common_enums::CountryAlpha2,
|
||||
pub is_regulated: bool,
|
||||
pub regulated_name: Option<common_enums::RegulatedName>,
|
||||
|
||||
Reference in New Issue
Block a user