use malwaredb_server::State;
use std::process::ExitCode;
use clap::{Args, Subcommand};
#[derive(Clone, Debug, Args, PartialEq)]
pub struct UnknownFiles {
#[clap(subcommand)]
option: Option<Options>,
}
#[derive(Clone, Debug, Subcommand, PartialEq, Eq)]
enum Options {
Enable,
Disable,
}
impl UnknownFiles {
pub async fn execute(&self, state: State) -> anyhow::Result<ExitCode> {
match self.option {
None => {
let virustotal_state = if state.db_config.keep_unknown_files {
"enabled"
} else {
"disabled"
};
println!("Keeping unknown files {virustotal_state}");
}
Some(Options::Enable) => {
state.db_type.enable_keep_unknown_files().await?;
println!("Keeping unknown files flag set.");
}
Some(Options::Disable) => {
state.db_type.disable_keep_unknown_files().await?;
println!("Keeping unknown files flag unset.");
}
}
Ok(ExitCode::SUCCESS)
}
}