diff --git a/src/modes/save.rs b/src/modes/save.rs index 56dd6ba..8045e4b 100644 --- a/src/modes/save.rs +++ b/src/modes/save.rs @@ -12,7 +12,7 @@ use std::path::PathBuf; use crate::compression_engine::{CompressionType, get_compression_engine}; use crate::db::{self}; -use crate::digest_engine::{DigestType, get_digest_engine}; +use crate::digest_engine::{DigestType, get_digest_engine, get_digest_type_meta}; use crate::modes::common::get_meta_from_env; use chrono::Utc; @@ -173,5 +173,14 @@ pub fn mode_save( db::update_item(conn, item.clone())?; + // Save digest to meta + let digest_meta_name = get_digest_type_meta(digest_type); + let meta = db::Meta { + id: item.id.unwrap(), + name: digest_meta_name, + value: digest, + }; + db::store_meta(conn, meta)?; + Ok(()) } diff --git a/src/modes/update.rs b/src/modes/update.rs index 506202e..5be83bf 100644 --- a/src/modes/update.rs +++ b/src/modes/update.rs @@ -98,6 +98,15 @@ pub fn mode_update( // Update item with new digest value item.digest_value = Some(digest_value); db::update_item(conn, item.clone())?; + + // Save digest to meta + let digest_meta_name = digest_engine::get_digest_type_meta(digest_type); + let meta = db::Meta { + id: item.id.unwrap(), + name: digest_meta_name, + value: digest_value, + }; + db::store_meta(conn, meta)?; } else { debug!( "MAIN: Unable to update digest of item due to missing file {:?}",