build(deps): remove unused dependencies and features (#2854)

This commit is contained in:
Sanchith Hegde
2023-11-13 16:50:18 +05:30
committed by GitHub
parent c124511052
commit 0553587115
28 changed files with 87 additions and 157 deletions

62
Cargo.lock generated
View File

@ -2,30 +2,6 @@
# It is not intended for manual editing. # It is not intended for manual editing.
version = 3 version = 3
[[package]]
name = "actix"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f728064aca1c318585bf4bb04ffcfac9e75e508ab4e8b1bd9ba5dfe04e2cbed5"
dependencies = [
"actix-rt",
"actix_derive",
"bitflags 1.3.2",
"bytes",
"crossbeam-channel",
"futures-core",
"futures-sink",
"futures-task",
"futures-util",
"log",
"once_cell",
"parking_lot 0.12.1",
"pin-project-lite",
"smallvec",
"tokio",
"tokio-util",
]
[[package]] [[package]]
name = "actix-codec" name = "actix-codec"
version = "0.5.1" version = "0.5.1"
@ -282,17 +258,6 @@ dependencies = [
"syn 2.0.38", "syn 2.0.38",
] ]
[[package]]
name = "actix_derive"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d44b8fee1ced9671ba043476deddef739dd0959bf77030b26b738cc591737a7"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]] [[package]]
name = "addr2line" name = "addr2line"
version = "0.21.0" version = "0.21.0"
@ -418,7 +383,6 @@ dependencies = [
"serde_json", "serde_json",
"serde_with", "serde_with",
"strum 0.24.1", "strum 0.24.1",
"thiserror",
"time", "time",
"url", "url",
"utoipa", "utoipa",
@ -1561,7 +1525,6 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"strum 0.25.0", "strum 0.25.0",
"time",
"utoipa", "utoipa",
] ]
@ -1924,7 +1887,6 @@ dependencies = [
"masking", "masking",
"serde", "serde",
"serde_json", "serde_json",
"strum 0.25.0",
"thiserror", "thiserror",
"time", "time",
] ]
@ -2035,13 +1997,10 @@ name = "diesel_models"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"async-bb8-diesel", "async-bb8-diesel",
"aws-config",
"aws-sdk-s3",
"common_enums", "common_enums",
"common_utils", "common_utils",
"diesel", "diesel",
"error-stack", "error-stack",
"external_services",
"frunk", "frunk",
"frunk_core", "frunk_core",
"masking", "masking",
@ -3271,12 +3230,6 @@ version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db" checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db"
[[package]]
name = "literally"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0d2be3f5a0d4d5c983d1f8ecc2a87676a0875a14feb9eebf0675f7c3e2f3c35"
[[package]] [[package]]
name = "local-channel" name = "local-channel"
version = "0.1.4" version = "0.1.4"
@ -4593,7 +4546,6 @@ dependencies = [
name = "router" name = "router"
version = "0.2.0" version = "0.2.0"
dependencies = [ dependencies = [
"actix",
"actix-cors", "actix-cors",
"actix-http", "actix-http",
"actix-multipart", "actix-multipart",
@ -4635,7 +4587,6 @@ dependencies = [
"josekit", "josekit",
"jsonwebtoken", "jsonwebtoken",
"kgraph_utils", "kgraph_utils",
"literally",
"masking", "masking",
"maud", "maud",
"mimalloc", "mimalloc",
@ -4664,18 +4615,14 @@ dependencies = [
"serde_with", "serde_with",
"serial_test", "serial_test",
"sha-1 0.9.8", "sha-1 0.9.8",
"signal-hook",
"signal-hook-tokio",
"sqlx", "sqlx",
"storage_impl", "storage_impl",
"strum 0.24.1", "strum 0.24.1",
"tera", "tera",
"test_utils", "test_utils",
"thirtyfour",
"thiserror", "thiserror",
"time", "time",
"tokio", "tokio",
"toml 0.7.4",
"unicode-segmentation", "unicode-segmentation",
"url", "url",
"utoipa", "utoipa",
@ -4962,7 +4909,6 @@ dependencies = [
"router_env", "router_env",
"serde", "serde",
"serde_json", "serde_json",
"signal-hook-tokio",
"storage_impl", "storage_impl",
"strum 0.24.1", "strum 0.24.1",
"thiserror", "thiserror",
@ -5496,7 +5442,6 @@ dependencies = [
"diesel_models", "diesel_models",
"dyn-clone", "dyn-clone",
"error-stack", "error-stack",
"external_services",
"futures", "futures",
"http", "http",
"masking", "masking",
@ -5730,27 +5675,20 @@ dependencies = [
name = "test_utils" name = "test_utils"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"actix-http",
"actix-web",
"api_models",
"async-trait", "async-trait",
"awc",
"base64 0.21.4", "base64 0.21.4",
"clap", "clap",
"derive_deref",
"masking", "masking",
"rand 0.8.5", "rand 0.8.5",
"reqwest", "reqwest",
"serde", "serde",
"serde_json", "serde_json",
"serde_path_to_error",
"serde_urlencoded", "serde_urlencoded",
"serial_test", "serial_test",
"thirtyfour", "thirtyfour",
"time", "time",
"tokio", "tokio",
"toml 0.7.4", "toml 0.7.4",
"uuid",
] ]
[[package]] [[package]]

View File

@ -14,7 +14,7 @@ connector_choice_bcompat = []
errors = ["dep:actix-web", "dep:reqwest"] errors = ["dep:actix-web", "dep:reqwest"]
backwards_compatibility = ["connector_choice_bcompat"] backwards_compatibility = ["connector_choice_bcompat"]
connector_choice_mca_id = ["euclid/connector_choice_mca_id"] connector_choice_mca_id = ["euclid/connector_choice_mca_id"]
dummy_connector = ["common_enums/dummy_connector", "euclid/dummy_connector"] dummy_connector = ["euclid/dummy_connector"]
detailed_errors = [] detailed_errors = []
payouts = [] payouts = []
@ -30,7 +30,6 @@ strum = { version = "0.24.1", features = ["derive"] }
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] } time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
url = { version = "2.4.0", features = ["serde"] } url = { version = "2.4.0", features = ["serde"] }
utoipa = { version = "3.3.0", features = ["preserve_order"] } utoipa = { version = "3.3.0", features = ["preserve_order"] }
thiserror = "1.0.40"
# First party crates # First party crates
cards = { version = "0.1.0", path = "../cards" } cards = { version = "0.1.0", path = "../cards" }

View File

@ -7,15 +7,11 @@ rust-version.workspace = true
readme = "README.md" readme = "README.md"
license.workspace = true license.workspace = true
[features]
dummy_connector = []
[dependencies] [dependencies]
diesel = { version = "2.1.0", features = ["postgres"] } diesel = { version = "2.1.0", features = ["postgres"] }
serde = { version = "1.0.160", features = ["derive"] } serde = { version = "1.0.160", features = ["derive"] }
serde_json = "1.0.96" serde_json = "1.0.96"
strum = { version = "0.25", features = ["derive"] } strum = { version = "0.25", features = ["derive"] }
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
utoipa = { version = "3.3.0", features = ["preserve_order"] } utoipa = { version = "3.3.0", features = ["preserve_order"] }
# First party crates # First party crates

View File

@ -23,6 +23,7 @@ http = "0.2.9"
md5 = "0.7.0" md5 = "0.7.0"
nanoid = "0.4.0" nanoid = "0.4.0"
once_cell = "1.18.0" once_cell = "1.18.0"
phonenumber = "0.3.3"
quick-xml = { version = "0.28.2", features = ["serialize"] } quick-xml = { version = "0.28.2", features = ["serialize"] }
rand = "0.8.5" rand = "0.8.5"
regex = "1.8.4" regex = "1.8.4"
@ -37,12 +38,11 @@ strum = { version = "0.24.1", features = ["derive"] }
thiserror = "1.0.40" thiserror = "1.0.40"
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] } time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"], optional = true } tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"], optional = true }
phonenumber = "0.3.3"
# First party crates # First party crates
common_enums = { version = "0.1.0", path = "../common_enums" }
masking = { version = "0.1.0", path = "../masking" } masking = { version = "0.1.0", path = "../masking" }
router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"], optional = true } router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"], optional = true }
common_enums = { version = "0.1.0", path = "../common_enums" }
[target.'cfg(not(target_os = "windows"))'.dependencies] [target.'cfg(not(target_os = "windows"))'.dependencies]
signal-hook-tokio = { version = "0.3.1", features = ["futures-v0_3"], optional = true } signal-hook-tokio = { version = "0.3.1", features = ["futures-v0_3"], optional = true }

