// use color_eyre::Result; use crate::{f, s, Ctx, NAME}; #[derive(Clone, Debug, derive_more::From, PartialEq, Eq, PartialOrd, Ord, serde::Deserialize)] pub struct TrelloConfig { pub api_key: String, pub api_secret: String, pub board_name: String, } #[derive( Clone, Debug, derive_more::From, PartialEq, Eq, PartialOrd, Ord, derive_more::AsRef, serde::Deserialize, )] pub struct AppConfig { pub trello: TrelloConfig, } impl AppConfig { pub fn load(ctx: &Ctx) -> Result { let file = ctx.fs.base().join(f!("{NAME}.toml")); let str = ctx.fs.file(&file).reader()?; Ok(toml::from_str(s!(str).as_str())?) } }