diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/handle_generic_bg_removal_artcraft.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/artcraft/handle_generic_bg_removal_artcraft.rs similarity index 100% rename from crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/handle_generic_bg_removal_artcraft.rs rename to crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/artcraft/handle_generic_bg_removal_artcraft.rs diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/artcraft/mod.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/artcraft/mod.rs new file mode 100644 index 0000000000..a02c2e249a --- /dev/null +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/artcraft/mod.rs @@ -0,0 +1 @@ +pub mod handle_generic_bg_removal_artcraft; \ No newline at end of file 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 70857ce034..c195f65ca4 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 @@ -1,6 +1,6 @@ use crate::core::commands::enqueue::common::notify_frontend_of_errors::notify_frontend_of_errors; use crate::core::commands::enqueue::generate_error::{BadInputReason, GenerateError}; -use crate::core::commands::enqueue::image_bg_removal::generic::handle_generic_bg_removal::handle_generic_bg_removal; +use crate::core::commands::enqueue::image_bg_removal::artcraft::handle_generic_bg_removal_artcraft::handle_generic_bg_removal_artcraft; use crate::core::commands::enqueue::task_enqueue_success::TaskEnqueueSuccess; use crate::core::commands::response::failure_response_wrapper::{CommandErrorResponseWrapper, CommandErrorStatus}; use crate::core::commands::response::shorthand::{Response, ResponseOrErrorType}; @@ -164,12 +164,11 @@ pub async fn handle_request( // TODO(bt,2025-07-07): Other model/provider routing... - let success_event = handle_generic_bg_removal( + let success_event = handle_generic_bg_removal_artcraft( request, app, app_data_root, app_env_configs, - provider_priority_store, storyteller_creds_manager, ).await?; diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/handle_generic_bg_removal.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/handle_generic_bg_removal.rs deleted file mode 100644 index 0b9297dadb..0000000000 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/handle_generic_bg_removal.rs +++ /dev/null @@ -1,60 +0,0 @@ -use crate::core::commands::enqueue::generate_error::GenerateError; -use crate::core::commands::enqueue::image_bg_removal::enqueue_image_bg_removal_command::EnqueueImageBgRemovalCommand; -use crate::core::commands::enqueue::image_bg_removal::generic::handle_generic_bg_removal_artcraft::handle_generic_bg_removal_artcraft; -use crate::core::commands::enqueue::image_bg_removal::generic::handle_generic_bg_removal_fal::handle_generic_bg_removal_fal; -use crate::core::commands::enqueue::image_edit::enqueue_edit_image_command::EnqueueEditImageCommand; -use crate::core::commands::enqueue::task_enqueue_success::TaskEnqueueSuccess; -use crate::core::state::app_env_configs::app_env_configs::AppEnvConfigs; -use crate::core::state::data_dir::app_data_root::AppDataRoot; -use crate::core::state::provider_priority::{Provider, ProviderPriorityStore}; -use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; -use crate::services::sora::state::sora_task_queue::SoraTaskQueue; -use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; -use log::info; -use tauri::AppHandle; - -pub async fn handle_generic_bg_removal( - request: &EnqueueImageBgRemovalCommand, - app: &AppHandle, - app_data_root: &AppDataRoot, - app_env_configs: &AppEnvConfigs, - provider_priority_store: &ProviderPriorityStore, - storyteller_creds_manager: &StorytellerCredentialManager, -) -> Result { - - let priority = provider_priority_store.get_priority()?; - - // TODO: Check if providers are available before proceeding. - - info!("Providers by priority: {:?}", priority); - - for provider in priority.iter() { - match provider { - Provider::Sora => { - // Fallthrough - // Sora doesn't have background removal - } - Provider::Artcraft => { - info!("Removing background via Artcraft..."); - return handle_generic_bg_removal_artcraft( - request, - app, - app_data_root, - app_env_configs, - storyteller_creds_manager - ).await; - } - Provider::Fal => { - info!("Removing background via Fal..."); - return handle_generic_bg_removal_fal( - request, - app, - app_data_root, - app_env_configs, - ).await; - } - } - } - - Err(GenerateError::NoProviderAvailable) -} diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/handle_generic_bg_removal_fal.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/handle_generic_bg_removal_fal.rs deleted file mode 100644 index 8f6aa60e3f..0000000000 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/handle_generic_bg_removal_fal.rs +++ /dev/null @@ -1,15 +0,0 @@ -use crate::core::commands::enqueue::generate_error::GenerateError; -use crate::core::commands::enqueue::image_bg_removal::enqueue_image_bg_removal_command::EnqueueImageBgRemovalCommand; -use crate::core::commands::enqueue::task_enqueue_success::TaskEnqueueSuccess; -use crate::core::state::app_env_configs::app_env_configs::AppEnvConfigs; -use crate::core::state::data_dir::app_data_root::AppDataRoot; -use tauri::AppHandle; - -pub async fn handle_generic_bg_removal_fal( - request: &EnqueueImageBgRemovalCommand, - app: &AppHandle, - app_data_root: &AppDataRoot, - app_env_configs: &AppEnvConfigs, -) -> Result { - Err(GenerateError::NotYetImplemented("TODO: Implement fal background removal handling".to_string())) -} diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/mod.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/mod.rs deleted file mode 100644 index 69f41f132e..0000000000 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/generic/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod handle_generic_bg_removal; -pub mod handle_generic_bg_removal_artcraft; -pub mod handle_generic_bg_removal_fal; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/mod.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/mod.rs index af8f9e640c..31900208a8 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/mod.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image_bg_removal/mod.rs @@ -1,2 +1,2 @@ pub mod enqueue_image_bg_removal_command; -pub mod generic; \ No newline at end of file +pub (super) mod artcraft; \ No newline at end of file