View File

@ -8,16 +8,15 @@ readme = "README.md"
license.workspace = true license.workspace = true
[features] [features]
default = ["olap", "oltp"] default = ["olap"]
oltp = []
olap = [] olap = []
[dependencies] [dependencies]
# First party deps # First party deps
api_models = { version = "0.1.0", path = "../api_models" } api_models = { version = "0.1.0", path = "../api_models" }
masking = { version = "0.1.0", path = "../masking" }
common_enums = { version = "0.1.0", path = "../common_enums" } common_enums = { version = "0.1.0", path = "../common_enums" }
common_utils = { version = "0.1.0", path = "../common_utils" } common_utils = { version = "0.1.0", path = "../common_utils" }
masking = { version = "0.1.0", path = "../masking" }
# Third party deps # Third party deps
@ -25,6 +24,5 @@ async-trait = "0.1.68"
error-stack = "0.3.1" error-stack = "0.3.1"
serde = { version = "1.0.163", features = ["derive"] } serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96" serde_json = "1.0.96"
strum = { version = "0.25", features = [ "derive" ] }
thiserror = "1.0.40" thiserror = "1.0.40"
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] } time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }

View File

@ -9,15 +9,10 @@ license.workspace = true
[features] [features]
default = ["kv_store"] default = ["kv_store"]
email = ["external_services/email", "dep:aws-config"]
kms = ["external_services/kms", "dep:aws-config"]
kv_store = [] kv_store = []
s3 = ["dep:aws-sdk-s3", "dep:aws-config"]
[dependencies] [dependencies]
async-bb8-diesel = "0.1.0" async-bb8-diesel = "0.1.0"
aws-config = { version = "0.55.3", optional = true }
aws-sdk-s3 = { version = "0.28.0", optional = true }
diesel = { version = "2.1.0", features = ["postgres", "serde_json", "time", "64-column-tables"] } diesel = { version = "2.1.0", features = ["postgres", "serde_json", "time", "64-column-tables"] }
error-stack = "0.3.1" error-stack = "0.3.1"
frunk = "0.4.1" frunk = "0.4.1"
@ -31,7 +26,6 @@ time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
# First party crates # First party crates
common_enums = { path = "../common_enums" } common_enums = { path = "../common_enums" }
common_utils = { version = "0.1.0", path = "../common_utils" } common_utils = { version = "0.1.0", path = "../common_utils" }
external_services = { version = "0.1.0", path = "../external_services" }
masking = { version = "0.1.0", path = "../masking" } masking = { version = "0.1.0", path = "../masking" }
router_derive = { version = "0.1.0", path = "../router_derive" } router_derive = { version = "0.1.0", path = "../router_derive" }
router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] } router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] }

View File

