19 lines
555 B
Rust
19 lines
555 B
Rust
//
|
|
use color_eyre::Result;
|
|
|
|
use crate::{f, nextcloud::NextcloudConfig, s, trello::TrelloConfig, Ctx, NAME};
|
|
|
|
#[derive(
|
|
Clone, Debug, derive_more::From, PartialEq, Eq, derive_more::AsRef, serde::Deserialize,
|
|
)]
|
|
pub(crate) struct AppConfig {
|
|
pub(crate) trello: TrelloConfig,
|
|
pub(crate) nextcloud: NextcloudConfig,
|
|
}
|
|
impl AppConfig {
|
|
pub(crate) fn load(ctx: &Ctx) -> Result<Self> {
|
|
let file = ctx.fs.base().join(f!("{NAME}.toml"));
|
|
let str = ctx.fs.file(&file).reader()?;
|
|
Ok(toml::from_str(s!(str).as_str())?)
|
|
}
|
|
}
|