use crate::AppConfig; impl AppConfig { pub fn storage_path(&self) -> String { self.env .get("STORAGE_PATH") .cloned() .unwrap_or_else(|| "/data/files".to_string()) } pub fn storage_public_url(&self) -> String { self.env .get("STORAGE_PUBLIC_URL") .cloned() .unwrap_or_else(|| "/files".to_string()) } pub fn storage_max_file_size(&self) -> usize { self.env .get("STORAGE_MAX_FILE_SIZE") .and_then(|s| s.parse::().ok()) .unwrap_or(10 * 1024 * 1024) // 10MB default } pub fn vapid_public_key(&self) -> Option { self.env.get("VAPID_PUBLIC_KEY").cloned() } pub fn vapid_private_key(&self) -> Option { self.env.get("VAPID_PRIVATE_KEY").cloned() } pub fn vapid_sender_email(&self) -> String { self.env .get("VAPID_SENDER_EMAIL") .cloned() .unwrap_or_else(|| "mailto:admin@example.com".to_string()) } }