use crate::{
commands::{Cli, Result},
jobber::JobberDelete,
print_tip,
};
use clap::Parser;
use color_print::cprintln;
#[derive(Parser, Debug)]
pub(crate) struct RestoreWork {
job_id: usize,
pos: usize,
}
impl RestoreWork {
pub(crate) fn run(&self, cli: &Cli) -> Result<()> {
let mut database = cli.open_database()?;
database.delete_work(self.job_id, self.pos, false)?;
cli.close_database(database)?;
cprintln!(
"Successfully restored work position <s>{}</> in job <s>{}</>.",
self.pos,
self.job_id
);
print_tip!(cli,);
print_tip!(cli, "Use <s>jobber undo</> to re-delete the work position.",);
print_tip!(cli, "Use <s>jobber list work</> to list work positions.");
Ok(())
}
}