cdk_mintd/env_vars/
grpc_processor.rs1use std::env;
4
5use cdk::nuts::CurrencyUnit;
6
7use crate::config::GrpcProcessor;
8
9pub const ENV_GRPC_PROCESSOR_SUPPORTED_UNITS: &str =
11 "CDK_MINTD_GRPC_PAYMENT_PROCESSOR_SUPPORTED_UNITS";
12pub const ENV_GRPC_PROCESSOR_ADDRESS: &str = "CDK_MINTD_GRPC_PAYMENT_PROCESSOR_ADDRESS";
13pub const ENV_GRPC_PROCESSOR_PORT: &str = "CDK_MINTD_GRPC_PAYMENT_PROCESSOR_PORT";
14pub const ENV_GRPC_PROCESSOR_TLS_DIR: &str = "CDK_MINTD_GRPC_PAYMENT_PROCESSOR_TLS_DIR";
15
16impl GrpcProcessor {
17 pub fn from_env(mut self) -> Self {
18 if let Ok(units_str) = env::var(ENV_GRPC_PROCESSOR_SUPPORTED_UNITS) {
19 if let Ok(units) = units_str
20 .split(',')
21 .map(|s| s.trim().parse())
22 .collect::<Result<Vec<CurrencyUnit>, _>>()
23 {
24 self.supported_units = units;
25 }
26 }
27
28 if let Ok(addr) = env::var(ENV_GRPC_PROCESSOR_ADDRESS) {
29 self.addr = addr;
30 }
31
32 if let Ok(port) = env::var(ENV_GRPC_PROCESSOR_PORT) {
33 if let Ok(port) = port.parse() {
34 self.port = port;
35 }
36 }
37
38 if let Ok(tls_dir) = env::var(ENV_GRPC_PROCESSOR_TLS_DIR) {
39 self.tls_dir = Some(tls_dir.into());
40 }
41
42 self
43 }
44}