config.rs
1 use serde::Deserialize; 2 use url::Url; 3 4 #[derive(Deserialize, Debug)] 5 pub struct Link { 6 pub mastodon_server_url: Url, 7 pub mastodon_user: String, 8 pub webhook_url: Url, 9 } 10 11 #[derive(Deserialize, Debug)] 12 pub struct Config { 13 pub interval: u64, 14 pub chunk_size: usize, 15 pub links: Vec<Link>, 16 } 17 18 pub fn load_config() -> anyhow::Result<Config> { 19 Ok(config::Config::builder() 20 .add_source(config::File::with_name("config.toml")) 21 .build()? 22 .try_deserialize()?) 23 }