diff --git a/crates/router/Cargo.toml b/crates/router/Cargo.toml index 277df67584..ad3df36b5c 100644 --- a/crates/router/Cargo.toml +++ b/crates/router/Cargo.toml @@ -12,7 +12,7 @@ build = "src/build.rs" [features] default = ["kv_store", "stripe", "oltp", "olap","accounts_cache"] kms = ["aws-config", "aws-sdk-kms"] -basilisk = [] +basilisk = ["josekit"] stripe = ["dep:serde_qs"] sandbox = ["kms", "stripe", "basilisk"] olap = [] @@ -48,7 +48,7 @@ frunk_core = "0.4.1" futures = "0.3.25" hex = "0.4.3" http = "0.2.8" -josekit = "0.8.1" +josekit = { version = "0.8.1", optional = true } jsonwebtoken = "8.2.0" literally = "0.1.3" maud = { version = "0.24", features = ["actix-web"] } diff --git a/crates/router/src/core/payment_methods/vault.rs b/crates/router/src/core/payment_methods/vault.rs index 2cb010ec15..9646df7d59 100644 --- a/crates/router/src/core/payment_methods/vault.rs +++ b/crates/router/src/core/payment_methods/vault.rs @@ -8,16 +8,16 @@ use router_env::{instrument, tracing}; #[cfg(not(feature = "basilisk"))] use crate::types::storage; use crate::{ - core::{ - errors::{self, CustomResult, RouterResult}, - payment_methods::transformers as payment_methods, - }, - logger, routes, services, + core::errors::{self, CustomResult, RouterResult}, + logger, routes, types::api, - utils::{self, BytesExt, StringExt}, + utils::{self, StringExt}, }; - +#[cfg(feature = "basilisk")] +use crate::{core::payment_methods::transformers as payment_methods, services, utils::BytesExt}; +#[cfg(feature = "basilisk")] const VAULT_SERVICE_NAME: &str = "CARD"; +#[cfg(feature = "basilisk")] const VAULT_VERSION: &str = "0"; pub struct SupplementaryVaultData { @@ -381,6 +381,7 @@ impl Vault { } //------------------------------------------------TokenizeService------------------------------------------------ +#[cfg(feature = "basilisk")] pub async fn create_tokenize( state: &routes::AppState, value1: String, @@ -444,6 +445,7 @@ pub async fn create_tokenize( } } +#[cfg(feature = "basilisk")] pub async fn get_tokenized_data( state: &routes::AppState, lookup_key: &str, @@ -500,6 +502,7 @@ pub async fn get_tokenized_data( } } +#[cfg(feature = "basilisk")] pub async fn delete_tokenized_data( state: &routes::AppState, lookup_key: &str, diff --git a/crates/router/src/services.rs b/crates/router/src/services.rs index 9d40d39cda..3492b3e5c5 100644 --- a/crates/router/src/services.rs +++ b/crates/router/src/services.rs @@ -1,11 +1,14 @@ pub mod api; pub mod authentication; +#[cfg(feature = "basilisk")] pub mod encryption; pub mod logger; use std::sync::Arc; -pub use self::{api::*, encryption::*}; +pub use self::api::*; +#[cfg(feature = "basilisk")] +pub use self::encryption::*; use crate::connection::{diesel_make_pg_pool, PgPool}; #[derive(Clone)] diff --git a/crates/router/src/services/encryption.rs b/crates/router/src/services/encryption.rs index 0fe1d59eae..be2bc5aa93 100644 --- a/crates/router/src/services/encryption.rs +++ b/crates/router/src/services/encryption.rs @@ -1,6 +1,7 @@ use std::{num::Wrapping, str}; use error_stack::{report, IntoReport, ResultExt}; +#[cfg(feature = "basilisk")] use josekit::jwe; use rand; use ring::{aead::*, error::Unspecified}; @@ -175,6 +176,7 @@ pub fn get_key_id(keys: &Jwekey) -> &str { } } +#[cfg(feature = "basilisk")] pub async fn encrypt_jwe( keys: &Jwekey, msg: &str,