mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 11:06:50 +08:00
feat(router): add auto retries configs in profile CRUD apis (#6134)
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
c7bb9ccda3
commit
bf47b560c2
@ -21220,6 +21220,18 @@
|
|||||||
"is_network_tokenization_enabled": {
|
"is_network_tokenization_enabled": {
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "Indicates if is_network_tokenization_enabled is enabled or not.\nIf set to `true` is_network_tokenization_enabled will be checked."
|
"description": "Indicates if is_network_tokenization_enabled is enabled or not.\nIf set to `true` is_network_tokenization_enabled will be checked."
|
||||||
|
},
|
||||||
|
"is_auto_retries_enabled": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Indicates if is_auto_retries_enabled is enabled or not.",
|
||||||
|
"nullable": true
|
||||||
|
},
|
||||||
|
"max_auto_retries_enabled": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int32",
|
||||||
|
"description": "Maximum number of auto retries allowed for a payment",
|
||||||
|
"nullable": true,
|
||||||
|
"minimum": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"additionalProperties": false
|
"additionalProperties": false
|
||||||
@ -21251,7 +21263,8 @@
|
|||||||
"enable_payment_response_hash",
|
"enable_payment_response_hash",
|
||||||
"redirect_to_merchant_with_http_post",
|
"redirect_to_merchant_with_http_post",
|
||||||
"is_tax_connector_enabled",
|
"is_tax_connector_enabled",
|
||||||
"is_network_tokenization_enabled"
|
"is_network_tokenization_enabled",
|
||||||
|
"is_auto_retries_enabled"
|
||||||
],
|
],
|
||||||
"properties": {
|
"properties": {
|
||||||
"merchant_id": {
|
"merchant_id": {
|
||||||
@ -21436,6 +21449,18 @@
|
|||||||
"description": "Indicates if is_network_tokenization_enabled is enabled or not.\nIf set to `true` is_network_tokenization_enabled will be checked.",
|
"description": "Indicates if is_network_tokenization_enabled is enabled or not.\nIf set to `true` is_network_tokenization_enabled will be checked.",
|
||||||
"default": false,
|
"default": false,
|
||||||
"example": false
|
"example": false
|
||||||
|
},
|
||||||
|
"is_auto_retries_enabled": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Indicates if is_auto_retries_enabled is enabled or not.",
|
||||||
|
"default": false,
|
||||||
|
"example": false
|
||||||
|
},
|
||||||
|
"max_auto_retries_enabled": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int32",
|
||||||
|
"description": "Maximum number of auto retries allowed for a payment",
|
||||||
|
"nullable": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1971,6 +1971,12 @@ pub struct ProfileCreate {
|
|||||||
/// If set to `true` is_network_tokenization_enabled will be checked.
|
/// If set to `true` is_network_tokenization_enabled will be checked.
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub is_network_tokenization_enabled: bool,
|
pub is_network_tokenization_enabled: bool,
|
||||||
|
|
||||||
|
/// Indicates if is_auto_retries_enabled is enabled or not.
|
||||||
|
pub is_auto_retries_enabled: Option<bool>,
|
||||||
|
|
||||||
|
/// Maximum number of auto retries allowed for a payment
|
||||||
|
pub max_auto_retries_enabled: Option<u8>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[nutype::nutype(
|
#[nutype::nutype(
|
||||||
@ -2202,6 +2208,13 @@ pub struct ProfileResponse {
|
|||||||
/// If set to `true` is_network_tokenization_enabled will be checked.
|
/// If set to `true` is_network_tokenization_enabled will be checked.
|
||||||
#[schema(default = false, example = false)]
|
#[schema(default = false, example = false)]
|
||||||
pub is_network_tokenization_enabled: bool,
|
pub is_network_tokenization_enabled: bool,
|
||||||
|
|
||||||
|
/// Indicates if is_auto_retries_enabled is enabled or not.
|
||||||
|
#[schema(default = false, example = false)]
|
||||||
|
pub is_auto_retries_enabled: bool,
|
||||||
|
|
||||||
|
/// Maximum number of auto retries allowed for a payment
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v2")]
|
#[cfg(feature = "v2")]
|
||||||
@ -2431,6 +2444,12 @@ pub struct ProfileUpdate {
|
|||||||
|
|
||||||
/// Indicates if is_network_tokenization_enabled is enabled or not.
|
/// Indicates if is_network_tokenization_enabled is enabled or not.
|
||||||
pub is_network_tokenization_enabled: Option<bool>,
|
pub is_network_tokenization_enabled: Option<bool>,
|
||||||
|
|
||||||
|
/// Indicates if is_auto_retries_enabled is enabled or not.
|
||||||
|
pub is_auto_retries_enabled: Option<bool>,
|
||||||
|
|
||||||
|
/// Maximum number of auto retries allowed for a payment
|
||||||
|
pub max_auto_retries_enabled: Option<u8>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v2")]
|
#[cfg(feature = "v2")]
|
||||||
|
|||||||
@ -55,6 +55,8 @@ pub struct Profile {
|
|||||||
pub version: common_enums::ApiVersion,
|
pub version: common_enums::ApiVersion,
|
||||||
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
||||||
pub is_network_tokenization_enabled: bool,
|
pub is_network_tokenization_enabled: bool,
|
||||||
|
pub is_auto_retries_enabled: Option<bool>,
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v1")]
|
#[cfg(feature = "v1")]
|
||||||
@ -96,6 +98,8 @@ pub struct ProfileNew {
|
|||||||
pub is_tax_connector_enabled: Option<bool>,
|
pub is_tax_connector_enabled: Option<bool>,
|
||||||
pub version: common_enums::ApiVersion,
|
pub version: common_enums::ApiVersion,
|
||||||
pub is_network_tokenization_enabled: bool,
|
pub is_network_tokenization_enabled: bool,
|
||||||
|
pub is_auto_retries_enabled: Option<bool>,
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v1")]
|
#[cfg(feature = "v1")]
|
||||||
@ -134,6 +138,8 @@ pub struct ProfileUpdateInternal {
|
|||||||
pub is_tax_connector_enabled: Option<bool>,
|
pub is_tax_connector_enabled: Option<bool>,
|
||||||
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
||||||
pub is_network_tokenization_enabled: Option<bool>,
|
pub is_network_tokenization_enabled: Option<bool>,
|
||||||
|
pub is_auto_retries_enabled: Option<bool>,
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v1")]
|
#[cfg(feature = "v1")]
|
||||||
@ -171,6 +177,8 @@ impl ProfileUpdateInternal {
|
|||||||
is_tax_connector_enabled,
|
is_tax_connector_enabled,
|
||||||
dynamic_routing_algorithm,
|
dynamic_routing_algorithm,
|
||||||
is_network_tokenization_enabled,
|
is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled,
|
||||||
|
max_auto_retries_enabled,
|
||||||
} = self;
|
} = self;
|
||||||
Profile {
|
Profile {
|
||||||
profile_id: source.profile_id,
|
profile_id: source.profile_id,
|
||||||
@ -228,6 +236,8 @@ impl ProfileUpdateInternal {
|
|||||||
.or(source.dynamic_routing_algorithm),
|
.or(source.dynamic_routing_algorithm),
|
||||||
is_network_tokenization_enabled: is_network_tokenization_enabled
|
is_network_tokenization_enabled: is_network_tokenization_enabled
|
||||||
.unwrap_or(source.is_network_tokenization_enabled),
|
.unwrap_or(source.is_network_tokenization_enabled),
|
||||||
|
is_auto_retries_enabled: is_auto_retries_enabled.or(source.is_auto_retries_enabled),
|
||||||
|
max_auto_retries_enabled: max_auto_retries_enabled.or(source.max_auto_retries_enabled),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -279,6 +289,8 @@ pub struct Profile {
|
|||||||
pub version: common_enums::ApiVersion,
|
pub version: common_enums::ApiVersion,
|
||||||
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
||||||
pub is_network_tokenization_enabled: bool,
|
pub is_network_tokenization_enabled: bool,
|
||||||
|
pub is_auto_retries_enabled: Option<bool>,
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Profile {
|
impl Profile {
|
||||||
@ -334,6 +346,8 @@ pub struct ProfileNew {
|
|||||||
pub id: common_utils::id_type::ProfileId,
|
pub id: common_utils::id_type::ProfileId,
|
||||||
pub version: common_enums::ApiVersion,
|
pub version: common_enums::ApiVersion,
|
||||||
pub is_network_tokenization_enabled: bool,
|
pub is_network_tokenization_enabled: bool,
|
||||||
|
pub is_auto_retries_enabled: Option<bool>,
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v2")]
|
#[cfg(feature = "v2")]
|
||||||
@ -373,6 +387,8 @@ pub struct ProfileUpdateInternal {
|
|||||||
pub payout_routing_algorithm_id: Option<common_utils::id_type::RoutingId>,
|
pub payout_routing_algorithm_id: Option<common_utils::id_type::RoutingId>,
|
||||||
pub default_fallback_routing: Option<pii::SecretSerdeValue>,
|
pub default_fallback_routing: Option<pii::SecretSerdeValue>,
|
||||||
pub is_network_tokenization_enabled: Option<bool>,
|
pub is_network_tokenization_enabled: Option<bool>,
|
||||||
|
pub is_auto_retries_enabled: Option<bool>,
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v2")]
|
#[cfg(feature = "v2")]
|
||||||
@ -411,6 +427,8 @@ impl ProfileUpdateInternal {
|
|||||||
payout_routing_algorithm_id,
|
payout_routing_algorithm_id,
|
||||||
default_fallback_routing,
|
default_fallback_routing,
|
||||||
is_network_tokenization_enabled,
|
is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled,
|
||||||
|
max_auto_retries_enabled,
|
||||||
} = self;
|
} = self;
|
||||||
Profile {
|
Profile {
|
||||||
id: source.id,
|
id: source.id,
|
||||||
@ -471,6 +489,8 @@ impl ProfileUpdateInternal {
|
|||||||
dynamic_routing_algorithm: None,
|
dynamic_routing_algorithm: None,
|
||||||
is_network_tokenization_enabled: is_network_tokenization_enabled
|
is_network_tokenization_enabled: is_network_tokenization_enabled
|
||||||
.unwrap_or(source.is_network_tokenization_enabled),
|
.unwrap_or(source.is_network_tokenization_enabled),
|
||||||
|
is_auto_retries_enabled: is_auto_retries_enabled.or(source.is_auto_retries_enabled),
|
||||||
|
max_auto_retries_enabled: max_auto_retries_enabled.or(source.max_auto_retries_enabled),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -211,6 +211,8 @@ diesel::table! {
|
|||||||
version -> ApiVersion,
|
version -> ApiVersion,
|
||||||
dynamic_routing_algorithm -> Nullable<Json>,
|
dynamic_routing_algorithm -> Nullable<Json>,
|
||||||
is_network_tokenization_enabled -> Bool,
|
is_network_tokenization_enabled -> Bool,
|
||||||
|
is_auto_retries_enabled -> Nullable<Bool>,
|
||||||
|
max_auto_retries_enabled -> Nullable<Int2>,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -218,6 +218,8 @@ diesel::table! {
|
|||||||
version -> ApiVersion,
|
version -> ApiVersion,
|
||||||
dynamic_routing_algorithm -> Nullable<Json>,
|
dynamic_routing_algorithm -> Nullable<Json>,
|
||||||
is_network_tokenization_enabled -> Bool,
|
is_network_tokenization_enabled -> Bool,
|
||||||
|
is_auto_retries_enabled -> Nullable<Bool>,
|
||||||
|
max_auto_retries_enabled -> Nullable<Int2>,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -56,6 +56,8 @@ pub struct Profile {
|
|||||||
pub version: common_enums::ApiVersion,
|
pub version: common_enums::ApiVersion,
|
||||||
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
||||||
pub is_network_tokenization_enabled: bool,
|
pub is_network_tokenization_enabled: bool,
|
||||||
|
pub is_auto_retries_enabled: bool,
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v1")]
|
#[cfg(feature = "v1")]
|
||||||
@ -94,6 +96,8 @@ pub struct ProfileSetter {
|
|||||||
pub is_tax_connector_enabled: bool,
|
pub is_tax_connector_enabled: bool,
|
||||||
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
||||||
pub is_network_tokenization_enabled: bool,
|
pub is_network_tokenization_enabled: bool,
|
||||||
|
pub is_auto_retries_enabled: bool,
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v1")]
|
#[cfg(feature = "v1")]
|
||||||
@ -139,6 +143,8 @@ impl From<ProfileSetter> for Profile {
|
|||||||
version: consts::API_VERSION,
|
version: consts::API_VERSION,
|
||||||
dynamic_routing_algorithm: value.dynamic_routing_algorithm,
|
dynamic_routing_algorithm: value.dynamic_routing_algorithm,
|
||||||
is_network_tokenization_enabled: value.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: value.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: value.is_auto_retries_enabled,
|
||||||
|
max_auto_retries_enabled: value.max_auto_retries_enabled,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -186,6 +192,8 @@ pub struct ProfileGeneralUpdate {
|
|||||||
pub is_tax_connector_enabled: Option<bool>,
|
pub is_tax_connector_enabled: Option<bool>,
|
||||||
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
pub dynamic_routing_algorithm: Option<serde_json::Value>,
|
||||||
pub is_network_tokenization_enabled: Option<bool>,
|
pub is_network_tokenization_enabled: Option<bool>,
|
||||||
|
pub is_auto_retries_enabled: Option<bool>,
|
||||||
|
pub max_auto_retries_enabled: Option<i16>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "v1")]
|
#[cfg(feature = "v1")]
|
||||||
@ -246,6 +254,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
is_tax_connector_enabled,
|
is_tax_connector_enabled,
|
||||||
dynamic_routing_algorithm,
|
dynamic_routing_algorithm,
|
||||||
is_network_tokenization_enabled,
|
is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled,
|
||||||
|
max_auto_retries_enabled,
|
||||||
} = *update;
|
} = *update;
|
||||||
|
|
||||||
Self {
|
Self {
|
||||||
@ -281,6 +291,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
is_tax_connector_enabled,
|
is_tax_connector_enabled,
|
||||||
dynamic_routing_algorithm,
|
dynamic_routing_algorithm,
|
||||||
is_network_tokenization_enabled,
|
is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled,
|
||||||
|
max_auto_retries_enabled,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ProfileUpdate::RoutingAlgorithmUpdate {
|
ProfileUpdate::RoutingAlgorithmUpdate {
|
||||||
@ -318,6 +330,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
dynamic_routing_algorithm: None,
|
dynamic_routing_algorithm: None,
|
||||||
is_network_tokenization_enabled: None,
|
is_network_tokenization_enabled: None,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
ProfileUpdate::DynamicRoutingAlgorithmUpdate {
|
ProfileUpdate::DynamicRoutingAlgorithmUpdate {
|
||||||
dynamic_routing_algorithm,
|
dynamic_routing_algorithm,
|
||||||
@ -353,6 +367,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
dynamic_routing_algorithm,
|
dynamic_routing_algorithm,
|
||||||
is_network_tokenization_enabled: None,
|
is_network_tokenization_enabled: None,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
ProfileUpdate::ExtendedCardInfoUpdate {
|
ProfileUpdate::ExtendedCardInfoUpdate {
|
||||||
is_extended_card_info_enabled,
|
is_extended_card_info_enabled,
|
||||||
@ -388,6 +404,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
dynamic_routing_algorithm: None,
|
dynamic_routing_algorithm: None,
|
||||||
is_network_tokenization_enabled: None,
|
is_network_tokenization_enabled: None,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
ProfileUpdate::ConnectorAgnosticMitUpdate {
|
ProfileUpdate::ConnectorAgnosticMitUpdate {
|
||||||
is_connector_agnostic_mit_enabled,
|
is_connector_agnostic_mit_enabled,
|
||||||
@ -423,6 +441,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
dynamic_routing_algorithm: None,
|
dynamic_routing_algorithm: None,
|
||||||
is_network_tokenization_enabled: None,
|
is_network_tokenization_enabled: None,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
ProfileUpdate::NetworkTokenizationUpdate {
|
ProfileUpdate::NetworkTokenizationUpdate {
|
||||||
is_network_tokenization_enabled,
|
is_network_tokenization_enabled,
|
||||||
@ -458,6 +478,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
dynamic_routing_algorithm: None,
|
dynamic_routing_algorithm: None,
|
||||||
is_network_tokenization_enabled,
|
is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -512,6 +534,8 @@ impl super::behaviour::Conversion for Profile {
|
|||||||
version: self.version,
|
version: self.version,
|
||||||
dynamic_routing_algorithm: self.dynamic_routing_algorithm,
|
dynamic_routing_algorithm: self.dynamic_routing_algorithm,
|
||||||
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: Some(self.is_auto_retries_enabled),
|
||||||
|
max_auto_retries_enabled: self.max_auto_retries_enabled,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -578,6 +602,8 @@ impl super::behaviour::Conversion for Profile {
|
|||||||
version: item.version,
|
version: item.version,
|
||||||
dynamic_routing_algorithm: item.dynamic_routing_algorithm,
|
dynamic_routing_algorithm: item.dynamic_routing_algorithm,
|
||||||
is_network_tokenization_enabled: item.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: item.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: item.is_auto_retries_enabled.unwrap_or(false),
|
||||||
|
max_auto_retries_enabled: item.max_auto_retries_enabled,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
.await
|
.await
|
||||||
@ -628,6 +654,8 @@ impl super::behaviour::Conversion for Profile {
|
|||||||
is_tax_connector_enabled: Some(self.is_tax_connector_enabled),
|
is_tax_connector_enabled: Some(self.is_tax_connector_enabled),
|
||||||
version: self.version,
|
version: self.version,
|
||||||
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: Some(self.is_auto_retries_enabled),
|
||||||
|
max_auto_retries_enabled: self.max_auto_retries_enabled,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -896,6 +924,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
tax_connector_id: None,
|
tax_connector_id: None,
|
||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
is_network_tokenization_enabled,
|
is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ProfileUpdate::RoutingAlgorithmUpdate {
|
ProfileUpdate::RoutingAlgorithmUpdate {
|
||||||
@ -934,6 +964,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
tax_connector_id: None,
|
tax_connector_id: None,
|
||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
is_network_tokenization_enabled: None,
|
is_network_tokenization_enabled: None,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
ProfileUpdate::ExtendedCardInfoUpdate {
|
ProfileUpdate::ExtendedCardInfoUpdate {
|
||||||
is_extended_card_info_enabled,
|
is_extended_card_info_enabled,
|
||||||
@ -970,6 +1002,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
tax_connector_id: None,
|
tax_connector_id: None,
|
||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
is_network_tokenization_enabled: None,
|
is_network_tokenization_enabled: None,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
ProfileUpdate::ConnectorAgnosticMitUpdate {
|
ProfileUpdate::ConnectorAgnosticMitUpdate {
|
||||||
is_connector_agnostic_mit_enabled,
|
is_connector_agnostic_mit_enabled,
|
||||||
@ -1006,6 +1040,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
tax_connector_id: None,
|
tax_connector_id: None,
|
||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
is_network_tokenization_enabled: None,
|
is_network_tokenization_enabled: None,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
ProfileUpdate::DefaultRoutingFallbackUpdate {
|
ProfileUpdate::DefaultRoutingFallbackUpdate {
|
||||||
default_fallback_routing,
|
default_fallback_routing,
|
||||||
@ -1042,6 +1078,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
tax_connector_id: None,
|
tax_connector_id: None,
|
||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
is_network_tokenization_enabled: None,
|
is_network_tokenization_enabled: None,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
ProfileUpdate::NetworkTokenizationUpdate {
|
ProfileUpdate::NetworkTokenizationUpdate {
|
||||||
is_network_tokenization_enabled,
|
is_network_tokenization_enabled,
|
||||||
@ -1078,6 +1116,8 @@ impl From<ProfileUpdate> for ProfileUpdateInternal {
|
|||||||
tax_connector_id: None,
|
tax_connector_id: None,
|
||||||
is_tax_connector_enabled: None,
|
is_tax_connector_enabled: None,
|
||||||
is_network_tokenization_enabled,
|
is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1134,6 +1174,8 @@ impl super::behaviour::Conversion for Profile {
|
|||||||
version: self.version,
|
version: self.version,
|
||||||
dynamic_routing_algorithm: None,
|
dynamic_routing_algorithm: None,
|
||||||
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1253,6 +1295,8 @@ impl super::behaviour::Conversion for Profile {
|
|||||||
is_tax_connector_enabled: Some(self.is_tax_connector_enabled),
|
is_tax_connector_enabled: Some(self.is_tax_connector_enabled),
|
||||||
version: self.version,
|
version: self.version,
|
||||||
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: None,
|
||||||
|
max_auto_retries_enabled: None,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3537,6 +3537,8 @@ impl ProfileCreateBridge for api::ProfileCreate {
|
|||||||
.always_collect_shipping_details_from_wallet_connector,
|
.always_collect_shipping_details_from_wallet_connector,
|
||||||
dynamic_routing_algorithm: None,
|
dynamic_routing_algorithm: None,
|
||||||
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: self.is_auto_retries_enabled.unwrap_or_default(),
|
||||||
|
max_auto_retries_enabled: self.max_auto_retries_enabled.map(i16::from),
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3884,6 +3886,8 @@ impl ProfileUpdateBridge for api::ProfileUpdate {
|
|||||||
is_tax_connector_enabled: self.is_tax_connector_enabled,
|
is_tax_connector_enabled: self.is_tax_connector_enabled,
|
||||||
dynamic_routing_algorithm: self.dynamic_routing_algorithm,
|
dynamic_routing_algorithm: self.dynamic_routing_algorithm,
|
||||||
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: self.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: self.is_auto_retries_enabled,
|
||||||
|
max_auto_retries_enabled: self.max_auto_retries_enabled.map(i16::from),
|
||||||
},
|
},
|
||||||
)))
|
)))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -168,6 +168,8 @@ impl ForeignTryFrom<domain::Profile> for ProfileResponse {
|
|||||||
tax_connector_id: item.tax_connector_id,
|
tax_connector_id: item.tax_connector_id,
|
||||||
is_tax_connector_enabled: item.is_tax_connector_enabled,
|
is_tax_connector_enabled: item.is_tax_connector_enabled,
|
||||||
is_network_tokenization_enabled: item.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: item.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: item.is_auto_retries_enabled,
|
||||||
|
max_auto_retries_enabled: item.max_auto_retries_enabled,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -353,5 +355,7 @@ pub async fn create_profile_from_merchant_account(
|
|||||||
is_tax_connector_enabled: request.is_tax_connector_enabled,
|
is_tax_connector_enabled: request.is_tax_connector_enabled,
|
||||||
dynamic_routing_algorithm: None,
|
dynamic_routing_algorithm: None,
|
||||||
is_network_tokenization_enabled: request.is_network_tokenization_enabled,
|
is_network_tokenization_enabled: request.is_network_tokenization_enabled,
|
||||||
|
is_auto_retries_enabled: request.is_auto_retries_enabled.unwrap_or_default(),
|
||||||
|
max_auto_retries_enabled: request.max_auto_retries_enabled.map(i16::from),
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,6 @@
|
|||||||
|
-- This file should undo anything in `up.sql`
|
||||||
|
-- Drop is_auto_retries_enabled column from business_profile table
|
||||||
|
ALTER TABLE business_profile DROP COLUMN IF EXISTS is_auto_retries_enabled;
|
||||||
|
|
||||||
|
-- Drop max_auto_retries_enabled column from business_profile table
|
||||||
|
ALTER TABLE business_profile DROP COLUMN IF EXISTS max_auto_retries_enabled;
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
-- Your SQL goes here
|
||||||
|
-- Add is_auto_retries_enabled column in business_profile table
|
||||||
|
ALTER TABLE business_profile ADD COLUMN IF NOT EXISTS is_auto_retries_enabled BOOLEAN;
|
||||||
|
|
||||||
|
-- Add max_auto_retries_enabled column in business_profile table
|
||||||
|
ALTER TABLE business_profile ADD COLUMN IF NOT EXISTS max_auto_retries_enabled SMALLINT;
|
||||||
Reference in New Issue
Block a user