cdk_mintd/env_vars/
mint_info.rs

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