cdk_mintd/env_vars/
management_rpc.rs

1//! Management RPC environment variables
2
3use std::env;
4
5use crate::config::MintManagementRpc;
6
7// Mint RPC Server environment variables
8pub const ENV_MINT_MANAGEMENT_ENABLED: &str = "CDK_MINTD_MINT_MANAGEMENT_ENABLED";
9pub const ENV_MINT_MANAGEMENT_ADDRESS: &str = "CDK_MINTD_MANAGEMENT_ADDRESS";
10pub const ENV_MINT_MANAGEMENT_PORT: &str = "CDK_MINTD_MANAGEMENT_PORT";
11pub const ENV_MINT_MANAGEMENT_TLS_DIR_PATH: &str = "CDK_MINTD_MANAGEMENT_TLS_DIR_PATH";
12
13impl MintManagementRpc {
14    pub fn from_env(mut self) -> Self {
15        if let Ok(enabled) = env::var(ENV_MINT_MANAGEMENT_ENABLED) {
16            if let Ok(enabled) = enabled.parse() {
17                self.enabled = enabled;
18            }
19        }
20
21        if let Ok(address) = env::var(ENV_MINT_MANAGEMENT_ADDRESS) {
22            self.address = Some(address);
23        }
24
25        if let Ok(port) = env::var(ENV_MINT_MANAGEMENT_PORT) {
26            if let Ok(port) = port.parse::<u16>() {
27                self.port = Some(port);
28            }
29        }
30
31        if let Ok(tls_path) = env::var(ENV_MINT_MANAGEMENT_TLS_DIR_PATH) {
32            self.tls_dir_path = Some(tls_path.into());
33        }
34
35        self
36    }
37}