From cb64f45b4876e3e19b7cdbfda14bef9d6ed3dfce Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 18 May 2025 00:53:00 -0400 Subject: [PATCH] refactor artcraft crates to organize by service (module reorg) (#613) --- .../get_app_preferences_command.rs | 4 +- .../commands/app_preferences/mod.rs | 0 .../update_app_preference_command.rs | 6 +- .../commands/command_response_wrapper.rs | 0 .../src/{ => core}/commands/flip_image.rs | 0 .../artcraft/src/{ => core}/commands/mod.rs | 2 - .../commands/platform_info_command.rs | 2 +- .../artcraft/src/{ => core}/events/mod.rs | 3 +- .../{ => core}/events/notification_event.rs | 0 .../{ => core}/events/sendable_event_error.rs | 0 .../{ => core}/events/sendable_event_trait.rs | 2 +- crates/desktop/artcraft/src/core/mod.rs | 6 ++ .../state/app_preferences/app_preferences.rs | 6 +- .../app_preferences_manager.rs | 4 +- .../app_preferences_serializable.rs | 6 +- .../{ => core}/state/app_preferences/mod.rs | 0 .../preferred_download_directory.rs | 4 +- .../src/{ => core}/state/app_startup_time.rs | 0 .../state/data_dir/app_assets_dir.rs | 2 +- .../state/data_dir/app_credentials_dir.rs | 2 +- .../state/data_dir/app_data_root.rs | 18 +++--- .../state/data_dir/app_downloads_dir.rs | 2 +- .../state/data_dir/app_settings_dir.rs | 4 +- .../state/data_dir/app_weights_dir.rs | 2 +- .../src/{ => core}/state/data_dir/mod.rs | 0 .../state/data_dir/temporary_dir.rs | 2 +- .../state/data_dir/trait_data_subdir.rs | 0 .../src/{ => core}/state/expanduser.rs | 2 +- .../{ => core}/state/main_window_position.rs | 4 +- .../src/{ => core}/state/main_window_size.rs | 6 +- .../artcraft/src/{ => core}/state/mod.rs | 5 +- .../src/{ => core}/state/os_platform.rs | 0 .../threads/discord_presence_thread.rs | 0 .../main_window_thread/main_window_thread.rs | 16 ++--- .../threads/main_window_thread/mod.rs | 0 .../persist_storyteller_cookies_task.rs | 6 +- .../persist_window_position_task.rs | 8 +-- .../persist_window_resize_task.rs | 6 +- .../desktop/artcraft/src/core/threads/mod.rs | 2 + .../utils/best_window_size_heuristic.rs | 0 .../utils/clear_all_webview_cookies.rs | 0 .../utils/get_url_file_extension.rs | 0 .../utils/image/decode_base64_image.rs | 0 .../image/encode_dynamic_image_base64_png.rs | 0 .../image/encode_rgb_image_base64_png.rs | 0 .../src/{ => core}/utils/image/mod.rs | 0 .../utils/large_file_transfer/download.rs | 4 +- .../utils/large_file_transfer/error.rs | 0 .../utils/large_file_transfer/mod.rs | 0 .../utils/large_file_transfer/upload.rs | 4 +- .../utils/large_file_transfer/util.rs | 0 .../artcraft/src/{ => core}/utils/mod.rs | 1 - .../src/{ => core}/utils/object_store.rs | 0 .../{ => core}/utils/simple_http_download.rs | 0 .../utils/simple_http_download_to_tempfile.rs | 0 .../src/{ => core}/utils/webview_unsafe.rs | 0 .../windows/main_window/constants.rs | 0 .../src/{ => core}/windows/main_window/mod.rs | 0 .../desktop/artcraft/src/core/windows/mod.rs | 1 + crates/desktop/artcraft/src/lib.rs | 62 +++++++++---------- .../fal_background_removal_command.rs | 32 +++++----- .../fal_kling_image_to_video_command.rs | 36 +++++------ .../fal/commands}/get_fal_api_key_command.rs | 10 +-- .../fal => services/fal/commands}/mod.rs | 0 .../fal/commands}/set_fal_api_key_command.rs | 10 +-- .../desktop/artcraft/src/services/fal/mod.rs | 3 + .../fal/state}/fal_credential_manager.rs | 4 +- .../fal/state}/fal_task_queue.rs | 0 .../{state/fal => services/fal/state}/mod.rs | 0 .../fal/state}/read_fal_api_key_from_disk.rs | 2 +- .../fal}/threads/fal_task_polling_thread.rs | 18 +++--- .../artcraft/src/services/fal/threads/mod.rs | 1 + crates/desktop/artcraft/src/services/mod.rs | 3 + .../commands}/check_sora_session_command.rs | 12 ++-- .../sora => services/sora/commands}/mod.rs | 0 .../sora/commands}/open_sora_login_command.rs | 8 +-- .../sora_image_generation_command.rs | 6 +- .../commands}/sora_image_remix_command.rs | 24 +++---- .../sora/commands}/sora_logout_command.rs | 12 ++-- .../sora => services/sora/events}/mod.rs | 0 .../sora_image_enqueue_failure_event.rs | 2 +- .../sora_image_enqueue_success_event.rs | 2 +- .../sora_image_generation_complete_event.rs | 2 +- .../sora_image_generation_failed_event.rs | 2 +- .../sora/events}/sora_login_success_event.rs | 2 +- .../desktop/artcraft/src/services/sora/mod.rs | 5 ++ .../initialize_sora_jwt_bearer_token.rs | 2 +- .../sora => services/sora/state}/mod.rs | 1 + .../state}/read_sora_credentials_from_disk.rs | 2 +- ...sora_credentials_from_disk_with_upgrade.rs | 2 +- .../sora/state}/sora_credential_holder.rs | 0 .../sora/state}/sora_credential_manager.rs | 8 +-- .../sora/state}/sora_credential_stats.rs | 0 .../sora/state}/sora_task_queue.rs | 4 +- .../artcraft/src/services/sora/threads/mod.rs | 1 + .../sora}/threads/sora_task_polling_thread.rs | 16 ++--- .../artcraft/src/services/sora/windows/mod.rs | 1 + .../clear_browsing_on_test_domain.rs | 0 .../extract_sora_webview_cookies.rs | 0 .../keep_on_login_domains.rs | 2 +- .../sora}/windows/sora_login_window/mod.rs | 0 .../open_sora_login_window.rs | 8 +-- .../sora_login_window/sora_login_thread.rs | 16 ++--- .../artcraft/src/services/storyteller/mod.rs | 1 + .../storyteller/state}/mod.rs | 0 .../read_storyteller_credentials_from_disk.rs | 2 +- .../state}/storyteller_credential_holder.rs | 0 .../state}/storyteller_credential_manager.rs | 10 +-- crates/desktop/artcraft/src/threads/mod.rs | 4 -- crates/desktop/artcraft/src/utils/sora/mod.rs | 1 - crates/desktop/artcraft/src/windows/mod.rs | 2 - 111 files changed, 245 insertions(+), 238 deletions(-) rename crates/desktop/artcraft/src/{ => core}/commands/app_preferences/get_app_preferences_command.rs (92%) rename crates/desktop/artcraft/src/{ => core}/commands/app_preferences/mod.rs (100%) rename crates/desktop/artcraft/src/{ => core}/commands/app_preferences/update_app_preference_command.rs (92%) rename crates/desktop/artcraft/src/{ => core}/commands/command_response_wrapper.rs (100%) rename crates/desktop/artcraft/src/{ => core}/commands/flip_image.rs (100%) rename crates/desktop/artcraft/src/{ => core}/commands/mod.rs (80%) rename crates/desktop/artcraft/src/{ => core}/commands/platform_info_command.rs (97%) rename crates/desktop/artcraft/src/{ => core}/events/mod.rs (57%) rename crates/desktop/artcraft/src/{ => core}/events/notification_event.rs (100%) rename crates/desktop/artcraft/src/{ => core}/events/sendable_event_error.rs (100%) rename crates/desktop/artcraft/src/{ => core}/events/sendable_event_trait.rs (91%) create mode 100644 crates/desktop/artcraft/src/core/mod.rs rename crates/desktop/artcraft/src/{ => core}/state/app_preferences/app_preferences.rs (88%) rename crates/desktop/artcraft/src/{ => core}/state/app_preferences/app_preferences_manager.rs (69%) rename crates/desktop/artcraft/src/{ => core}/state/app_preferences/app_preferences_serializable.rs (91%) rename crates/desktop/artcraft/src/{ => core}/state/app_preferences/mod.rs (100%) rename crates/desktop/artcraft/src/{ => core}/state/app_preferences/preferred_download_directory.rs (92%) rename crates/desktop/artcraft/src/{ => core}/state/app_startup_time.rs (100%) rename crates/desktop/artcraft/src/{ => core}/state/data_dir/app_assets_dir.rs (92%) rename crates/desktop/artcraft/src/{ => core}/state/data_dir/app_credentials_dir.rs (94%) rename crates/desktop/artcraft/src/{ => core}/state/data_dir/app_data_root.rs (87%) rename crates/desktop/artcraft/src/{ => core}/state/data_dir/app_downloads_dir.rs (84%) rename crates/desktop/artcraft/src/{ => core}/state/data_dir/app_settings_dir.rs (90%) rename crates/desktop/artcraft/src/{ => core}/state/data_dir/app_weights_dir.rs (84%) rename crates/desktop/artcraft/src/{ => core}/state/data_dir/mod.rs (100%) rename crates/desktop/artcraft/src/{ => core}/state/data_dir/temporary_dir.rs (94%) rename crates/desktop/artcraft/src/{ => core}/state/data_dir/trait_data_subdir.rs (100%) rename crates/desktop/artcraft/src/{ => core}/state/expanduser.rs (97%) rename crates/desktop/artcraft/src/{ => core}/state/main_window_position.rs (94%) rename crates/desktop/artcraft/src/{ => core}/state/main_window_size.rs (91%) rename crates/desktop/artcraft/src/{ => core}/state/mod.rs (68%) rename crates/desktop/artcraft/src/{ => core}/state/os_platform.rs (100%) rename crates/desktop/artcraft/src/{ => core}/threads/discord_presence_thread.rs (100%) rename crates/desktop/artcraft/src/{ => core}/threads/main_window_thread/main_window_thread.rs (74%) rename crates/desktop/artcraft/src/{ => core}/threads/main_window_thread/mod.rs (100%) rename crates/desktop/artcraft/src/{ => core}/threads/main_window_thread/persist_storyteller_cookies_task.rs (94%) rename crates/desktop/artcraft/src/{ => core}/threads/main_window_thread/persist_window_position_task.rs (75%) rename crates/desktop/artcraft/src/{ => core}/threads/main_window_thread/persist_window_resize_task.rs (80%) create mode 100644 crates/desktop/artcraft/src/core/threads/mod.rs rename crates/desktop/artcraft/src/{ => core}/utils/best_window_size_heuristic.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/clear_all_webview_cookies.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/get_url_file_extension.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/image/decode_base64_image.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/image/encode_dynamic_image_base64_png.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/image/encode_rgb_image_base64_png.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/image/mod.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/large_file_transfer/download.rs (97%) rename crates/desktop/artcraft/src/{ => core}/utils/large_file_transfer/error.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/large_file_transfer/mod.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/large_file_transfer/upload.rs (97%) rename crates/desktop/artcraft/src/{ => core}/utils/large_file_transfer/util.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/mod.rs (94%) rename crates/desktop/artcraft/src/{ => core}/utils/object_store.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/simple_http_download.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/simple_http_download_to_tempfile.rs (100%) rename crates/desktop/artcraft/src/{ => core}/utils/webview_unsafe.rs (100%) rename crates/desktop/artcraft/src/{ => core}/windows/main_window/constants.rs (100%) rename crates/desktop/artcraft/src/{ => core}/windows/main_window/mod.rs (100%) create mode 100644 crates/desktop/artcraft/src/core/windows/mod.rs rename crates/desktop/artcraft/src/{commands/fal => services/fal/commands}/fal_background_removal_command.rs (88%) rename crates/desktop/artcraft/src/{commands/fal => services/fal/commands}/fal_kling_image_to_video_command.rs (86%) rename crates/desktop/artcraft/src/{commands/fal => services/fal/commands}/get_fal_api_key_command.rs (72%) rename crates/desktop/artcraft/src/{commands/fal => services/fal/commands}/mod.rs (100%) rename crates/desktop/artcraft/src/{commands/fal => services/fal/commands}/set_fal_api_key_command.rs (76%) create mode 100644 crates/desktop/artcraft/src/services/fal/mod.rs rename crates/desktop/artcraft/src/{state/fal => services/fal/state}/fal_credential_manager.rs (94%) rename crates/desktop/artcraft/src/{state/fal => services/fal/state}/fal_task_queue.rs (100%) rename crates/desktop/artcraft/src/{state/fal => services/fal/state}/mod.rs (100%) rename crates/desktop/artcraft/src/{state/fal => services/fal/state}/read_fal_api_key_from_disk.rs (89%) rename crates/desktop/artcraft/src/{ => services/fal}/threads/fal_task_polling_thread.rs (90%) create mode 100644 crates/desktop/artcraft/src/services/fal/threads/mod.rs create mode 100644 crates/desktop/artcraft/src/services/mod.rs rename crates/desktop/artcraft/src/{commands/sora => services/sora/commands}/check_sora_session_command.rs (87%) rename crates/desktop/artcraft/src/{commands/sora => services/sora/commands}/mod.rs (100%) rename crates/desktop/artcraft/src/{commands/sora => services/sora/commands}/open_sora_login_command.rs (71%) rename crates/desktop/artcraft/src/{commands/sora => services/sora/commands}/sora_image_generation_command.rs (92%) rename crates/desktop/artcraft/src/{commands/sora => services/sora/commands}/sora_image_remix_command.rs (90%) rename crates/desktop/artcraft/src/{commands/sora => services/sora/commands}/sora_logout_command.rs (68%) rename crates/desktop/artcraft/src/{events/sora => services/sora/events}/mod.rs (100%) rename crates/desktop/artcraft/src/{events/sora => services/sora/events}/sora_image_enqueue_failure_event.rs (80%) rename crates/desktop/artcraft/src/{events/sora => services/sora/events}/sora_image_enqueue_success_event.rs (80%) rename crates/desktop/artcraft/src/{events/sora => services/sora/events}/sora_image_generation_complete_event.rs (84%) rename crates/desktop/artcraft/src/{events/sora => services/sora/events}/sora_image_generation_failed_event.rs (81%) rename crates/desktop/artcraft/src/{events/sora => services/sora/events}/sora_login_success_event.rs (79%) create mode 100644 crates/desktop/artcraft/src/services/sora/mod.rs rename crates/desktop/artcraft/src/{utils/sora => services/sora/state}/initialize_sora_jwt_bearer_token.rs (93%) rename crates/desktop/artcraft/src/{state/sora => services/sora/state}/mod.rs (83%) rename crates/desktop/artcraft/src/{state/sora => services/sora/state}/read_sora_credentials_from_disk.rs (95%) rename crates/desktop/artcraft/src/{state/sora => services/sora/state}/read_sora_credentials_from_disk_with_upgrade.rs (97%) rename crates/desktop/artcraft/src/{state/sora => services/sora/state}/sora_credential_holder.rs (100%) rename crates/desktop/artcraft/src/{state/sora => services/sora/state}/sora_credential_manager.rs (95%) rename crates/desktop/artcraft/src/{state/sora => services/sora/state}/sora_credential_stats.rs (100%) rename crates/desktop/artcraft/src/{state/sora => services/sora/state}/sora_task_queue.rs (98%) create mode 100644 crates/desktop/artcraft/src/services/sora/threads/mod.rs rename crates/desktop/artcraft/src/{ => services/sora}/threads/sora_task_polling_thread.rs (88%) create mode 100644 crates/desktop/artcraft/src/services/sora/windows/mod.rs rename crates/desktop/artcraft/src/{ => services/sora}/windows/sora_login_window/clear_browsing_on_test_domain.rs (100%) rename crates/desktop/artcraft/src/{ => services/sora}/windows/sora_login_window/extract_sora_webview_cookies.rs (100%) rename crates/desktop/artcraft/src/{ => services/sora}/windows/sora_login_window/keep_on_login_domains.rs (87%) rename crates/desktop/artcraft/src/{ => services/sora}/windows/sora_login_window/mod.rs (100%) rename crates/desktop/artcraft/src/{ => services/sora}/windows/sora_login_window/open_sora_login_window.rs (88%) rename crates/desktop/artcraft/src/{ => services/sora}/windows/sora_login_window/sora_login_thread.rs (86%) create mode 100644 crates/desktop/artcraft/src/services/storyteller/mod.rs rename crates/desktop/artcraft/src/{state/storyteller => services/storyteller/state}/mod.rs (100%) rename crates/desktop/artcraft/src/{state/storyteller => services/storyteller/state}/read_storyteller_credentials_from_disk.rs (94%) rename crates/desktop/artcraft/src/{state/storyteller => services/storyteller/state}/storyteller_credential_holder.rs (100%) rename crates/desktop/artcraft/src/{state/storyteller => services/storyteller/state}/storyteller_credential_manager.rs (86%) delete mode 100644 crates/desktop/artcraft/src/threads/mod.rs delete mode 100644 crates/desktop/artcraft/src/utils/sora/mod.rs delete mode 100644 crates/desktop/artcraft/src/windows/mod.rs diff --git a/crates/desktop/artcraft/src/commands/app_preferences/get_app_preferences_command.rs b/crates/desktop/artcraft/src/core/commands/app_preferences/get_app_preferences_command.rs similarity index 92% rename from crates/desktop/artcraft/src/commands/app_preferences/get_app_preferences_command.rs rename to crates/desktop/artcraft/src/core/commands/app_preferences/get_app_preferences_command.rs index 7c5b58e611..c6ce55250e 100644 --- a/crates/desktop/artcraft/src/commands/app_preferences/get_app_preferences_command.rs +++ b/crates/desktop/artcraft/src/core/commands/app_preferences/get_app_preferences_command.rs @@ -1,5 +1,5 @@ -use crate::state::app_preferences::app_preferences_manager::AppPreferencesManager; -use crate::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; +use crate::core::state::app_preferences::app_preferences_manager::AppPreferencesManager; +use crate::core::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; use errors::AnyhowResult; use log::{error, info}; use serde_derive::Serialize; diff --git a/crates/desktop/artcraft/src/commands/app_preferences/mod.rs b/crates/desktop/artcraft/src/core/commands/app_preferences/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/commands/app_preferences/mod.rs rename to crates/desktop/artcraft/src/core/commands/app_preferences/mod.rs diff --git a/crates/desktop/artcraft/src/commands/app_preferences/update_app_preference_command.rs b/crates/desktop/artcraft/src/core/commands/app_preferences/update_app_preference_command.rs similarity index 92% rename from crates/desktop/artcraft/src/commands/app_preferences/update_app_preference_command.rs rename to crates/desktop/artcraft/src/core/commands/app_preferences/update_app_preference_command.rs index 1b16b82972..6f420d4053 100644 --- a/crates/desktop/artcraft/src/commands/app_preferences/update_app_preference_command.rs +++ b/crates/desktop/artcraft/src/core/commands/app_preferences/update_app_preference_command.rs @@ -1,6 +1,6 @@ -use crate::state::app_preferences::app_preferences_manager::AppPreferencesManager; -use crate::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; -use crate::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::app_preferences::app_preferences_manager::AppPreferencesManager; +use crate::core::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use errors::AnyhowResult; use log::{error, info}; diff --git a/crates/desktop/artcraft/src/commands/command_response_wrapper.rs b/crates/desktop/artcraft/src/core/commands/command_response_wrapper.rs similarity index 100% rename from crates/desktop/artcraft/src/commands/command_response_wrapper.rs rename to crates/desktop/artcraft/src/core/commands/command_response_wrapper.rs diff --git a/crates/desktop/artcraft/src/commands/flip_image.rs b/crates/desktop/artcraft/src/core/commands/flip_image.rs similarity index 100% rename from crates/desktop/artcraft/src/commands/flip_image.rs rename to crates/desktop/artcraft/src/core/commands/flip_image.rs diff --git a/crates/desktop/artcraft/src/commands/mod.rs b/crates/desktop/artcraft/src/core/commands/mod.rs similarity index 80% rename from crates/desktop/artcraft/src/commands/mod.rs rename to crates/desktop/artcraft/src/core/commands/mod.rs index 60f1daaac4..ae09eb37bd 100644 --- a/crates/desktop/artcraft/src/commands/mod.rs +++ b/crates/desktop/artcraft/src/core/commands/mod.rs @@ -1,6 +1,4 @@ pub mod app_preferences; pub mod command_response_wrapper; -pub mod fal; pub mod flip_image; pub mod platform_info_command; -pub mod sora; diff --git a/crates/desktop/artcraft/src/commands/platform_info_command.rs b/crates/desktop/artcraft/src/core/commands/platform_info_command.rs similarity index 97% rename from crates/desktop/artcraft/src/commands/platform_info_command.rs rename to crates/desktop/artcraft/src/core/commands/platform_info_command.rs index f4e9901281..b658be56ac 100644 --- a/crates/desktop/artcraft/src/commands/platform_info_command.rs +++ b/crates/desktop/artcraft/src/core/commands/platform_info_command.rs @@ -1,4 +1,4 @@ -use crate::state::os_platform::OsPlatform; +use crate::core::state::os_platform::OsPlatform; use base64::prelude::BASE64_STANDARD; use base64::Engine; use image::codecs::png::{CompressionType, FilterType, PngEncoder}; diff --git a/crates/desktop/artcraft/src/events/mod.rs b/crates/desktop/artcraft/src/core/events/mod.rs similarity index 57% rename from crates/desktop/artcraft/src/events/mod.rs rename to crates/desktop/artcraft/src/core/events/mod.rs index ee9e0cd166..23955acbf0 100644 --- a/crates/desktop/artcraft/src/events/mod.rs +++ b/crates/desktop/artcraft/src/core/events/mod.rs @@ -1,4 +1,3 @@ pub mod notification_event; pub mod sendable_event_error; -pub mod sendable_event_trait; -pub mod sora; \ No newline at end of file +pub mod sendable_event_trait; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/events/notification_event.rs b/crates/desktop/artcraft/src/core/events/notification_event.rs similarity index 100% rename from crates/desktop/artcraft/src/events/notification_event.rs rename to crates/desktop/artcraft/src/core/events/notification_event.rs diff --git a/crates/desktop/artcraft/src/events/sendable_event_error.rs b/crates/desktop/artcraft/src/core/events/sendable_event_error.rs similarity index 100% rename from crates/desktop/artcraft/src/events/sendable_event_error.rs rename to crates/desktop/artcraft/src/core/events/sendable_event_error.rs diff --git a/crates/desktop/artcraft/src/events/sendable_event_trait.rs b/crates/desktop/artcraft/src/core/events/sendable_event_trait.rs similarity index 91% rename from crates/desktop/artcraft/src/events/sendable_event_trait.rs rename to crates/desktop/artcraft/src/core/events/sendable_event_trait.rs index faa66c3a66..4e1b11132f 100644 --- a/crates/desktop/artcraft/src/events/sendable_event_trait.rs +++ b/crates/desktop/artcraft/src/core/events/sendable_event_trait.rs @@ -1,5 +1,5 @@ use log::info; -use crate::events::sendable_event_error::SendableEventError; +use crate::core::events::sendable_event_error::SendableEventError; use serde::Serialize; use tauri::{AppHandle, Emitter}; diff --git a/crates/desktop/artcraft/src/core/mod.rs b/crates/desktop/artcraft/src/core/mod.rs new file mode 100644 index 0000000000..da908b11f7 --- /dev/null +++ b/crates/desktop/artcraft/src/core/mod.rs @@ -0,0 +1,6 @@ +pub mod commands; +pub mod events; +pub mod state; +pub mod threads; +pub mod utils; +pub mod windows; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/state/app_preferences/app_preferences.rs b/crates/desktop/artcraft/src/core/state/app_preferences/app_preferences.rs similarity index 88% rename from crates/desktop/artcraft/src/state/app_preferences/app_preferences.rs rename to crates/desktop/artcraft/src/core/state/app_preferences/app_preferences.rs index 30a2b72910..ccae1d67c6 100644 --- a/crates/desktop/artcraft/src/state/app_preferences/app_preferences.rs +++ b/crates/desktop/artcraft/src/core/state/app_preferences/app_preferences.rs @@ -1,6 +1,6 @@ -use crate::state::app_preferences::app_preferences_serializable::AppPreferencesSerializable; -use crate::state::app_preferences::preferred_download_directory::{PreferredDownloadDirectory, SystemDownloadDirectory}; -use crate::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::app_preferences::app_preferences_serializable::AppPreferencesSerializable; +use crate::core::state::app_preferences::preferred_download_directory::{PreferredDownloadDirectory, SystemDownloadDirectory}; +use crate::core::state::data_dir::app_data_root::AppDataRoot; #[derive(Clone)] pub struct AppPreferences { diff --git a/crates/desktop/artcraft/src/state/app_preferences/app_preferences_manager.rs b/crates/desktop/artcraft/src/core/state/app_preferences/app_preferences_manager.rs similarity index 69% rename from crates/desktop/artcraft/src/state/app_preferences/app_preferences_manager.rs rename to crates/desktop/artcraft/src/core/state/app_preferences/app_preferences_manager.rs index 1e6a626fe0..23282364a9 100644 --- a/crates/desktop/artcraft/src/state/app_preferences/app_preferences_manager.rs +++ b/crates/desktop/artcraft/src/core/state/app_preferences/app_preferences_manager.rs @@ -1,5 +1,5 @@ -use crate::state::app_preferences::app_preferences::AppPreferences; -use crate::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::app_preferences::app_preferences::AppPreferences; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use memory_store::clone_cell::CloneCell; pub type AppPreferencesManager = CloneCell; diff --git a/crates/desktop/artcraft/src/state/app_preferences/app_preferences_serializable.rs b/crates/desktop/artcraft/src/core/state/app_preferences/app_preferences_serializable.rs similarity index 91% rename from crates/desktop/artcraft/src/state/app_preferences/app_preferences_serializable.rs rename to crates/desktop/artcraft/src/core/state/app_preferences/app_preferences_serializable.rs index 3664a9887b..530029d6af 100644 --- a/crates/desktop/artcraft/src/state/app_preferences/app_preferences_serializable.rs +++ b/crates/desktop/artcraft/src/core/state/app_preferences/app_preferences_serializable.rs @@ -1,6 +1,6 @@ -use crate::state::app_preferences::app_preferences::AppPreferences; -use crate::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; -use crate::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::app_preferences::app_preferences::AppPreferences; +use crate::core::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use errors::AnyhowResult; use serde_derive::{Deserialize, Serialize}; diff --git a/crates/desktop/artcraft/src/state/app_preferences/mod.rs b/crates/desktop/artcraft/src/core/state/app_preferences/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/state/app_preferences/mod.rs rename to crates/desktop/artcraft/src/core/state/app_preferences/mod.rs diff --git a/crates/desktop/artcraft/src/state/app_preferences/preferred_download_directory.rs b/crates/desktop/artcraft/src/core/state/app_preferences/preferred_download_directory.rs similarity index 92% rename from crates/desktop/artcraft/src/state/app_preferences/preferred_download_directory.rs rename to crates/desktop/artcraft/src/core/state/app_preferences/preferred_download_directory.rs index 07bdd4c1eb..359d2706a9 100644 --- a/crates/desktop/artcraft/src/state/app_preferences/preferred_download_directory.rs +++ b/crates/desktop/artcraft/src/core/state/app_preferences/preferred_download_directory.rs @@ -58,8 +58,8 @@ impl Display for SystemDownloadDirectory { #[cfg(test)] mod tests { - use crate::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; - use crate::state::app_preferences::preferred_download_directory::SystemDownloadDirectory; + use crate::core::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; + use crate::core::state::app_preferences::preferred_download_directory::SystemDownloadDirectory; use std::str::FromStr; mod json { diff --git a/crates/desktop/artcraft/src/state/app_startup_time.rs b/crates/desktop/artcraft/src/core/state/app_startup_time.rs similarity index 100% rename from crates/desktop/artcraft/src/state/app_startup_time.rs rename to crates/desktop/artcraft/src/core/state/app_startup_time.rs diff --git a/crates/desktop/artcraft/src/state/data_dir/app_assets_dir.rs b/crates/desktop/artcraft/src/core/state/data_dir/app_assets_dir.rs similarity index 92% rename from crates/desktop/artcraft/src/state/data_dir/app_assets_dir.rs rename to crates/desktop/artcraft/src/core/state/data_dir/app_assets_dir.rs index d3ea6d7ede..154eb799ae 100644 --- a/crates/desktop/artcraft/src/state/data_dir/app_assets_dir.rs +++ b/crates/desktop/artcraft/src/core/state/data_dir/app_assets_dir.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::trait_data_subdir::DataSubdir; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; use chrono::{DateTime, Local}; use std::path::{Path, PathBuf}; diff --git a/crates/desktop/artcraft/src/state/data_dir/app_credentials_dir.rs b/crates/desktop/artcraft/src/core/state/data_dir/app_credentials_dir.rs similarity index 94% rename from crates/desktop/artcraft/src/state/data_dir/app_credentials_dir.rs rename to crates/desktop/artcraft/src/core/state/data_dir/app_credentials_dir.rs index 2ec84cba9e..d0d80f9fe6 100644 --- a/crates/desktop/artcraft/src/state/data_dir/app_credentials_dir.rs +++ b/crates/desktop/artcraft/src/core/state/data_dir/app_credentials_dir.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::trait_data_subdir::DataSubdir; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; use std::path::{Path, PathBuf}; #[derive(Clone)] diff --git a/crates/desktop/artcraft/src/state/data_dir/app_data_root.rs b/crates/desktop/artcraft/src/core/state/data_dir/app_data_root.rs similarity index 87% rename from crates/desktop/artcraft/src/state/data_dir/app_data_root.rs rename to crates/desktop/artcraft/src/core/state/data_dir/app_data_root.rs index 9aa50ef9ec..48011fbce2 100644 --- a/crates/desktop/artcraft/src/state/data_dir/app_data_root.rs +++ b/crates/desktop/artcraft/src/core/state/data_dir/app_data_root.rs @@ -1,12 +1,12 @@ -use crate::state::data_dir::app_assets_dir::AppAssetsDir; -use crate::state::data_dir::app_credentials_dir::AppCredentialsDir; -use crate::state::data_dir::app_downloads_dir::AppDownloadsDir; -use crate::state::data_dir::app_settings_dir::AppSettingsDir; -use crate::state::data_dir::app_weights_dir::AppWeightsDir; -use crate::state::data_dir::temporary_dir::TemporaryDir; -use crate::state::data_dir::trait_data_subdir::DataSubdir; -use crate::state::expanduser::expanduser; -use crate::state::os_platform::OsPlatform; +use crate::core::state::data_dir::app_assets_dir::AppAssetsDir; +use crate::core::state::data_dir::app_credentials_dir::AppCredentialsDir; +use crate::core::state::data_dir::app_downloads_dir::AppDownloadsDir; +use crate::core::state::data_dir::app_settings_dir::AppSettingsDir; +use crate::core::state::data_dir::app_weights_dir::AppWeightsDir; +use crate::core::state::data_dir::temporary_dir::TemporaryDir; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; +use crate::core::state::expanduser::expanduser; +use crate::core::state::os_platform::OsPlatform; use anyhow::anyhow; use directories::UserDirs; use std::path::{Path, PathBuf}; diff --git a/crates/desktop/artcraft/src/state/data_dir/app_downloads_dir.rs b/crates/desktop/artcraft/src/core/state/data_dir/app_downloads_dir.rs similarity index 84% rename from crates/desktop/artcraft/src/state/data_dir/app_downloads_dir.rs rename to crates/desktop/artcraft/src/core/state/data_dir/app_downloads_dir.rs index e272e6fab5..f08250686f 100644 --- a/crates/desktop/artcraft/src/state/data_dir/app_downloads_dir.rs +++ b/crates/desktop/artcraft/src/core/state/data_dir/app_downloads_dir.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::trait_data_subdir::DataSubdir; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; use std::path::{Path, PathBuf}; #[derive(Clone)] diff --git a/crates/desktop/artcraft/src/state/data_dir/app_settings_dir.rs b/crates/desktop/artcraft/src/core/state/data_dir/app_settings_dir.rs similarity index 90% rename from crates/desktop/artcraft/src/state/data_dir/app_settings_dir.rs rename to crates/desktop/artcraft/src/core/state/data_dir/app_settings_dir.rs index 45430ab038..e3a48b21ef 100644 --- a/crates/desktop/artcraft/src/state/data_dir/app_settings_dir.rs +++ b/crates/desktop/artcraft/src/core/state/data_dir/app_settings_dir.rs @@ -1,5 +1,5 @@ -use crate::state::app_preferences::app_preferences::AppPreferences; -use crate::state::data_dir::trait_data_subdir::DataSubdir; +use crate::core::state::app_preferences::app_preferences::AppPreferences; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; use errors::AnyhowResult; use serde::Serialize; use std::fs::OpenOptions; diff --git a/crates/desktop/artcraft/src/state/data_dir/app_weights_dir.rs b/crates/desktop/artcraft/src/core/state/data_dir/app_weights_dir.rs similarity index 84% rename from crates/desktop/artcraft/src/state/data_dir/app_weights_dir.rs rename to crates/desktop/artcraft/src/core/state/data_dir/app_weights_dir.rs index 420df4073e..e670f15d5f 100644 --- a/crates/desktop/artcraft/src/state/data_dir/app_weights_dir.rs +++ b/crates/desktop/artcraft/src/core/state/data_dir/app_weights_dir.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::trait_data_subdir::DataSubdir; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; use std::path::{Path, PathBuf}; #[derive(Clone)] diff --git a/crates/desktop/artcraft/src/state/data_dir/mod.rs b/crates/desktop/artcraft/src/core/state/data_dir/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/state/data_dir/mod.rs rename to crates/desktop/artcraft/src/core/state/data_dir/mod.rs diff --git a/crates/desktop/artcraft/src/state/data_dir/temporary_dir.rs b/crates/desktop/artcraft/src/core/state/data_dir/temporary_dir.rs similarity index 94% rename from crates/desktop/artcraft/src/state/data_dir/temporary_dir.rs rename to crates/desktop/artcraft/src/core/state/data_dir/temporary_dir.rs index 2597bec578..d7b801e3fb 100644 --- a/crates/desktop/artcraft/src/state/data_dir/temporary_dir.rs +++ b/crates/desktop/artcraft/src/core/state/data_dir/temporary_dir.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::trait_data_subdir::DataSubdir; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; use std::path::{Path, PathBuf}; use tempdir::TempDir; use tempfile::{Builder, NamedTempFile}; diff --git a/crates/desktop/artcraft/src/state/data_dir/trait_data_subdir.rs b/crates/desktop/artcraft/src/core/state/data_dir/trait_data_subdir.rs similarity index 100% rename from crates/desktop/artcraft/src/state/data_dir/trait_data_subdir.rs rename to crates/desktop/artcraft/src/core/state/data_dir/trait_data_subdir.rs diff --git a/crates/desktop/artcraft/src/state/expanduser.rs b/crates/desktop/artcraft/src/core/state/expanduser.rs similarity index 97% rename from crates/desktop/artcraft/src/state/expanduser.rs rename to crates/desktop/artcraft/src/core/state/expanduser.rs index 788d3c259b..11015b250e 100644 --- a/crates/desktop/artcraft/src/state/expanduser.rs +++ b/crates/desktop/artcraft/src/core/state/expanduser.rs @@ -43,7 +43,7 @@ pub fn home_dir() -> io::Result { #[cfg(test)] mod tests { - use crate::state::expanduser::expanduser; + use crate::core::state::expanduser::expanduser; use std::env; use std::path::PathBuf; diff --git a/crates/desktop/artcraft/src/state/main_window_position.rs b/crates/desktop/artcraft/src/core/state/main_window_position.rs similarity index 94% rename from crates/desktop/artcraft/src/state/main_window_position.rs rename to crates/desktop/artcraft/src/core/state/main_window_position.rs index f171a45e30..ec88b83c17 100644 --- a/crates/desktop/artcraft/src/state/main_window_position.rs +++ b/crates/desktop/artcraft/src/core/state/main_window_position.rs @@ -1,5 +1,5 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::windows::main_window::constants::MAIN_WINDOW_NAME; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::windows::main_window::constants::MAIN_WINDOW_NAME; use errors::AnyhowResult; use serde_derive::{Deserialize, Serialize}; use std::fs::OpenOptions; diff --git a/crates/desktop/artcraft/src/state/main_window_size.rs b/crates/desktop/artcraft/src/core/state/main_window_size.rs similarity index 91% rename from crates/desktop/artcraft/src/state/main_window_size.rs rename to crates/desktop/artcraft/src/core/state/main_window_size.rs index 129aa9d964..5255f47ee6 100644 --- a/crates/desktop/artcraft/src/state/main_window_size.rs +++ b/crates/desktop/artcraft/src/core/state/main_window_size.rs @@ -1,6 +1,6 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::utils::best_window_size_heuristic::best_window_size_heuristic; -use crate::windows::main_window::constants::MAIN_WINDOW_NAME; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::utils::best_window_size_heuristic::best_window_size_heuristic; +use crate::core::windows::main_window::constants::MAIN_WINDOW_NAME; use errors::AnyhowResult; use serde_derive::{Deserialize, Serialize}; use std::fs::OpenOptions; diff --git a/crates/desktop/artcraft/src/state/mod.rs b/crates/desktop/artcraft/src/core/state/mod.rs similarity index 68% rename from crates/desktop/artcraft/src/state/mod.rs rename to crates/desktop/artcraft/src/core/state/mod.rs index 98ae6b51c0..beda27a3c3 100644 --- a/crates/desktop/artcraft/src/state/mod.rs +++ b/crates/desktop/artcraft/src/core/state/mod.rs @@ -2,9 +2,6 @@ pub mod app_preferences; pub mod app_startup_time; pub mod data_dir; pub mod expanduser; -pub mod fal; pub mod main_window_position; pub mod main_window_size; -pub mod os_platform; -pub mod sora; -pub mod storyteller; \ No newline at end of file +pub mod os_platform; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/state/os_platform.rs b/crates/desktop/artcraft/src/core/state/os_platform.rs similarity index 100% rename from crates/desktop/artcraft/src/state/os_platform.rs rename to crates/desktop/artcraft/src/core/state/os_platform.rs diff --git a/crates/desktop/artcraft/src/threads/discord_presence_thread.rs b/crates/desktop/artcraft/src/core/threads/discord_presence_thread.rs similarity index 100% rename from crates/desktop/artcraft/src/threads/discord_presence_thread.rs rename to crates/desktop/artcraft/src/core/threads/discord_presence_thread.rs diff --git a/crates/desktop/artcraft/src/threads/main_window_thread/main_window_thread.rs b/crates/desktop/artcraft/src/core/threads/main_window_thread/main_window_thread.rs similarity index 74% rename from crates/desktop/artcraft/src/threads/main_window_thread/main_window_thread.rs rename to crates/desktop/artcraft/src/core/threads/main_window_thread/main_window_thread.rs index f9f258327b..b0431488b7 100644 --- a/crates/desktop/artcraft/src/threads/main_window_thread/main_window_thread.rs +++ b/crates/desktop/artcraft/src/core/threads/main_window_thread/main_window_thread.rs @@ -1,11 +1,11 @@ -use crate::state::app_startup_time::AppStartupTime; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::main_window_position::MainWindowPosition; -use crate::state::main_window_size::MainWindowSize; -use crate::state::storyteller::storyteller_credential_manager::StorytellerCredentialManager; -use crate::threads::main_window_thread::persist_storyteller_cookies_task::persist_storyteller_cookies_task; -use crate::threads::main_window_thread::persist_window_position_task::persist_window_position_task; -use crate::threads::main_window_thread::persist_window_resize_task::persist_window_resize_task; +use crate::core::state::app_startup_time::AppStartupTime; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::main_window_position::MainWindowPosition; +use crate::core::state::main_window_size::MainWindowSize; +use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; +use crate::core::threads::main_window_thread::persist_storyteller_cookies_task::persist_storyteller_cookies_task; +use crate::core::threads::main_window_thread::persist_window_position_task::persist_window_position_task; +use crate::core::threads::main_window_thread::persist_window_resize_task::persist_window_resize_task; use errors::AnyhowResult; use log::{error, info}; use memory_store::clone_slot::CloneSlot; diff --git a/crates/desktop/artcraft/src/threads/main_window_thread/mod.rs b/crates/desktop/artcraft/src/core/threads/main_window_thread/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/threads/main_window_thread/mod.rs rename to crates/desktop/artcraft/src/core/threads/main_window_thread/mod.rs diff --git a/crates/desktop/artcraft/src/threads/main_window_thread/persist_storyteller_cookies_task.rs b/crates/desktop/artcraft/src/core/threads/main_window_thread/persist_storyteller_cookies_task.rs similarity index 94% rename from crates/desktop/artcraft/src/threads/main_window_thread/persist_storyteller_cookies_task.rs rename to crates/desktop/artcraft/src/core/threads/main_window_thread/persist_storyteller_cookies_task.rs index 49c5c4bdf0..980e218e50 100644 --- a/crates/desktop/artcraft/src/threads/main_window_thread/persist_storyteller_cookies_task.rs +++ b/crates/desktop/artcraft/src/core/threads/main_window_thread/persist_storyteller_cookies_task.rs @@ -1,6 +1,6 @@ -use crate::state::app_startup_time::AppStartupTime; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::storyteller::storyteller_credential_manager::StorytellerCredentialManager; +use crate::core::state::app_startup_time::AppStartupTime; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; use anyhow::anyhow; use chrono::TimeDelta; use errors::AnyhowResult; diff --git a/crates/desktop/artcraft/src/threads/main_window_thread/persist_window_position_task.rs b/crates/desktop/artcraft/src/core/threads/main_window_thread/persist_window_position_task.rs similarity index 75% rename from crates/desktop/artcraft/src/threads/main_window_thread/persist_window_position_task.rs rename to crates/desktop/artcraft/src/core/threads/main_window_thread/persist_window_position_task.rs index 7abbe82869..4f67f559d3 100644 --- a/crates/desktop/artcraft/src/threads/main_window_thread/persist_window_position_task.rs +++ b/crates/desktop/artcraft/src/core/threads/main_window_thread/persist_window_position_task.rs @@ -1,7 +1,7 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::main_window_position::MainWindowPosition; -use crate::state::main_window_size::MainWindowSize; -use crate::utils::best_window_size_heuristic::best_window_size_heuristic; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::main_window_position::MainWindowPosition; +use crate::core::state::main_window_size::MainWindowSize; +use crate::core::utils::best_window_size_heuristic::best_window_size_heuristic; use errors::AnyhowResult; use log::info; use memory_store::clone_slot::CloneSlot; diff --git a/crates/desktop/artcraft/src/threads/main_window_thread/persist_window_resize_task.rs b/crates/desktop/artcraft/src/core/threads/main_window_thread/persist_window_resize_task.rs similarity index 80% rename from crates/desktop/artcraft/src/threads/main_window_thread/persist_window_resize_task.rs rename to crates/desktop/artcraft/src/core/threads/main_window_thread/persist_window_resize_task.rs index 3c842478f6..a64aaab6bb 100644 --- a/crates/desktop/artcraft/src/threads/main_window_thread/persist_window_resize_task.rs +++ b/crates/desktop/artcraft/src/core/threads/main_window_thread/persist_window_resize_task.rs @@ -1,6 +1,6 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::main_window_size::MainWindowSize; -use crate::utils::best_window_size_heuristic::best_window_size_heuristic; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::main_window_size::MainWindowSize; +use crate::core::utils::best_window_size_heuristic::best_window_size_heuristic; use errors::AnyhowResult; use log::info; use memory_store::clone_slot::CloneSlot; diff --git a/crates/desktop/artcraft/src/core/threads/mod.rs b/crates/desktop/artcraft/src/core/threads/mod.rs new file mode 100644 index 0000000000..80525f98bb --- /dev/null +++ b/crates/desktop/artcraft/src/core/threads/mod.rs @@ -0,0 +1,2 @@ +pub mod discord_presence_thread; +pub mod main_window_thread; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/utils/best_window_size_heuristic.rs b/crates/desktop/artcraft/src/core/utils/best_window_size_heuristic.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/best_window_size_heuristic.rs rename to crates/desktop/artcraft/src/core/utils/best_window_size_heuristic.rs diff --git a/crates/desktop/artcraft/src/utils/clear_all_webview_cookies.rs b/crates/desktop/artcraft/src/core/utils/clear_all_webview_cookies.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/clear_all_webview_cookies.rs rename to crates/desktop/artcraft/src/core/utils/clear_all_webview_cookies.rs diff --git a/crates/desktop/artcraft/src/utils/get_url_file_extension.rs b/crates/desktop/artcraft/src/core/utils/get_url_file_extension.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/get_url_file_extension.rs rename to crates/desktop/artcraft/src/core/utils/get_url_file_extension.rs diff --git a/crates/desktop/artcraft/src/utils/image/decode_base64_image.rs b/crates/desktop/artcraft/src/core/utils/image/decode_base64_image.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/image/decode_base64_image.rs rename to crates/desktop/artcraft/src/core/utils/image/decode_base64_image.rs diff --git a/crates/desktop/artcraft/src/utils/image/encode_dynamic_image_base64_png.rs b/crates/desktop/artcraft/src/core/utils/image/encode_dynamic_image_base64_png.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/image/encode_dynamic_image_base64_png.rs rename to crates/desktop/artcraft/src/core/utils/image/encode_dynamic_image_base64_png.rs diff --git a/crates/desktop/artcraft/src/utils/image/encode_rgb_image_base64_png.rs b/crates/desktop/artcraft/src/core/utils/image/encode_rgb_image_base64_png.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/image/encode_rgb_image_base64_png.rs rename to crates/desktop/artcraft/src/core/utils/image/encode_rgb_image_base64_png.rs diff --git a/crates/desktop/artcraft/src/utils/image/mod.rs b/crates/desktop/artcraft/src/core/utils/image/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/image/mod.rs rename to crates/desktop/artcraft/src/core/utils/image/mod.rs diff --git a/crates/desktop/artcraft/src/utils/large_file_transfer/download.rs b/crates/desktop/artcraft/src/core/utils/large_file_transfer/download.rs similarity index 97% rename from crates/desktop/artcraft/src/utils/large_file_transfer/download.rs rename to crates/desktop/artcraft/src/core/utils/large_file_transfer/download.rs index 2bd250d025..7b2130a0fa 100644 --- a/crates/desktop/artcraft/src/utils/large_file_transfer/download.rs +++ b/crates/desktop/artcraft/src/core/utils/large_file_transfer/download.rs @@ -1,7 +1,7 @@ //! Implemented from https://github.com/huggingface/hf_transfer/blob/main/src/lib.rs -use crate::utils::large_file_transfer::error::Error; -use crate::utils::large_file_transfer::util::{exponential_backoff, BASE_WAIT_TIME, MAX_WAIT_TIME}; +use crate::core::utils::large_file_transfer::error::Error; +use crate::core::utils::large_file_transfer::util::{exponential_backoff, BASE_WAIT_TIME, MAX_WAIT_TIME}; use futures::stream::FuturesUnordered; use futures::StreamExt; use log::info; diff --git a/crates/desktop/artcraft/src/utils/large_file_transfer/error.rs b/crates/desktop/artcraft/src/core/utils/large_file_transfer/error.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/large_file_transfer/error.rs rename to crates/desktop/artcraft/src/core/utils/large_file_transfer/error.rs diff --git a/crates/desktop/artcraft/src/utils/large_file_transfer/mod.rs b/crates/desktop/artcraft/src/core/utils/large_file_transfer/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/large_file_transfer/mod.rs rename to crates/desktop/artcraft/src/core/utils/large_file_transfer/mod.rs diff --git a/crates/desktop/artcraft/src/utils/large_file_transfer/upload.rs b/crates/desktop/artcraft/src/core/utils/large_file_transfer/upload.rs similarity index 97% rename from crates/desktop/artcraft/src/utils/large_file_transfer/upload.rs rename to crates/desktop/artcraft/src/core/utils/large_file_transfer/upload.rs index 3523a7747f..fc70ceb4f3 100644 --- a/crates/desktop/artcraft/src/utils/large_file_transfer/upload.rs +++ b/crates/desktop/artcraft/src/core/utils/large_file_transfer/upload.rs @@ -1,7 +1,7 @@ //! Implemented from https://github.com/huggingface/hf_transfer/blob/main/src/lib.rs -use crate::utils::large_file_transfer::error::Error; -use crate::utils::large_file_transfer::util::{exponential_backoff, BASE_WAIT_TIME, MAX_WAIT_TIME}; +use crate::core::utils::large_file_transfer::error::Error; +use crate::core::utils::large_file_transfer::util::{exponential_backoff, BASE_WAIT_TIME, MAX_WAIT_TIME}; use futures::stream::FuturesUnordered; use futures::StreamExt; use reqwest::header::CONTENT_LENGTH; diff --git a/crates/desktop/artcraft/src/utils/large_file_transfer/util.rs b/crates/desktop/artcraft/src/core/utils/large_file_transfer/util.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/large_file_transfer/util.rs rename to crates/desktop/artcraft/src/core/utils/large_file_transfer/util.rs diff --git a/crates/desktop/artcraft/src/utils/mod.rs b/crates/desktop/artcraft/src/core/utils/mod.rs similarity index 94% rename from crates/desktop/artcraft/src/utils/mod.rs rename to crates/desktop/artcraft/src/core/utils/mod.rs index 279b6badb4..6c77dfed2c 100644 --- a/crates/desktop/artcraft/src/utils/mod.rs +++ b/crates/desktop/artcraft/src/core/utils/mod.rs @@ -6,5 +6,4 @@ pub mod large_file_transfer; pub mod object_store; pub mod simple_http_download; pub mod simple_http_download_to_tempfile; -pub mod sora; pub mod webview_unsafe; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/utils/object_store.rs b/crates/desktop/artcraft/src/core/utils/object_store.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/object_store.rs rename to crates/desktop/artcraft/src/core/utils/object_store.rs diff --git a/crates/desktop/artcraft/src/utils/simple_http_download.rs b/crates/desktop/artcraft/src/core/utils/simple_http_download.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/simple_http_download.rs rename to crates/desktop/artcraft/src/core/utils/simple_http_download.rs diff --git a/crates/desktop/artcraft/src/utils/simple_http_download_to_tempfile.rs b/crates/desktop/artcraft/src/core/utils/simple_http_download_to_tempfile.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/simple_http_download_to_tempfile.rs rename to crates/desktop/artcraft/src/core/utils/simple_http_download_to_tempfile.rs diff --git a/crates/desktop/artcraft/src/utils/webview_unsafe.rs b/crates/desktop/artcraft/src/core/utils/webview_unsafe.rs similarity index 100% rename from crates/desktop/artcraft/src/utils/webview_unsafe.rs rename to crates/desktop/artcraft/src/core/utils/webview_unsafe.rs diff --git a/crates/desktop/artcraft/src/windows/main_window/constants.rs b/crates/desktop/artcraft/src/core/windows/main_window/constants.rs similarity index 100% rename from crates/desktop/artcraft/src/windows/main_window/constants.rs rename to crates/desktop/artcraft/src/core/windows/main_window/constants.rs diff --git a/crates/desktop/artcraft/src/windows/main_window/mod.rs b/crates/desktop/artcraft/src/core/windows/main_window/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/windows/main_window/mod.rs rename to crates/desktop/artcraft/src/core/windows/main_window/mod.rs diff --git a/crates/desktop/artcraft/src/core/windows/mod.rs b/crates/desktop/artcraft/src/core/windows/mod.rs new file mode 100644 index 0000000000..84cc560f4b --- /dev/null +++ b/crates/desktop/artcraft/src/core/windows/mod.rs @@ -0,0 +1 @@ +pub mod main_window; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/lib.rs b/crates/desktop/artcraft/src/lib.rs index 11964b5d80..4c40176377 100644 --- a/crates/desktop/artcraft/src/lib.rs +++ b/crates/desktop/artcraft/src/lib.rs @@ -1,39 +1,35 @@ -pub mod commands; -pub mod events; -pub mod state; -pub mod threads; -pub mod utils; -pub mod windows; +pub mod core; +pub mod services; use tauri::Manager; -use crate::commands::app_preferences::get_app_preferences_command::get_app_preferences_command; -use crate::commands::app_preferences::update_app_preference_command::update_app_preferences_command; -use crate::commands::fal::fal_background_removal_command::fal_background_removal_command; -use crate::commands::fal::fal_kling_image_to_video_command::fal_kling_image_to_video_command; -use crate::commands::fal::get_fal_api_key_command::get_fal_api_key_command; -use crate::commands::fal::set_fal_api_key_command::set_fal_api_key_command; -use crate::commands::flip_image::flip_image; -use crate::commands::platform_info_command::platform_info_command; -use crate::commands::sora::check_sora_session_command::check_sora_session_command; -use crate::commands::sora::open_sora_login_command::open_sora_login_command; -use crate::commands::sora::sora_image_generation_command::sora_image_generation_command; -use crate::commands::sora::sora_image_remix_command::sora_image_remix_command; -use crate::commands::sora::sora_logout_command::sora_logout_command; -use crate::state::app_preferences::app_preferences_manager::load_app_preferences_or_default; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::fal::fal_credential_manager::FalCredentialManager; -use crate::state::fal::fal_task_queue::FalTaskQueue; -use crate::state::main_window_position::MainWindowPosition; -use crate::state::main_window_size::MainWindowSize; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::state::sora::sora_task_queue::SoraTaskQueue; -use crate::state::storyteller::storyteller_credential_manager::StorytellerCredentialManager; -use crate::threads::discord_presence_thread::discord_presence_thread; -use crate::threads::fal_task_polling_thread::fal_task_polling_thread; -use crate::threads::main_window_thread::main_window_thread::main_window_thread; -use crate::threads::sora_task_polling_thread::sora_task_polling_thread; -use crate::utils::webview_unsafe::webview_unsafe_for_app; +use crate::core::commands::app_preferences::get_app_preferences_command::get_app_preferences_command; +use crate::core::commands::app_preferences::update_app_preference_command::update_app_preferences_command; +use crate::core::commands::flip_image::flip_image; +use crate::core::commands::platform_info_command::platform_info_command; +use crate::core::state::app_preferences::app_preferences_manager::load_app_preferences_or_default; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::main_window_position::MainWindowPosition; +use crate::core::state::main_window_size::MainWindowSize; +use crate::core::threads::discord_presence_thread::discord_presence_thread; +use crate::core::threads::main_window_thread::main_window_thread::main_window_thread; +use crate::core::utils::webview_unsafe::webview_unsafe_for_app; +use crate::services::fal::commands::fal_background_removal_command::fal_background_removal_command; +use crate::services::fal::commands::fal_kling_image_to_video_command::fal_kling_image_to_video_command; +use crate::services::fal::commands::get_fal_api_key_command::get_fal_api_key_command; +use crate::services::fal::commands::set_fal_api_key_command::set_fal_api_key_command; +use crate::services::fal::state::fal_credential_manager::FalCredentialManager; +use crate::services::fal::state::fal_task_queue::FalTaskQueue; +use crate::services::fal::threads::fal_task_polling_thread::fal_task_polling_thread; +use crate::services::sora::commands::check_sora_session_command::check_sora_session_command; +use crate::services::sora::commands::open_sora_login_command::open_sora_login_command; +use crate::services::sora::commands::sora_image_generation_command::sora_image_generation_command; +use crate::services::sora::commands::sora_image_remix_command::sora_image_remix_command; +use crate::services::sora::commands::sora_logout_command::sora_logout_command; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::services::sora::state::sora_task_queue::SoraTaskQueue; +use crate::services::sora::threads::sora_task_polling_thread::sora_task_polling_thread; +use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; use tauri_plugin_dialog; use tauri_plugin_http; diff --git a/crates/desktop/artcraft/src/commands/fal/fal_background_removal_command.rs b/crates/desktop/artcraft/src/services/fal/commands/fal_background_removal_command.rs similarity index 88% rename from crates/desktop/artcraft/src/commands/fal/fal_background_removal_command.rs rename to crates/desktop/artcraft/src/services/fal/commands/fal_background_removal_command.rs index fffcf8d7b2..b6f17b9cb8 100644 --- a/crates/desktop/artcraft/src/commands/fal/fal_background_removal_command.rs +++ b/crates/desktop/artcraft/src/services/fal/commands/fal_background_removal_command.rs @@ -1,24 +1,25 @@ -use crate::commands::command_response_wrapper::{CommandErrorResponseWrapper, CommandErrorStatus, CommandResult, SerializeMarker}; -use crate::events::sendable_event_trait::SendableEvent; -use crate::events::sora::sora_image_enqueue_failure_event::SoraImageEnqueueFailureEvent; -use crate::events::sora::sora_image_enqueue_success_event::SoraImageEnqueueSuccessEvent; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::data_dir::trait_data_subdir::DataSubdir; -use crate::state::fal::fal_credential_manager::FalCredentialManager; -use crate::state::sora::read_sora_credentials_from_disk::read_sora_credentials_from_disk; -use crate::state::sora::sora_credential_holder::SoraCredentialHolder; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::state::sora::sora_task_queue::SoraTaskQueue; -use crate::state::storyteller::storyteller_credential_manager::StorytellerCredentialManager; -use crate::utils::get_url_file_extension::get_url_file_extension; -use crate::utils::simple_http_download::simple_http_download; -use crate::utils::simple_http_download_to_tempfile::simple_http_download_to_tempfile; +use crate::core::commands::command_response_wrapper::{CommandErrorResponseWrapper, CommandErrorStatus, CommandResult, SerializeMarker}; +use crate::core::events::sendable_event_trait::SendableEvent; +use crate::services::sora::events::sora_image_enqueue_failure_event::SoraImageEnqueueFailureEvent; +use crate::services::sora::events::sora_image_enqueue_success_event::SoraImageEnqueueSuccessEvent; +use crate::services::fal::state::fal_credential_manager::FalCredentialManager; +use crate::services::sora::state::read_sora_credentials_from_disk::read_sora_credentials_from_disk; +use crate::services::sora::state::sora_credential_holder::SoraCredentialHolder; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::services::sora::state::sora_task_queue::SoraTaskQueue; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; +use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; +use crate::core::utils::get_url_file_extension::get_url_file_extension; +use crate::core::utils::simple_http_download::simple_http_download; +use crate::core::utils::simple_http_download_to_tempfile::simple_http_download_to_tempfile; use anyhow::anyhow; use base64::prelude::BASE64_STANDARD; use base64::{DecodeError, Engine}; use errors::{AnyhowError, AnyhowResult}; use fal_client::fal_error_plus::FalErrorPlus; use fal_client::requests::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}; use log::{debug, error, info, warn}; @@ -47,7 +48,6 @@ use storyteller_client::media_files::upload_image_media_file_from_file::upload_i use storyteller_client::utils::api_host::ApiHost; use tauri::{AppHandle, Emitter, Manager, State}; use tempfile::NamedTempFile; -use filesys::file_read_bytes::file_read_bytes; use tokens::tokens::media_files::MediaFileToken; #[derive(Deserialize)] diff --git a/crates/desktop/artcraft/src/commands/fal/fal_kling_image_to_video_command.rs b/crates/desktop/artcraft/src/services/fal/commands/fal_kling_image_to_video_command.rs similarity index 86% rename from crates/desktop/artcraft/src/commands/fal/fal_kling_image_to_video_command.rs rename to crates/desktop/artcraft/src/services/fal/commands/fal_kling_image_to_video_command.rs index faea972b96..dc17bee2d8 100644 --- a/crates/desktop/artcraft/src/commands/fal/fal_kling_image_to_video_command.rs +++ b/crates/desktop/artcraft/src/services/fal/commands/fal_kling_image_to_video_command.rs @@ -1,24 +1,27 @@ -use crate::commands::command_response_wrapper::{CommandErrorResponseWrapper, CommandErrorStatus, CommandResult, SerializeMarker}; -use crate::events::sendable_event_trait::SendableEvent; -use crate::events::sora::sora_image_enqueue_failure_event::SoraImageEnqueueFailureEvent; -use crate::events::sora::sora_image_enqueue_success_event::SoraImageEnqueueSuccessEvent; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::data_dir::trait_data_subdir::DataSubdir; -use crate::state::fal::fal_credential_manager::FalCredentialManager; -use crate::state::sora::read_sora_credentials_from_disk::read_sora_credentials_from_disk; -use crate::state::sora::sora_credential_holder::SoraCredentialHolder; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::state::sora::sora_task_queue::SoraTaskQueue; -use crate::state::storyteller::storyteller_credential_manager::StorytellerCredentialManager; -use crate::utils::get_url_file_extension::get_url_file_extension; -use crate::utils::simple_http_download::simple_http_download; -use crate::utils::simple_http_download_to_tempfile::simple_http_download_to_tempfile; +use crate::core::commands::command_response_wrapper::{CommandErrorResponseWrapper, CommandErrorStatus, CommandResult, SerializeMarker}; +use crate::core::events::sendable_event_trait::SendableEvent; +use crate::services::sora::events::sora_image_enqueue_failure_event::SoraImageEnqueueFailureEvent; +use crate::services::sora::events::sora_image_enqueue_success_event::SoraImageEnqueueSuccessEvent; +use crate::services::fal::state::fal_credential_manager::FalCredentialManager; +use crate::services::fal::state::fal_task_queue::FalTaskQueue; +use crate::services::sora::state::read_sora_credentials_from_disk::read_sora_credentials_from_disk; +use crate::services::sora::state::sora_credential_holder::SoraCredentialHolder; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::services::sora::state::sora_task_queue::SoraTaskQueue; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; +use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; +use crate::core::utils::get_url_file_extension::get_url_file_extension; +use crate::core::utils::simple_http_download::simple_http_download; +use crate::core::utils::simple_http_download_to_tempfile::simple_http_download_to_tempfile; use anyhow::anyhow; use base64::prelude::BASE64_STANDARD; use base64::{DecodeError, Engine}; use errors::{AnyhowError, AnyhowResult}; use fal_client::fal_error_plus::FalErrorPlus; +use fal_client::requests::enqueue_kling_16_image_to_video::{enqueue_kling_16_image_to_video, Kling16Args, Kling16Duration}; use fal_client::requests::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}; use log::{debug, error, info, warn}; @@ -47,10 +50,7 @@ use storyteller_client::media_files::upload_image_media_file_from_file::upload_i use storyteller_client::utils::api_host::ApiHost; use tauri::{AppHandle, Emitter, Manager, State}; use tempfile::NamedTempFile; -use fal_client::requests::enqueue_kling_16_image_to_video::{enqueue_kling_16_image_to_video, Kling16Args, Kling16Duration}; -use filesys::file_read_bytes::file_read_bytes; use tokens::tokens::media_files::MediaFileToken; -use crate::state::fal::fal_task_queue::FalTaskQueue; #[derive(Deserialize)] pub struct FalKlingImageToVideoRequest { diff --git a/crates/desktop/artcraft/src/commands/fal/get_fal_api_key_command.rs b/crates/desktop/artcraft/src/services/fal/commands/get_fal_api_key_command.rs similarity index 72% rename from crates/desktop/artcraft/src/commands/fal/get_fal_api_key_command.rs rename to crates/desktop/artcraft/src/services/fal/commands/get_fal_api_key_command.rs index 4f7147cc7c..32aca9cc25 100644 --- a/crates/desktop/artcraft/src/commands/fal/get_fal_api_key_command.rs +++ b/crates/desktop/artcraft/src/services/fal/commands/get_fal_api_key_command.rs @@ -1,8 +1,8 @@ -use crate::commands::command_response_wrapper::{CommandResult, SerializeMarker}; -use crate::state::app_preferences::app_preferences_manager::AppPreferencesManager; -use crate::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::fal::fal_credential_manager::FalCredentialManager; +use crate::core::commands::command_response_wrapper::{CommandResult, SerializeMarker}; +use crate::services::fal::state::fal_credential_manager::FalCredentialManager; +use crate::core::state::app_preferences::app_preferences_manager::AppPreferencesManager; +use crate::core::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use errors::AnyhowResult; use fal_client::creds::fal_api_key::FalApiKey; diff --git a/crates/desktop/artcraft/src/commands/fal/mod.rs b/crates/desktop/artcraft/src/services/fal/commands/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/commands/fal/mod.rs rename to crates/desktop/artcraft/src/services/fal/commands/mod.rs diff --git a/crates/desktop/artcraft/src/commands/fal/set_fal_api_key_command.rs b/crates/desktop/artcraft/src/services/fal/commands/set_fal_api_key_command.rs similarity index 76% rename from crates/desktop/artcraft/src/commands/fal/set_fal_api_key_command.rs rename to crates/desktop/artcraft/src/services/fal/commands/set_fal_api_key_command.rs index 976a774307..9504bde14a 100644 --- a/crates/desktop/artcraft/src/commands/fal/set_fal_api_key_command.rs +++ b/crates/desktop/artcraft/src/services/fal/commands/set_fal_api_key_command.rs @@ -1,8 +1,8 @@ -use crate::commands::command_response_wrapper::CommandResult; -use crate::state::app_preferences::app_preferences_manager::AppPreferencesManager; -use crate::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::fal::fal_credential_manager::FalCredentialManager; +use crate::core::commands::command_response_wrapper::CommandResult; +use crate::services::fal::state::fal_credential_manager::FalCredentialManager; +use crate::core::state::app_preferences::app_preferences_manager::AppPreferencesManager; +use crate::core::state::app_preferences::preferred_download_directory::PreferredDownloadDirectory; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use errors::AnyhowResult; use fal_client::creds::fal_api_key::FalApiKey; diff --git a/crates/desktop/artcraft/src/services/fal/mod.rs b/crates/desktop/artcraft/src/services/fal/mod.rs new file mode 100644 index 0000000000..2e33656fb0 --- /dev/null +++ b/crates/desktop/artcraft/src/services/fal/mod.rs @@ -0,0 +1,3 @@ +pub mod commands; +pub mod state; +pub mod threads; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/state/fal/fal_credential_manager.rs b/crates/desktop/artcraft/src/services/fal/state/fal_credential_manager.rs similarity index 94% rename from crates/desktop/artcraft/src/state/fal/fal_credential_manager.rs rename to crates/desktop/artcraft/src/services/fal/state/fal_credential_manager.rs index 95ba34c74b..244e375328 100644 --- a/crates/desktop/artcraft/src/state/fal/fal_credential_manager.rs +++ b/crates/desktop/artcraft/src/services/fal/state/fal_credential_manager.rs @@ -1,5 +1,5 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::fal::read_fal_api_key_from_disk::read_fal_api_key_from_disk; +use crate::services::fal::state::read_fal_api_key_from_disk::read_fal_api_key_from_disk; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use errors::AnyhowResult; use fal_client::creds::fal_api_key::FalApiKey; diff --git a/crates/desktop/artcraft/src/state/fal/fal_task_queue.rs b/crates/desktop/artcraft/src/services/fal/state/fal_task_queue.rs similarity index 100% rename from crates/desktop/artcraft/src/state/fal/fal_task_queue.rs rename to crates/desktop/artcraft/src/services/fal/state/fal_task_queue.rs diff --git a/crates/desktop/artcraft/src/state/fal/mod.rs b/crates/desktop/artcraft/src/services/fal/state/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/state/fal/mod.rs rename to crates/desktop/artcraft/src/services/fal/state/mod.rs diff --git a/crates/desktop/artcraft/src/state/fal/read_fal_api_key_from_disk.rs b/crates/desktop/artcraft/src/services/fal/state/read_fal_api_key_from_disk.rs similarity index 89% rename from crates/desktop/artcraft/src/state/fal/read_fal_api_key_from_disk.rs rename to crates/desktop/artcraft/src/services/fal/state/read_fal_api_key_from_disk.rs index e19ede95c0..57be2cfbfa 100644 --- a/crates/desktop/artcraft/src/state/fal/read_fal_api_key_from_disk.rs +++ b/crates/desktop/artcraft/src/services/fal/state/read_fal_api_key_from_disk.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use errors::AnyhowResult; use fal_client::creds::fal_api_key::FalApiKey; diff --git a/crates/desktop/artcraft/src/threads/fal_task_polling_thread.rs b/crates/desktop/artcraft/src/services/fal/threads/fal_task_polling_thread.rs similarity index 90% rename from crates/desktop/artcraft/src/threads/fal_task_polling_thread.rs rename to crates/desktop/artcraft/src/services/fal/threads/fal_task_polling_thread.rs index 23c2c8b4dd..7a95e691ca 100644 --- a/crates/desktop/artcraft/src/threads/fal_task_polling_thread.rs +++ b/crates/desktop/artcraft/src/services/fal/threads/fal_task_polling_thread.rs @@ -1,12 +1,12 @@ -use crate::events::sendable_event_trait::SendableEvent; -use crate::events::sora::sora_image_generation_complete_event::SoraImageGenerationCompleteEvent; -use crate::events::sora::sora_image_generation_failed_event::SoraImageGenerationFailedEvent; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::data_dir::trait_data_subdir::DataSubdir; -use crate::state::fal::fal_credential_manager::FalCredentialManager; -use crate::state::fal::fal_task_queue::FalTaskQueue; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::state::storyteller::storyteller_credential_manager::StorytellerCredentialManager; +use crate::core::events::sendable_event_trait::SendableEvent; +use crate::services::sora::events::sora_image_generation_complete_event::SoraImageGenerationCompleteEvent; +use crate::services::sora::events::sora_image_generation_failed_event::SoraImageGenerationFailedEvent; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; +use crate::services::fal::state::fal_credential_manager::FalCredentialManager; +use crate::services::fal::state::fal_task_queue::FalTaskQueue; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; use errors::AnyhowResult; use fal_client::export::queue::Status; use fal_client::fal_error_plus::FalErrorPlus; diff --git a/crates/desktop/artcraft/src/services/fal/threads/mod.rs b/crates/desktop/artcraft/src/services/fal/threads/mod.rs new file mode 100644 index 0000000000..725a68337f --- /dev/null +++ b/crates/desktop/artcraft/src/services/fal/threads/mod.rs @@ -0,0 +1 @@ +pub mod fal_task_polling_thread; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/services/mod.rs b/crates/desktop/artcraft/src/services/mod.rs new file mode 100644 index 0000000000..8b92875ecb --- /dev/null +++ b/crates/desktop/artcraft/src/services/mod.rs @@ -0,0 +1,3 @@ +pub mod fal; +pub mod sora; +pub mod storyteller; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/commands/sora/check_sora_session_command.rs b/crates/desktop/artcraft/src/services/sora/commands/check_sora_session_command.rs similarity index 87% rename from crates/desktop/artcraft/src/commands/sora/check_sora_session_command.rs rename to crates/desktop/artcraft/src/services/sora/commands/check_sora_session_command.rs index 35aea32e98..afe9bad6e7 100644 --- a/crates/desktop/artcraft/src/commands/sora/check_sora_session_command.rs +++ b/crates/desktop/artcraft/src/services/sora/commands/check_sora_session_command.rs @@ -1,10 +1,9 @@ -use std::ops::Add; +use crate::core::commands::app_preferences::get_app_preferences_command::AppPreferencesPayload; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::core::state::app_preferences::app_preferences_manager::AppPreferencesManager; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::services::sora::windows::sora_login_window::open_sora_login_window::open_sora_login_window; use chrono::{DateTime, TimeDelta, Utc}; -use crate::commands::app_preferences::get_app_preferences_command::AppPreferencesPayload; -use crate::state::app_preferences::app_preferences_manager::AppPreferencesManager; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::windows::sora_login_window::open_sora_login_window::open_sora_login_window; use errors::AnyhowResult; use log::{error, info}; use once_cell::sync::Lazy; @@ -12,6 +11,7 @@ use openai_sora_client::creds::sora_credential_set::SoraCredentialSet; use openai_sora_client::recipes::maybe_upgrade_or_renew_session::maybe_upgrade_or_renew_session; use openai_sora_client::requests::list_media::list_media::list_media; use serde_derive::Serialize; +use std::ops::Add; use tauri::{AppHandle, State}; const CACHE_PERIOD : TimeDelta = TimeDelta::milliseconds(1000 * 60 * 5); // 5 minutes diff --git a/crates/desktop/artcraft/src/commands/sora/mod.rs b/crates/desktop/artcraft/src/services/sora/commands/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/commands/sora/mod.rs rename to crates/desktop/artcraft/src/services/sora/commands/mod.rs diff --git a/crates/desktop/artcraft/src/commands/sora/open_sora_login_command.rs b/crates/desktop/artcraft/src/services/sora/commands/open_sora_login_command.rs similarity index 71% rename from crates/desktop/artcraft/src/commands/sora/open_sora_login_command.rs rename to crates/desktop/artcraft/src/services/sora/commands/open_sora_login_command.rs index d60ea4192b..1fe9316704 100644 --- a/crates/desktop/artcraft/src/commands/sora/open_sora_login_command.rs +++ b/crates/desktop/artcraft/src/services/sora/commands/open_sora_login_command.rs @@ -1,7 +1,7 @@ -use crate::state::app_preferences::app_preferences_manager::AppPreferencesManager; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::windows::sora_login_window::open_sora_login_window::open_sora_login_window; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::core::state::app_preferences::app_preferences_manager::AppPreferencesManager; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::services::sora::windows::sora_login_window::open_sora_login_window::open_sora_login_window; use errors::AnyhowResult; use log::{error, info}; use once_cell::sync::Lazy; diff --git a/crates/desktop/artcraft/src/commands/sora/sora_image_generation_command.rs b/crates/desktop/artcraft/src/services/sora/commands/sora_image_generation_command.rs similarity index 92% rename from crates/desktop/artcraft/src/commands/sora/sora_image_generation_command.rs rename to crates/desktop/artcraft/src/services/sora/commands/sora_image_generation_command.rs index 1eeea144bc..9684f1ad57 100644 --- a/crates/desktop/artcraft/src/commands/sora/sora_image_generation_command.rs +++ b/crates/desktop/artcraft/src/services/sora/commands/sora_image_generation_command.rs @@ -1,6 +1,6 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::sora::read_sora_credentials_from_disk::read_sora_credentials_from_disk; -use crate::state::sora::sora_credential_holder::SoraCredentialHolder; +use crate::services::sora::state::read_sora_credentials_from_disk::read_sora_credentials_from_disk; +use crate::services::sora::state::sora_credential_holder::SoraCredentialHolder; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use base64::prelude::BASE64_STANDARD; use base64::Engine; use errors::AnyhowResult; diff --git a/crates/desktop/artcraft/src/commands/sora/sora_image_remix_command.rs b/crates/desktop/artcraft/src/services/sora/commands/sora_image_remix_command.rs similarity index 90% rename from crates/desktop/artcraft/src/commands/sora/sora_image_remix_command.rs rename to crates/desktop/artcraft/src/services/sora/commands/sora_image_remix_command.rs index f86eae9e33..1e23b3d9dc 100644 --- a/crates/desktop/artcraft/src/commands/sora/sora_image_remix_command.rs +++ b/crates/desktop/artcraft/src/services/sora/commands/sora_image_remix_command.rs @@ -1,15 +1,15 @@ -use crate::commands::command_response_wrapper::{CommandErrorResponseWrapper, CommandErrorStatus, CommandResult}; -use crate::events::sendable_event_trait::SendableEvent; -use crate::events::sora::sora_image_enqueue_failure_event::SoraImageEnqueueFailureEvent; -use crate::events::sora::sora_image_enqueue_success_event::SoraImageEnqueueSuccessEvent; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::data_dir::trait_data_subdir::DataSubdir; -use crate::state::sora::read_sora_credentials_from_disk::read_sora_credentials_from_disk; -use crate::state::sora::sora_credential_holder::SoraCredentialHolder; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::state::sora::sora_task_queue::SoraTaskQueue; -use crate::utils::get_url_file_extension::get_url_file_extension; -use crate::utils::simple_http_download::simple_http_download; +use crate::core::commands::command_response_wrapper::{CommandErrorResponseWrapper, CommandErrorStatus, CommandResult}; +use crate::core::events::sendable_event_trait::SendableEvent; +use crate::services::sora::events::sora_image_enqueue_failure_event::SoraImageEnqueueFailureEvent; +use crate::services::sora::events::sora_image_enqueue_success_event::SoraImageEnqueueSuccessEvent; +use crate::services::sora::state::read_sora_credentials_from_disk::read_sora_credentials_from_disk; +use crate::services::sora::state::sora_credential_holder::SoraCredentialHolder; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::services::sora::state::sora_task_queue::SoraTaskQueue; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; +use crate::core::utils::get_url_file_extension::get_url_file_extension; +use crate::core::utils::simple_http_download::simple_http_download; use base64::prelude::BASE64_STANDARD; use base64::Engine; use errors::{AnyhowError, AnyhowResult}; diff --git a/crates/desktop/artcraft/src/commands/sora/sora_logout_command.rs b/crates/desktop/artcraft/src/services/sora/commands/sora_logout_command.rs similarity index 68% rename from crates/desktop/artcraft/src/commands/sora/sora_logout_command.rs rename to crates/desktop/artcraft/src/services/sora/commands/sora_logout_command.rs index 531fee02f6..40231db0e5 100644 --- a/crates/desktop/artcraft/src/commands/sora/sora_logout_command.rs +++ b/crates/desktop/artcraft/src/services/sora/commands/sora_logout_command.rs @@ -1,9 +1,9 @@ -use crate::commands::app_preferences::get_app_preferences_command::AppPreferencesPayload; -use crate::commands::command_response_wrapper::{CommandResult, CommandSuccessResponseWrapper, SimpleCommandResult}; -use crate::state::app_preferences::app_preferences_manager::AppPreferencesManager; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::windows::sora_login_window::open_sora_login_window::open_sora_login_window; +use crate::core::commands::app_preferences::get_app_preferences_command::AppPreferencesPayload; +use crate::core::commands::command_response_wrapper::{CommandResult, CommandSuccessResponseWrapper, SimpleCommandResult}; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::core::state::app_preferences::app_preferences_manager::AppPreferencesManager; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::services::sora::windows::sora_login_window::open_sora_login_window::open_sora_login_window; use errors::{AnyhowError, AnyhowResult}; use log::{error, info}; use once_cell::sync::Lazy; diff --git a/crates/desktop/artcraft/src/events/sora/mod.rs b/crates/desktop/artcraft/src/services/sora/events/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/events/sora/mod.rs rename to crates/desktop/artcraft/src/services/sora/events/mod.rs diff --git a/crates/desktop/artcraft/src/events/sora/sora_image_enqueue_failure_event.rs b/crates/desktop/artcraft/src/services/sora/events/sora_image_enqueue_failure_event.rs similarity index 80% rename from crates/desktop/artcraft/src/events/sora/sora_image_enqueue_failure_event.rs rename to crates/desktop/artcraft/src/services/sora/events/sora_image_enqueue_failure_event.rs index c8317b088b..fec2a81cd6 100644 --- a/crates/desktop/artcraft/src/events/sora/sora_image_enqueue_failure_event.rs +++ b/crates/desktop/artcraft/src/services/sora/events/sora_image_enqueue_failure_event.rs @@ -1,4 +1,4 @@ -use crate::events::sendable_event_trait::SendableEvent; +use crate::core::events::sendable_event_trait::SendableEvent; use serde_derive::Serialize; #[derive(Debug, Clone, Serialize)] diff --git a/crates/desktop/artcraft/src/events/sora/sora_image_enqueue_success_event.rs b/crates/desktop/artcraft/src/services/sora/events/sora_image_enqueue_success_event.rs similarity index 80% rename from crates/desktop/artcraft/src/events/sora/sora_image_enqueue_success_event.rs rename to crates/desktop/artcraft/src/services/sora/events/sora_image_enqueue_success_event.rs index 7d3a8b6a9d..1a5c67e9ee 100644 --- a/crates/desktop/artcraft/src/events/sora/sora_image_enqueue_success_event.rs +++ b/crates/desktop/artcraft/src/services/sora/events/sora_image_enqueue_success_event.rs @@ -1,4 +1,4 @@ -use crate::events::sendable_event_trait::SendableEvent; +use crate::core::events::sendable_event_trait::SendableEvent; use serde_derive::Serialize; #[derive(Debug, Clone, Serialize)] diff --git a/crates/desktop/artcraft/src/events/sora/sora_image_generation_complete_event.rs b/crates/desktop/artcraft/src/services/sora/events/sora_image_generation_complete_event.rs similarity index 84% rename from crates/desktop/artcraft/src/events/sora/sora_image_generation_complete_event.rs rename to crates/desktop/artcraft/src/services/sora/events/sora_image_generation_complete_event.rs index 09cddf624d..0286116814 100644 --- a/crates/desktop/artcraft/src/events/sora/sora_image_generation_complete_event.rs +++ b/crates/desktop/artcraft/src/services/sora/events/sora_image_generation_complete_event.rs @@ -1,6 +1,6 @@ use serde_derive::Serialize; use tokens::tokens::media_files::MediaFileToken; -use crate::events::sendable_event_trait::SendableEvent; +use crate::core::events::sendable_event_trait::SendableEvent; #[derive(Debug, Clone, Serialize)] pub struct SoraImageGenerationCompleteEvent { diff --git a/crates/desktop/artcraft/src/events/sora/sora_image_generation_failed_event.rs b/crates/desktop/artcraft/src/services/sora/events/sora_image_generation_failed_event.rs similarity index 81% rename from crates/desktop/artcraft/src/events/sora/sora_image_generation_failed_event.rs rename to crates/desktop/artcraft/src/services/sora/events/sora_image_generation_failed_event.rs index 6a4a20f79a..1f788edba7 100644 --- a/crates/desktop/artcraft/src/events/sora/sora_image_generation_failed_event.rs +++ b/crates/desktop/artcraft/src/services/sora/events/sora_image_generation_failed_event.rs @@ -1,5 +1,5 @@ use serde_derive::Serialize; -use crate::events::sendable_event_trait::SendableEvent; +use crate::core::events::sendable_event_trait::SendableEvent; #[derive(Debug, Clone, Serialize)] pub struct SoraImageGenerationFailedEvent { diff --git a/crates/desktop/artcraft/src/events/sora/sora_login_success_event.rs b/crates/desktop/artcraft/src/services/sora/events/sora_login_success_event.rs similarity index 79% rename from crates/desktop/artcraft/src/events/sora/sora_login_success_event.rs rename to crates/desktop/artcraft/src/services/sora/events/sora_login_success_event.rs index b64f70115c..cd09847a48 100644 --- a/crates/desktop/artcraft/src/events/sora/sora_login_success_event.rs +++ b/crates/desktop/artcraft/src/services/sora/events/sora_login_success_event.rs @@ -1,4 +1,4 @@ -use crate::events::sendable_event_trait::SendableEvent; +use crate::core::events::sendable_event_trait::SendableEvent; use serde_derive::Serialize; #[derive(Debug, Clone, Serialize)] diff --git a/crates/desktop/artcraft/src/services/sora/mod.rs b/crates/desktop/artcraft/src/services/sora/mod.rs new file mode 100644 index 0000000000..c352ff453a --- /dev/null +++ b/crates/desktop/artcraft/src/services/sora/mod.rs @@ -0,0 +1,5 @@ +pub mod commands; +pub mod events; +pub mod state; +pub mod threads; +pub mod windows; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/utils/sora/initialize_sora_jwt_bearer_token.rs b/crates/desktop/artcraft/src/services/sora/state/initialize_sora_jwt_bearer_token.rs similarity index 93% rename from crates/desktop/artcraft/src/utils/sora/initialize_sora_jwt_bearer_token.rs rename to crates/desktop/artcraft/src/services/sora/state/initialize_sora_jwt_bearer_token.rs index 307b48d6b7..9830e87b8b 100644 --- a/crates/desktop/artcraft/src/utils/sora/initialize_sora_jwt_bearer_token.rs +++ b/crates/desktop/artcraft/src/services/sora/state/initialize_sora_jwt_bearer_token.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use errors::AnyhowResult; use log::info; diff --git a/crates/desktop/artcraft/src/state/sora/mod.rs b/crates/desktop/artcraft/src/services/sora/state/mod.rs similarity index 83% rename from crates/desktop/artcraft/src/state/sora/mod.rs rename to crates/desktop/artcraft/src/services/sora/state/mod.rs index 5a0e3cc740..ddc54a9f97 100644 --- a/crates/desktop/artcraft/src/state/sora/mod.rs +++ b/crates/desktop/artcraft/src/services/sora/state/mod.rs @@ -1,3 +1,4 @@ +pub mod initialize_sora_jwt_bearer_token; pub mod read_sora_credentials_from_disk; pub mod read_sora_credentials_from_disk_with_upgrade; pub mod sora_credential_holder; diff --git a/crates/desktop/artcraft/src/state/sora/read_sora_credentials_from_disk.rs b/crates/desktop/artcraft/src/services/sora/state/read_sora_credentials_from_disk.rs similarity index 95% rename from crates/desktop/artcraft/src/state/sora/read_sora_credentials_from_disk.rs rename to crates/desktop/artcraft/src/services/sora/state/read_sora_credentials_from_disk.rs index ac373220c0..be37700346 100644 --- a/crates/desktop/artcraft/src/state/sora/read_sora_credentials_from_disk.rs +++ b/crates/desktop/artcraft/src/services/sora/state/read_sora_credentials_from_disk.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use errors::AnyhowResult; use openai_sora_client::creds::sora_cookies::SoraCookies; diff --git a/crates/desktop/artcraft/src/state/sora/read_sora_credentials_from_disk_with_upgrade.rs b/crates/desktop/artcraft/src/services/sora/state/read_sora_credentials_from_disk_with_upgrade.rs similarity index 97% rename from crates/desktop/artcraft/src/state/sora/read_sora_credentials_from_disk_with_upgrade.rs rename to crates/desktop/artcraft/src/services/sora/state/read_sora_credentials_from_disk_with_upgrade.rs index 8f52abc008..14bf06ab95 100644 --- a/crates/desktop/artcraft/src/state/sora/read_sora_credentials_from_disk_with_upgrade.rs +++ b/crates/desktop/artcraft/src/services/sora/state/read_sora_credentials_from_disk_with_upgrade.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use errors::AnyhowResult; use log::{info, warn}; diff --git a/crates/desktop/artcraft/src/state/sora/sora_credential_holder.rs b/crates/desktop/artcraft/src/services/sora/state/sora_credential_holder.rs similarity index 100% rename from crates/desktop/artcraft/src/state/sora/sora_credential_holder.rs rename to crates/desktop/artcraft/src/services/sora/state/sora_credential_holder.rs diff --git a/crates/desktop/artcraft/src/state/sora/sora_credential_manager.rs b/crates/desktop/artcraft/src/services/sora/state/sora_credential_manager.rs similarity index 95% rename from crates/desktop/artcraft/src/state/sora/sora_credential_manager.rs rename to crates/desktop/artcraft/src/services/sora/state/sora_credential_manager.rs index 13b62b9f2a..ad60a02fc0 100644 --- a/crates/desktop/artcraft/src/state/sora/sora_credential_manager.rs +++ b/crates/desktop/artcraft/src/services/sora/state/sora_credential_manager.rs @@ -1,7 +1,7 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::sora::read_sora_credentials_from_disk::read_sora_credentials_from_disk; -use crate::state::sora::sora_credential_holder::SoraCredentialHolder; -use crate::state::sora::sora_credential_stats::SoraCredentialStats; +use crate::services::sora::state::read_sora_credentials_from_disk::read_sora_credentials_from_disk; +use crate::services::sora::state::sora_credential_holder::SoraCredentialHolder; +use crate::services::sora::state::sora_credential_stats::SoraCredentialStats; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use errors::AnyhowResult; use log::{error, info, warn}; diff --git a/crates/desktop/artcraft/src/state/sora/sora_credential_stats.rs b/crates/desktop/artcraft/src/services/sora/state/sora_credential_stats.rs similarity index 100% rename from crates/desktop/artcraft/src/state/sora/sora_credential_stats.rs rename to crates/desktop/artcraft/src/services/sora/state/sora_credential_stats.rs diff --git a/crates/desktop/artcraft/src/state/sora/sora_task_queue.rs b/crates/desktop/artcraft/src/services/sora/state/sora_task_queue.rs similarity index 98% rename from crates/desktop/artcraft/src/state/sora/sora_task_queue.rs rename to crates/desktop/artcraft/src/services/sora/state/sora_task_queue.rs index 10a5a1c025..1fe8022dc5 100644 --- a/crates/desktop/artcraft/src/state/sora/sora_task_queue.rs +++ b/crates/desktop/artcraft/src/services/sora/state/sora_task_queue.rs @@ -1,8 +1,8 @@ -use std::collections::HashSet; use chrono::{DateTime, Utc}; use errors::AnyhowResult; use indexmap::IndexMap; use openai_sora_client::requests::image_gen::image_gen_status::TaskId; +use std::collections::HashSet; use std::sync::{Arc, RwLock}; #[derive(Clone)] @@ -152,9 +152,9 @@ impl SoraTaskQueue { #[cfg(test)] mod tests { + use crate::services::sora::state::sora_task_queue::SoraTaskQueue; use errors::AnyhowResult; use openai_sora_client::requests::image_gen::image_gen_status::TaskId; - use crate::state::sora::sora_task_queue::SoraTaskQueue; #[test] fn remove_list() -> AnyhowResult<()> { diff --git a/crates/desktop/artcraft/src/services/sora/threads/mod.rs b/crates/desktop/artcraft/src/services/sora/threads/mod.rs new file mode 100644 index 0000000000..e55d113fad --- /dev/null +++ b/crates/desktop/artcraft/src/services/sora/threads/mod.rs @@ -0,0 +1 @@ +pub mod sora_task_polling_thread; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/threads/sora_task_polling_thread.rs b/crates/desktop/artcraft/src/services/sora/threads/sora_task_polling_thread.rs similarity index 88% rename from crates/desktop/artcraft/src/threads/sora_task_polling_thread.rs rename to crates/desktop/artcraft/src/services/sora/threads/sora_task_polling_thread.rs index da8cddcbb8..f0689c144c 100644 --- a/crates/desktop/artcraft/src/threads/sora_task_polling_thread.rs +++ b/crates/desktop/artcraft/src/services/sora/threads/sora_task_polling_thread.rs @@ -1,11 +1,11 @@ -use crate::events::sendable_event_trait::SendableEvent; -use crate::events::sora::sora_image_generation_complete_event::SoraImageGenerationCompleteEvent; -use crate::events::sora::sora_image_generation_failed_event::SoraImageGenerationFailedEvent; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::data_dir::trait_data_subdir::DataSubdir; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::state::sora::sora_task_queue::SoraTaskQueue; -use crate::state::storyteller::storyteller_credential_manager::StorytellerCredentialManager; +use crate::core::events::sendable_event_trait::SendableEvent; +use crate::services::sora::events::sora_image_generation_complete_event::SoraImageGenerationCompleteEvent; +use crate::services::sora::events::sora_image_generation_failed_event::SoraImageGenerationFailedEvent; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::trait_data_subdir::DataSubdir; +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 errors::AnyhowResult; use log::{error, info}; use openai_sora_client::recipes::list_sora_task_status_with_session_auto_renew::{list_sora_task_status_with_session_auto_renew, StatusRequestArgs}; diff --git a/crates/desktop/artcraft/src/services/sora/windows/mod.rs b/crates/desktop/artcraft/src/services/sora/windows/mod.rs new file mode 100644 index 0000000000..3843c67df6 --- /dev/null +++ b/crates/desktop/artcraft/src/services/sora/windows/mod.rs @@ -0,0 +1 @@ +pub mod sora_login_window; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/windows/sora_login_window/clear_browsing_on_test_domain.rs b/crates/desktop/artcraft/src/services/sora/windows/sora_login_window/clear_browsing_on_test_domain.rs similarity index 100% rename from crates/desktop/artcraft/src/windows/sora_login_window/clear_browsing_on_test_domain.rs rename to crates/desktop/artcraft/src/services/sora/windows/sora_login_window/clear_browsing_on_test_domain.rs diff --git a/crates/desktop/artcraft/src/windows/sora_login_window/extract_sora_webview_cookies.rs b/crates/desktop/artcraft/src/services/sora/windows/sora_login_window/extract_sora_webview_cookies.rs similarity index 100% rename from crates/desktop/artcraft/src/windows/sora_login_window/extract_sora_webview_cookies.rs rename to crates/desktop/artcraft/src/services/sora/windows/sora_login_window/extract_sora_webview_cookies.rs diff --git a/crates/desktop/artcraft/src/windows/sora_login_window/keep_on_login_domains.rs b/crates/desktop/artcraft/src/services/sora/windows/sora_login_window/keep_on_login_domains.rs similarity index 87% rename from crates/desktop/artcraft/src/windows/sora_login_window/keep_on_login_domains.rs rename to crates/desktop/artcraft/src/services/sora/windows/sora_login_window/keep_on_login_domains.rs index 9c485ae030..6edb1de357 100644 --- a/crates/desktop/artcraft/src/windows/sora_login_window/keep_on_login_domains.rs +++ b/crates/desktop/artcraft/src/services/sora/windows/sora_login_window/keep_on_login_domains.rs @@ -1,4 +1,4 @@ -use crate::windows::sora_login_window::open_sora_login_window::SORA_LOGIN_URL; +use crate::services::sora::windows::sora_login_window::open_sora_login_window::SORA_LOGIN_URL; use anyhow::anyhow; use errors::AnyhowResult; use log::info; diff --git a/crates/desktop/artcraft/src/windows/sora_login_window/mod.rs b/crates/desktop/artcraft/src/services/sora/windows/sora_login_window/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/windows/sora_login_window/mod.rs rename to crates/desktop/artcraft/src/services/sora/windows/sora_login_window/mod.rs diff --git a/crates/desktop/artcraft/src/windows/sora_login_window/open_sora_login_window.rs b/crates/desktop/artcraft/src/services/sora/windows/sora_login_window/open_sora_login_window.rs similarity index 88% rename from crates/desktop/artcraft/src/windows/sora_login_window/open_sora_login_window.rs rename to crates/desktop/artcraft/src/services/sora/windows/sora_login_window/open_sora_login_window.rs index d017bdd2a2..cb99a7a246 100644 --- a/crates/desktop/artcraft/src/windows/sora_login_window/open_sora_login_window.rs +++ b/crates/desktop/artcraft/src/services/sora/windows/sora_login_window/open_sora_login_window.rs @@ -1,7 +1,7 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::utils::clear_all_webview_cookies::clear_all_webview_cookies; -use crate::windows::sora_login_window::sora_login_thread::sora_login_thread; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::core::utils::clear_all_webview_cookies::clear_all_webview_cookies; +use crate::services::sora::windows::sora_login_window::sora_login_thread::sora_login_thread; use anyhow::anyhow; use errors::AnyhowResult; use once_cell::sync::Lazy; diff --git a/crates/desktop/artcraft/src/windows/sora_login_window/sora_login_thread.rs b/crates/desktop/artcraft/src/services/sora/windows/sora_login_window/sora_login_thread.rs similarity index 86% rename from crates/desktop/artcraft/src/windows/sora_login_window/sora_login_thread.rs rename to crates/desktop/artcraft/src/services/sora/windows/sora_login_window/sora_login_thread.rs index 06cc0145a0..88daffb4a6 100644 --- a/crates/desktop/artcraft/src/windows/sora_login_window/sora_login_thread.rs +++ b/crates/desktop/artcraft/src/services/sora/windows/sora_login_window/sora_login_thread.rs @@ -1,11 +1,11 @@ -use crate::events::sendable_event_trait::SendableEvent; -use crate::events::sora::sora_login_success_event::SoraLoginSuccessEvent; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::sora::sora_credential_holder::SoraCredentialHolder; -use crate::state::sora::sora_credential_manager::SoraCredentialManager; -use crate::utils::sora::initialize_sora_jwt_bearer_token::initialize_sora_jwt_bearer_token; -use crate::windows::sora_login_window::extract_sora_webview_cookies::extract_sora_webview_cookies; -use crate::windows::sora_login_window::open_sora_login_window::LOGIN_WINDOW_NAME; +use crate::core::events::sendable_event_trait::SendableEvent; +use crate::services::sora::events::sora_login_success_event::SoraLoginSuccessEvent; +use crate::services::sora::state::initialize_sora_jwt_bearer_token::initialize_sora_jwt_bearer_token; +use crate::services::sora::state::sora_credential_holder::SoraCredentialHolder; +use crate::services::sora::state::sora_credential_manager::SoraCredentialManager; +use crate::services::sora::windows::sora_login_window::extract_sora_webview_cookies::extract_sora_webview_cookies; +use crate::services::sora::windows::sora_login_window::open_sora_login_window::LOGIN_WINDOW_NAME; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use anyhow::anyhow; use chrono::{DateTime, NaiveDateTime, TimeDelta}; use errors::AnyhowResult; diff --git a/crates/desktop/artcraft/src/services/storyteller/mod.rs b/crates/desktop/artcraft/src/services/storyteller/mod.rs new file mode 100644 index 0000000000..0d0b840411 --- /dev/null +++ b/crates/desktop/artcraft/src/services/storyteller/mod.rs @@ -0,0 +1 @@ +pub mod state; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/state/storyteller/mod.rs b/crates/desktop/artcraft/src/services/storyteller/state/mod.rs similarity index 100% rename from crates/desktop/artcraft/src/state/storyteller/mod.rs rename to crates/desktop/artcraft/src/services/storyteller/state/mod.rs diff --git a/crates/desktop/artcraft/src/state/storyteller/read_storyteller_credentials_from_disk.rs b/crates/desktop/artcraft/src/services/storyteller/state/read_storyteller_credentials_from_disk.rs similarity index 94% rename from crates/desktop/artcraft/src/state/storyteller/read_storyteller_credentials_from_disk.rs rename to crates/desktop/artcraft/src/services/storyteller/state/read_storyteller_credentials_from_disk.rs index a721ec05b9..4d214ce46c 100644 --- a/crates/desktop/artcraft/src/state/storyteller/read_storyteller_credentials_from_disk.rs +++ b/crates/desktop/artcraft/src/services/storyteller/state/read_storyteller_credentials_from_disk.rs @@ -1,4 +1,4 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; +use crate::core::state::data_dir::app_data_root::AppDataRoot; use errors::AnyhowResult; use std::fs::read_to_string; use storyteller_client::credentials::storyteller_avt_cookie::StorytellerAvtCookie; diff --git a/crates/desktop/artcraft/src/state/storyteller/storyteller_credential_holder.rs b/crates/desktop/artcraft/src/services/storyteller/state/storyteller_credential_holder.rs similarity index 100% rename from crates/desktop/artcraft/src/state/storyteller/storyteller_credential_holder.rs rename to crates/desktop/artcraft/src/services/storyteller/state/storyteller_credential_holder.rs diff --git a/crates/desktop/artcraft/src/state/storyteller/storyteller_credential_manager.rs b/crates/desktop/artcraft/src/services/storyteller/state/storyteller_credential_manager.rs similarity index 86% rename from crates/desktop/artcraft/src/state/storyteller/storyteller_credential_manager.rs rename to crates/desktop/artcraft/src/services/storyteller/state/storyteller_credential_manager.rs index b9cdabf9ab..eb510e283a 100644 --- a/crates/desktop/artcraft/src/state/storyteller/storyteller_credential_manager.rs +++ b/crates/desktop/artcraft/src/services/storyteller/state/storyteller_credential_manager.rs @@ -1,8 +1,8 @@ -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::sora::read_sora_credentials_from_disk::read_sora_credentials_from_disk; -use crate::state::sora::sora_credential_holder::SoraCredentialHolder; -use crate::state::storyteller::read_storyteller_credentials_from_disk::read_storyteller_credentials_from_disk; -use crate::state::storyteller::storyteller_credential_holder::StorytellerCredentialHolder; +use crate::services::sora::state::read_sora_credentials_from_disk::read_sora_credentials_from_disk; +use crate::services::sora::state::sora_credential_holder::SoraCredentialHolder; +use crate::core::state::data_dir::app_data_root::AppDataRoot; +use crate::services::storyteller::state::read_storyteller_credentials_from_disk::read_storyteller_credentials_from_disk; +use crate::services::storyteller::state::storyteller_credential_holder::StorytellerCredentialHolder; use anyhow::anyhow; use errors::AnyhowResult; use log::{error, info, warn}; diff --git a/crates/desktop/artcraft/src/threads/mod.rs b/crates/desktop/artcraft/src/threads/mod.rs deleted file mode 100644 index 5b72269773..0000000000 --- a/crates/desktop/artcraft/src/threads/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub mod discord_presence_thread; -pub mod fal_task_polling_thread; -pub mod main_window_thread; -pub mod sora_task_polling_thread; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/utils/sora/mod.rs b/crates/desktop/artcraft/src/utils/sora/mod.rs deleted file mode 100644 index 689972757f..0000000000 --- a/crates/desktop/artcraft/src/utils/sora/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod initialize_sora_jwt_bearer_token; \ No newline at end of file diff --git a/crates/desktop/artcraft/src/windows/mod.rs b/crates/desktop/artcraft/src/windows/mod.rs deleted file mode 100644 index 564f15ab84..0000000000 --- a/crates/desktop/artcraft/src/windows/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod sora_login_window; -pub mod main_window; \ No newline at end of file