use camino::Utf8PathBuf;
use color_eyre::Result;
use episko_lib::{
config::{config_handler::ConfigHandler, Config},
files::File,
metadata::Metadata,
};
use crate::connect_to_db;
pub async fn validate_manifest(file: &Utf8PathBuf, config_handler: &ConfigHandler) -> Result<()> {
Metadata::validate_file(file.as_std_path())?;
Ok(())
}
pub async fn cache_manifest(file: &Utf8PathBuf, config_handler: &ConfigHandler) -> Result<()> {
let mut config = config_handler.load_config()?;
let db = connect_to_db(&config).await?;
let metadata = Metadata::from_file(file.as_std_path())?;
Metadata::update_in_db(&metadata, &db).await?;
config.add_saved_file(metadata.directory());
config_handler.save_config(&config)?;
Ok(())
}