From 0e8aefce5cf7a2027470ae76ce4ba77cc305d630 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 19 Dec 2023 04:53:49 -0500 Subject: [PATCH] download job should also save sha --- .../create_model_weight_from_voice_conversion_download_job.rs | 4 +++- .../job_types/voice_conversion/rvc_v2/process_rvc_v2_model.rs | 3 +++ .../voice_conversion/so_vits_svc/process_so_vits_svc_model.rs | 4 +++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/crates/lib/mysql_queries/src/queries/model_weights/create/create_model_weight_from_voice_conversion_download_job.rs b/crates/lib/mysql_queries/src/queries/model_weights/create/create_model_weight_from_voice_conversion_download_job.rs index b7c14c7ae1..3f5713c141 100644 --- a/crates/lib/mysql_queries/src/queries/model_weights/create/create_model_weight_from_voice_conversion_download_job.rs +++ b/crates/lib/mysql_queries/src/queries/model_weights/create/create_model_weight_from_voice_conversion_download_job.rs @@ -21,6 +21,7 @@ pub struct CreateModelWeightArgs<'a> { pub original_download_url: &'a str, pub original_filename: &'a str, pub file_size_bytes: u64, + pub file_checksum_sha2: &'a str, pub creator_user_token: &'a UserToken, pub creator_ip_address: &'a str, @@ -72,7 +73,7 @@ SET original_download_url = ?, original_filename = ?, file_size_bytes = ?, - file_checksum_sha2 = "TODO", + file_checksum_sha2 = ?, creator_user_token = ?, creator_ip_address = ?, @@ -98,6 +99,7 @@ SET args.original_download_url, args.original_filename, args.file_size_bytes, + args.file_checksum_sha2, args.creator_user_token, args.creator_ip_address, diff --git a/crates/service/job/download_job/src/job_types/voice_conversion/rvc_v2/process_rvc_v2_model.rs b/crates/service/job/download_job/src/job_types/voice_conversion/rvc_v2/process_rvc_v2_model.rs index 979298ea93..72c55c5e30 100644 --- a/crates/service/job/download_job/src/job_types/voice_conversion/rvc_v2/process_rvc_v2_model.rs +++ b/crates/service/job/download_job/src/job_types/voice_conversion/rvc_v2/process_rvc_v2_model.rs @@ -15,6 +15,7 @@ use filesys::file_size::file_size; use filesys::safe_delete_possible_temp_file::safe_delete_possible_temp_file; use filesys::safe_delete_temp_directory::safe_delete_temp_directory; use filesys::safe_delete_temp_file::safe_delete_temp_file; +use hashing::sha256::sha256_hash_file::sha256_hash_file; use jobs_common::redis_job_status_logger::RedisJobStatusLogger; use mysql_queries::queries::generic_download::job::list_available_generic_download_jobs::AvailableDownloadJob; use mysql_queries::queries::model_weights::create::create_model_weight_from_voice_conversion_download_job::{create_model_weight_from_voice_conversion_download_job, CreateModelWeightArgs}; @@ -103,6 +104,7 @@ pub async fn process_rvc_v2_model<'a, 'b>( check_file_exists(&output_wav_path)?; let file_size_bytes = file_size(&original_model_file_path)?; + let file_checksum = sha256_hash_file(&original_model_file_path)?; // ==================== UPLOAD ORIGINAL MODEL FILE ==================== // @@ -189,6 +191,7 @@ pub async fn process_rvc_v2_model<'a, 'b>( original_download_url: &job.download_url, original_filename: &download_filename, file_size_bytes, + file_checksum_sha2: &file_checksum, creator_user_token: &job.creator_user_token, creator_ip_address: &job.creator_ip_address, creator_set_visibility: Visibility::Public, // TODO: All models default to public at start diff --git a/crates/service/job/download_job/src/job_types/voice_conversion/so_vits_svc/process_so_vits_svc_model.rs b/crates/service/job/download_job/src/job_types/voice_conversion/so_vits_svc/process_so_vits_svc_model.rs index cf6366dd62..638dfabfcf 100644 --- a/crates/service/job/download_job/src/job_types/voice_conversion/so_vits_svc/process_so_vits_svc_model.rs +++ b/crates/service/job/download_job/src/job_types/voice_conversion/so_vits_svc/process_so_vits_svc_model.rs @@ -3,9 +3,9 @@ use std::path::PathBuf; use anyhow::anyhow; use log::{error, info, warn}; use tempdir::TempDir; + use enums::by_table::model_weights::weights_category::WeightsCategory; use enums::by_table::model_weights::weights_types::WeightsType; - use enums::by_table::voice_conversion_models::voice_conversion_model_type::VoiceConversionModelType; use enums::common::visibility::Visibility; use errors::AnyhowResult; @@ -67,6 +67,7 @@ pub async fn process_so_vits_svc_model<'a, 'b>( check_file_exists(&output_wav_path)?; let file_size_bytes = file_size(&original_model_file_path)?; + let file_checksum = sha256_hash_file(&original_model_file_path)?; // ==================== UPLOAD ORIGINAL MODEL FILE ==================== // @@ -134,6 +135,7 @@ pub async fn process_so_vits_svc_model<'a, 'b>( original_download_url: &job.download_url, original_filename: &download_filename, file_size_bytes, + file_checksum_sha2: &file_checksum, creator_user_token: &job.creator_user_token, creator_ip_address: &job.creator_ip_address, creator_set_visibility: Visibility::Public, // TODO: All models default to public at start