management_rpc.rs 1.1 KB

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