Something went wrong. Try again.
Something went wrong. Try again.
819 B · 31 lines
Rust
at main
1234567891011121314151617181920212223242526272829303132use std::env;
use color_eyre::eyre::Result;use dotenvy::dotenv;
pub struct Config { pub device_storage_path: String, pub static_files_dir: String, pub web_port: u16, pub tcp_port: u16,}
impl Config { pub fn load() -> Result<Self> { let _ = dotenv();
let device_storage_path = env::var("DEVICE_STORAGE_PATH").unwrap_or("./devices.json".to_string()); let static_files_dir = env::var("STATIC_FILES_DIR").unwrap_or("../frontend/dist".to_string()); let web_port = env::var("WEB_PORT").map_or(Ok(8080), |v| v.parse())?; let tcp_port = env::var("TCP_PORT").map_or(Ok(1234), |v| v.parse())?;
Ok(Self { device_storage_path, static_files_dir, web_port, tcp_port, }) }}