From 324a11bcbe6f638ce70a721e5bd0886a2cd175b9 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 7 Aug 2025 22:02:42 -0400 Subject: [PATCH] command caller --- .../image_bg_removal/enqueue_image_bg_removal_command.rs | 7 +++++++ .../enqueue/image_inpaint/enqueue_image_inpaint_command.rs | 7 +++++++ .../src/core/commands/enqueue/task_enqueue_success.rs | 3 +++ 3 files changed, 17 insertions(+) diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/enqueue_image_bg_removal_command.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/enqueue_image_bg_removal_command.rs index 7de058387f..3d32a3f3f4 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/enqueue_image_bg_removal_command.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/enqueue_image_bg_removal_command.rs @@ -43,6 +43,7 @@ use storyteller_client::error::storyteller_error::StorytellerError; use storyteller_client::media_files::get_media_file::get_media_file; use storyteller_client::utils::api_host::ApiHost; use tauri::{AppHandle, Manager, State}; +use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; use tokens::tokens::media_files::MediaFileToken; #[derive(Deserialize, Debug)] @@ -56,6 +57,11 @@ pub struct EnqueueImageBgRemovalCommand { /// Base64-encoded image pub base64_image: Option, + /// OPTIONAL. + /// Name of the frontend caller. + /// We'll use this to selectively trigger events. + pub frontend_caller: Option, + /// OPTIONAL. /// A frontend-defined identifier that we'll send back to the frontend /// as a Tauri event on task completion. @@ -181,6 +187,7 @@ pub async fn handle_request( let result = success_event .insert_into_task_database_with_frontend_payload( task_database, + request.frontend_caller, request.frontend_subscriber_id.as_deref(), request.frontend_subscriber_payload.as_deref() ) diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_inpaint/enqueue_image_inpaint_command.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_inpaint/enqueue_image_inpaint_command.rs index be27f37c83..0ccd429086 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_inpaint/enqueue_image_inpaint_command.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image_inpaint/enqueue_image_inpaint_command.rs @@ -30,6 +30,7 @@ use crate::services::storyteller::state::storyteller_credential_manager::Storyte use enums::common::generation_provider::GenerationProvider; use enums::tauri::tasks::task_status::TaskStatus; use enums::tauri::tasks::task_type::TaskType; +use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; use errors::AnyhowError; use log::{error, info, warn}; use openai_sora_client::recipes::image_remix_with_session_auto_renew::{image_remix_with_session_auto_renew, ImageRemixAutoRenewRequest}; @@ -81,6 +82,11 @@ pub struct EnqueueInpaintImageCommand { /// If true, force the dimensions of the source image and mask image to match. pub require_matching_dimensions: Option, + /// OPTIONAL. + /// Name of the frontend caller. + /// We'll use this to selectively trigger events. + pub frontend_caller: Option, + /// OPTIONAL. /// A frontend-defined identifier that we'll send back to the frontend /// as a Tauri event on task completion. @@ -228,6 +234,7 @@ pub async fn handle_request( let result = success_event .insert_into_task_database_with_frontend_payload( task_database, + request.frontend_caller, request.frontend_subscriber_id.as_deref(), request.frontend_subscriber_payload.as_deref() ) diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/task_enqueue_success.rs b/crates/desktop/artcraft/src/core/commands/enqueue/task_enqueue_success.rs index 44a17efa2c..9ff81310ee 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/task_enqueue_success.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/task_enqueue_success.rs @@ -4,6 +4,7 @@ use enums::common::generation_provider::GenerationProvider; use enums::tauri::tasks::task_model_type::TaskModelType; use enums::tauri::tasks::task_status::TaskStatus; use enums::tauri::tasks::task_type::TaskType; +use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; use sqlite_tasks::error::SqliteTasksError; use sqlite_tasks::queries::create_task::{create_task, CreateTaskArgs}; use tokens::tokens::sqlite::tasks::TaskId; @@ -39,6 +40,7 @@ impl TaskEnqueueSuccess{ task_database, None, None, + None, ).await } @@ -46,6 +48,7 @@ impl TaskEnqueueSuccess{ pub async fn insert_into_task_database_with_frontend_payload( &self, task_database: &TaskDatabase, + frontend_caller: Option, frontend_subscriber_id: Option<&str>, frontend_subscriber_payload: Option<&str>, ) -> Result {