From 4c26309d4e9038dea7ef75cfdee65d8cccdc759b Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Mon, 2 Jun 2025 02:42:12 -0400 Subject: [PATCH] refactor queue vs webhook endpoints --- .../commands/enqueue/image/enqueue_text_to_image_command.rs | 4 ++-- .../artcraft/src/core/commands/enqueue/image/handle_fal.rs | 4 ++-- .../artcraft/src/core/commands/enqueue/image/handle_sora.rs | 4 ++-- .../services/fal/commands/fal_background_removal_command.rs | 2 +- .../fal/commands/fal_hunyuan_image_to_3d_command.rs | 2 +- .../fal/commands/fal_kling_image_to_video_command.rs | 2 +- crates/lib/api_clients/fal_client/src/requests/mod.rs | 6 ++---- .../requests/{ => queue}/enqueue_hunyuan2_image_to_3d.rs | 2 +- .../image_gen/enqueue_flux_pro_ultra_text_to_image.rs | 2 +- .../{ => queue}/image_gen/enqueue_recraft3_text_to_image.rs | 2 +- .../fal_client/src/requests/{ => queue}/image_gen/mod.rs | 0 crates/lib/api_clients/fal_client/src/requests/queue/mod.rs | 4 ++++ .../src/requests/{ => queue}/remove_background_rembg.rs | 2 +- .../video_gen/enqueue_kling_16_image_to_video.rs | 2 +- .../video_gen/enqueue_minimax_01_image_to_video.rs | 3 +-- .../fal_client/src/requests/{ => queue}/video_gen/mod.rs | 0 16 files changed, 21 insertions(+), 20 deletions(-) rename crates/lib/api_clients/fal_client/src/requests/{ => queue}/enqueue_hunyuan2_image_to_3d.rs (94%) rename crates/lib/api_clients/fal_client/src/requests/{ => queue}/image_gen/enqueue_flux_pro_ultra_text_to_image.rs (93%) rename crates/lib/api_clients/fal_client/src/requests/{ => queue}/image_gen/enqueue_recraft3_text_to_image.rs (93%) rename crates/lib/api_clients/fal_client/src/requests/{ => queue}/image_gen/mod.rs (100%) create mode 100644 crates/lib/api_clients/fal_client/src/requests/queue/mod.rs rename crates/lib/api_clients/fal_client/src/requests/{ => queue}/remove_background_rembg.rs (95%) rename crates/lib/api_clients/fal_client/src/requests/{ => queue}/video_gen/enqueue_kling_16_image_to_video.rs (94%) rename crates/lib/api_clients/fal_client/src/requests/{ => queue}/video_gen/enqueue_minimax_01_image_to_video.rs (91%) rename crates/lib/api_clients/fal_client/src/requests/{ => queue}/video_gen/mod.rs (100%) diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image/enqueue_text_to_image_command.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image/enqueue_text_to_image_command.rs index c1154a9b11..f028dc7de4 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image/enqueue_text_to_image_command.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image/enqueue_text_to_image_command.rs @@ -24,8 +24,8 @@ use base64::prelude::BASE64_STANDARD; use base64::{DecodeError, Engine}; use errors::{AnyhowError, AnyhowResult}; use fal_client::error::fal_error_plus::FalErrorPlus; -use fal_client::requests::image_gen::enqueue_flux_pro_ultra_text_to_image::{enqueue_flux_pro_ultra_text_to_image, FluxProUltraTextToImageArgs}; -use fal_client::requests::image_gen::enqueue_recraft3_text_to_image::{enqueue_recraft3_text_to_image, Recraft3TextToImageArgs}; +use fal_client::requests::queue::image_gen::enqueue_flux_pro_ultra_text_to_image::{enqueue_flux_pro_ultra_text_to_image, FluxProUltraTextToImageArgs}; +use fal_client::requests::queue::image_gen::enqueue_recraft3_text_to_image::{enqueue_recraft3_text_to_image, Recraft3TextToImageArgs}; use filesys::file_read_bytes::file_read_bytes; use image::codecs::png::{CompressionType, FilterType, PngEncoder}; use image::{DynamicImage, EncodableLayout, ImageReader}; diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image/handle_fal.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image/handle_fal.rs index 97ab7ed971..1bf21d74f8 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image/handle_fal.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image/handle_fal.rs @@ -12,8 +12,8 @@ use crate::services::sora::state::sora_task_queue::SoraTaskQueue; use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; use anyhow::anyhow; use fal_client::creds::fal_api_key::FalApiKey; -use fal_client::requests::image_gen::enqueue_flux_pro_ultra_text_to_image::{enqueue_flux_pro_ultra_text_to_image, FluxProUltraTextToImageArgs}; -use fal_client::requests::image_gen::enqueue_recraft3_text_to_image::{enqueue_recraft3_text_to_image, Recraft3TextToImageArgs}; +use fal_client::requests::queue::image_gen::enqueue_flux_pro_ultra_text_to_image::{enqueue_flux_pro_ultra_text_to_image, FluxProUltraTextToImageArgs}; +use fal_client::requests::queue::image_gen::enqueue_recraft3_text_to_image::{enqueue_recraft3_text_to_image, Recraft3TextToImageArgs}; use log::{error, info, warn}; use tauri::AppHandle; diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image/handle_sora.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image/handle_sora.rs index e161e47563..b8c018beec 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image/handle_sora.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image/handle_sora.rs @@ -11,8 +11,8 @@ 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 anyhow::anyhow; -use fal_client::requests::image_gen::enqueue_flux_pro_ultra_text_to_image::{enqueue_flux_pro_ultra_text_to_image, FluxProUltraTextToImageArgs}; -use fal_client::requests::image_gen::enqueue_recraft3_text_to_image::{enqueue_recraft3_text_to_image, Recraft3TextToImageArgs}; +use fal_client::requests::queue::image_gen::enqueue_flux_pro_ultra_text_to_image::{enqueue_flux_pro_ultra_text_to_image, FluxProUltraTextToImageArgs}; +use fal_client::requests::queue::image_gen::enqueue_recraft3_text_to_image::{enqueue_recraft3_text_to_image, Recraft3TextToImageArgs}; use log::{error, info, warn}; use openai_sora_client::creds::sora_credential_set::SoraCredentialSet; use openai_sora_client::recipes::image_remix_with_session_auto_renew::{image_remix_with_session_auto_renew, ImageRemixAutoRenewRequest}; diff --git a/crates/desktop/artcraft/src/services/fal/commands/fal_background_removal_command.rs b/crates/desktop/artcraft/src/services/fal/commands/fal_background_removal_command.rs index 9ff3c7defd..aef5224350 100644 --- a/crates/desktop/artcraft/src/services/fal/commands/fal_background_removal_command.rs +++ b/crates/desktop/artcraft/src/services/fal/commands/fal_background_removal_command.rs @@ -24,7 +24,7 @@ use base64::prelude::BASE64_STANDARD; use base64::{DecodeError, Engine}; use errors::{AnyhowError, AnyhowResult}; use fal_client::error::fal_error_plus::FalErrorPlus; -use fal_client::requests::remove_background_rembg::remove_background_rembg; +use fal_client::requests::queue::remove_background_rembg::remove_background_rembg; use filesys::file_read_bytes::file_read_bytes; use image::codecs::png::{CompressionType, FilterType, PngEncoder}; use image::{DynamicImage, EncodableLayout, ImageReader}; diff --git a/crates/desktop/artcraft/src/services/fal/commands/fal_hunyuan_image_to_3d_command.rs b/crates/desktop/artcraft/src/services/fal/commands/fal_hunyuan_image_to_3d_command.rs index 578cef472a..3fd602df5c 100644 --- a/crates/desktop/artcraft/src/services/fal/commands/fal_hunyuan_image_to_3d_command.rs +++ b/crates/desktop/artcraft/src/services/fal/commands/fal_hunyuan_image_to_3d_command.rs @@ -24,7 +24,7 @@ use base64::prelude::BASE64_STANDARD; use base64::{DecodeError, Engine}; use errors::{AnyhowError, AnyhowResult}; use fal_client::error::fal_error_plus::FalErrorPlus; -use fal_client::requests::enqueue_hunyuan2_image_to_3d::{enqueue_hunyuan2_image_to_3d, Hunyuan2Args}; +use fal_client::requests::queue::enqueue_hunyuan2_image_to_3d::{enqueue_hunyuan2_image_to_3d, Hunyuan2Args}; use filesys::file_read_bytes::file_read_bytes; use image::codecs::png::{CompressionType, FilterType, PngEncoder}; use image::{DynamicImage, EncodableLayout, ImageReader}; diff --git a/crates/desktop/artcraft/src/services/fal/commands/fal_kling_image_to_video_command.rs b/crates/desktop/artcraft/src/services/fal/commands/fal_kling_image_to_video_command.rs index 82b4702415..d80e978a37 100644 --- a/crates/desktop/artcraft/src/services/fal/commands/fal_kling_image_to_video_command.rs +++ b/crates/desktop/artcraft/src/services/fal/commands/fal_kling_image_to_video_command.rs @@ -24,7 +24,7 @@ use base64::prelude::BASE64_STANDARD; use base64::{DecodeError, Engine}; use errors::{AnyhowError, AnyhowResult}; use fal_client::error::fal_error_plus::FalErrorPlus; -use fal_client::requests::video_gen::enqueue_kling_16_image_to_video::{enqueue_kling_16_image_to_video, Kling16Args, Kling16Duration}; +use fal_client::requests::queue::video_gen::enqueue_kling_16_image_to_video::{enqueue_kling_16_image_to_video, Kling16Args, Kling16Duration}; use filesys::file_read_bytes::file_read_bytes; use image::codecs::png::{CompressionType, FilterType, PngEncoder}; use image::{DynamicImage, EncodableLayout, ImageReader}; diff --git a/crates/lib/api_clients/fal_client/src/requests/mod.rs b/crates/lib/api_clients/fal_client/src/requests/mod.rs index 8f2e48eefd..33aae4d04b 100644 --- a/crates/lib/api_clients/fal_client/src/requests/mod.rs +++ b/crates/lib/api_clients/fal_client/src/requests/mod.rs @@ -1,4 +1,2 @@ -pub mod enqueue_hunyuan2_image_to_3d; -pub mod image_gen; -pub mod remove_background_rembg; -pub mod video_gen; \ No newline at end of file +pub mod queue; +pub mod webhook; \ No newline at end of file diff --git a/crates/lib/api_clients/fal_client/src/requests/enqueue_hunyuan2_image_to_3d.rs b/crates/lib/api_clients/fal_client/src/requests/queue/enqueue_hunyuan2_image_to_3d.rs similarity index 94% rename from crates/lib/api_clients/fal_client/src/requests/enqueue_hunyuan2_image_to_3d.rs rename to crates/lib/api_clients/fal_client/src/requests/queue/enqueue_hunyuan2_image_to_3d.rs index 6b60173b35..7dadc4a69c 100644 --- a/crates/lib/api_clients/fal_client/src/requests/enqueue_hunyuan2_image_to_3d.rs +++ b/crates/lib/api_clients/fal_client/src/requests/queue/enqueue_hunyuan2_image_to_3d.rs @@ -42,7 +42,7 @@ pub async fn enqueue_hunyuan2_image_to_3d>(args: Hunyuan2Args<'_, #[cfg(test)] mod tests { use crate::creds::fal_api_key::FalApiKey; - use crate::requests::enqueue_hunyuan2_image_to_3d::{enqueue_hunyuan2_image_to_3d, Hunyuan2Args}; + use crate::requests::queue::enqueue_hunyuan2_image_to_3d::{enqueue_hunyuan2_image_to_3d, Hunyuan2Args}; use errors::AnyhowResult; use std::fs::read_to_string; use testing::test_file_path::test_file_path; diff --git a/crates/lib/api_clients/fal_client/src/requests/image_gen/enqueue_flux_pro_ultra_text_to_image.rs b/crates/lib/api_clients/fal_client/src/requests/queue/image_gen/enqueue_flux_pro_ultra_text_to_image.rs similarity index 93% rename from crates/lib/api_clients/fal_client/src/requests/image_gen/enqueue_flux_pro_ultra_text_to_image.rs rename to crates/lib/api_clients/fal_client/src/requests/queue/image_gen/enqueue_flux_pro_ultra_text_to_image.rs index 38156c7975..e677082a51 100644 --- a/crates/lib/api_clients/fal_client/src/requests/image_gen/enqueue_flux_pro_ultra_text_to_image.rs +++ b/crates/lib/api_clients/fal_client/src/requests/queue/image_gen/enqueue_flux_pro_ultra_text_to_image.rs @@ -42,7 +42,7 @@ pub async fn enqueue_flux_pro_ultra_text_to_image(args: FluxProUltraTextToImageA #[cfg(test)] mod tests { use crate::creds::fal_api_key::FalApiKey; - use crate::requests::image_gen::enqueue_flux_pro_ultra_text_to_image::{enqueue_flux_pro_ultra_text_to_image, FluxProUltraTextToImageArgs}; + use crate::requests::queue::image_gen::enqueue_flux_pro_ultra_text_to_image::{enqueue_flux_pro_ultra_text_to_image, FluxProUltraTextToImageArgs}; use errors::AnyhowResult; use std::fs::read_to_string; diff --git a/crates/lib/api_clients/fal_client/src/requests/image_gen/enqueue_recraft3_text_to_image.rs b/crates/lib/api_clients/fal_client/src/requests/queue/image_gen/enqueue_recraft3_text_to_image.rs similarity index 93% rename from crates/lib/api_clients/fal_client/src/requests/image_gen/enqueue_recraft3_text_to_image.rs rename to crates/lib/api_clients/fal_client/src/requests/queue/image_gen/enqueue_recraft3_text_to_image.rs index 010907400b..db273ce2e4 100644 --- a/crates/lib/api_clients/fal_client/src/requests/image_gen/enqueue_recraft3_text_to_image.rs +++ b/crates/lib/api_clients/fal_client/src/requests/queue/image_gen/enqueue_recraft3_text_to_image.rs @@ -39,7 +39,7 @@ pub async fn enqueue_recraft3_text_to_image(args: Recraft3TextToImageArgs<'_>) - #[cfg(test)] mod tests { use crate::creds::fal_api_key::FalApiKey; - use crate::requests::image_gen::enqueue_recraft3_text_to_image::{enqueue_recraft3_text_to_image, Recraft3TextToImageArgs}; + use crate::requests::queue::image_gen::enqueue_recraft3_text_to_image::{enqueue_recraft3_text_to_image, Recraft3TextToImageArgs}; use errors::AnyhowResult; use std::fs::read_to_string; diff --git a/crates/lib/api_clients/fal_client/src/requests/image_gen/mod.rs b/crates/lib/api_clients/fal_client/src/requests/queue/image_gen/mod.rs similarity index 100% rename from crates/lib/api_clients/fal_client/src/requests/image_gen/mod.rs rename to crates/lib/api_clients/fal_client/src/requests/queue/image_gen/mod.rs diff --git a/crates/lib/api_clients/fal_client/src/requests/queue/mod.rs b/crates/lib/api_clients/fal_client/src/requests/queue/mod.rs new file mode 100644 index 0000000000..2d0bc3d073 --- /dev/null +++ b/crates/lib/api_clients/fal_client/src/requests/queue/mod.rs @@ -0,0 +1,4 @@ +pub mod enqueue_hunyuan2_image_to_3d; +pub mod image_gen; +pub mod remove_background_rembg; +pub mod video_gen; diff --git a/crates/lib/api_clients/fal_client/src/requests/remove_background_rembg.rs b/crates/lib/api_clients/fal_client/src/requests/queue/remove_background_rembg.rs similarity index 95% rename from crates/lib/api_clients/fal_client/src/requests/remove_background_rembg.rs rename to crates/lib/api_clients/fal_client/src/requests/queue/remove_background_rembg.rs index 15ca698bb7..9a6632ee2b 100644 --- a/crates/lib/api_clients/fal_client/src/requests/remove_background_rembg.rs +++ b/crates/lib/api_clients/fal_client/src/requests/queue/remove_background_rembg.rs @@ -54,7 +54,7 @@ pub async fn remove_background_rembg>(image_path: P, api_key: &Fa #[cfg(test)] mod tests { use crate::creds::fal_api_key::FalApiKey; - use crate::requests::remove_background_rembg::remove_background_rembg; + use crate::requests::queue::remove_background_rembg::remove_background_rembg; use errors::AnyhowResult; use testing::test_file_path::test_file_path; diff --git a/crates/lib/api_clients/fal_client/src/requests/video_gen/enqueue_kling_16_image_to_video.rs b/crates/lib/api_clients/fal_client/src/requests/queue/video_gen/enqueue_kling_16_image_to_video.rs similarity index 94% rename from crates/lib/api_clients/fal_client/src/requests/video_gen/enqueue_kling_16_image_to_video.rs rename to crates/lib/api_clients/fal_client/src/requests/queue/video_gen/enqueue_kling_16_image_to_video.rs index e09d78fa21..a664299a06 100644 --- a/crates/lib/api_clients/fal_client/src/requests/video_gen/enqueue_kling_16_image_to_video.rs +++ b/crates/lib/api_clients/fal_client/src/requests/queue/video_gen/enqueue_kling_16_image_to_video.rs @@ -57,7 +57,7 @@ pub async fn enqueue_kling_16_image_to_video>(args: Kling16Args<' #[cfg(test)] mod tests { use crate::creds::fal_api_key::FalApiKey; - use crate::requests::video_gen::enqueue_kling_16_image_to_video::{enqueue_kling_16_image_to_video, Kling16Args, Kling16Duration}; + use crate::requests::queue::video_gen::enqueue_kling_16_image_to_video::{enqueue_kling_16_image_to_video, Kling16Args, Kling16Duration}; use errors::AnyhowResult; use std::fs::read_to_string; use testing::test_file_path::test_file_path; diff --git a/crates/lib/api_clients/fal_client/src/requests/video_gen/enqueue_minimax_01_image_to_video.rs b/crates/lib/api_clients/fal_client/src/requests/queue/video_gen/enqueue_minimax_01_image_to_video.rs similarity index 91% rename from crates/lib/api_clients/fal_client/src/requests/video_gen/enqueue_minimax_01_image_to_video.rs rename to crates/lib/api_clients/fal_client/src/requests/queue/video_gen/enqueue_minimax_01_image_to_video.rs index aefeec9e46..be6a1156a4 100644 --- a/crates/lib/api_clients/fal_client/src/requests/video_gen/enqueue_minimax_01_image_to_video.rs +++ b/crates/lib/api_clients/fal_client/src/requests/queue/video_gen/enqueue_minimax_01_image_to_video.rs @@ -3,7 +3,6 @@ use crate::error::classify_fal_error::classify_fal_error; use crate::error::fal_error_plus::FalErrorPlus; use crate::model::enqueued_request::EnqueuedRequest; use fal::endpoints::fal_ai::minimax::image_to_video::image_to_video; -use fal::endpoints::fal_ai::minimax::image_to_video::VideoOutput; use fal::endpoints::fal_ai::minimax::image_to_video::ImageToVideoRequest; use fal_client::file_to_base64_url::file_to_base64_url; use futures::StreamExt; @@ -41,10 +40,10 @@ pub async fn enqueue_minimax_01_image_to_video>(args: Minimax01Ar #[cfg(test)] mod tests { use crate::creds::fal_api_key::FalApiKey; + use crate::requests::queue::video_gen::enqueue_minimax_01_image_to_video::{enqueue_minimax_01_image_to_video, Minimax01Args}; use errors::AnyhowResult; use std::fs::read_to_string; use testing::test_file_path::test_file_path; - use crate::requests::video_gen::enqueue_minimax_01_image_to_video::{enqueue_minimax_01_image_to_video, Minimax01Args}; #[tokio::test] #[ignore] diff --git a/crates/lib/api_clients/fal_client/src/requests/video_gen/mod.rs b/crates/lib/api_clients/fal_client/src/requests/queue/video_gen/mod.rs similarity index 100% rename from crates/lib/api_clients/fal_client/src/requests/video_gen/mod.rs rename to crates/lib/api_clients/fal_client/src/requests/queue/video_gen/mod.rs