mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-11-03 05:17:02 +08:00
build(deps): update dependencies (#1342)
This commit is contained in:
1282
Cargo.lock
generated
1282
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,9 @@
|
||||
[workspace]
|
||||
resolver = "2"
|
||||
members = ["crates/*", "examples/*"]
|
||||
members = ["crates/*"]
|
||||
package.edition = "2021"
|
||||
package.rust-version = "1.65"
|
||||
package.license = "Apache-2.0"
|
||||
|
||||
[profile.release]
|
||||
strip = true
|
||||
|
||||
@ -1,37 +1,35 @@
|
||||
[package]
|
||||
name = "api_models"
|
||||
description = "Request/response models for the `router` crate"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license.workspace = true
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
[features]
|
||||
default = []
|
||||
errors = [
|
||||
"dep:actix-web",
|
||||
"dep:reqwest",
|
||||
]
|
||||
errors = ["dep:actix-web", "dep:reqwest"]
|
||||
multiple_mca = []
|
||||
dummy_connector = []
|
||||
detailed_errors = []
|
||||
|
||||
[dependencies]
|
||||
actix-web = { version = "4.3.1", optional = true }
|
||||
error-stack = "0.3.1"
|
||||
frunk = "0.4.1"
|
||||
frunk_core = "0.4.1"
|
||||
mime = "0.3.17"
|
||||
reqwest = { version = "0.11.16", optional = true }
|
||||
serde = { version = "1.0.160", features = ["derive"] }
|
||||
reqwest = { version = "0.11.18", optional = true }
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
serde_json = "1.0.96"
|
||||
strum = { version = "0.24.1", features = ["derive"] }
|
||||
time = { version = "0.3.20", features = ["serde", "serde-well-known", "std"] }
|
||||
url = { version = "2.3.1", features = ["serde"] }
|
||||
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
|
||||
url = { version = "2.4.0", features = ["serde"] }
|
||||
utoipa = { version = "3.3.0", features = ["preserve_order"] }
|
||||
|
||||
|
||||
# First party crates
|
||||
cards = { version = "0.1.0", path = "../cards" }
|
||||
common_enums = { path = "../common_enums" }
|
||||
common_utils = { version = "0.1.0", path = "../common_utils" }
|
||||
masking = { version = "0.1.0", path = "../masking" }
|
||||
router_derive = { version = "0.1.0", path = "../router_derive" }
|
||||
common_enums = {path = "../common_enums"}
|
||||
cards = { version = "0.1.0", path = "../cards" }
|
||||
|
||||
3
crates/api_models/README.md
Normal file
3
crates/api_models/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# API Models
|
||||
|
||||
Request/response models for the `router` crate.
|
||||
@ -1,23 +1,25 @@
|
||||
[package]
|
||||
name = "cards"
|
||||
description = "Types to handle card masking and validation"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license.workspace = true
|
||||
|
||||
[features]
|
||||
default = ["serde"]
|
||||
|
||||
[dependencies]
|
||||
time = { version = "0.3.20" }
|
||||
error-stack = "0.3.1"
|
||||
serde = { version = "1", features = ["derive"], optional = true }
|
||||
thiserror = "1.0.40"
|
||||
luhn = "1.0.1"
|
||||
serde = { version = "1.0.163", features = ["derive"], optional = true }
|
||||
thiserror = "1.0.40"
|
||||
time = "0.3.21"
|
||||
|
||||
# First Party crates
|
||||
masking = { version = "0.1.0", path = "../masking" }
|
||||
# First party crates
|
||||
common_utils = { version = "0.1.0", path = "../common_utils" }
|
||||
masking = { version = "0.1.0", path = "../masking" }
|
||||
|
||||
[dev-dependencies]
|
||||
serde_json = "1.0.94"
|
||||
serde_json = "1.0.96"
|
||||
|
||||
3
crates/cards/README.md
Normal file
3
crates/cards/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Cards
|
||||
|
||||
Types to handle card masking and validation.
|
||||
@ -1,13 +1,15 @@
|
||||
[package]
|
||||
name = "common_enums"
|
||||
description = "Enums shared across the request/response types and database types"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license.workspace = true
|
||||
|
||||
[dependencies]
|
||||
diesel = { version = "2.1.0", features = ["postgres"] }
|
||||
serde = { version = "1.0.160", features = [ "derive" ] }
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
strum = { version = "0.24.1", features = ["derive"] }
|
||||
utoipa = { version = "3.3.0", features = ["preserve_order"] }
|
||||
|
||||
|
||||
3
crates/common_enums/README.md
Normal file
3
crates/common_enums/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Common Enums
|
||||
|
||||
Enums shared across the request/response types and database types.
|
||||
@ -1,11 +1,11 @@
|
||||
[package]
|
||||
name = "common_utils"
|
||||
description = "Utilities shared across router and other crates"
|
||||
description = "Utilities shared across `router` and other crates"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.65"
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license = "Apache-2.0"
|
||||
license.workspace = true
|
||||
|
||||
[features]
|
||||
signals = ["dep:signal-hook-tokio", "dep:signal-hook", "dep:tokio", "dep:router_env", "dep:futures"]
|
||||
@ -19,23 +19,20 @@ diesel = "2.1.0"
|
||||
error-stack = "0.3.1"
|
||||
futures = { version = "0.3.28", optional = true }
|
||||
hex = "0.4.3"
|
||||
md5 = "0.7.0"
|
||||
nanoid = "0.4.0"
|
||||
once_cell = "1.17.1"
|
||||
once_cell = "1.18.0"
|
||||
quick-xml = { version = "0.28.2", features = ["serialize"] }
|
||||
rand = "0.8.5"
|
||||
regex = "1.7.3"
|
||||
regex = "1.8.4"
|
||||
ring = { version = "0.16.20", features = ["std"] }
|
||||
serde = { version = "1.0.160", features = ["derive"] }
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
serde_json = "1.0.96"
|
||||
serde_urlencoded = "0.7.1"
|
||||
signal-hook = { version = "0.3.15", optional = true }
|
||||
tokio = { version = "1.27.0", features = [
|
||||
"macros",
|
||||
"rt-multi-thread",
|
||||
], optional = true }
|
||||
thiserror = "1.0.40"
|
||||
time = { version = "0.3.20", features = ["serde", "serde-well-known", "std"] }
|
||||
md5 = "0.7.0"
|
||||
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
|
||||
tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"], optional = true }
|
||||
|
||||
# First party crates
|
||||
masking = { version = "0.1.0", path = "../masking" }
|
||||
@ -45,5 +42,5 @@ router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra
|
||||
signal-hook-tokio = { version = "0.3.1", features = ["futures-v0_3"], optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
fake = "2.5.0"
|
||||
proptest = "1.1.0"
|
||||
fake = "2.6.1"
|
||||
proptest = "1.2.0"
|
||||
|
||||
@ -1,11 +1,3 @@
|
||||
# Common Utils
|
||||
|
||||
Common functionality required by internal crates
|
||||
|
||||
## Files Tree Layout
|
||||
|
||||
```text
|
||||
└── src : source code
|
||||
└── errors : common error specific types
|
||||
└── ext_traits : traits for extending type functionalities
|
||||
```
|
||||
Utilities shared across `router` and other crates.
|
||||
|
||||
@ -1,29 +1,29 @@
|
||||
[package]
|
||||
name = "drainer"
|
||||
description = "App that reads redis streams and executes queries in DB"
|
||||
description = "Application that reads Redis streams and executes queries in database"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.65"
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license = "Apache-2.0"
|
||||
license.workspace = true
|
||||
|
||||
[features]
|
||||
kms = ["external_services/kms"]
|
||||
vergen = ["router_env/vergen"]
|
||||
|
||||
[dependencies]
|
||||
async-bb8-diesel = { git = "https://github.com/juspay/async-bb8-diesel", rev = "9a71d142726dbc33f41c1fd935ddaa79841c7be5" }
|
||||
async-bb8-diesel = { git = "https://github.com/oxidecomputer/async-bb8-diesel", rev = "be3d9bce50051d8c0e0c06078e8066cc27db3001" }
|
||||
bb8 = "0.8"
|
||||
clap = { version = "4.2.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"] }
|
||||
diesel = { version = "2.1.0", features = ["postgres"] }
|
||||
error-stack = "0.3.1"
|
||||
once_cell = "1.17.1"
|
||||
serde = "1.0.160"
|
||||
once_cell = "1.18.0"
|
||||
serde = "1.0.163"
|
||||
serde_json = "1.0.96"
|
||||
serde_path_to_error = "0.1.11"
|
||||
thiserror = "1.0.40"
|
||||
tokio = { version = "1.27.0", features = ["macros", "rt-multi-thread"] }
|
||||
tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"] }
|
||||
|
||||
# First Party Crates
|
||||
common_utils = { version = "0.1.0", path = "../common_utils", features = ["signals"] }
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
# Drainer
|
||||
|
||||
App that reads redis streams and executes queries in DB
|
||||
Application that reads Redis streams and executes queries in database.
|
||||
|
||||
@ -2,30 +2,30 @@
|
||||
name = "external_services"
|
||||
description = "Interactions of the router with external systems"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.65"
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license = "Apache-2.0"
|
||||
license.workspace = true
|
||||
|
||||
[features]
|
||||
kms = ["dep:aws-config", "dep:aws-sdk-kms"]
|
||||
email = ["dep:aws-config"]
|
||||
|
||||
[dependencies]
|
||||
aws-config = { version = "0.55.1", optional = true }
|
||||
aws-sdk-kms = { version = "0.26.0", optional = true }
|
||||
base64 = "0.21.0"
|
||||
error-stack = "0.3.1"
|
||||
once_cell = "1.17.1"
|
||||
serde = { version = "1.0.160", features = ["derive"] }
|
||||
thiserror = "1.0.40"
|
||||
tokio = "1.27.0"
|
||||
async-trait = "0.1.68"
|
||||
aws-config = { version = "0.55.3", optional = true }
|
||||
aws-sdk-kms = { version = "0.28.0", optional = true }
|
||||
aws-sdk-sesv2 = "0.28.0"
|
||||
aws-smithy-client = "0.55.3"
|
||||
base64 = "0.21.2"
|
||||
dyn-clone = "1.0.11"
|
||||
async-trait = "0.1.66"
|
||||
aws-sdk-sesv2 = "0.27.0"
|
||||
aws-smithy-client = "0.55.0"
|
||||
error-stack = "0.3.1"
|
||||
once_cell = "1.18.0"
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
thiserror = "1.0.40"
|
||||
tokio = "1.28.2"
|
||||
|
||||
# First party crates
|
||||
common_utils = { version = "0.1.0", path = "../common_utils" }
|
||||
router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] }
|
||||
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"] }
|
||||
|
||||
@ -2,10 +2,10 @@
|
||||
name = "masking"
|
||||
description = "Personal Identifiable Information protection. Wrapper types and traits for secret management which help ensure they aren't accidentally copied, logged, or otherwise exposed (as much as possible), and also ensure secrets are securely wiped from memory when dropped."
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.65"
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license = "Apache-2.0"
|
||||
license.workspace = true
|
||||
|
||||
[features]
|
||||
default = ["alloc", "serde", "diesel"]
|
||||
|
||||
@ -1,10 +1,13 @@
|
||||
# masking
|
||||
# Masking
|
||||
|
||||
Personal Identifiable Information protection.
|
||||
Wrapper types and traits for secret management which help ensure they aren't accidentally copied, logged, or otherwise exposed (as much as possible), and also ensure secrets are securely wiped from memory when dropped.
|
||||
Wrapper types and traits for secret management which help ensure they aren't
|
||||
accidentally copied, logged, or otherwise exposed (as much as possible), and
|
||||
also ensure secrets are securely wiped from memory when dropped.
|
||||
Secret-keeping library inspired by `secrecy`.
|
||||
|
||||
This solution has such advantages over alternatives:
|
||||
|
||||
- alternatives have not implemented several traits from the box which are needed
|
||||
- alternatives do not have WeakSecret and Secret differentiation
|
||||
- alternatives do not support masking strategies
|
||||
@ -35,18 +38,3 @@ Most fields are under `Option`. To simplify dealing with `Option`, use `expose_o
|
||||
.unwrap_or_default(),
|
||||
);
|
||||
```
|
||||
|
||||
|
||||
## Files Tree Layout
|
||||
|
||||
|
||||
```bash
|
||||
.
|
||||
├── src # : source code
|
||||
└── tests # : unit and integration tests
|
||||
|
||||
```
|
||||
|
||||
<!--
|
||||
command to generate the tree `tree -L 3 -d`
|
||||
-->
|
||||
|
||||
@ -2,23 +2,22 @@
|
||||
name = "redis_interface"
|
||||
description = "A user-friendly interface to Redis"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.65"
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license = "Apache-2.0"
|
||||
license.workspace = true
|
||||
|
||||
[dependencies]
|
||||
async-trait = "0.1.68"
|
||||
error-stack = "0.3.1"
|
||||
fred = { version = "6.3.0", features = ["metrics", "partial-tracing","subscriber-client"] }
|
||||
futures = "0.3"
|
||||
serde = { version = "1.0.160", features = ["derive"] }
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
thiserror = "1.0.40"
|
||||
tokio = "1.26.0"
|
||||
tokio = "1.28.2"
|
||||
|
||||
# First party crates
|
||||
common_utils = { version = "0.1.0", path = "../common_utils", features = ["async_ext"] }
|
||||
router_env = { version = "0.1.0", path = "../router_env", features = ["log_extra_implicit_fields", "log_custom_entries_to_extra"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tokio = { version = "1.27.0", features = ["macros", "rt-multi-thread"] }
|
||||
tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"] }
|
||||
|
||||
3
crates/redis_interface/README.md
Normal file
3
crates/redis_interface/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Redis Interface
|
||||
|
||||
A user-friendly interface to Redis.
|
||||
@ -2,12 +2,11 @@
|
||||
name = "router"
|
||||
description = "Modern, fast and open payment router"
|
||||
version = "0.2.0"
|
||||
edition = "2021"
|
||||
edition.workspace = true
|
||||
default-run = "router"
|
||||
rust-version = "1.65"
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license = "Apache-2.0"
|
||||
build = "src/build.rs"
|
||||
license.workspace = true
|
||||
|
||||
[features]
|
||||
default = ["kv_store", "stripe", "oltp", "olap", "accounts_cache", "dummy_connector"]
|
||||
@ -21,7 +20,7 @@ olap = []
|
||||
oltp = []
|
||||
kv_store = []
|
||||
accounts_cache = []
|
||||
openapi = ["olap", "oltp", "dep:oas3"]
|
||||
openapi = ["olap", "oltp"]
|
||||
vergen = ["router_env/vergen"]
|
||||
multiple_mca = ["api_models/multiple_mca"]
|
||||
dummy_connector = ["api_models/dummy_connector"]
|
||||
@ -32,15 +31,18 @@ detailed_errors = ["api_models/detailed_errors", "error-stack/serde"]
|
||||
[dependencies]
|
||||
actix = "0.13.0"
|
||||
actix-cors = "0.6.4"
|
||||
actix-multipart = "0.6.0"
|
||||
actix-rt = "2.8.0"
|
||||
actix-web = "4.3.1"
|
||||
async-bb8-diesel = { git = "https://github.com/juspay/async-bb8-diesel", rev = "9a71d142726dbc33f41c1fd935ddaa79841c7be5" }
|
||||
async-bb8-diesel = { git = "https://github.com/oxidecomputer/async-bb8-diesel", rev = "be3d9bce50051d8c0e0c06078e8066cc27db3001" }
|
||||
async-trait = "0.1.68"
|
||||
base64 = "0.21.0"
|
||||
aws-config = { version = "0.55.3", optional = true }
|
||||
aws-sdk-s3 = { version = "0.28.0", optional = true }
|
||||
base64 = "0.21.2"
|
||||
bb8 = "0.8"
|
||||
blake3 = "1.3.3"
|
||||
bytes = "1.4.0"
|
||||
clap = { version = "4.2.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"] }
|
||||
crc32fast = "1.3.2"
|
||||
diesel = { version = "2.1.0", features = ["postgres"] }
|
||||
@ -52,51 +54,47 @@ frunk_core = "0.4.1"
|
||||
futures = "0.3.28"
|
||||
hex = "0.4.3"
|
||||
http = "0.2.9"
|
||||
josekit = "0.8.2"
|
||||
infer = "0.13.0"
|
||||
josekit = "0.8.3"
|
||||
jsonwebtoken = "8.3.0"
|
||||
literally = "0.1.3"
|
||||
maud = { version = "0.25", features = ["actix-web"] }
|
||||
mimalloc = { version = "0.1", optional = true }
|
||||
mime = "0.3.17"
|
||||
moka = { version = "0.10", features = ["future"] }
|
||||
moka = { version = "0.11", features = ["future"] }
|
||||
nanoid = "0.4.0"
|
||||
num_cpus = "1.15.0"
|
||||
oas3 = { version = "0.2.1", optional = true }
|
||||
once_cell = "1.17.1"
|
||||
once_cell = "1.18.0"
|
||||
rand = "0.8.5"
|
||||
regex = "1.7.3"
|
||||
reqwest = { version = "0.11.16", features = ["json", "native-tls", "gzip", "multipart"] }
|
||||
regex = "1.8.4"
|
||||
reqwest = { version = "0.11.18", features = ["json", "native-tls", "gzip", "multipart"] }
|
||||
ring = "0.16.20"
|
||||
serde = { version = "1.0.160", features = ["derive"] }
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
serde_json = "1.0.96"
|
||||
serde_path_to_error = "0.1.11"
|
||||
serde_qs = { version = "0.12.0", optional = true }
|
||||
serde_urlencoded = "0.7.1"
|
||||
serde_with = "2.3.2"
|
||||
serde_with = "3.0.0"
|
||||
signal-hook = "0.3.15"
|
||||
strum = { version = "0.24.1", features = ["derive"] }
|
||||
thiserror = "1.0.40"
|
||||
time = { version = "0.3.20", features = ["serde", "serde-well-known", "std"] }
|
||||
tokio = { version = "1.27.0", features = ["macros", "rt-multi-thread"] }
|
||||
url = { version = "2.3.1", features = ["serde"] }
|
||||
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
|
||||
tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"] }
|
||||
url = { version = "2.4.0", features = ["serde"] }
|
||||
utoipa = { version = "3.3.0", features = ["preserve_order", "time"] }
|
||||
utoipa-swagger-ui = { version = "3.1.3", features = ["actix-web"] }
|
||||
uuid = { version = "1.3.1", features = ["serde", "v4"] }
|
||||
uuid = { version = "1.3.3", features = ["serde", "v4"] }
|
||||
|
||||
# First party crates
|
||||
api_models = { version = "0.1.0", path = "../api_models", features = ["errors"] }
|
||||
common_utils = { version = "0.1.0", path = "../common_utils", features = ["signals", "async_ext"] }
|
||||
cards = { version = "0.1.0", path = "../cards" }
|
||||
common_utils = { version = "0.1.0", path = "../common_utils", features = ["signals", "async_ext"] }
|
||||
external_services = { version = "0.1.0", path = "../external_services" }
|
||||
masking = { version = "0.1.0", path = "../masking" }
|
||||
redis_interface = { version = "0.1.0", path = "../redis_interface" }
|
||||
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"] }
|
||||
storage_models = { version = "0.1.0", path = "../storage_models", features = ["kv_store"] }
|
||||
actix-multipart = "0.6.0"
|
||||
aws-sdk-s3 = { version = "0.25.0", optional = true }
|
||||
aws-config = {version = "0.55.1", optional = true }
|
||||
infer = "0.13.0"
|
||||
|
||||
[target.'cfg(not(target_os = "windows"))'.dependencies]
|
||||
signal-hook-tokio = { version = "0.3.1", features = ["futures-v0_3"] }
|
||||
@ -110,11 +108,11 @@ awc = { version = "3.1.1", features = ["rustls"] }
|
||||
derive_deref = "1.1.1"
|
||||
rand = "0.8.5"
|
||||
serial_test = "2.0.0"
|
||||
time = { version = "0.3.20", features = ["macros"] }
|
||||
tokio = "1.27.0"
|
||||
toml = "0.7.3"
|
||||
wiremock = "0.5"
|
||||
thirtyfour = "0.31.0"
|
||||
time = { version = "0.3.21", features = ["macros"] }
|
||||
tokio = "1.28.2"
|
||||
toml = "0.7.4"
|
||||
wiremock = "0.5"
|
||||
|
||||
[[bin]]
|
||||
name = "router"
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
[package]
|
||||
name = "router_derive"
|
||||
description = "Utility macros for the router crate"
|
||||
description = "Utility macros for the `router` crate"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.65"
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license = "Apache-2.0"
|
||||
license.workspace = true
|
||||
|
||||
[lib]
|
||||
proc-macro = true
|
||||
@ -19,6 +19,6 @@ syn = { version = "1.0.109", features = ["full", "extra-traits"] } # the full fe
|
||||
|
||||
[dev-dependencies]
|
||||
diesel = { version = "2.1.0", features = ["postgres"] }
|
||||
serde = { version = "1.0.160", features = ["derive"] }
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
serde_json = "1.0.96"
|
||||
strum = { version = "0.24.1", features = ["derive"] }
|
||||
|
||||
@ -1,8 +1,3 @@
|
||||
# `router_derive`
|
||||
|
||||
Utility macros for the `router` crate.
|
||||
|
||||
This crate provides the following macros:
|
||||
|
||||
- `#[derive(DebugAsDisplay)]`: To use the `Debug` implementation of a type as its `Display` implementation.
|
||||
- `#[derive(DieselEnum)]` and `#[diesel_enum]`: To derive the boilerplate code required to use enums with the `diesel` crate and a PostgreSQL database.
|
||||
|
||||
@ -2,38 +2,38 @@
|
||||
name = "router_env"
|
||||
description = "Environment of payment router: logger, basic config, its environment awareness."
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.65"
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license = "Apache-2.0"
|
||||
license.workspace = true
|
||||
|
||||
[dependencies]
|
||||
config = { version = "0.13.3", features = ["toml"] }
|
||||
gethostname = "0.4.2"
|
||||
once_cell = "1.17.1"
|
||||
gethostname = "0.4.3"
|
||||
once_cell = "1.18.0"
|
||||
opentelemetry = { version = "0.19.0", features = ["rt-tokio-current-thread", "metrics"] }
|
||||
opentelemetry-otlp = { version = "0.12.0", features = ["metrics"] }
|
||||
rustc-hash = "1.1"
|
||||
serde = { version = "1.0.160", features = ["derive"] }
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
serde_json = "1.0.96"
|
||||
serde_path_to_error = "0.1.11"
|
||||
strum = { version = "0.24.1", features = ["derive"] }
|
||||
time = { version = "0.3.20", default-features = false, features = ["formatting"] }
|
||||
tokio = { version = "1.27.0" }
|
||||
time = { version = "0.3.21", default-features = false, features = ["formatting"] }
|
||||
tokio = { version = "1.28.2" }
|
||||
tracing = { version = "=0.1.36" }
|
||||
tracing-actix-web = { version = "0.7.4", features = ["opentelemetry_0_19"], optional = true }
|
||||
tracing-actix-web = { version = "0.7.5", features = ["opentelemetry_0_19"], optional = true }
|
||||
tracing-appender = { version = "0.2.2" }
|
||||
tracing-attributes = "=0.1.22"
|
||||
tracing-opentelemetry = { version = "0.19.0" }
|
||||
tracing-subscriber = { version = "0.3.16", default-features = true, features = ["env-filter", "json", "registry"] }
|
||||
vergen = { version = "8.1.1", optional = true, features = ["cargo", "git", "git2", "rustc"] }
|
||||
tracing-subscriber = { version = "0.3.17", default-features = true, features = ["env-filter", "json", "registry"] }
|
||||
vergen = { version = "8.2.1", optional = true, features = ["cargo", "git", "git2", "rustc"] }
|
||||
|
||||
[dev-dependencies]
|
||||
tokio = { version = "1.27.0", features = ["macros", "rt-multi-thread"] }
|
||||
tokio = { version = "1.28.2", features = ["macros", "rt-multi-thread"] }
|
||||
|
||||
[build-dependencies]
|
||||
cargo_metadata = "0.15.4"
|
||||
vergen = { version = "8.1.1", features = ["cargo", "git", "git2", "rustc"], optional = true }
|
||||
vergen = { version = "8.2.1", features = ["cargo", "git", "git2", "rustc"], optional = true }
|
||||
|
||||
[features]
|
||||
default = ["actix_web"]
|
||||
|
||||
@ -19,16 +19,3 @@ pub fn sample() -> () {
|
||||
);
|
||||
}
|
||||
```
|
||||
|
||||
## Files Tree Layout
|
||||
|
||||
```text
|
||||
├── src : source code
|
||||
│ └── logger : logger
|
||||
└── tests : unit and integration tests
|
||||
└── test_module : unit and integration tests
|
||||
```
|
||||
|
||||
<!--
|
||||
command to generate the tree `tree -L 3 -d`
|
||||
-->
|
||||
|
||||
@ -1,31 +1,31 @@
|
||||
[package]
|
||||
name = "storage_models"
|
||||
description = "Database types shared across `router` and other crates"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
edition.workspace = true
|
||||
rust-version.workspace = true
|
||||
readme = "README.md"
|
||||
license.workspace = true
|
||||
|
||||
[features]
|
||||
default = ["kv_store"]
|
||||
kv_store = []
|
||||
|
||||
[dependencies]
|
||||
async-bb8-diesel = { git = "https://github.com/juspay/async-bb8-diesel", rev = "9a71d142726dbc33f41c1fd935ddaa79841c7be5" }
|
||||
async-trait = "0.1.68"
|
||||
async-bb8-diesel = { git = "https://github.com/oxidecomputer/async-bb8-diesel", rev = "be3d9bce50051d8c0e0c06078e8066cc27db3001" }
|
||||
diesel = { version = "2.1.0", features = ["postgres", "serde_json", "time", "64-column-tables"] }
|
||||
error-stack = "0.3.1"
|
||||
frunk = "0.4.1"
|
||||
frunk_core = "0.4.1"
|
||||
hex = "0.4.3"
|
||||
serde = { version = "1.0.160", features = ["derive"] }
|
||||
serde = { version = "1.0.163", features = ["derive"] }
|
||||
serde_json = "1.0.96"
|
||||
strum = { version = "0.24.1", features = ["derive"] }
|
||||
thiserror = "1.0.40"
|
||||
time = { version = "0.3.20", features = ["serde", "serde-well-known", "std"] }
|
||||
time = { version = "0.3.21", features = ["serde", "serde-well-known", "std"] }
|
||||
|
||||
# First party crates
|
||||
common_utils = { version = "0.1.0", path = "../common_utils" }
|
||||
common_enums = { path = "../common_enums" }
|
||||
common_utils = { version = "0.1.0", path = "../common_utils" }
|
||||
masking = { version = "0.1.0", path = "../masking" }
|
||||
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"] }
|
||||
|
||||
3
crates/storage_models/README.md
Normal file
3
crates/storage_models/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Storage Models
|
||||
|
||||
Database models shared across `router` and other crates.
|
||||
@ -1,3 +0,0 @@
|
||||
# Examples
|
||||
|
||||
Here should be list of samples.
|
||||
Reference in New Issue
Block a user