@ -8,7 +8,7 @@ readme = "README.md"
license.workspace = true license.workspace = true
[features] [features]
release = ["kms","vergen"] release = ["kms", "vergen"]
kms = ["external_services/kms"] kms = ["external_services/kms"]
vergen = ["router_env/vergen"] vergen = ["router_env/vergen"]
@ -28,11 +28,11 @@ tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"] }
# First Party Crates # First Party Crates
common_utils = { version = "0.1.0", path = "../common_utils", features = ["signals"] } common_utils = { version = "0.1.0", path = "../common_utils", features = ["signals"] }
diesel_models = { version = "0.1.0", path = "../diesel_models", features = ["kv_store"] }
external_services = { version = "0.1.0", path = "../external_services" } external_services = { version = "0.1.0", path = "../external_services" }
masking = { version = "0.1.0", path = "../masking" } masking = { version = "0.1.0", path = "../masking" }
redis_interface = { version = "0.1.0", path = "../redis_interface" } redis_interface = { version = "0.1.0", path = "../redis_interface" }
router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] } router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] }
diesel_models = { version = "0.1.0", path = "../diesel_models", features = ["kv_store"] }
[build-dependencies] [build-dependencies]
router_env = { version = "0.1.0", path = "../router_env", default-features = false } router_env = { version = "0.1.0", path = "../router_env", default-features = false }

View File

@ -6,6 +6,7 @@ edition.workspace = true
rust-version.workspace = true rust-version.workspace = true
[dependencies] [dependencies]
erased-serde = "0.3.28"
frunk = "0.4.1" frunk = "0.4.1"
frunk_core = "0.4.1" frunk_core = "0.4.1"
nom = { version = "7.1.3", features = ["alloc"], optional = true } nom = { version = "7.1.3", features = ["alloc"], optional = true }
@ -13,7 +14,6 @@ once_cell = "1.18.0"
rustc-hash = "1.1.0" rustc-hash = "1.1.0"
serde = { version = "1.0.163", features = ["derive", "rc"] } serde = { version = "1.0.163", features = ["derive", "rc"] }
serde_json = "1.0.96" serde_json = "1.0.96"
erased-serde = "0.3.28"
strum = { version = "0.25", features = ["derive"] } strum = { version = "0.25", features = ["derive"] }
thiserror = "1.0.43" thiserror = "1.0.43"
@ -24,10 +24,8 @@ euclid_macros = { version = "0.1.0", path = "../euclid_macros" }
[features] [features]
ast_parser = ["dep:nom"] ast_parser = ["dep:nom"]
valued_jit = [] valued_jit = []
connector_choice_bcompat = []
connector_choice_mca_id = [] connector_choice_mca_id = []
dummy_connector = [] dummy_connector = []
backwards_compatibility = ["connector_choice_bcompat"]
[dev-dependencies] [dev-dependencies]
criterion = "0.5" criterion = "0.5"

View File

@ -10,28 +10,21 @@ rust-version.workspace = true
crate-type = ["cdylib"] crate-type = ["cdylib"]
[features] [features]
default = ["connector_choice_bcompat", "payouts"] default = ["connector_choice_bcompat"]
connector_choice_bcompat = [ connector_choice_bcompat = ["api_models/connector_choice_bcompat"]
"euclid/connector_choice_bcompat", connector_choice_mca_id = ["api_models/connector_choice_mca_id", "euclid/connector_choice_mca_id", "kgraph_utils/connector_choice_mca_id"]
"api_models/connector_choice_bcompat",
"kgraph_utils/backwards_compatibility"
]
connector_choice_mca_id = [
"api_models/connector_choice_mca_id",
"euclid/connector_choice_mca_id",
"kgraph_utils/connector_choice_mca_id"
]
dummy_connector = ["kgraph_utils/dummy_connector"] dummy_connector = ["kgraph_utils/dummy_connector"]
payouts = []
[dependencies] [dependencies]
api_models = { version = "0.1.0", path = "../api_models", package = "api_models" } api_models = { version = "0.1.0", path = "../api_models", package = "api_models" }
euclid = { path = "../euclid", features = [] } euclid = { path = "../euclid", features = [] }
kgraph_utils = { version = "0.1.0", path = "../kgraph_utils" } kgraph_utils = { version = "0.1.0", path = "../kgraph_utils" }
# Third party crates
getrandom = { version = "0.2.10", features = ["js"] } getrandom = { version = "0.2.10", features = ["js"] }
once_cell = "1.18.0" once_cell = "1.18.0"
ron-parser = "0.1.4"
serde = { version = "1.0", features = [] } serde = { version = "1.0", features = [] }
serde-wasm-bindgen = "0.5" serde-wasm-bindgen = "0.5"
strum = { version = "0.25", features = ["derive"] } strum = { version = "0.25", features = ["derive"] }
wasm-bindgen = { version = "0.2.86" } wasm-bindgen = { version = "0.2.86" }
ron-parser = "0.1.4"

View File

@ -7,14 +7,14 @@ rust-version.workspace = true
[features] [features]
dummy_connector = ["api_models/dummy_connector", "euclid/dummy_connector"] dummy_connector = ["api_models/dummy_connector", "euclid/dummy_connector"]
backwards_compatibility = ["euclid/backwards_compatibility", "euclid/backwards_compatibility"]
connector_choice_mca_id = ["api_models/connector_choice_mca_id", "euclid/connector_choice_mca_id"] connector_choice_mca_id = ["api_models/connector_choice_mca_id", "euclid/connector_choice_mca_id"]
[dependencies] [dependencies]
api_models = { version = "0.1.0", path = "../api_models", package = "api_models" } api_models = { version = "0.1.0", path = "../api_models", package = "api_models" }
euclid = { version = "0.1.0", path = "../euclid" } euclid = { version = "0.1.0", path = "../euclid" }
masking = { version = "0.1.0", path = "../masking/"} masking = { version = "0.1.0", path = "../masking/" }
# Third party crates
serde = "1.0.163" serde = "1.0.163"
serde_json = "1.0.96" serde_json = "1.0.96"
thiserror = "1.0.43" thiserror = "1.0.43"

