22 lines
626 B
Rust
22 lines
626 B
Rust
|
//
|
||
|
use color_eyre::eyre::eyre;
|
||
|
use color_eyre::Result;
|
||
|
|
||
|
use crate::FullCtx;
|
||
|
|
||
|
pub(crate) trait Execute {
|
||
|
async fn execute(self, ctx: FullCtx) -> Result<()>;
|
||
|
}
|
||
|
|
||
|
impl Execute for crate::Command {
|
||
|
async fn execute(self, ctx: FullCtx) -> Result<()> {
|
||
|
match self {
|
||
|
Self::Init => Err(eyre!("Config file already exists. Not overwriting it.")),
|
||
|
Self::Check => crate::check::run(ctx).await,
|
||
|
Self::Import => todo!(), //crate::import::run(ctx).await,
|
||
|
Self::Trello(cmd) => cmd.execute(ctx).await,
|
||
|
Self::Nextcloud(cmd) => cmd.execute(ctx).await,
|
||
|
}
|
||
|
}
|
||
|
}
|