feat: Validate args before ask for the master password #17

Merged
awiteb merged 3 commits from awiteb/fix-13 into master 2024-04-29 13:39:37 +02:00 AGit
3 changed files with 16 additions and 0 deletions
Showing only changes of commit a6870b2dca - Show all commits

View file

@ -63,6 +63,8 @@ impl Cli {
};
log::debug!("Getting the vaults file: {}", vaults_file.to_string_lossy());
self.command.validate_args()?;
let vault_manager = if matches!(self.command, Commands::Clean(..) | Commands::Gen(..)) {
// Returns empty vault manager for those commands don't need it
Vaults {

View file

@ -70,6 +70,14 @@ macro_rules! create_commands {
)+
}
}
fn validate_args(&self) -> LprsResult<()> {
match self {
$(
Self::$varint(command) => command.validate_args(),
)+
}
}
}
};
}

View file

@ -21,5 +21,11 @@ use crate::{
/// Trait to work with the commands
pub trait LprsCommand {
/// Run the command, should do all the logic, even the export
fn run(self, vault_manager: Vaults<Plain>) -> LprsResult<()>;
/// Validate the gaiven args from the user.
fn validate_args(&self) -> LprsResult<()> {
Ok(())
}
}