swadhinbiswas

[email protected]
2026-07-25 12:45:50 +0600 committed NaN years ago
b628096
commit b628096
4 files changed
+82 -1
▼Cargo.lock
+71-1
1359
1359
"serde",
1360
1360
]
1361
1361
1362
+[[package]]
1363
+name = "email-encoding"
1364
+version = "0.4.1"
1365
+source = "registry+https://github.com/rust-lang/crates.io-index"
1366
+checksum = "9298e6504d9b9e780ed3f7dfd43a61be8cd0e09eb07f7706a945b0072b6670b6"
1367
+dependencies = [
1368
+ "base64 0.22.1",
1369
+ "memchr",
1370
+]
1371
+
1362
1372
[[package]]
1363
1373
name = "email_address"
1364
1374
version = "0.2.9"
2719
2729
"jsonschema",
2720
2730
"jsonwebtoken",
2721
2731
"justapi-inference",
2732
+ "lettre",
2722
2733
"matchit 0.9.2",
2734
+ "minijinja",
2723
2735
"multer",
2724
2736
"notify",
2725
2737
"opentelemetry",
2841
2853
source = "registry+https://github.com/rust-lang/crates.io-index"
2842
2854
checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
2843
2855
2856
+[[package]]
2857
+name = "lettre"
2858
+version = "0.11.22"
2859
+source = "registry+https://github.com/rust-lang/crates.io-index"
2860
+checksum = "0da65617f6cb926332d039cb578aad56178da86e128db6a1b09f4c94fa5b3349"
2861
+dependencies = [
2862
+ "async-trait",
2863
+ "base64 0.22.1",
2864
+ "email-encoding",
2865
+ "email_address",
2866
+ "fastrand",
2867
+ "futures-io",
2868
+ "futures-util",
2869
+ "httpdate",
2870
+ "idna",
2871
+ "mime",
2872
+ "nom 8.0.0",
2873
+ "percent-encoding",
2874
+ "quoted_printable",
2875
+ "rustls",
2876
+ "socket2 0.6.4",
2877
+ "tokio",
2878
+ "tokio-rustls",
2879
+ "url",
2880
+ "webpki-roots 1.0.8",
2881
+]
2882
+
2844
2883
[[package]]
2845
2884
name = "libc"
2846
2885
version = "0.2.186"
3007
3046
"stable_deref_trait",
3008
3047
]
3009
3048
3049
+[[package]]
3050
+name = "memo-map"
3051
+version = "0.3.3"
3052
+source = "registry+https://github.com/rust-lang/crates.io-index"
3053
+checksum = "38d1115007560874e373613744c6fba374c17688327a71c1476d1a5954cc857b"
3054
+
3010
3055
[[package]]
3011
3056
name = "micromap"
3012
3057
version = "0.3.0"
3019
3064
source = "registry+https://github.com/rust-lang/crates.io-index"
3020
3065
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
3021
3066
3067
+[[package]]
3068
+name = "minijinja"
3069
+version = "2.21.0"
3070
+source = "registry+https://github.com/rust-lang/crates.io-index"
3071
+checksum = "cb3d648e68cea56d9858d535ee28f9538404e2dd8cb08ed0bd05dca379477f39"
3072
+dependencies = [
3073
+ "memo-map",
3074
+ "serde",
3075
+]
3076
+
3022
3077
[[package]]
3023
3078
name = "minimal-lexical"
3024
3079
version = "0.2.1"
3102
3157
"minimal-lexical",
3103
3158
]
3104
3159
3160
+[[package]]
3161
+name = "nom"
3162
+version = "8.0.0"
3163
+source = "registry+https://github.com/rust-lang/crates.io-index"
3164
+checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405"
3165
+dependencies = [
3166
+ "memchr",
3167
+]
3168
+
3105
3169
[[package]]
3106
3170
name = "nonzero_ext"
3107
3171
version = "0.3.0"
3918
3982
"proc-macro2",
3919
3983
]
3920
3984
3985
+[[package]]
3986
+name = "quoted_printable"
3987
+version = "0.5.2"
3988
+source = "registry+https://github.com/rust-lang/crates.io-index"
3989
+checksum = "478e0585659a122aa407eb7e3c0e1fa51b1d8a870038bd29f0cf4a8551eea972"
3990
+
3921
3991
[[package]]
3922
3992
name = "r-efi"
3923
3993
version = "5.3.0"
4634
4704
checksum = "5851699c4033c63636f7ea4cf7b7c1f1bf06d0cc03cfb42e711de5a5c46cf326"
4635
4705
dependencies = [
4636
4706
"base64 0.13.1",
4637
- "nom",
4707
+ "nom 7.1.3",
4638
4708
"serde",
4639
4709
"unicode-segmentation",
4640
4710
]
4641
4711
▼Cargo.toml
+4-0
95
95
96
96
# Database
97
97
sqlx = { version = "0.8", features = ["runtime-tokio", "postgres", "sqlite", "mysql", "migrate", "any", "tls-rustls"] }
98
+
99
+# Mail (optional)
100
+lettre = { version = "0.11", default-features = false, features = ["builder", "smtp-transport", "tokio1-rustls-tls", "rustls-tls"] }
101
+minijinja = "2.7"
98
102
▼crates/justapi-core/Cargo.toml
+3-0
14
14
opentelemetry = ["dep:opentelemetry", "dep:opentelemetry_sdk", "dep:opentelemetry-stdout", "dep:opentelemetry-otlp", "dep:tracing-opentelemetry"]
15
15
db = ["sqlx", "chrono"]
16
16
inference = ["justapi-inference"]
17
+mail = ["dep:lettre", "dep:minijinja"]
17
18
18
19
[dependencies]
19
20
tokio.workspace = true
69
70
async-graphql = "7.2.1"
70
71
justapi-inference = { path = "../justapi-inference", optional = true }
71
72
tempfile = "3.27.0"
73
+lettre = { workspace = true, optional = true }
74
+minijinja = { workspace = true, optional = true }
72
75
73
76
[dev-dependencies]
74
77
proptest = "1"
75
78
▼crates/justapi-py/Cargo.toml
+4-0
7
7
[lib]
8
8
crate-type = ["cdylib", "lib"]
9
9
10
+[features]
11
+default = ["mail"]
12
+mail = ["justapi-core/mail"]
13
+
10
14
[dependencies]
11
15
pyo3.workspace = true
12
16
justapi-core = { workspace = true, features = ["db", "ws"] }
13
17