Skip to content

Commit 9a9e918

Browse files
committed
fix: add create under a feature flag
1 parent 1a92dca commit 9a9e918

File tree

3 files changed

+25
-18
lines changed

3 files changed

+25
-18
lines changed

crates/router/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@ license.workspace = true
1212
default = ["kv_store", "stripe", "oltp", "olap", "backwards_compatibility", "accounts_cache", "dummy_connector", "payouts", "payout_retry", "business_profile_routing", "connector_choice_mca_id", "profile_specific_fallback_routing", "retry", "frm", "tls"]
1313
tls = ["actix-web/rustls-0_22"]
1414
email = ["external_services/email", "scheduler/email", "olap"]
15+
keymanager_create = []
1516
frm = ["api_models/frm", "hyperswitch_domain_models/frm"]
1617
stripe = ["dep:serde_qs"]
17-
release = ["stripe", "email", "backwards_compatibility", "business_profile_routing", "accounts_cache", "kv_store", "connector_choice_mca_id", "profile_specific_fallback_routing", "vergen", "recon", "external_services/aws_kms", "external_services/aws_s3"]
18+
release = ["stripe", "email", "backwards_compatibility", "business_profile_routing", "accounts_cache", "kv_store", "connector_choice_mca_id", "profile_specific_fallback_routing", "vergen", "recon", "external_services/aws_kms", "external_services/aws_s3","keymanager_create"]
1819
olap = ["hyperswitch_domain_models/olap", "storage_impl/olap", "scheduler/olap", "api_models/olap", "dep:analytics"]
1920
oltp = ["storage_impl/oltp"]
2021
kv_store = ["scheduler/kv_store"]

crates/router/src/core/admin.rs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -134,15 +134,18 @@ pub async fn create_merchant_account(
134134
.payment_response_hash_key
135135
.or(Some(generate_cryptographically_secure_random_string(64)));
136136

137-
encryption::create_key_in_key_manager(
138-
&state,
139-
domain::EncryptionCreateRequest {
140-
identifier: domain::Identifier::Merchant(req.merchant_id.clone()),
141-
},
142-
)
143-
.await
144-
.change_context(errors::ApiErrorResponse::DuplicateMerchantAccount)
145-
.attach_printable("Failed to insert key to KeyManager")?;
137+
#[cfg(feature = "keymanager_create")]
138+
{
139+
encryption::create_key_in_key_manager(
140+
&state,
141+
domain::EncryptionCreateRequest {
142+
identifier: domain::Identifier::Merchant(req.merchant_id.clone()),
143+
},
144+
)
145+
.await
146+
.change_context(errors::ApiErrorResponse::DuplicateMerchantAccount)
147+
.attach_printable("Failed to insert key to KeyManager")?;
148+
}
146149

147150
db.insert_merchant_key_store(key_store.clone(), &master_key.to_vec().into())
148151
.await

crates/router/src/types/domain/user.rs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -927,14 +927,17 @@ impl UserFromStorage {
927927
created_at: common_utils::date_time::now(),
928928
};
929929

930-
crate::encryption::create_key_in_key_manager(
931-
state,
932-
super::EncryptionCreateRequest {
933-
identifier: super::Identifier::User(key_store.user_id.clone()),
934-
},
935-
)
936-
.await
937-
.change_context(UserErrors::InternalServerError)?;
930+
#[cfg(feature = "keymanager_create")]
931+
{
932+
crate::encryption::create_key_in_key_manager(
933+
state,
934+
super::EncryptionCreateRequest {
935+
identifier: super::Identifier::User(key_store.user_id.clone()),
936+
},
937+
)
938+
.await
939+
.change_context(UserErrors::InternalServerError)?;
940+
}
938941

939942
state
940943
.global_store

0 commit comments

Comments
 (0)