mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-01 19:42:27 +08:00
refactor(mca): use separate struct for connector metadata (#1465)
This commit is contained in:
@ -1762,8 +1762,12 @@ pub struct ApplepaySessionRequest {
|
||||
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct ConnectorMetadata {
|
||||
pub apple_pay: Option<ApplePayMetadata>,
|
||||
pub google_pay: Option<GpayMetaData>,
|
||||
pub apple_pay: Option<ApplepayConnectorMetadataRequest>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
pub struct ApplepayConnectorMetadataRequest {
|
||||
pub session_token_data: Option<SessionTokenInfo>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
|
||||
|
||||
@ -384,7 +384,7 @@ fn validate_certificate_in_mca_metadata(
|
||||
connector_metadata: Secret<serde_json::Value>,
|
||||
) -> RouterResult<()> {
|
||||
let parsed_connector_metadata = connector_metadata
|
||||
.parse_value::<api_models::payments::ConnectorMetadata>("ApplepaySessionTokenData")
|
||||
.parse_value::<api_models::payments::ConnectorMetadata>("ConnectorMetadata")
|
||||
.change_context(errors::ParsingError::StructParseFailure("Metadata"))
|
||||
.change_context(errors::ApiErrorResponse::InvalidDataFormat {
|
||||
field_name: "metadata".to_string(),
|
||||
@ -393,18 +393,23 @@ fn validate_certificate_in_mca_metadata(
|
||||
|
||||
parsed_connector_metadata
|
||||
.apple_pay
|
||||
.map(|applepay_metadata| {
|
||||
.and_then(|applepay_metadata| {
|
||||
applepay_metadata
|
||||
.session_token_data
|
||||
.map(|session_token_data| {
|
||||
let api_models::payments::SessionTokenInfo {
|
||||
certificate,
|
||||
certificate_keys,
|
||||
..
|
||||
} = applepay_metadata.session_token_data;
|
||||
} = session_token_data;
|
||||
|
||||
helpers::create_identity_from_certificate_and_key(certificate, certificate_keys)
|
||||
.change_context(errors::ApiErrorResponse::InvalidDataValue {
|
||||
field_name: "certificate/certificate key",
|
||||
})
|
||||
.map(|_identity_result| ())
|
||||
})
|
||||
})
|
||||
.transpose()?;
|
||||
|
||||
Ok(())
|
||||
|
||||
Reference in New Issue
Block a user