View File

@ -9,7 +9,7 @@ license.workspace = true
[dependencies] [dependencies]
error-stack = "0.3.1" error-stack = "0.3.1"
fred = { version = "6.3.0", features = ["metrics", "partial-tracing","subscriber-client"] } fred = { version = "6.3.0", features = ["metrics", "partial-tracing", "subscriber-client"] }
futures = "0.3" futures = "0.3"
serde = { version = "1.0.163", features = ["derive"] } serde = { version = "1.0.163", features = ["derive"] }
thiserror = "1.0.40" thiserror = "1.0.40"

View File

@ -17,24 +17,22 @@ basilisk = ["kms"]
stripe = ["dep:serde_qs"] stripe = ["dep:serde_qs"]
release = ["kms", "stripe", "basilisk", "s3", "email", "business_profile_routing", "accounts_cache", "kv_store", "profile_specific_fallback_routing"] release = ["kms", "stripe", "basilisk", "s3", "email", "business_profile_routing", "accounts_cache", "kv_store", "profile_specific_fallback_routing"]
olap = ["data_models/olap", "storage_impl/olap", "scheduler/olap"] olap = ["data_models/olap", "storage_impl/olap", "scheduler/olap"]
oltp = ["data_models/oltp", "storage_impl/oltp"] oltp = ["storage_impl/oltp"]
kv_store = ["scheduler/kv_store"] kv_store = ["scheduler/kv_store"]
accounts_cache = [] accounts_cache = []
openapi = ["olap", "oltp", "payouts"] openapi = ["olap", "oltp", "payouts"]
vergen = ["router_env/vergen"] vergen = ["router_env/vergen"]
backwards_compatibility = ["api_models/backwards_compatibility", "euclid/backwards_compatibility", "kgraph_utils/backwards_compatibility"] backwards_compatibility = ["api_models/backwards_compatibility"]
business_profile_routing=["api_models/business_profile_routing"] business_profile_routing = ["api_models/business_profile_routing"]
profile_specific_fallback_routing = [] profile_specific_fallback_routing = []
dummy_connector = ["api_models/dummy_connector", "euclid/dummy_connector", "kgraph_utils/dummy_connector"] dummy_connector = ["api_models/dummy_connector", "euclid/dummy_connector", "kgraph_utils/dummy_connector"]
connector_choice_mca_id = ["api_models/connector_choice_mca_id", "euclid/connector_choice_mca_id", "kgraph_utils/connector_choice_mca_id"] connector_choice_mca_id = ["api_models/connector_choice_mca_id", "euclid/connector_choice_mca_id", "kgraph_utils/connector_choice_mca_id"]
external_access_dc = ["dummy_connector"] external_access_dc = ["dummy_connector"]
detailed_errors = ["api_models/detailed_errors", "error-stack/serde"] detailed_errors = ["api_models/detailed_errors", "error-stack/serde"]
payouts = [] payouts = []
api_locking = []
[dependencies] [dependencies]
actix = "0.13.0"
actix-cors = "0.6.4" actix-cors = "0.6.4"
actix-multipart = "0.6.0" actix-multipart = "0.6.0"
actix-rt = "2.8.0" actix-rt = "2.8.0"
@ -52,6 +50,7 @@ bytes = "1.4.0"
clap = { version = "4.3.2", default-features = false, features = ["std", "derive", "help", "usage"] } clap = { version = "4.3.2", default-features = false, features = ["std", "derive", "help", "usage"] }
config = { version = "0.13.3", features = ["toml"] } config = { version = "0.13.3", features = ["toml"] }
diesel = { version = "2.1.0", features = ["postgres"] } diesel = { version = "2.1.0", features = ["postgres"] }
digest = "0.9"
dyn-clone = "1.0.11" dyn-clone = "1.0.11"
encoding_rs = "0.8.32" encoding_rs = "0.8.32"
error-stack = "0.3.1" error-stack = "0.3.1"
@ -63,13 +62,13 @@ image = "0.23.14"
infer = "0.13.0" infer = "0.13.0"
josekit = "0.8.3" josekit = "0.8.3"
jsonwebtoken = "8.3.0" jsonwebtoken = "8.3.0"
literally = "0.1.3"
maud = { version = "0.25", features = ["actix-web"] } maud = { version = "0.25", features = ["actix-web"] }
mimalloc = { version = "0.1", optional = true } mimalloc = { version = "0.1", optional = true }
mime = "0.3.17" mime = "0.3.17"
nanoid = "0.4.0" nanoid = "0.4.0"
num_cpus = "1.15.0" num_cpus = "1.15.0"
once_cell = "1.18.0" once_cell = "1.18.0"
openssl = "0.10.55"
qrcode = "0.12.0" qrcode = "0.12.0"
rand = "0.8.5" rand = "0.8.5"
rand_chacha = "0.3.1" rand_chacha = "0.3.1"
@ -84,44 +83,38 @@ serde_path_to_error = "0.1.11"
serde_qs = { version = "0.12.0", optional = true } serde_qs = { version = "0.12.0", optional = true }
serde_urlencoded = "0.7.1" serde_urlencoded = "0.7.1"
serde_with = "3.0.0" serde_with = "3.0.0"
signal-hook = "0.3.15" sha-1 = { version = "0.9" }
strum = { version = "0.24.1", features = ["derive"] }
sqlx = { version = "0.6.3", features = ["postgres", "runtime-actix", "runtime-actix-native-tls", "time", "bigdecimal"] } sqlx = { version = "0.6.3", features = ["postgres", "runtime-actix", "runtime-actix-native-tls", "time", "bigdecimal"] }
strum = { version = "0.24.1", features = ["derive"] }
tera = "1.19.1"
thiserror = "1.0.40" thiserror = "1.0.40"
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] } time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"] } tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"] }
tera = "1.19.1"
unicode-segmentation = "1.10.1" unicode-segmentation = "1.10.1"
url = { version = "2.4.0", features = ["serde"] } url = { version = "2.4.0", features = ["serde"] }
utoipa = { version = "3.3.0", features = ["preserve_order", "time"] } utoipa = { version = "3.3.0", features = ["preserve_order", "time"] }
utoipa-swagger-ui = { version = "3.1.3", features = ["actix-web"] } utoipa-swagger-ui = { version = "3.1.3", features = ["actix-web"] }
uuid = { version = "1.3.3", features = ["serde", "v4"] } uuid = { version = "1.3.3", features = ["serde", "v4"] }
validator = "0.16.0" validator = "0.16.0"
openssl = "0.10.55"
x509-parser = "0.15.0" x509-parser = "0.15.0"
sha-1 = { version = "0.9"}
digest = "0.9"
# First party crates # First party crates
api_models = { version = "0.1.0", path = "../api_models", features = ["errors"] } api_models = { version = "0.1.0", path = "../api_models", features = ["errors"] }
cards = { version = "0.1.0", path = "../cards" } cards = { version = "0.1.0", path = "../cards" }
common_enums = { version = "0.1.0", path = "../common_enums" }
common_utils = { version = "0.1.0", path = "../common_utils", features = ["signals", "async_ext", "logs"] } common_utils = { version = "0.1.0", path = "../common_utils", features = ["signals", "async_ext", "logs"] }
common_enums = { version = "0.1.0", path = "../common_enums"} data_models = { version = "0.1.0", path = "../data_models", default-features = false }
external_services = { version = "0.1.0", path = "../external_services" } diesel_models = { version = "0.1.0", path = "../diesel_models", features = ["kv_store"] }
euclid = { version = "0.1.0", path = "../euclid", features = ["valued_jit"] } euclid = { version = "0.1.0", path = "../euclid", features = ["valued_jit"] }
external_services = { version = "0.1.0", path = "../external_services" }
kgraph_utils = { version = "0.1.0", path = "../kgraph_utils" }
masking = { version = "0.1.0", path = "../masking" } masking = { version = "0.1.0", path = "../masking" }
redis_interface = { version = "0.1.0", path = "../redis_interface" } redis_interface = { version = "0.1.0", path = "../redis_interface" }
router_derive = { version = "0.1.0", path = "../router_derive" } router_derive = { version = "0.1.0", path = "../router_derive" }
router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] } router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] }
diesel_models = { version = "0.1.0", path = "../diesel_models", features = ["kv_store"] } scheduler = { version = "0.1.0", path = "../scheduler", default-features = false }
scheduler = { version = "0.1.0", path = "../scheduler", default-features = false}
data_models = { version = "0.1.0", path = "../data_models", default-features = false }
kgraph_utils = { version = "0.1.0", path = "../kgraph_utils" }
storage_impl = { version = "0.1.0", path = "../storage_impl", default-features = false } storage_impl = { version = "0.1.0", path = "../storage_impl", default-features = false }
[target.'cfg(not(target_os = "windows"))'.dependencies]
signal-hook-tokio = { version = "0.3.1", features = ["futures-v0_3"] }
[build-dependencies] [build-dependencies]
router_env = { version = "0.1.0", path = "../router_env", default-features = false } router_env = { version = "0.1.0", path = "../router_env", default-features = false }
@ -131,10 +124,8 @@ awc = { version = "3.1.1", features = ["rustls"] }
derive_deref = "1.1.1" derive_deref = "1.1.1"
rand = "0.8.5" rand = "0.8.5"
serial_test = "2.0.0" serial_test = "2.0.0"
thirtyfour = "0.31.0"
time = { version = "0.3.21", features = ["macros"] } time = { version = "0.3.21", features = ["macros"] }
tokio = "1.28.2" tokio = "1.28.2"
toml = "0.7.4"
wiremock = "0.5" wiremock = "0.5"
# First party dev-dependencies # First party dev-dependencies

