33 lines
711 B
Rust
33 lines
711 B
Rust
use crate::repo::{self, Repository};
|
|
|
|
#[derive(clap::Args)]
|
|
pub struct Args {
|
|
#[clap(short, long)]
|
|
link: Option<String>,
|
|
|
|
name: String,
|
|
}
|
|
|
|
pub fn execute(repo: impl Repository, args: Args) {
|
|
let res = repo.insert_task(repo::InsertTaskData {
|
|
name: args.name,
|
|
link: args.link,
|
|
index: None,
|
|
});
|
|
|
|
match res {
|
|
Ok(task) => {
|
|
println!("The task was added successfully");
|
|
println!(" {}", task.name);
|
|
if let Some(link) = task.link {
|
|
println!(" link: {}", link);
|
|
}
|
|
}
|
|
Err(err) => {
|
|
eprintln!("Cannot insert a new task: {}", err);
|
|
}
|
|
}
|
|
|
|
println!("added");
|
|
}
|