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