View File

@ -23,6 +23,7 @@ impl utils::Connector for AdyenTest {
} }
} }
#[cfg(feature = "payouts")]
fn get_payout_data(&self) -> Option<types::api::PayoutConnectorData> { fn get_payout_data(&self) -> Option<types::api::PayoutConnectorData> {
use router::connector::Adyen; use router::connector::Adyen;
Some(types::api::PayoutConnectorData { Some(types::api::PayoutConnectorData {
@ -68,6 +69,7 @@ impl AdyenTest {
}) })
} }
#[cfg(feature = "payouts")]
fn get_payout_info(payout_type: enums::PayoutType) -> Option<PaymentInfo> { fn get_payout_info(payout_type: enums::PayoutType) -> Option<PaymentInfo> {
Some(PaymentInfo { Some(PaymentInfo {
country: Some(api_models::enums::CountryAlpha2::NL), country: Some(api_models::enums::CountryAlpha2::NL),

View File

@ -12,6 +12,7 @@ impl utils::Connector for BankofamericaTest {
use router::connector::Bankofamerica; use router::connector::Bankofamerica;
types::api::ConnectorData { types::api::ConnectorData {
connector: Box::new(&Bankofamerica), connector: Box::new(&Bankofamerica),
// Remove `dummy_connector` feature gate from module in `main.rs` when updating this to use actual connector variant
connector_name: types::Connector::DummyConnector1, connector_name: types::Connector::DummyConnector1,
get_token: types::api::GetToken::Connector, get_token: types::api::GetToken::Connector,
merchant_connector_id: None, merchant_connector_id: None,

View File

@ -14,7 +14,7 @@ impl utils::Connector for GlobepayTest {
use router::connector::Globepay; use router::connector::Globepay;
types::api::ConnectorData { types::api::ConnectorData {
connector: Box::new(&Globepay), connector: Box::new(&Globepay),
connector_name: types::Connector::DummyConnector1, connector_name: types::Connector::Globepay,
get_token: types::api::GetToken::Connector, get_token: types::api::GetToken::Connector,
merchant_connector_id: None, merchant_connector_id: None,
} }

View File

@ -12,7 +12,7 @@ impl utils::Connector for GocardlessTest {
use router::connector::Gocardless; use router::connector::Gocardless;
types::api::ConnectorData { types::api::ConnectorData {
connector: Box::new(&Gocardless), connector: Box::new(&Gocardless),
connector_name: types::Connector::DummyConnector1, connector_name: types::Connector::Gocardless,
get_token: types::api::GetToken::Connector, get_token: types::api::GetToken::Connector,
merchant_connector_id: None, merchant_connector_id: None,
} }

View File

@ -12,7 +12,7 @@ impl utils::Connector for HelcimTest {
use router::connector::Helcim; use router::connector::Helcim;
types::api::ConnectorData { types::api::ConnectorData {
connector: Box::new(&Helcim), connector: Box::new(&Helcim),
connector_name: types::Connector::DummyConnector1, connector_name: types::Connector::Helcim,
get_token: types::api::GetToken::Connector, get_token: types::api::GetToken::Connector,
merchant_connector_id: None, merchant_connector_id: None,
} }

View File

@ -11,6 +11,7 @@ mod adyen;
mod airwallex; mod airwallex;
mod authorizedotnet; mod authorizedotnet;
mod bambora; mod bambora;
#[cfg(feature = "dummy_connector")]
mod bankofamerica; mod bankofamerica;
mod bitpay; mod bitpay;
mod bluesnap; mod bluesnap;
@ -36,13 +37,16 @@ mod nexinets;
mod nmi; mod nmi;
mod noon; mod noon;
mod nuvei; mod nuvei;
#[cfg(feature = "dummy_connector")]
mod opayo; mod opayo;
mod opennode; mod opennode;
#[cfg(feature = "dummy_connector")]
mod payeezy; mod payeezy;
mod payme; mod payme;
mod paypal; mod paypal;
mod payu; mod payu;
mod powertranz; mod powertranz;
#[cfg(feature = "dummy_connector")]
mod prophetpay; mod prophetpay;
mod rapyd; mod rapyd;
mod shift4; mod shift4;

View File

@ -16,6 +16,7 @@ impl utils::Connector for OpayoTest {
use router::connector::Opayo; use router::connector::Opayo;
types::api::ConnectorData { types::api::ConnectorData {
connector: Box::new(&Opayo), connector: Box::new(&Opayo),
// Remove `dummy_connector` feature gate from module in `main.rs` when updating this to use actual connector variant
connector_name: types::Connector::DummyConnector1, connector_name: types::Connector::DummyConnector1,
get_token: types::api::GetToken::Connector, get_token: types::api::GetToken::Connector,
merchant_connector_id: None, merchant_connector_id: None,

View File

@ -22,6 +22,7 @@ impl utils::Connector for PayeezyTest {
use router::connector::Payeezy; use router::connector::Payeezy;
types::api::ConnectorData { types::api::ConnectorData {
connector: Box::new(&Payeezy), connector: Box::new(&Payeezy),
// Remove `dummy_connector` feature gate from module in `main.rs` when updating this to use actual connector variant
connector_name: types::Connector::DummyConnector1, connector_name: types::Connector::DummyConnector1,
get_token: types::api::GetToken::Connector, get_token: types::api::GetToken::Connector,
merchant_connector_id: None, merchant_connector_id: None,

View File

@ -14,7 +14,7 @@ impl utils::Connector for PowertranzTest {
use router::connector::Powertranz; use router::connector::Powertranz;
types::api::ConnectorData { types::api::ConnectorData {
connector: Box::new(&Powertranz), connector: Box::new(&Powertranz),
connector_name: types::Connector::DummyConnector1, connector_name: types::Connector::Powertranz,
get_token: types::api::GetToken::Connector, get_token: types::api::GetToken::Connector,
merchant_connector_id: None, merchant_connector_id: None,
} }

View File

@ -12,6 +12,7 @@ impl utils::Connector for ProphetpayTest {
use router::connector::Prophetpay; use router::connector::Prophetpay;
types::api::ConnectorData { types::api::ConnectorData {
connector: Box::new(&Prophetpay), connector: Box::new(&Prophetpay),
// Remove `dummy_connector` feature gate from module in `main.rs` when updating this to use actual connector variant
connector_name: types::Connector::DummyConnector1, connector_name: types::Connector::DummyConnector1,
get_token: types::api::GetToken::Connector, get_token: types::api::GetToken::Connector,
merchant_connector_id: None, merchant_connector_id: None,

View File

@ -4,9 +4,11 @@ use async_trait::async_trait;
use common_utils::pii::Email; use common_utils::pii::Email;
use error_stack::Report; use error_stack::Report;
use masking::Secret; use masking::Secret;
#[cfg(feature = "payouts")]
use router::core::utils as core_utils;
use router::{ use router::{
configs::settings::Settings, configs::settings::Settings,
core::{errors, errors::ConnectorError, payments, utils as core_utils}, core::{errors, errors::ConnectorError, payments},
db::StorageImpl, db::StorageImpl,
routes, services, routes, services,
types::{self, api, storage::enums, AccessToken, PaymentAddress, RouterData}, types::{self, api, storage::enums, AccessToken, PaymentAddress, RouterData},
@ -17,15 +19,21 @@ use wiremock::{Mock, MockServer};
pub trait Connector { pub trait Connector {
fn get_data(&self) -> types::api::ConnectorData; fn get_data(&self) -> types::api::ConnectorData;
fn get_auth_token(&self) -> types::ConnectorAuthType; fn get_auth_token(&self) -> types::ConnectorAuthType;
fn get_name(&self) -> String; fn get_name(&self) -> String;
fn get_connector_meta(&self) -> Option<serde_json::Value> { fn get_connector_meta(&self) -> Option<serde_json::Value> {
None None
} }
/// interval in seconds to be followed when making the subsequent request whenever needed /// interval in seconds to be followed when making the subsequent request whenever needed
fn get_request_interval(&self) -> u64 { fn get_request_interval(&self) -> u64 {
5 5
} }
#[cfg(feature = "payouts")]
fn get_payout_data(&self) -> Option<types::api::PayoutConnectorData> { fn get_payout_data(&self) -> Option<types::api::PayoutConnectorData> {
None None
} }
@ -423,6 +431,7 @@ pub trait ConnectorActions: Connector {
Err(errors::ConnectorError::ProcessingStepFailed(None).into()) Err(errors::ConnectorError::ProcessingStepFailed(None).into())
} }
#[cfg(feature = "payouts")]
fn get_payout_request<Flow, Res>( fn get_payout_request<Flow, Res>(
&self, &self,
connector_payout_id: Option<String>, connector_payout_id: Option<String>,
@ -534,6 +543,7 @@ pub trait ConnectorActions: Connector {
} }
} }
#[cfg(feature = "payouts")]
async fn verify_payout_eligibility( async fn verify_payout_eligibility(
&self, &self,
payout_type: enums::PayoutType, payout_type: enums::PayoutType,
@ -572,6 +582,7 @@ pub trait ConnectorActions: Connector {
Ok(res.response.unwrap()) Ok(res.response.unwrap())
} }
#[cfg(feature = "payouts")]
async fn fulfill_payout( async fn fulfill_payout(
&self, &self,
connector_payout_id: Option<String>, connector_payout_id: Option<String>,
@ -611,6 +622,7 @@ pub trait ConnectorActions: Connector {
Ok(res.response.unwrap()) Ok(res.response.unwrap())
} }
#[cfg(feature = "payouts")]
async fn create_payout( async fn create_payout(
&self, &self,
connector_customer: Option<String>, connector_customer: Option<String>,
@ -651,6 +663,7 @@ pub trait ConnectorActions: Connector {
Ok(res.response.unwrap()) Ok(res.response.unwrap())
} }
#[cfg(feature = "payouts")]
async fn cancel_payout( async fn cancel_payout(
&self, &self,
connector_payout_id: String, connector_payout_id: String,
@ -691,6 +704,7 @@ pub trait ConnectorActions: Connector {
Ok(res.response.unwrap()) Ok(res.response.unwrap())
} }
#[cfg(feature = "payouts")]
async fn create_and_fulfill_payout( async fn create_and_fulfill_payout(
&self, &self,
connector_customer: Option<String>, connector_customer: Option<String>,
@ -714,6 +728,7 @@ pub trait ConnectorActions: Connector {
Ok(fulfill_res) Ok(fulfill_res)
} }
#[cfg(feature = "payouts")]
async fn create_and_cancel_payout( async fn create_and_cancel_payout(
&self, &self,
connector_customer: Option<String>, connector_customer: Option<String>,
@ -737,6 +752,7 @@ pub trait ConnectorActions: Connector {
Ok(cancel_res) Ok(cancel_res)
} }
#[cfg(feature = "payouts")]
async fn create_payout_recipient( async fn create_payout_recipient(
&self, &self,
payout_type: enums::PayoutType, payout_type: enums::PayoutType,

View File

@ -12,7 +12,7 @@ impl utils::Connector for VoltTest {
use router::connector::Volt; use router::connector::Volt;
types::api::ConnectorData { types::api::ConnectorData {
connector: Box::new(&Volt), connector: Box::new(&Volt),
connector_name: types::Connector::DummyConnector1, connector_name: types::Connector::Volt,
get_token: types::api::GetToken::Connector, get_token: types::api::GetToken::Connector,
merchant_connector_id: None, merchant_connector_id: None,
} }

View File

@ -1,10 +1,16 @@
#[cfg(feature = "payouts")]
use api_models::payments::{Address, AddressDetails}; use api_models::payments::{Address, AddressDetails};
#[cfg(feature = "payouts")]
use masking::Secret; use masking::Secret;
use router::types::{self, api, storage::enums, PaymentAddress}; use router::types;
#[cfg(feature = "payouts")]
use router::types::{api, storage::enums, PaymentAddress};
#[cfg(feature = "payouts")]
use crate::utils::PaymentInfo;
use crate::{ use crate::{
connector_auth, connector_auth,
utils::{self, ConnectorActions, PaymentInfo}, utils::{self, ConnectorActions},
}; };
struct WiseTest; struct WiseTest;
@ -20,6 +26,7 @@ impl utils::Connector for WiseTest {
} }
} }
#[cfg(feature = "payouts")]
fn get_payout_data(&self) -> Option<types::api::PayoutConnectorData> { fn get_payout_data(&self) -> Option<types::api::PayoutConnectorData> {
use router::connector::Wise; use router::connector::Wise;
Some(types::api::PayoutConnectorData { Some(types::api::PayoutConnectorData {
@ -44,6 +51,7 @@ impl utils::Connector for WiseTest {
} }
impl WiseTest { impl WiseTest {
#[cfg(feature = "payouts")]
fn get_payout_info() -> Option<PaymentInfo> { fn get_payout_info() -> Option<PaymentInfo> {
Some(PaymentInfo { Some(PaymentInfo {
country: Some(api_models::enums::CountryAlpha2::NL), country: Some(api_models::enums::CountryAlpha2::NL),
@ -75,6 +83,7 @@ impl WiseTest {
} }
} }
#[cfg(feature = "payouts")]
static CONNECTOR: WiseTest = WiseTest {}; static CONNECTOR: WiseTest = WiseTest {};
/******************** Payouts test cases ********************/ /******************** Payouts test cases ********************/

View File

@ -32,9 +32,6 @@ redis_interface = { version = "0.1.0", path = "../redis_interface" }
router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] } router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] }
storage_impl = { version = "0.1.0", path = "../storage_impl", default-features = false } storage_impl = { version = "0.1.0", path = "../storage_impl", default-features = false }
[target.'cfg(not(target_os = "windows"))'.dependencies]
signal-hook-tokio = { version = "0.3.1", features = ["futures-v0_3"] }
# [[bin]] # [[bin]]
# name = "scheduler" # name = "scheduler"
# path = "src/bin/scheduler.rs" # path = "src/bin/scheduler.rs"

View File

@ -9,22 +9,20 @@ license.workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features] [features]
kms = ["external_services/kms"]
default = ["olap", "oltp"] default = ["olap", "oltp"]
oltp = ["data_models/oltp"] oltp = []
olap = ["data_models/olap"] olap = ["data_models/olap"]
[dependencies] [dependencies]
# First Party dependencies # First Party dependencies
common_utils = { version = "0.1.0", path = "../common_utils" }
api_models = { version = "0.1.0", path = "../api_models" } api_models = { version = "0.1.0", path = "../api_models" }
diesel_models = { version = "0.1.0", path = "../diesel_models" } common_utils = { version = "0.1.0", path = "../common_utils" }
data_models = { version = "0.1.0", path = "../data_models", default-features = false } data_models = { version = "0.1.0", path = "../data_models", default-features = false }
diesel_models = { version = "0.1.0", path = "../diesel_models" }
masking = { version = "0.1.0", path = "../masking" } masking = { version = "0.1.0", path = "../masking" }
redis_interface = { version = "0.1.0", path = "../redis_interface" } redis_interface = { version = "0.1.0", path = "../redis_interface" }
router_env = { version = "0.1.0", path = "../router_env" }
external_services = { version = "0.1.0", path = "../external_services" }
router_derive = { version = "0.1.0", path = "../router_derive" } router_derive = { version = "0.1.0", path = "../router_derive" }
router_env = { version = "0.1.0", path = "../router_env" }
# Third party crates # Third party crates
actix-web = "4.3.1" actix-web = "4.3.1"
@ -34,16 +32,16 @@ bb8 = "0.8.1"
bytes = "1.4.0" bytes = "1.4.0"
config = { version = "0.13.3", features = ["toml"] } config = { version = "0.13.3", features = ["toml"] }
crc32fast = "1.3.2" crc32fast = "1.3.2"
futures = "0.3.28"
diesel = { version = "2.1.0", default-features = false, features = ["postgres"] } diesel = { version = "2.1.0", default-features = false, features = ["postgres"] }
dyn-clone = "1.0.12" dyn-clone = "1.0.12"
error-stack = "0.3.1" error-stack = "0.3.1"
futures = "0.3.28"
http = "0.2.9" http = "0.2.9"
mime = "0.3.17" mime = "0.3.17"
moka = { version = "0.11.3", features = ["future"] } moka = { version = "0.11.3", features = ["future"] }
once_cell = "1.18.0" once_cell = "1.18.0"
ring = "0.16.20" ring = "0.16.20"
thiserror = "1.0.40"
tokio = { version = "1.28.2", features = ["rt-multi-thread"] }
serde = { version = "1.0.185", features = ["derive"] } serde = { version = "1.0.185", features = ["derive"] }
serde_json = "1.0.105" serde_json = "1.0.105"
thiserror = "1.0.40"
tokio = { version = "1.28.2", features = ["rt-multi-thread"] }

View File

@ -9,30 +9,23 @@ license.workspace = true
[features] [features]
default = ["dummy_connector", "payouts"] default = ["dummy_connector", "payouts"]
dummy_connector = ["api_models/dummy_connector"] dummy_connector = []
payouts = [] payouts = []
[dependencies] [dependencies]
async-trait = "0.1.68" async-trait = "0.1.68"
actix-web = "4.3.1"
base64 = "0.21.2" base64 = "0.21.2"
clap = { version = "4.3.2", default-features = false, features = ["std", "derive", "help", "usage"] } clap = { version = "4.3.2", default-features = false, features = ["std", "derive", "help", "usage"] }
serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96"
serde_path_to_error = "0.1.11"
toml = "0.7.4"
serial_test = "2.0.0"
serde_urlencoded = "0.7.1"
actix-http = "3.3.1"
awc = { version = "3.1.1", features = ["rustls"] }
derive_deref = "1.1.1"
rand = "0.8.5" rand = "0.8.5"
reqwest = { version = "0.11.18", features = ["native-tls"] } reqwest = { version = "0.11.18", features = ["native-tls"] }
serde = { version = "1.0.163", features = ["derive"] }
serde_json = "1.0.96"
serde_urlencoded = "0.7.1"
serial_test = "2.0.0"
thirtyfour = "0.31.0" thirtyfour = "0.31.0"
time = { version = "0.3.21", features = ["macros"] } time = { version = "0.3.21", features = ["macros"] }
tokio = "1.28.2" tokio = "1.28.2"
uuid = { version = "1.3.3", features = ["serde", "v4"] } toml = "0.7.4"
# First party crates # First party crates
api_models = { version = "0.1.0", path = "../api_models", features = ["errors"] }
masking = { version = "0.1.0", path = "../masking" } masking = { version = "0.1.0", path = "../masking" }