cdk_mintd/env_vars/
payment_backend.rs1use std::env;
4
5use crate::config::PaymentBackend;
6
7pub const ENV_PAYMENT_BACKEND: &str = "CDK_MINTD_PAYMENT_BACKEND";
9pub const ENV_PAYMENT_BACKEND_INVOICE_DESCRIPTION: &str =
10 "CDK_MINTD_PAYMENT_BACKEND_INVOICE_DESCRIPTION";
11pub const ENV_PAYMENT_BACKEND_MIN_MINT: &str = "CDK_MINTD_PAYMENT_BACKEND_MIN_MINT";
12pub const ENV_PAYMENT_BACKEND_MAX_MINT: &str = "CDK_MINTD_PAYMENT_BACKEND_MAX_MINT";
13pub const ENV_PAYMENT_BACKEND_MIN_MELT: &str = "CDK_MINTD_PAYMENT_BACKEND_MIN_MELT";
14pub const ENV_PAYMENT_BACKEND_MAX_MELT: &str = "CDK_MINTD_PAYMENT_BACKEND_MAX_MELT";
15
16impl PaymentBackend {
17 pub fn from_env(mut self) -> Self {
18 if let Ok(backend_str) = env::var(ENV_PAYMENT_BACKEND) {
20 if let Ok(backend) = backend_str.parse() {
21 self.backend = backend;
22 } else {
23 tracing::warn!("Unknown payment backend set in env var will attempt to use config file. {backend_str}");
24 }
25 }
26
27 if let Ok(description) = env::var(ENV_PAYMENT_BACKEND_INVOICE_DESCRIPTION) {
29 self.invoice_description = Some(description);
30 }
31
32 if let Ok(min_mint_str) = env::var(ENV_PAYMENT_BACKEND_MIN_MINT) {
34 if let Ok(amount) = min_mint_str.parse::<u64>() {
35 self.min_mint = amount.into();
36 }
37 }
38
39 if let Ok(max_mint_str) = env::var(ENV_PAYMENT_BACKEND_MAX_MINT) {
40 if let Ok(amount) = max_mint_str.parse::<u64>() {
41 self.max_mint = amount.into();
42 }
43 }
44
45 if let Ok(min_melt_str) = env::var(ENV_PAYMENT_BACKEND_MIN_MELT) {
46 if let Ok(amount) = min_melt_str.parse::<u64>() {
47 self.min_melt = amount.into();
48 }
49 }
50
51 if let Ok(max_melt_str) = env::var(ENV_PAYMENT_BACKEND_MAX_MELT) {
52 if let Ok(amount) = max_melt_str.parse::<u64>() {
53 self.max_melt = amount.into();
54 }
55 }
56
57 self
58 }
59}