Frm integration with hyperswitch (#857)

Co-authored-by: Arun Raj M <jarnura47@gmail.com>
Co-authored-by: SamraatBansal <55536657+SamraatBansal@users.noreply.github.com>
This commit is contained in:
rishavkar
2023-04-17 23:58:31 +05:30
committed by GitHub
parent fa44c1f602
commit bc38bc47d8
10 changed files with 126 additions and 5 deletions

View File

@ -1,6 +1,7 @@
use api_models::admin::PrimaryBusinessDetails;
use common_utils::ext_traits::ValueExt;
use error_stack::{report, FutureExt, IntoReport, ResultExt};
use masking::Secret; //PeekInterface
use storage_models::{enums, merchant_account};
use uuid::Uuid;
@ -401,7 +402,15 @@ pub async fn create_payment_connector(
field_name: "connector_account_details".to_string(),
expected_format: "auth_type and api_key".to_string(),
})?;
let frm_configs = match req.frm_configs {
Some(frm_value) => {
let configs_for_frm_value: serde_json::Value =
utils::Encode::<api_models::admin::FrmConfigs>::encode_to_value(&frm_value)
.change_context(errors::ApiErrorResponse::ConfigNotFound)?;
Some(Secret::new(configs_for_frm_value))
}
None => None,
};
let merchant_connector_account = storage::MerchantConnectorAccountNew {
merchant_id: Some(merchant_id.to_string()),
connector_type: Some(req.connector_type.foreign_into()),
@ -412,6 +421,7 @@ pub async fn create_payment_connector(
test_mode: req.test_mode,
disabled: req.disabled,
metadata: req.metadata,
frm_configs,
connector_label: connector_label.clone(),
business_country,
business_label,
@ -516,7 +526,15 @@ pub async fn update_payment_connector(
})
.collect::<Vec<serde_json::Value>>()
});
let frm_configs = match req.frm_configs.as_ref() {
Some(frm_value) => {
let configs_for_frm_value: serde_json::Value =
utils::Encode::<api_models::admin::FrmConfigs>::encode_to_value(&frm_value)
.change_context(errors::ApiErrorResponse::ConfigNotFound)?;
Some(Secret::new(configs_for_frm_value))
}
None => None,
};
let payment_connector = storage::MerchantConnectorAccountUpdate::Update {
merchant_id: Some(merchant_id.to_string()),
connector_type: Some(req.connector_type.foreign_into()),
@ -526,6 +544,7 @@ pub async fn update_payment_connector(
test_mode: req.test_mode,
disabled: req.disabled,
metadata: req.metadata,
frm_configs,
};
let updated_mca = db