/ distodon / src / config.rs
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  }