From e9b8fbf66ed0cfbeb526175e534d765a513ee10e Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Fri, 25 Jul 2025 17:52:41 -0400 Subject: [PATCH] transactions in 3d --- ...enerate_hunyuan_2_0_image_to_3d_handler.rs | 20 +++++++++++++------ ...enerate_hunyuan_2_1_image_to_3d_handler.rs | 20 +++++++++++++------ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_0_image_to_3d_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_0_image_to_3d_handler.rs index be47e30a0d..9e288eb245 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_0_image_to_3d_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_0_image_to_3d_handler.rs @@ -19,7 +19,7 @@ use mysql_queries::queries::generic_inference::fal::insert_generic_inference_job use mysql_queries::queries::generic_inference::fal::insert_generic_inference_job_for_fal_queue::FalCategory; use mysql_queries::queries::generic_inference::fal::insert_generic_inference_job_for_fal_queue::InsertGenericInferenceForFalArgs; use mysql_queries::queries::idepotency_tokens::insert_idempotency_token::insert_idempotency_token; -use mysql_queries::queries::media_files::get::get_media_file::get_media_file; +use mysql_queries::queries::media_files::get::get_media_file::{get_media_file, get_media_file_with_connection}; use utoipa::ToSchema; /// Hunyuan 2.0 Image to 3D @@ -39,9 +39,17 @@ pub async fn generate_hunyuan_2_0_image_to_3d_handler( request: Json, server_state: web::Data> ) -> Result, CommonWebError> { + let mut mysql_connection = server_state.mysql_pool + .acquire() + .await + .map_err(|err| { + error!("MySql pool error: {:?}", err); + CommonWebError::ServerError + })?; + let maybe_user_session = server_state .session_checker - .maybe_get_user_session(&http_request, &server_state.mysql_pool) + .maybe_get_user_session_from_connection(&http_request, &mut mysql_connection) .await .map_err(|e| { warn!("Session checker error: {:?}", e); @@ -74,7 +82,7 @@ pub async fn generate_hunyuan_2_0_image_to_3d_handler( return Err(CommonWebError::BadInputWithSimpleMessage(reason)); } - insert_idempotency_token(&request.uuid_idempotency_token, &server_state.mysql_pool) + insert_idempotency_token(&request.uuid_idempotency_token, &mut *mysql_connection) .await .map_err(|err| { error!("Error inserting idempotency token: {:?}", err); @@ -82,10 +90,10 @@ pub async fn generate_hunyuan_2_0_image_to_3d_handler( })?; const IS_MOD : bool = false; - let media_file_lookup_result = get_media_file( + let media_file_lookup_result = get_media_file_with_connection( media_file_token, IS_MOD, - &server_state.mysql_pool, + &mut mysql_connection, ).await; let media_file = match media_file_lookup_result { @@ -151,7 +159,7 @@ pub async fn generate_hunyuan_2_0_image_to_3d_handler( maybe_avt_token: maybe_avt_token.as_ref(), creator_ip_address: &ip_address, creator_set_visibility: Visibility::Public, - mysql_executor: &server_state.mysql_pool, + mysql_executor: &mut *mysql_connection, phantom: Default::default(), }).await; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_1_image_to_3d_handler.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_1_image_to_3d_handler.rs index 49f02bbeb9..3c590b537e 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_1_image_to_3d_handler.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/generate/object/generate_hunyuan_2_1_image_to_3d_handler.rs @@ -19,7 +19,7 @@ use mysql_queries::queries::generic_inference::fal::insert_generic_inference_job use mysql_queries::queries::generic_inference::fal::insert_generic_inference_job_for_fal_queue::FalCategory; use mysql_queries::queries::generic_inference::fal::insert_generic_inference_job_for_fal_queue::InsertGenericInferenceForFalArgs; use mysql_queries::queries::idepotency_tokens::insert_idempotency_token::insert_idempotency_token; -use mysql_queries::queries::media_files::get::get_media_file::get_media_file; +use mysql_queries::queries::media_files::get::get_media_file::{get_media_file, get_media_file_with_connection}; use utoipa::ToSchema; /// Hunyuan 2.1 Image to 3D @@ -39,9 +39,17 @@ pub async fn generate_hunyuan_2_1_image_to_3d_handler( request: Json, server_state: web::Data> ) -> Result, CommonWebError> { + let mut mysql_connection = server_state.mysql_pool + .acquire() + .await + .map_err(|err| { + error!("MySql pool error: {:?}", err); + CommonWebError::ServerError + })?; + let maybe_user_session = server_state .session_checker - .maybe_get_user_session(&http_request, &server_state.mysql_pool) + .maybe_get_user_session_from_connection(&http_request, &mut mysql_connection) .await .map_err(|e| { warn!("Session checker error: {:?}", e); @@ -74,7 +82,7 @@ pub async fn generate_hunyuan_2_1_image_to_3d_handler( return Err(CommonWebError::BadInputWithSimpleMessage(reason)); } - insert_idempotency_token(&request.uuid_idempotency_token, &server_state.mysql_pool) + insert_idempotency_token(&request.uuid_idempotency_token, &mut *mysql_connection) .await .map_err(|err| { error!("Error inserting idempotency token: {:?}", err); @@ -82,10 +90,10 @@ pub async fn generate_hunyuan_2_1_image_to_3d_handler( })?; const IS_MOD : bool = false; - let media_file_lookup_result = get_media_file( + let media_file_lookup_result = get_media_file_with_connection( media_file_token, IS_MOD, - &server_state.mysql_pool, + &mut mysql_connection, ).await; let media_file = match media_file_lookup_result { @@ -151,7 +159,7 @@ pub async fn generate_hunyuan_2_1_image_to_3d_handler( maybe_avt_token: maybe_avt_token.as_ref(), creator_ip_address: &ip_address, creator_set_visibility: Visibility::Public, - mysql_executor: &server_state.mysql_pool, + mysql_executor: &mut *mysql_connection, phantom: Default::default(), }).await;