mint_info.rs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //! MintInfo environment variables
  2. use std::env;
  3. use crate::config::MintInfo;
  4. // MintInfo environment variables
  5. pub const ENV_MINT_NAME: &str = "CDK_MINTD_MINT_NAME";
  6. pub const ENV_MINT_PUBKEY: &str = "CDK_MINTD_MINT_PUBKEY";
  7. pub const ENV_MINT_DESCRIPTION: &str = "CDK_MINTD_MINT_DESCRIPTION";
  8. pub const ENV_MINT_DESCRIPTION_LONG: &str = "CDK_MINTD_MINT_DESCRIPTION_LONG";
  9. pub const ENV_MINT_ICON_URL: &str = "CDK_MINTD_MINT_ICON_URL";
  10. pub const ENV_MINT_MOTD: &str = "CDK_MINTD_MINT_MOTD";
  11. pub const ENV_MINT_CONTACT_NOSTR: &str = "CDK_MINTD_MINT_CONTACT_NOSTR";
  12. pub const ENV_MINT_CONTACT_EMAIL: &str = "CDK_MINTD_MINT_CONTACT_EMAIL";
  13. pub const ENV_MINT_TOS_URL: &str = "CDK_MINTD_MINT_TOS_URL";
  14. impl MintInfo {
  15. pub fn from_env(mut self) -> Self {
  16. // Required fields
  17. if let Ok(name) = env::var(ENV_MINT_NAME) {
  18. self.name = name;
  19. }
  20. if let Ok(description) = env::var(ENV_MINT_DESCRIPTION) {
  21. self.description = description;
  22. }
  23. // Optional fields
  24. if let Ok(pubkey_str) = env::var(ENV_MINT_PUBKEY) {
  25. // Assuming PublicKey has a from_str implementation
  26. if let Ok(pubkey) = pubkey_str.parse() {
  27. self.pubkey = Some(pubkey);
  28. }
  29. }
  30. if let Ok(desc_long) = env::var(ENV_MINT_DESCRIPTION_LONG) {
  31. self.description_long = Some(desc_long);
  32. }
  33. if let Ok(icon_url) = env::var(ENV_MINT_ICON_URL) {
  34. self.icon_url = Some(icon_url);
  35. }
  36. if let Ok(motd) = env::var(ENV_MINT_MOTD) {
  37. self.motd = Some(motd);
  38. }
  39. if let Ok(nostr_key) = env::var(ENV_MINT_CONTACT_NOSTR) {
  40. self.contact_nostr_public_key = Some(nostr_key);
  41. }
  42. if let Ok(email) = env::var(ENV_MINT_CONTACT_EMAIL) {
  43. self.contact_email = Some(email);
  44. }
  45. if let Ok(tos_url) = env::var(ENV_MINT_TOS_URL) {
  46. self.tos_url = Some(tos_url);
  47. }
  48. self
  49. }
  50. }