Skip to content

Commit

Permalink
refactor: insert requires cvv config to configs table if not found in…
Browse files Browse the repository at this point in the history
… db (#2208)
  • Loading branch information
Chethan-rao authored Sep 27, 2023
1 parent fe43458 commit 68b3310
Showing 1 changed file with 8 additions and 16 deletions.
24 changes: 8 additions & 16 deletions crates/router/src/core/payment_methods/cards.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1825,23 +1825,15 @@ pub async fn list_customer_payment_method(
let key = key_store.key.get_inner().peek();

let is_requires_cvv = db
.find_config_by_key(format!("{}_requires_cvv", merchant_account.merchant_id).as_str())
.await;
.find_config_by_key_unwrap_or(
format!("{}_requires_cvv", merchant_account.merchant_id).as_str(),
Some("true".to_string()),
)
.await
.change_context(errors::ApiErrorResponse::InternalServerError)
.attach_printable("Failed to fetch merchant_id config for requires_cvv")?;

let requires_cvv = match is_requires_cvv {
// If an entry is found with the config value as `false`, we set requires_cvv to false
Ok(value) => value.config != "false",
Err(err) => {
if err.current_context().is_db_not_found() {
// By default, cvv is made required field for all merchants
true
} else {
Err(err
.change_context(errors::ApiErrorResponse::InternalServerError)
.attach_printable("Failed to fetch merchant_id config for requires_cvv"))?
}
}
};
let requires_cvv = is_requires_cvv.config != "false";

let resp = db
.find_payment_method_by_customer_id_merchant_id_list(
Expand Down

0 comments on commit 68b3310

Please sign in to comment.