Skip to main content

cdk_mintd/env_vars/
auth.rs

1//! Auth env
2
3use std::env;
4
5use crate::config::Auth;
6
7pub const ENV_AUTH_ENABLED: &str = "CDK_MINTD_AUTH_ENABLED";
8pub const ENV_AUTH_OPENID_DISCOVERY: &str = "CDK_MINTD_AUTH_OPENID_DISCOVERY";
9pub const ENV_AUTH_OPENID_CLIENT_ID: &str = "CDK_MINTD_AUTH_OPENID_CLIENT_ID";
10pub const ENV_AUTH_MINT_MAX_BAT: &str = "CDK_MINTD_AUTH_MINT_MAX_BAT";
11pub const ENV_AUTH_MINT: &str = "CDK_MINTD_AUTH_MINT";
12pub const ENV_AUTH_GET_MINT_QUOTE: &str = "CDK_MINTD_AUTH_GET_MINT_QUOTE";
13pub const ENV_AUTH_CHECK_MINT_QUOTE: &str = "CDK_MINTD_AUTH_CHECK_MINT_QUOTE";
14pub const ENV_AUTH_MELT: &str = "CDK_MINTD_AUTH_MELT";
15pub const ENV_AUTH_GET_MELT_QUOTE: &str = "CDK_MINTD_AUTH_GET_MELT_QUOTE";
16pub const ENV_AUTH_CHECK_MELT_QUOTE: &str = "CDK_MINTD_AUTH_CHECK_MELT_QUOTE";
17pub const ENV_AUTH_SWAP: &str = "CDK_MINTD_AUTH_SWAP";
18pub const ENV_AUTH_RESTORE: &str = "CDK_MINTD_AUTH_RESTORE";
19pub const ENV_AUTH_CHECK_PROOF_STATE: &str = "CDK_MINTD_AUTH_CHECK_PROOF_STATE";
20pub const ENV_AUTH_WEBSOCKET: &str = "CDK_MINTD_AUTH_WEBSOCKET";
21pub const ENV_AUTH_WS_MINT_QUOTE: &str = "CDK_MINTD_AUTH_WS_MINT_QUOTE";
22pub const ENV_AUTH_WS_MELT_QUOTE: &str = "CDK_MINTD_AUTH_WS_MELT_QUOTE";
23pub const ENV_AUTH_WS_PROOF_STATE: &str = "CDK_MINTD_AUTH_WS_PROOF_STATE";
24
25impl Auth {
26    pub fn from_env(mut self) -> Self {
27        if let Ok(enabled_str) = env::var(ENV_AUTH_ENABLED) {
28            if let Ok(enabled) = enabled_str.parse() {
29                self.auth_enabled = enabled;
30            }
31        }
32
33        if let Ok(discovery) = env::var(ENV_AUTH_OPENID_DISCOVERY) {
34            self.openid_discovery = discovery;
35        }
36
37        if let Ok(client_id) = env::var(ENV_AUTH_OPENID_CLIENT_ID) {
38            self.openid_client_id = client_id;
39        }
40
41        if let Ok(max_bat_str) = env::var(ENV_AUTH_MINT_MAX_BAT) {
42            if let Ok(max_bat) = max_bat_str.parse() {
43                self.mint_max_bat = max_bat;
44            }
45        }
46
47        if let Ok(mint_str) = env::var(ENV_AUTH_MINT) {
48            if let Ok(auth_type) = mint_str.parse() {
49                self.mint = auth_type;
50            }
51        }
52
53        if let Ok(get_mint_quote_str) = env::var(ENV_AUTH_GET_MINT_QUOTE) {
54            if let Ok(auth_type) = get_mint_quote_str.parse() {
55                self.get_mint_quote = auth_type;
56            }
57        }
58
59        if let Ok(check_mint_quote_str) = env::var(ENV_AUTH_CHECK_MINT_QUOTE) {
60            if let Ok(auth_type) = check_mint_quote_str.parse() {
61                self.check_mint_quote = auth_type;
62            }
63        }
64
65        if let Ok(melt_str) = env::var(ENV_AUTH_MELT) {
66            if let Ok(auth_type) = melt_str.parse() {
67                self.melt = auth_type;
68            }
69        }
70
71        if let Ok(get_melt_quote_str) = env::var(ENV_AUTH_GET_MELT_QUOTE) {
72            if let Ok(auth_type) = get_melt_quote_str.parse() {
73                self.get_melt_quote = auth_type;
74            }
75        }
76
77        if let Ok(check_melt_quote_str) = env::var(ENV_AUTH_CHECK_MELT_QUOTE) {
78            if let Ok(auth_type) = check_melt_quote_str.parse() {
79                self.check_melt_quote = auth_type;
80            }
81        }
82
83        if let Ok(swap_str) = env::var(ENV_AUTH_SWAP) {
84            if let Ok(auth_type) = swap_str.parse() {
85                self.swap = auth_type;
86            }
87        }
88
89        if let Ok(restore_str) = env::var(ENV_AUTH_RESTORE) {
90            if let Ok(auth_type) = restore_str.parse() {
91                self.restore = auth_type;
92            }
93        }
94
95        if let Ok(check_proof_state_str) = env::var(ENV_AUTH_CHECK_PROOF_STATE) {
96            if let Ok(auth_type) = check_proof_state_str.parse() {
97                self.check_proof_state = auth_type;
98            }
99        }
100
101        if let Ok(ws_auth_str) = env::var(ENV_AUTH_WEBSOCKET) {
102            if let Ok(auth_type) = ws_auth_str.parse() {
103                self.websocket_auth = auth_type;
104            }
105        }
106
107        self
108    }
109}