diff --git a/Cargo.lock b/Cargo.lock index b3bc2bbf..6eaf330c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -196,6 +196,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", + "sqlite_identifiers", "tokens", "tokio", "url", @@ -245,6 +246,7 @@ dependencies = [ "serde_json", "serial_test", "sqlite_database", + "sqlite_identifiers", "tauri", "tauri-build", "tauri-plugin-dialog", @@ -2555,7 +2557,6 @@ dependencies = [ "chrono", "cloudflare_errors", "cloudflare_mitigation", - "cookie_store 0.0.1", "env", "env_logger", "errors", @@ -5480,6 +5481,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", + "sqlite_identifiers", "strum", "test_data", "test_utils", @@ -6345,12 +6347,25 @@ dependencies = [ "serde", "serde_derive", "serde_json", + "sqlite_identifiers", "sqlx", "tempfile", "tokens", "workspace-build-acceleration", ] +[[package]] +name = "sqlite_identifiers" +version = "0.0.1" +dependencies = [ + "rand 0.8.5", + "serde", + "serde_derive", + "serde_json", + "strum", + "workspace-build-acceleration", +] + [[package]] name = "sqlx" version = "0.7.4" @@ -9034,7 +9049,6 @@ dependencies = [ "chrono", "cloudflare_errors", "cloudflare_mitigation", - "cookie_store 0.0.1", "env", "env_logger", "errors", diff --git a/Cargo.toml b/Cargo.toml index 6c51de95..f2cea3fe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,6 +44,7 @@ members = [ # Local task storage (SQLite, embedded migrations) "crates/sqlite_database", + "crates/sqlite_identifiers", # Schema (public): common strongly-typed tokens, ids, payloads, etc. "crates/schema/public/enums", @@ -108,6 +109,7 @@ primitives = { path = "crates/lib/data/primitives" } router = { path = "crates/api_clients/router" } seedance2pro_client = { path = "crates/api_clients/seedance2pro_client" } sqlite_database = { path = "crates/sqlite_database" } +sqlite_identifiers = { path = "crates/sqlite_identifiers" } test_data = { path = "crates/testing/test_data" } test_utils = { path = "crates/testing/test_utils" } tokens = { path = "crates/schema/public/tokens" } diff --git a/crates/api_clients/artcraft_client/Cargo.toml b/crates/api_clients/artcraft_client/Cargo.toml index c44dcb89..9c651729 100644 --- a/crates/api_clients/artcraft_client/Cargo.toml +++ b/crates/api_clients/artcraft_client/Cargo.toml @@ -28,6 +28,7 @@ enums.workspace = true errors.workspace = true uuid_utils.workspace = true mimetypes.workspace = true +sqlite_identifiers.workspace = true tokens.workspace = true # External diff --git a/crates/api_clients/artcraft_client/src/api_defs/characters/create_character.rs b/crates/api_clients/artcraft_client/src/api_defs/characters/create_character.rs index e63595b5..a09299bc 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/characters/create_character.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/characters/create_character.rs @@ -2,7 +2,7 @@ use serde_derive::{Deserialize, Serialize}; use enums::common::generation::common_model_type::CommonModelType; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; /// Request body for creating a character. #[derive(Deserialize)] diff --git a/crates/api_clients/artcraft_client/src/api_defs/common/responses/job_details.rs b/crates/api_clients/artcraft_client/src/api_defs/common/responses/job_details.rs index 72efd098..2234d616 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/common/responses/job_details.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/common/responses/job_details.rs @@ -1,6 +1,6 @@ use serde::Deserialize; use serde::Serialize; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; /// Details about submitted live portrait jobs (request arguments only) #[derive(Serialize, Deserialize)] diff --git a/crates/api_clients/artcraft_client/src/api_defs/folders/common.rs b/crates/api_clients/artcraft_client/src/api_defs/folders/common.rs index 8e2e6298..c2ce44a8 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/folders/common.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/folders/common.rs @@ -5,7 +5,7 @@ use url::Url; use enums::by_table::media_files::media_file_class::MediaFileClass; use enums::by_table::media_files::media_file_type::MediaFileType; use tokens::tokens::folders::FolderToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use tokens::tokens::users::UserToken; // NB: The "folder media file" list-item shape lives in storyteller_web diff --git a/crates/api_clients/artcraft_client/src/api_defs/folders/folder.rs b/crates/api_clients/artcraft_client/src/api_defs/folders/folder.rs index c24f83a6..e1f94a07 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/folders/folder.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/folders/folder.rs @@ -1,7 +1,7 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::folders::FolderToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api_defs::folders::common::FolderInfo; diff --git a/crates/api_clients/artcraft_client/src/api_defs/folders/media_files.rs b/crates/api_clients/artcraft_client/src/api_defs/folders/media_files.rs index 492e35c1..7632216e 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/folders/media_files.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/folders/media_files.rs @@ -2,7 +2,7 @@ use serde_derive::{Deserialize, Serialize}; use enums::by_table::media_files::media_file_class::MediaFileClass; use tokens::tokens::folders::FolderToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; // ── GET /v1/folders/media_files/{folder_token} ── // diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_image_cost.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_image_cost.rs index d1b3a6ae..1e2e956e 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_image_cost.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_image_cost.rs @@ -4,7 +4,7 @@ use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_image_model::CommonImageModel; use enums::common::generation::common_quality::CommonQuality; use enums::common::generation::common_resolution::CommonResolution; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; pub const ESTIMATE_IMAGE_COST_PATH: &str = "/v1/generate/cost_estimate/image"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_splat_cost.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_splat_cost.rs index 67aab6a8..cd3e6d96 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_splat_cost.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_splat_cost.rs @@ -1,7 +1,7 @@ use serde::{Deserialize, Serialize}; use enums::common::generation::common_splat_model::CommonSplatModel; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; pub const ESTIMATE_SPLAT_COST_PATH: &str = "/v1/generate/cost_estimate/splat"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_video_cost.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_video_cost.rs index 10b04b95..73f9f9ec 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_video_cost.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/cost_estimate/estimate_video_cost.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_video_model::CommonVideoModel; use enums::common::generation::common_resolution::CommonResolution; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; pub const ESTIMATE_VIDEO_COST_PATH: &str = "/v1/generate/cost_estimate/video"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/angle/flux_2_lora_edit_image_angle.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/angle/flux_2_lora_edit_image_angle.rs index b58c8c7f..a2e0aedc 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/angle/flux_2_lora_edit_image_angle.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/angle/flux_2_lora_edit_image_angle.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const FLUX_2_LORA_EDIT_IMAGE_ANGLE_PATH: &str = "/v1/generate/image/angle/flux_2_lora"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/angle/qwen_edit_2511_edit_image_angle.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/angle/qwen_edit_2511_edit_image_angle.rs index 57319aca..c28561f9 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/angle/qwen_edit_2511_edit_image_angle.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/angle/qwen_edit_2511_edit_image_angle.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const QWEN_EDIT_2511_EDIT_IMAGE_ANGLE_PATH: &str = "/v1/generate/image/angle/qwen_edit_2511"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/bg_removal/remove_image_background.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/bg_removal/remove_image_background.rs index 6c384566..2ba545fb 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/bg_removal/remove_image_background.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/bg_removal/remove_image_background.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const REMOVE_IMAGE_BACKGROUND_PATH: &str = "/v1/generate/image/remove_background"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/flux_pro_kontext_max_edit_image.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/flux_pro_kontext_max_edit_image.rs index 3b6a4e06..5461604c 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/flux_pro_kontext_max_edit_image.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/flux_pro_kontext_max_edit_image.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const FLUX_PRO_KONTEXT_MAX_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/flux_pro_kontext_max"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/gemini_25_flash_edit_image.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/gemini_25_flash_edit_image.rs index 9d6d7dc6..3ecdaff8 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/gemini_25_flash_edit_image.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/gemini_25_flash_edit_image.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GEMINI_25_FLASH_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/gemini_25_flash"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/gpt_image_1_edit_image.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/gpt_image_1_edit_image.rs index e388bb64..1cd04321 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/gpt_image_1_edit_image.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/gpt_image_1_edit_image.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GPT_IMAGE_1_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/gpt_image_1"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/qwen_edit_image.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/qwen_edit_image.rs index a1db439f..1827656f 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/qwen_edit_image.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/qwen_edit_image.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const QWEN_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/qwen"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/seededit_3_edit_image.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/seededit_3_edit_image.rs index 3cc6fc86..7d426b7d 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/seededit_3_edit_image.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/edit/seededit_3_edit_image.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const SEEDEDIT_3_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/seededit_3"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/inpaint/flux_dev_juggernaut_inpaint_image.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/inpaint/flux_dev_juggernaut_inpaint_image.rs index 8a6ff3b0..e2be7dc3 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/inpaint/flux_dev_juggernaut_inpaint_image.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/inpaint/flux_dev_juggernaut_inpaint_image.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const FLUX_DEV_JUGGERNAUT_INPAINT_PATH: &str = "/v1/generate/image/inpaint/flux_dev_juggernaut"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/inpaint/flux_pro_1_inpaint_image.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/inpaint/flux_pro_1_inpaint_image.rs index fea2d289..6a747beb 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/inpaint/flux_pro_1_inpaint_image.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/inpaint/flux_pro_1_inpaint_image.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const FLUX_PRO_1_INPAINT_PATH: &str = "/v1/generate/image/inpaint/flux_pro_1"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_5_lite_multi_function_image_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_5_lite_multi_function_image_gen.rs index e5ac1c76..e128d7db 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_5_lite_multi_function_image_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_5_lite_multi_function_image_gen.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const BYTEDANCE_SEEDREAM_5_LITE_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/bytedance_seedream_5_lite"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_v4_multi_function_image_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_v4_multi_function_image_gen.rs index b649f2ca..2ea89739 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_v4_multi_function_image_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_v4_multi_function_image_gen.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const BYTEDANCE_SEEDREAM_V4_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/bytedance_seedream_4"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_v4p5_multi_function_image_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_v4p5_multi_function_image_gen.rs index d41e4a03..937e3a18 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_v4p5_multi_function_image_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/bytedance_seedream_v4p5_multi_function_image_gen.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const BYTEDANCE_SEEDREAM_V4P5_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/bytedance_seedream_4p5"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/gpt_image_1p5_multi_function_image_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/gpt_image_1p5_multi_function_image_gen.rs index dfbe43ca..ecc383c4 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/gpt_image_1p5_multi_function_image_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/gpt_image_1p5_multi_function_image_gen.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GPT_IMAGE_1P5_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/gpt_image_1p5"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_2_multi_function_image_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_2_multi_function_image_gen.rs index a573226a..44925000 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_2_multi_function_image_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_2_multi_function_image_gen.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const NANO_BANANA_2_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/nano_banana_2"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_multi_function_image_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_multi_function_image_gen.rs index 8233ce40..0b297c1a 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_multi_function_image_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_multi_function_image_gen.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const NANO_BANANA_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/nano_banana"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_pro_multi_function_image_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_pro_multi_function_image_gen.rs index ff56cee4..01fc7c70 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_pro_multi_function_image_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/multi_function/nano_banana_pro_multi_function_image_gen.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const NANO_BANANA_PRO_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/nano_banana_pro"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/text/gemini_25_flash_text_to_image.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/text/gemini_25_flash_text_to_image.rs index b54ad04d..1e24ae22 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/text/gemini_25_flash_text_to_image.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/text/gemini_25_flash_text_to_image.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GEMINI_25_FLASH_EDIT_IMAGE_PATH: &str = "/v1/generate/image/gemini_25_flash"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/image/text/generate_gpt_image_1_text_to_image.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/image/text/generate_gpt_image_1_text_to_image.rs index 8d1ab4c8..ed2d0e8f 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/image/text/generate_gpt_image_1_text_to_image.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/image/text/generate_gpt_image_1_text_to_image.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GPT_IMAGE_1_TEXT_TO_IMAGE_PATH: &str = "/v1/generate/image/gpt_image_1_text_to_image"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/object/generate_hunyuan_2_0_image_to_3d.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/object/generate_hunyuan_2_0_image_to_3d.rs index a652922a..3fc95104 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/object/generate_hunyuan_2_0_image_to_3d.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/object/generate_hunyuan_2_0_image_to_3d.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_HUNYUAN_2_0_IMAGE_TO_3D_URL_PATH: &str = "/v1/generate/object/hunyuan_2.0_image_to_3d"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/object/generate_hunyuan_2_1_image_to_3d.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/object/generate_hunyuan_2_1_image_to_3d.rs index d632ff1f..c6e4673a 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/object/generate_hunyuan_2_1_image_to_3d.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/object/generate_hunyuan_2_1_image_to_3d.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_HUNYUAN_2_1_IMAGE_TO_3D_URL_PATH: &str = "/v1/generate/object/hunyuan_2.1_image_to_3d"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/object/multi_function/hunyuan3d_v3_multi_function_object_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/object/multi_function/hunyuan3d_v3_multi_function_object_gen.rs index 4e72dd24..292e08e9 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/object/multi_function/hunyuan3d_v3_multi_function_object_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/object/multi_function/hunyuan3d_v3_multi_function_object_gen.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const HUNYUAN3D_V3_MULTI_FUNCTION_OBJECT_GEN_PATH: &str = "/v1/generate/object/multi_function/hunyuan3d_v3"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/splat/generate_worldlabs_marble_0p1_mini_splat.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/splat/generate_worldlabs_marble_0p1_mini_splat.rs index 1bc088c5..bee2cba6 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/splat/generate_worldlabs_marble_0p1_mini_splat.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/splat/generate_worldlabs_marble_0p1_mini_splat.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_WORLDLABS_MARBLE_0P1_MINI_SPLAT_URL_PATH: &str = "/v1/generate/splat/worldlabs_marble_0p1_mini"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/splat/generate_worldlabs_marble_0p1_plus_splat.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/splat/generate_worldlabs_marble_0p1_plus_splat.rs index 8fa90720..443b6147 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/splat/generate_worldlabs_marble_0p1_plus_splat.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/splat/generate_worldlabs_marble_0p1_plus_splat.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_WORLDLABS_MARBLE_0P1_PLUS_SPLAT_URL_PATH: &str = "/v1/generate/splat/worldlabs_marble_0p1_plus"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/edit/beeble_switchx_edit_video.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/edit/beeble_switchx_edit_video.rs index f484e845..f9b1a95c 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/edit/beeble_switchx_edit_video.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/edit/beeble_switchx_edit_video.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const BEEBLE_SWITCHX_EDIT_VIDEO_PATH: &str = "/v1/generate/video/edit/beeble_switchx"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_1_6_pro_image_to_video.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_1_6_pro_image_to_video.rs index 4ba7c7ac..d1e876ec 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_1_6_pro_image_to_video.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_1_6_pro_image_to_video.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_KLING_1_6_PRO_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/kling_1.6_pro_image_to_video"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_2_1_master_image_to_video.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_2_1_master_image_to_video.rs index 062ce088..0b21054e 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_2_1_master_image_to_video.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_2_1_master_image_to_video.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_KLING_2_1_MASTER_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/kling_2.1_master_image_to_video"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_2_1_pro_image_to_video.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_2_1_pro_image_to_video.rs index 1a4539e5..9146302d 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_2_1_pro_image_to_video.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_kling_2_1_pro_image_to_video.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_KLING_2_1_PRO_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/kling_2.1_pro_image_to_video"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_seedance_1_0_lite_image_to_video.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_seedance_1_0_lite_image_to_video.rs index c2d145f2..bcf4143a 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_seedance_1_0_lite_image_to_video.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_seedance_1_0_lite_image_to_video.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_SEEDANCE_1_0_LITE_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/seedance_1.0_lite_image_to_video"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_seedance_1_0_pro_image_to_video.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_seedance_1_0_pro_image_to_video.rs index 386d0a76..86f552ce 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_seedance_1_0_pro_image_to_video.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_seedance_1_0_pro_image_to_video.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_SEEDANCE_1_0_PRO_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/seedance_1.0_pro_image_to_video"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_2_image_to_video.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_2_image_to_video.rs index 1d6b40df..f5a28036 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_2_image_to_video.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_2_image_to_video.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_VEO_2_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/veo_2_image_to_video"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_3_fast_image_to_video.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_3_fast_image_to_video.rs index d9f47c65..e02e7b1b 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_3_fast_image_to_video.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_3_fast_image_to_video.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_VEO_3_FAST_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/veo_3_fast_image_to_video"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_3_image_to_video.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_3_image_to_video.rs index 2824b961..67996bb0 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_3_image_to_video.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/generate_veo_3_image_to_video.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const GENERATE_VEO_3_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/veo_3_image_to_video"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_2_5_turbo_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_2_5_turbo_multi_function_video_gen.rs index 5e2eaab9..39229c6c 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_2_5_turbo_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_2_5_turbo_multi_function_video_gen.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const KLING_2P5_TURBO_PRO_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/kling_2p5_turbo_pro"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_2_6_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_2_6_multi_function_video_gen.rs index 7ba4534a..d0053ad5 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_2_6_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_2_6_multi_function_video_gen.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const KLING_2P6_PRO_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/kling_2p6_pro"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_3p0_pro_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_3p0_pro_multi_function_video_gen.rs index 34013d43..81a92ec3 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_3p0_pro_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_3p0_pro_multi_function_video_gen.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const KLING_3P0_PRO_MULTI_FUNCTION_VIDEO_PATH: &str = "/v1/generate/video/multi_function/kling_3p0_pro"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_3p0_standard_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_3p0_standard_multi_function_video_gen.rs index 4cbf08a2..7eb225f3 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_3p0_standard_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/kling_3p0_standard_multi_function_video_gen.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const KLING_3P0_STANDARD_MULTI_FUNCTION_VIDEO_PATH: &str = "/v1/generate/video/multi_function/kling_3p0_standard"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/seedance_1p5_pro_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/seedance_1p5_pro_multi_function_video_gen.rs index 23dd7e7b..81d85d80 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/seedance_1p5_pro_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/seedance_1p5_pro_multi_function_video_gen.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const SEEDANCE_1P5_PRO_MULTI_FUNCTION_VIDEO_GEN_PATH: &str = "/v1/generate/video/multi_function/seedance_1p5_pro"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/seedance_2p0_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/seedance_2p0_multi_function_video_gen.rs index 757587ea..1907db4a 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/seedance_2p0_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/seedance_2p0_multi_function_video_gen.rs @@ -1,7 +1,7 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::characters::CharacterToken; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const SEEDANCE_2P0_MULTI_FUNCTION_VIDEO_GEN_PATH: &str = "/v1/generate/video/multi_function/seedance_2p0"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/sora_2_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/sora_2_multi_function_video_gen.rs index 288e4e36..cf9552c7 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/sora_2_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/sora_2_multi_function_video_gen.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const SORA_2_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/sora_2"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/sora_2_pro_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/sora_2_pro_multi_function_video_gen.rs index 29b3a919..5ee51881 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/sora_2_pro_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/sora_2_pro_multi_function_video_gen.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const SORA_2_PRO_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/sora_2_pro"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/veo_3p1_fast_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/veo_3p1_fast_multi_function_video_gen.rs index 98dbf252..7889c6b6 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/veo_3p1_fast_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/veo_3p1_fast_multi_function_video_gen.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const VEO_3P1_FAST_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/veo_3p1_fast"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/veo_3p1_multi_function_video_gen.rs b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/veo_3p1_multi_function_video_gen.rs index a0c407c2..7a923e69 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/veo_3p1_multi_function_video_gen.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/generate/video/multi_function/veo_3p1_multi_function_video_gen.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const VEO_3P1_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/veo_3p1"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/jobs/list_session_jobs.rs b/crates/api_clients/artcraft_client/src/api_defs/jobs/list_session_jobs.rs index 08924396..3d1f65cf 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/jobs/list_session_jobs.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/jobs/list_session_jobs.rs @@ -8,9 +8,9 @@ use enums::common::job_status_plus::JobStatusPlus; use enums::no_table::style_transfer::style_transfer_name::StyleTransferName; use serde::Deserialize; use serde::Serialize; -use tokens::tokens::batch_generations::BatchGenerationToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::prompt_token::PromptToken; pub const LIST_SESSION_JOBS_URL_PATH: &str = "/v1/jobs/session"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/delete_media_file.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/delete_media_file.rs index f792b85d..9ef3e793 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/delete_media_file.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/delete_media_file.rs @@ -1,5 +1,5 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Serialize, Deserialize)] pub struct DeleteMediaFileRequest { diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/list/by_type/list_session_common.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/list/by_type/list_session_common.rs index a62cf304..3fd2270c 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/list/by_type/list_session_common.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/list/by_type/list_session_common.rs @@ -7,8 +7,8 @@ use serde_derive::{Deserialize, Serialize}; use enums::by_table::media_files::media_file_class::MediaFileClass; use enums::by_table::media_files::media_file_type::MediaFileType; use enums::common::visibility::Visibility; -use tokens::tokens::media_files::MediaFileToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::media_file_token::MediaFileToken; +use sqlite_identifiers::prompt_token::PromptToken; use crate::api_defs::common::responses::media_file_cover_image_details::MediaFileCoverImageDetails; use crate::api_defs::common::responses::media_links::MediaLinks; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/list_batch_generated_media_files.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/list_batch_generated_media_files.rs index 49637695..700d51a4 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/list_batch_generated_media_files.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/list_batch_generated_media_files.rs @@ -6,9 +6,9 @@ use enums::by_table::media_files::media_file_class::MediaFileClass; use enums::by_table::media_files::media_file_type::MediaFileType; use enums::common::visibility::Visibility; use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; +use sqlite_identifiers::prompt_token::PromptToken; pub const LIST_BATCH_GENERATED_REDUX_MEDIA_FILES_URL_PATH: &str = "/v1/media_files/batch_gen_redux"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/list_session_project_media_files.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/list_session_project_media_files.rs index 16cbd6c3..a3a6a43f 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/list_session_project_media_files.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/list_session_project_media_files.rs @@ -5,7 +5,7 @@ use enums::by_table::media_files::media_file_class::MediaFileClass; use enums::by_table::media_files::media_file_project_type::MediaFileProjectType; use enums::by_table::media_files::media_file_type::MediaFileType; use enums::common::visibility::Visibility; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api_defs::common::responses::media_file_cover_image_details::MediaFileCoverImageDetails; use crate::api_defs::common::responses::media_links::MediaLinks; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_editor_2d_project.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_editor_2d_project.rs index 328acecd..5b779956 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_editor_2d_project.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_editor_2d_project.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const UPLOAD_NEW_EDITOR_2D_PROJECT_URL_PATH: &str = "/v1/media_files/upload/project/editor_2d/new"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_mood_board_project.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_mood_board_project.rs index 83afa8c5..b54302a0 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_mood_board_project.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_mood_board_project.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const UPLOAD_NEW_MOOD_BOARD_PROJECT_URL_PATH: &str = "/v1/media_files/upload/project/mood_board/new"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_scene_3d_project.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_scene_3d_project.rs index 1ce87c22..2470386f 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_scene_3d_project.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_scene_3d_project.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const UPLOAD_NEW_SCENE_3D_PROJECT_URL_PATH: &str = "/v1/media_files/upload/project/scene_3d/new"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_video_timeline_project.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_video_timeline_project.rs index 1a062faf..2c0adbd7 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_video_timeline_project.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_new_video_timeline_project.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const UPLOAD_NEW_VIDEO_TIMELINE_PROJECT_URL_PATH: &str = "/v1/media_files/upload/project/video_timeline/new"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_editor_2d_project.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_editor_2d_project.rs index 1738fa70..d1b346dd 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_editor_2d_project.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_editor_2d_project.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const UPLOAD_UPDATED_EDITOR_2D_PROJECT_URL_PATH: &str = "/v1/media_files/upload/project/editor_2d/update/{token}"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_mood_board_project.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_mood_board_project.rs index 814b9a6e..6a8f146d 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_mood_board_project.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_mood_board_project.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const UPLOAD_UPDATED_MOOD_BOARD_PROJECT_URL_PATH: &str = "/v1/media_files/upload/project/mood_board/update/{token}"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_scene_3d_project.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_scene_3d_project.rs index d70b1283..4424e2f3 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_scene_3d_project.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_scene_3d_project.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const UPLOAD_UPDATED_SCENE_3D_PROJECT_URL_PATH: &str = "/v1/media_files/upload/project/scene_3d/update/{token}"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_video_timeline_project.rs b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_video_timeline_project.rs index 2df588f2..c94e30d7 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_video_timeline_project.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/media_file/project/upload_updated_video_timeline_project.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub const UPLOAD_UPDATED_VIDEO_TIMELINE_PROJECT_URL_PATH: &str = "/v1/media_files/upload/project/video_timeline/update/{token}"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/moderation/jobs/user/list_user_jobs.rs b/crates/api_clients/artcraft_client/src/api_defs/moderation/jobs/user/list_user_jobs.rs index a08a3dcc..d2eca11a 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/moderation/jobs/user/list_user_jobs.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/moderation/jobs/user/list_user_jobs.rs @@ -4,7 +4,7 @@ use enums::by_table::wallet_ledger_entries::wallet_ledger_entry_type::WalletLedg use enums::common::job_status_plus::JobStatusPlus; use serde_derive::{Deserialize, Serialize}; use tokens::tokens::generic_inference_jobs::InferenceJobToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use tokens::tokens::users::UserToken; use tokens::tokens::wallet_ledger_entries::WalletLedgerEntryToken; diff --git a/crates/api_clients/artcraft_client/src/api_defs/moderation/user/user_lookup.rs b/crates/api_clients/artcraft_client/src/api_defs/moderation/user/user_lookup.rs index cc32f61f..80bbc5e2 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/moderation/user/user_lookup.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/moderation/user/user_lookup.rs @@ -1,6 +1,6 @@ use chrono::{DateTime, Utc}; use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use tokens::tokens::users::UserToken; pub const MODERATOR_USER_LOOKUP_PATH: &str = "/v1/moderation/users/lookup"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_audio_cost_and_generate_request.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_audio_cost_and_generate_request.rs index 22ba6ee5..b7392092 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_audio_cost_and_generate_request.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_audio_cost_and_generate_request.rs @@ -2,7 +2,7 @@ use serde_derive::{Deserialize, Serialize}; use enums::common::generation::common_audio_model::CommonAudioModel; use enums::common::generation::common_musical_key::CommonMusicalKey; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; /// Shared request body for both the audio cost estimate and audio generation endpoints. #[derive(Clone, Serialize, Deserialize, Debug)] diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_image_cost_and_generate_request.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_image_cost_and_generate_request.rs index c35ad5a5..dc9c906e 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_image_cost_and_generate_request.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_image_cost_and_generate_request.rs @@ -4,7 +4,7 @@ use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_image_model::CommonImageModel; use enums::common::generation::common_quality::CommonQuality; use enums::common::generation::common_resolution::CommonResolution; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; /// Shared request body for both the image cost estimate and image generation endpoints. #[derive(Clone, Serialize, Deserialize, Debug)] diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_mesh_cost_and_generate_request.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_mesh_cost_and_generate_request.rs index 7a97b5d4..631f8423 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_mesh_cost_and_generate_request.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_mesh_cost_and_generate_request.rs @@ -4,7 +4,7 @@ use enums::common::generation::common_mesh_model::CommonMeshModel; use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; use enums::common::generation::common_mesh_quality::CommonMeshQuality; use enums::common::generation::common_polygon_type::CommonPolygonType; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; /// Shared request body for both the mesh cost estimate and mesh generation endpoints. #[derive(Clone, Serialize, Deserialize, Debug)] diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_splat_cost_and_generate_request.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_splat_cost_and_generate_request.rs index afa54550..7fa900cb 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_splat_cost_and_generate_request.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_splat_cost_and_generate_request.rs @@ -1,7 +1,7 @@ use serde_derive::{Deserialize, Serialize}; use enums::common::generation::common_splat_model::CommonSplatModel; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; /// Shared request body for both the splat cost estimate and splat generation endpoints. #[derive(Clone, Serialize, Deserialize, Debug)] diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_video_cost_and_generate_request.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_video_cost_and_generate_request.rs index 13af85eb..7ce2382f 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_video_cost_and_generate_request.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/cost_and_generate_requests/omni_gen_video_cost_and_generate_request.rs @@ -6,7 +6,7 @@ use enums::common::generation::common_quality::CommonQuality; use enums::common::generation::common_resolution::CommonResolution; use enums::common::generation::common_video_model::CommonVideoModel; use tokens::tokens::characters::CharacterToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; /// Shared request body for both the video cost estimate and video generation endpoints. #[derive(Clone, Serialize, Deserialize, Debug)] diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_audio_models.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_audio_models.rs index b51e77c7..31d9db1e 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_audio_models.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_audio_models.rs @@ -1,6 +1,6 @@ use enums::common::generation::common_audio_model::CommonAudioModel; use enums::common::generation::model_creator::ModelCreator; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use serde_derive::Serialize; /// Audio model to default to if none is specified diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_image_models.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_image_models.rs index a284efa5..900afa23 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_image_models.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_image_models.rs @@ -3,7 +3,7 @@ use enums::common::generation::common_image_model::CommonImageModel; use enums::common::generation::common_quality::CommonQuality; use enums::common::generation::common_resolution::CommonResolution; use enums::common::generation::model_creator::ModelCreator; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use serde_derive::{Deserialize, Serialize}; /// Query string parameters for the image models endpoint. diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_mesh_models.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_mesh_models.rs index 138a8ae1..82e588e8 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_mesh_models.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_mesh_models.rs @@ -2,7 +2,7 @@ use enums::common::generation::common_mesh_model::CommonMeshModel; use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; use enums::common::generation::common_polygon_type::CommonPolygonType; use enums::common::generation::model_creator::ModelCreator; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use serde_derive::Serialize; /// Mesh model to default to if none is specified diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_splat_models.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_splat_models.rs index 7cc5715c..f9d81ba1 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_splat_models.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_splat_models.rs @@ -1,6 +1,6 @@ use enums::common::generation::common_splat_model::CommonSplatModel; use enums::common::generation::model_creator::ModelCreator; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use serde_derive::Serialize; /// Splat model to default to if none is specified diff --git a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_video_models.rs b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_video_models.rs index 5f640d51..a508bdb2 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_video_models.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/omni_gen/models/omni_gen_video_models.rs @@ -3,7 +3,7 @@ use enums::common::generation::common_quality::CommonQuality; use enums::common::generation::common_resolution::CommonResolution; use enums::common::generation::common_video_model::CommonVideoModel; use enums::common::generation::model_creator::ModelCreator; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use serde_derive::{Deserialize, Serialize}; use enums::common::generation::common_bitrate::CommonBitrate; diff --git a/crates/api_clients/artcraft_client/src/api_defs/prompts/batch_get_prompts.rs b/crates/api_clients/artcraft_client/src/api_defs/prompts/batch_get_prompts.rs index 25eec5f7..3588048e 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/prompts/batch_get_prompts.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/prompts/batch_get_prompts.rs @@ -7,11 +7,11 @@ use enums::common::generation::common_generation_mode::CommonGenerationMode; use enums::common::generation::common_model_class::CommonModelClass; use enums::common::generation::common_model_type::CommonModelType; use enums::common::generation::common_resolution::CommonResolution; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use std::collections::HashSet; use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::prompt_token::PromptToken; pub const BATCH_GET_PROMPTS_PATH: &str = "/v1/prompt/batch"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/prompts/create_prompt.rs b/crates/api_clients/artcraft_client/src/api_defs/prompts/create_prompt.rs index 4b47d3bd..cbce7295 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/prompts/create_prompt.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/prompts/create_prompt.rs @@ -2,9 +2,9 @@ use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_generation_mode::CommonGenerationMode; use enums::common::generation::common_model_type::CommonModelType; use enums::common::generation::common_resolution::CommonResolution; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::prompt_token::PromptToken; pub const CREATE_PROMPT_PATH: &str = "/v1/prompts/create"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/prompts/get_prompt.rs b/crates/api_clients/artcraft_client/src/api_defs/prompts/get_prompt.rs index 757648f7..c65fa0b3 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/prompts/get_prompt.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/prompts/get_prompt.rs @@ -7,11 +7,11 @@ use enums::common::generation::common_bitrate::CommonBitrate; use enums::common::generation::common_generation_mode::CommonGenerationMode; use enums::common::generation::common_model_type::CommonModelType; use enums::common::generation::common_resolution::CommonResolution; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::no_table::style_transfer::style_transfer_name::StyleTransferName; use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::media_file_token::MediaFileToken; +use sqlite_identifiers::prompt_token::PromptToken; use enums::common::generation::common_model_class::CommonModelClass; pub const GET_PROMPT_PATH: &str = "/v1/prompts/{token}"; diff --git a/crates/api_clients/artcraft_client/src/api_defs/tags/add_media_file_tags.rs b/crates/api_clients/artcraft_client/src/api_defs/tags/add_media_file_tags.rs index 9ccb3169..565f4d1c 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/tags/add_media_file_tags.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/tags/add_media_file_tags.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api_defs::tags::common::TagDetails; diff --git a/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_add_tags.rs b/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_add_tags.rs index 4e1e927a..a72a98a8 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_add_tags.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_add_tags.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api_defs::tags::common::TagDetails; diff --git a/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_list_media_file_tags.rs b/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_list_media_file_tags.rs index ccd1f2fb..58f560ff 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_list_media_file_tags.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_list_media_file_tags.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api_defs::tags::common::TagDetails; diff --git a/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_set_tags.rs b/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_set_tags.rs index 3f85f85c..1f7db982 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_set_tags.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/tags/bulk_set_tags.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api_defs::tags::common::TagDetails; diff --git a/crates/api_clients/artcraft_client/src/api_defs/tags/clear_media_file_tags.rs b/crates/api_clients/artcraft_client/src/api_defs/tags/clear_media_file_tags.rs index 2593dc58..93fa0487 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/tags/clear_media_file_tags.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/tags/clear_media_file_tags.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; // ── POST /v1/tags/media_file/clear/{media_file_token} ── diff --git a/crates/api_clients/artcraft_client/src/api_defs/tags/list_media_file_tags.rs b/crates/api_clients/artcraft_client/src/api_defs/tags/list_media_file_tags.rs index facce6c7..7b1ea6e9 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/tags/list_media_file_tags.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/tags/list_media_file_tags.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api_defs::tags::common::TagDetails; diff --git a/crates/api_clients/artcraft_client/src/api_defs/tags/set_media_file_tags.rs b/crates/api_clients/artcraft_client/src/api_defs/tags/set_media_file_tags.rs index 27391722..91b06b04 100644 --- a/crates/api_clients/artcraft_client/src/api_defs/tags/set_media_file_tags.rs +++ b/crates/api_clients/artcraft_client/src/api_defs/tags/set_media_file_tags.rs @@ -1,6 +1,6 @@ use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api_defs::tags::common::TagDetails; diff --git a/crates/api_clients/artcraft_client/src/endpoints/media_files/delete_media_file.rs b/crates/api_clients/artcraft_client/src/endpoints/media_files/delete_media_file.rs index 878a222b..18e1dcba 100644 --- a/crates/api_clients/artcraft_client/src/endpoints/media_files/delete_media_file.rs +++ b/crates/api_clients/artcraft_client/src/endpoints/media_files/delete_media_file.rs @@ -6,7 +6,7 @@ use crate::api_defs::common::responses::simple_generic_json_success::SimpleGener use crate::api_defs::media_file::delete_media_file::DeleteMediaFileRequest; use crate::api_defs::subscriptions::get_session_subscription::GetSessionSubscriptionResponse; use log::debug; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub async fn delete_media_file( api_host: &ApiHost, diff --git a/crates/api_clients/artcraft_client/src/endpoints/media_files/get_media_file.rs b/crates/api_clients/artcraft_client/src/endpoints/media_files/get_media_file.rs index f3fb107a..4e69857d 100644 --- a/crates/api_clients/artcraft_client/src/endpoints/media_files/get_media_file.rs +++ b/crates/api_clients/artcraft_client/src/endpoints/media_files/get_media_file.rs @@ -18,10 +18,10 @@ use enums::no_table::style_transfer::style_transfer_name::StyleTransferName; use enums::by_table::model_weights::weights_types::WeightsType; use log::debug; use serde_derive::Deserialize; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use tokens::tokens::model_weights::ModelWeightToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::prompt_token::PromptToken; /// Get details about a media file from our backend pub async fn get_media_file(api_host: &ApiHost, media_file_token: &MediaFileToken) -> Result { @@ -205,7 +205,7 @@ pub struct GetMediaFileModelInfo { mod tests { use crate::endpoints::media_files::get_media_file::get_media_file; use crate::utils::api_host::ApiHost; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; #[tokio::test] #[ignore] // Don't run in CI. Requires valid cookie diff --git a/crates/api_clients/artcraft_client/src/endpoints/media_files/legacy_upload_media_file_from_file.rs b/crates/api_clients/artcraft_client/src/endpoints/media_files/legacy_upload_media_file_from_file.rs index 74542974..b389b197 100644 --- a/crates/api_clients/artcraft_client/src/endpoints/media_files/legacy_upload_media_file_from_file.rs +++ b/crates/api_clients/artcraft_client/src/endpoints/media_files/legacy_upload_media_file_from_file.rs @@ -7,17 +7,17 @@ use crate::utils::constants::{APPLICATION_JSON, USER_AGENT}; use crate::utils::filter_bad_response::filter_bad_response; use crate::utils::http_get_anonymous::http_get_anonymous; use chrono::{DateTime, Utc}; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use uuid_utils::uuid::generate_random_uuid; use log::debug; use reqwest::multipart::{Form, Part}; use reqwest::Client; use serde_derive::{Deserialize, Serialize}; use std::path::Path; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use tokens::tokens::model_weights::ModelWeightToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::prompt_token::PromptToken; use uuid::uuid; pub struct LegacyUploadMediaFileFromFileArgs<'a, P: AsRef> { diff --git a/crates/api_clients/artcraft_client/src/endpoints/media_files/list_batch_generated_redux_media_files.rs b/crates/api_clients/artcraft_client/src/endpoints/media_files/list_batch_generated_redux_media_files.rs index 1037f29d..4ebe56ac 100644 --- a/crates/api_clients/artcraft_client/src/endpoints/media_files/list_batch_generated_redux_media_files.rs +++ b/crates/api_clients/artcraft_client/src/endpoints/media_files/list_batch_generated_redux_media_files.rs @@ -3,7 +3,7 @@ use crate::error::storyteller_error::StorytellerError; use crate::utils::api_host::ApiHost; use crate::utils::basic_json_get_request::basic_json_get_request; use crate::api_defs::media_file::list_batch_generated_media_files::{ListBatchGeneratedReduxMediaFilesSuccessResponse, LIST_BATCH_GENERATED_REDUX_MEDIA_FILES_URL_PATH}; -use tokens::tokens::batch_generations::BatchGenerationToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; pub async fn list_batch_generated_redux_media_files( api_host: &ApiHost, diff --git a/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_image_media_file_from_bytes.rs b/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_image_media_file_from_bytes.rs index f496671b..2b555a98 100644 --- a/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_image_media_file_from_bytes.rs +++ b/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_image_media_file_from_bytes.rs @@ -6,7 +6,7 @@ use crate::utils::api_host::ApiHost; use crate::utils::constants::{APPLICATION_JSON, USER_AGENT}; use crate::utils::filter_bad_response::filter_bad_response; use crate::utils::http_get_anonymous::http_get_anonymous; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use chrono::{DateTime, Utc}; use uuid_utils::uuid::generate_random_uuid; use log::debug; @@ -16,10 +16,10 @@ use serde_derive::{Deserialize, Serialize}; use std::fs::File; use std::io::Read; use std::path::Path; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use tokens::tokens::model_weights::ModelWeightToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::prompt_token::PromptToken; use uuid::uuid; pub struct UploadImageBytesArgs<'a> { diff --git a/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_image_media_file_from_file.rs b/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_image_media_file_from_file.rs index 193b9575..b05291f9 100644 --- a/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_image_media_file_from_file.rs +++ b/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_image_media_file_from_file.rs @@ -7,17 +7,17 @@ use crate::utils::constants::{APPLICATION_JSON, USER_AGENT}; use crate::utils::filter_bad_response::filter_bad_response; use crate::utils::http_get_anonymous::http_get_anonymous; use chrono::{DateTime, Utc}; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use uuid_utils::uuid::generate_random_uuid; use log::debug; use reqwest::multipart::{Form, Part}; use reqwest::Client; use serde_derive::{Deserialize, Serialize}; use std::path::Path; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use tokens::tokens::model_weights::ModelWeightToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::prompt_token::PromptToken; use uuid::uuid; pub struct UploadImageFromFileArgs<'a, P: AsRef> { diff --git a/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_new_engine_asset_from_file.rs b/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_new_engine_asset_from_file.rs index 1f98ea28..15cfceb7 100644 --- a/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_new_engine_asset_from_file.rs +++ b/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_new_engine_asset_from_file.rs @@ -4,7 +4,7 @@ use crate::utils::api_host::ApiHost; use crate::utils::constants::{APPLICATION_JSON, USER_AGENT}; use crate::utils::filter_bad_response::filter_bad_response; use crate::utils::http_get_anonymous::http_get_anonymous; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use chrono::{DateTime, Utc}; use uuid_utils::uuid::generate_random_uuid; use log::debug; @@ -12,10 +12,10 @@ use reqwest::multipart::{Form, Part}; use reqwest::Client; use serde_derive::{Deserialize, Serialize}; use std::path::Path; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use tokens::tokens::model_weights::ModelWeightToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::prompt_token::PromptToken; use uuid::uuid; // TODO: The naming of these methods is ridiculous. It needs to be cleaned up. diff --git a/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_video_media_file_from_file.rs b/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_video_media_file_from_file.rs index 7c5a522d..1fbe5702 100644 --- a/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_video_media_file_from_file.rs +++ b/crates/api_clients/artcraft_client/src/endpoints/media_files/upload_video_media_file_from_file.rs @@ -4,7 +4,7 @@ use crate::utils::api_host::ApiHost; use crate::utils::constants::{APPLICATION_JSON, USER_AGENT}; use crate::utils::filter_bad_response::filter_bad_response; use crate::utils::http_get_anonymous::http_get_anonymous; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use chrono::{DateTime, Utc}; use uuid_utils::uuid::generate_random_uuid; use log::debug; @@ -12,10 +12,10 @@ use reqwest::multipart::{Form, Part}; use reqwest::Client; use serde_derive::{Deserialize, Serialize}; use std::path::Path; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use tokens::tokens::model_weights::ModelWeightToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::prompt_token::PromptToken; use uuid::uuid; pub struct UploadVideoFromFileArgs<'a, P: AsRef> { diff --git a/crates/api_clients/artcraft_client/src/recipes/download_media_file.rs b/crates/api_clients/artcraft_client/src/recipes/download_media_file.rs index a4eb3903..8ce9fd99 100644 --- a/crates/api_clients/artcraft_client/src/recipes/download_media_file.rs +++ b/crates/api_clients/artcraft_client/src/recipes/download_media_file.rs @@ -6,7 +6,7 @@ use log::{info, warn}; use reqwest::Client; use url::Url; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::endpoints::media_files::get_media_file::{get_media_file, GetMediaFileSuccessResponse}; use crate::error::api_error::ApiError; diff --git a/crates/api_clients/artcraft_client/src/recipes/upload_media_file_from_file.rs b/crates/api_clients/artcraft_client/src/recipes/upload_media_file_from_file.rs index 1c32a124..04adb9e7 100644 --- a/crates/api_clients/artcraft_client/src/recipes/upload_media_file_from_file.rs +++ b/crates/api_clients/artcraft_client/src/recipes/upload_media_file_from_file.rs @@ -9,8 +9,8 @@ use mimetypes::mimetype_info::file_extension::FileExtension; use mimetypes::mimetype_info::mimetype_info::MimetypeInfo; use serde_derive::Deserialize; use std::path::Path; -use tokens::tokens::media_files::MediaFileToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::media_file_token::MediaFileToken; +use sqlite_identifiers::prompt_token::PromptToken; #[derive(Deserialize, Debug)] pub struct UploadMediaFileSuccessResponse { diff --git a/crates/api_clients/grok_consumer_client/Cargo.toml b/crates/api_clients/grok_consumer_client/Cargo.toml index 8a78c8f6..dcb8db89 100644 --- a/crates/api_clients/grok_consumer_client/Cargo.toml +++ b/crates/api_clients/grok_consumer_client/Cargo.toml @@ -18,7 +18,6 @@ workspace-build-acceleration.workspace = true # Internal cloudflare_errors.workspace = true cloudflare_mitigation.workspace = true -cookie_store.workspace = true errors.workspace = true # External diff --git a/crates/api_clients/router/Cargo.toml b/crates/api_clients/router/Cargo.toml index 47d6bae6..3ad970d0 100644 --- a/crates/api_clients/router/Cargo.toml +++ b/crates/api_clients/router/Cargo.toml @@ -22,6 +22,7 @@ fal_client.workspace = true gmicloud_client.workspace = true grok_api_client.workspace = true seedance2pro_client.workspace = true +sqlite_identifiers.workspace = true tokens.workspace = true url_utils.workspace = true worldlabs_api_client.workspace = true diff --git a/crates/api_clients/router/src/api/audio_list_ref.rs b/crates/api_clients/router/src/api/audio_list_ref.rs index 6f409dca..e6ad63df 100644 --- a/crates/api_clients/router/src/api/audio_list_ref.rs +++ b/crates/api_clients/router/src/api/audio_list_ref.rs @@ -1,4 +1,4 @@ -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Clone, Debug)] pub enum AudioListRef { diff --git a/crates/api_clients/router/src/api/image_list_ref.rs b/crates/api_clients/router/src/api/image_list_ref.rs index e3df9423..480be85e 100644 --- a/crates/api_clients/router/src/api/image_list_ref.rs +++ b/crates/api_clients/router/src/api/image_list_ref.rs @@ -1,4 +1,4 @@ -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Clone, Debug)] pub enum ImageListRef { diff --git a/crates/api_clients/router/src/api/image_ref.rs b/crates/api_clients/router/src/api/image_ref.rs index fa6a80d7..989dbf94 100644 --- a/crates/api_clients/router/src/api/image_ref.rs +++ b/crates/api_clients/router/src/api/image_ref.rs @@ -1,4 +1,4 @@ -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Clone, Debug)] pub enum ImageRef { diff --git a/crates/api_clients/router/src/api/mesh_ref.rs b/crates/api_clients/router/src/api/mesh_ref.rs index dd0dd6b2..39c03d8c 100644 --- a/crates/api_clients/router/src/api/mesh_ref.rs +++ b/crates/api_clients/router/src/api/mesh_ref.rs @@ -1,4 +1,4 @@ -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; /// Reference to an input 3D mesh file (e.g. GLB/OBJ/FBX) for mesh-to-mesh /// models like part splitting and retopology. diff --git a/crates/api_clients/router/src/api/video_list_ref.rs b/crates/api_clients/router/src/api/video_list_ref.rs index d48f3ce2..e0a2cc2b 100644 --- a/crates/api_clients/router/src/api/video_list_ref.rs +++ b/crates/api_clients/router/src/api/video_list_ref.rs @@ -1,4 +1,4 @@ -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Clone, Debug)] pub enum VideoListRef { diff --git a/crates/api_clients/router/src/api/video_ref.rs b/crates/api_clients/router/src/api/video_ref.rs index e3f4a9e8..f3ca96c4 100644 --- a/crates/api_clients/router/src/api/video_ref.rs +++ b/crates/api_clients/router/src/api/video_ref.rs @@ -1,4 +1,4 @@ -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Clone, Debug)] pub enum VideoRef { diff --git a/crates/api_clients/router/src/errors/client_error.rs b/crates/api_clients/router/src/errors/client_error.rs index b7b9af87..d98b4ad0 100644 --- a/crates/api_clients/router/src/errors/client_error.rs +++ b/crates/api_clients/router/src/errors/client_error.rs @@ -1,7 +1,7 @@ use std::error::Error; use std::fmt::{Display, Formatter}; use tokens::tokens::characters::CharacterToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Debug, Clone, Copy)] pub enum ClientType { diff --git a/crates/api_clients/router/src/generate/generate_audio/audio_generation_draft_context.rs b/crates/api_clients/router/src/generate/generate_audio/audio_generation_draft_context.rs index 86423ac5..9b2d28ca 100644 --- a/crates/api_clients/router/src/generate/generate_audio/audio_generation_draft_context.rs +++ b/crates/api_clients/router/src/generate/generate_audio/audio_generation_draft_context.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use std::fmt::Debug; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::client::router_client::RouterClient; use crate::client::router_seedance2pro_client::RouterSeedance2ProClient; diff --git a/crates/api_clients/router/src/generate/generate_audio/generate_audio_request_builder.rs b/crates/api_clients/router/src/generate/generate_audio/generate_audio_request_builder.rs index baffcfaf..490a185f 100644 --- a/crates/api_clients/router/src/generate/generate_audio/generate_audio_request_builder.rs +++ b/crates/api_clients/router/src/generate/generate_audio/generate_audio_request_builder.rs @@ -293,7 +293,7 @@ mod tests { } fn builder_with_audio_token_ref(provider: RouterProvider, model: RouterAudioModel) -> GenerateAudioRequestBuilder { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; GenerateAudioRequestBuilder { audio_references: Some(AudioListRef::MediaFileTokens(vec![MediaFileToken::new("mf_test123".to_string())])), ..builder(provider, model) diff --git a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/build_common.rs b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/build_common.rs index a6ef421c..a9def6d0 100644 --- a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/build_common.rs +++ b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/build_common.rs @@ -40,7 +40,7 @@ pub fn build_artcraft_omni_audio_request( #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::image_list_ref::ImageListRef; diff --git a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/resolve.rs b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/resolve.rs index 9d73d795..97b3cdcb 100644 --- a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/resolve.rs +++ b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/resolve.rs @@ -2,7 +2,7 @@ //! //! Artcraft only accepts media file tokens — raw URLs are rejected. -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::image_list_ref::ImageListRef; diff --git a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_remix/cost.rs b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_remix/cost.rs index 605dd898..05b80cb3 100644 --- a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_remix/cost.rs +++ b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_remix/cost.rs @@ -28,7 +28,7 @@ impl ArtcraftSunoRemixCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::router_audio_model::RouterAudioModel; diff --git a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_remix/request.rs b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_remix/request.rs index 09621cc1..fb7d00f5 100644 --- a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_remix/request.rs +++ b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_remix/request.rs @@ -20,7 +20,7 @@ impl ArtcraftSunoRemixRequestState { mod tests { use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::utils::api_host::ApiHost; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::router_audio_model::RouterAudioModel; diff --git a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_sample/cost.rs b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_sample/cost.rs index e68c3c68..07c823be 100644 --- a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_sample/cost.rs +++ b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_sample/cost.rs @@ -28,7 +28,7 @@ impl ArtcraftSunoSampleCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::router_audio_model::RouterAudioModel; diff --git a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_sample/request.rs b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_sample/request.rs index 803c8b80..28ad83d7 100644 --- a/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_sample/request.rs +++ b/crates/api_clients/router/src/generate/generate_audio/providers/artcraft/suno_sample/request.rs @@ -20,7 +20,7 @@ impl ArtcraftSunoSampleRequestState { mod tests { use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::utils::api_host::ApiHost; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::router_audio_model::RouterAudioModel; diff --git a/crates/api_clients/router/src/generate/generate_audio/providers/fal/seed_audio_1p0/build.rs b/crates/api_clients/router/src/generate/generate_audio/providers/fal/seed_audio_1p0/build.rs index 66417f9d..ca2c3459 100644 --- a/crates/api_clients/router/src/generate/generate_audio/providers/fal/seed_audio_1p0/build.rs +++ b/crates/api_clients/router/src/generate/generate_audio/providers/fal/seed_audio_1p0/build.rs @@ -239,7 +239,7 @@ fn plan_pitch( #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_audio_model::RouterAudioModel; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_audio/providers/kinovi/resolve.rs b/crates/api_clients/router/src/generate/generate_audio/providers/kinovi/resolve.rs index ed7faa1c..b4014808 100644 --- a/crates/api_clients/router/src/generate/generate_audio/providers/kinovi/resolve.rs +++ b/crates/api_clients/router/src/generate/generate_audio/providers/kinovi/resolve.rs @@ -6,7 +6,7 @@ //! video provider (`generate_video::providers::kinovi::upload`). use seedance2pro_client::creds::seedance2pro_session::Seedance2ProSession; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::errors::artcraft_router_error::ArtcraftRouterError; diff --git a/crates/api_clients/router/src/generate/generate_audio/providers/kinovi/suno_remix/build.rs b/crates/api_clients/router/src/generate/generate_audio/providers/kinovi/suno_remix/build.rs index f2fe95fd..8b7c1961 100644 --- a/crates/api_clients/router/src/generate/generate_audio/providers/kinovi/suno_remix/build.rs +++ b/crates/api_clients/router/src/generate/generate_audio/providers/kinovi/suno_remix/build.rs @@ -45,7 +45,7 @@ pub(crate) fn build_kinovi_suno_remix_draft( #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::router_audio_model::RouterAudioModel; diff --git a/crates/api_clients/router/src/generate/generate_image/image_generation_draft_context.rs b/crates/api_clients/router/src/generate/generate_image/image_generation_draft_context.rs index 4d465662..fef09738 100644 --- a/crates/api_clients/router/src/generate/generate_image/image_generation_draft_context.rs +++ b/crates/api_clients/router/src/generate/generate_image/image_generation_draft_context.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use std::fmt::Debug; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::client::router_client::RouterClient; use crate::client::router_seedance2pro_client::RouterSeedance2ProClient; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/artcraft/build_common.rs b/crates/api_clients/router/src/generate/generate_image/providers/artcraft/build_common.rs index ef61fa72..2189dd15 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/artcraft/build_common.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/artcraft/build_common.rs @@ -3,7 +3,7 @@ use enums::common::generation::common_aspect_ratio::CommonAspectRatio as CommonA use enums::common::generation::common_image_model::CommonImageModel as CommonImageModelEnum; use enums::common::generation::common_quality::CommonQuality as CommonQualityEnum; use enums::common::generation::common_resolution::CommonResolution as CommonResolutionEnum; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_aspect_ratio::RouterAspectRatio; use crate::api::router_quality::RouterQuality; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/artcraft/flux_2_lora_angles/cost.rs b/crates/api_clients/router/src/generate/generate_image/providers/artcraft/flux_2_lora_angles/cost.rs index b1c27df5..9030392c 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/artcraft/flux_2_lora_angles/cost.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/artcraft/flux_2_lora_angles/cost.rs @@ -37,7 +37,7 @@ mod tests { use crate::api::router_provider::RouterProvider; use crate::client::request_mismatch_mitigation_strategy::RequestMismatchMitigationStrategy; use crate::generate::generate_image::generate_image_request_builder::GenerateImageRequestBuilder; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; fn cost_cents(image_batch_count: u16) -> u64 { let builder = GenerateImageRequestBuilder { diff --git a/crates/api_clients/router/src/generate/generate_image/providers/artcraft/gpt_image_1/cost.rs b/crates/api_clients/router/src/generate/generate_image/providers/artcraft/gpt_image_1/cost.rs index c67a06a9..e98512f8 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/artcraft/gpt_image_1/cost.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/artcraft/gpt_image_1/cost.rs @@ -86,7 +86,7 @@ mod tests { use crate::api::router_provider::RouterProvider; use crate::client::request_mismatch_mitigation_strategy::RequestMismatchMitigationStrategy; use crate::generate::generate_image::generate_image_request_builder::GenerateImageRequestBuilder; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; fn base() -> GenerateImageRequestBuilder { GenerateImageRequestBuilder { diff --git a/crates/api_clients/router/src/generate/generate_image/providers/artcraft/qwen_edit_2511_angles/cost.rs b/crates/api_clients/router/src/generate/generate_image/providers/artcraft/qwen_edit_2511_angles/cost.rs index a2316105..15dee074 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/artcraft/qwen_edit_2511_angles/cost.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/artcraft/qwen_edit_2511_angles/cost.rs @@ -36,7 +36,7 @@ mod tests { use crate::api::router_provider::RouterProvider; use crate::client::request_mismatch_mitigation_strategy::RequestMismatchMitigationStrategy; use crate::generate::generate_image::generate_image_request_builder::GenerateImageRequestBuilder; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; fn cost_cents(image_batch_count: u16) -> u64 { let builder = GenerateImageRequestBuilder { diff --git a/crates/api_clients/router/src/generate/generate_image/providers/fal/flux_2_lora_angles/build.rs b/crates/api_clients/router/src/generate/generate_image/providers/fal/flux_2_lora_angles/build.rs index 00114b89..f704e661 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/fal/flux_2_lora_angles/build.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/fal/flux_2_lora_angles/build.rs @@ -159,7 +159,7 @@ mod tests { #[test] fn media_file_tokens_rejected() { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; let builder = GenerateImageRequestBuilder { image_inputs: Some(ImageListRef::MediaFileTokens(vec![MediaFileToken::new_from_str("mf_test")])), ..base() diff --git a/crates/api_clients/router/src/generate/generate_image/providers/fal/qwen_edit_2511_angles/build.rs b/crates/api_clients/router/src/generate/generate_image/providers/fal/qwen_edit_2511_angles/build.rs index 2421c5ab..505081eb 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/fal/qwen_edit_2511_angles/build.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/fal/qwen_edit_2511_angles/build.rs @@ -134,7 +134,7 @@ mod tests { #[test] fn media_file_tokens_rejected() { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; let builder = GenerateImageRequestBuilder { image_inputs: Some(ImageListRef::MediaFileTokens(vec![MediaFileToken::new_from_str("mf_test")])), ..base() diff --git a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7/build.rs b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7/build.rs index d66254c1..f33e947a 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7/build.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7/build.rs @@ -160,7 +160,7 @@ pub(crate) fn plan_batch_count( #[cfg(test)] mod tests { use seedance2pro_client::generate::image::generate_midjourney_v7::KinoviMidjourneyBatchCount; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7/request.rs b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7/request.rs index 269baf00..c82e0c09 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7/request.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7/request.rs @@ -44,7 +44,7 @@ mod tests { use std::collections::HashMap; use seedance2pro_client::creds::seedance2pro_session::Seedance2ProSession; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7_niji/build.rs b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7_niji/build.rs index 29d1beaa..1bc98af3 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7_niji/build.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7_niji/build.rs @@ -148,7 +148,7 @@ pub(crate) fn plan_batch_count( #[cfg(test)] mod tests { use seedance2pro_client::generate::image::generate_midjourney_v7_niji::KinoviMidjourneyBatchCount; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7_niji/request.rs b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7_niji/request.rs index f9e02be3..0f7e5613 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7_niji/request.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_7_niji/request.rs @@ -43,7 +43,7 @@ mod tests { use std::collections::HashMap; use seedance2pro_client::creds::seedance2pro_session::Seedance2ProSession; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_8/build.rs b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_8/build.rs index 0eef1fd3..2ce9749a 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_8/build.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_8/build.rs @@ -148,7 +148,7 @@ pub(crate) fn plan_batch_count( #[cfg(test)] mod tests { use seedance2pro_client::generate::image::generate_midjourney_v8::KinoviMidjourneyBatchCount; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_image_model::RouterImageModel; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_8/request.rs b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_8/request.rs index 0d34673c..f50c80ff 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_8/request.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/midjourney_8/request.rs @@ -43,7 +43,7 @@ mod tests { use std::collections::HashMap; use seedance2pro_client::creds::seedance2pro_session::Seedance2ProSession; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/resolve.rs b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/resolve.rs index 4e069932..b2f4bf8d 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/resolve.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/resolve.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use seedance2pro_client::creds::seedance2pro_session::Seedance2ProSession; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::errors::artcraft_router_error::ArtcraftRouterError; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/seedream_5p0_pro/build.rs b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/seedream_5p0_pro/build.rs index ef1a9d71..6cc9aeb5 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/seedream_5p0_pro/build.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/seedream_5p0_pro/build.rs @@ -181,7 +181,7 @@ pub(crate) fn plan_batch_count( #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_image_model::RouterImageModel; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/seedream_5p0_pro/request.rs b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/seedream_5p0_pro/request.rs index ae808d5f..08112522 100644 --- a/crates/api_clients/router/src/generate/generate_image/providers/kinovi/seedream_5p0_pro/request.rs +++ b/crates/api_clients/router/src/generate/generate_image/providers/kinovi/seedream_5p0_pro/request.rs @@ -43,7 +43,7 @@ mod tests { use std::collections::HashMap; use seedance2pro_client::creds::seedance2pro_session::Seedance2ProSession; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_mesh/generate_mesh_request_builder.rs b/crates/api_clients/router/src/generate/generate_mesh/generate_mesh_request_builder.rs index 34af6834..5de71b0c 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/generate_mesh_request_builder.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/generate_mesh_request_builder.rs @@ -292,7 +292,7 @@ mod tests { } fn builder_with_token_image(provider: RouterProvider, model: RouterMeshModel) -> GenerateMeshRequestBuilder { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; GenerateMeshRequestBuilder { provider, model, diff --git a/crates/api_clients/router/src/generate/generate_mesh/mesh_generation_draft_context.rs b/crates/api_clients/router/src/generate/generate_mesh/mesh_generation_draft_context.rs index 1760d54a..8b5ffe26 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/mesh_generation_draft_context.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/mesh_generation_draft_context.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use std::fmt::Debug; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::client::router_client::RouterClient; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/build_common.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/build_common.rs index 4d46c3c7..369bb4a3 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/build_common.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/build_common.rs @@ -47,7 +47,7 @@ pub fn build_artcraft_omni_mesh_request( mod tests { use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; use enums::common::generation::common_polygon_type::CommonPolygonType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::image_ref::ImageRef; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan3d_3/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan3d_3/cost.rs index 41e0e9f1..6eea177c 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan3d_3/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan3d_3/cost.rs @@ -57,7 +57,7 @@ impl ArtcraftHunyuan3d3CostState { #[cfg(test)] mod tests { use enums::common::generation::common_polygon_type::CommonPolygonType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::image_ref::ImageRef; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan3d_3_sketch/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan3d_3_sketch/cost.rs index 0a7a4c6a..75585bc6 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan3d_3_sketch/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan3d_3_sketch/cost.rs @@ -41,7 +41,7 @@ impl ArtcraftHunyuan3d3SketchCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_mesh_model::RouterMeshModel; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_2p0/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_2p0/cost.rs index 2772e1e6..ab25d53f 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_2p0/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_2p0/cost.rs @@ -37,7 +37,7 @@ impl ArtcraftHunyuan3d2p0CostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_mesh_model::RouterMeshModel; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_2p1/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_2p1/cost.rs index e045ff48..61aa38f9 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_2p1/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_2p1/cost.rs @@ -37,7 +37,7 @@ impl ArtcraftHunyuan3d2p1CostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_mesh_model::RouterMeshModel; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_part/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_part/cost.rs index 2cde0541..d6db3632 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_part/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_part/cost.rs @@ -30,7 +30,7 @@ impl ArtcraftHunyuan3d3p1PartCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::mesh_ref::MeshRef; use crate::api::router_mesh_model::RouterMeshModel; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_pro/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_pro/cost.rs index 8b114053..b5371ae9 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_pro/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_pro/cost.rs @@ -49,7 +49,7 @@ impl ArtcraftHunyuan3d3p1ProCostState { #[cfg(test)] mod tests { use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::image_ref::ImageRef; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_rapid/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_rapid/cost.rs index dd2432e5..4ac379d6 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_rapid/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_rapid/cost.rs @@ -39,7 +39,7 @@ impl ArtcraftHunyuan3d3p1RapidCostState { #[cfg(test)] mod tests { use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_mesh_model::RouterMeshModel; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_smart_topology/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_smart_topology/cost.rs index 9d445a9c..ded11cb8 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_smart_topology/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/hunyuan_3d_3p1_smart_topology/cost.rs @@ -31,7 +31,7 @@ impl ArtcraftHunyuan3d3p1SmartTopologyCostState { #[cfg(test)] mod tests { use enums::common::generation::common_polygon_type::CommonPolygonType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::mesh_ref::MeshRef; use crate::api::router_mesh_model::RouterMeshModel; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/meshy_v6/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/meshy_v6/cost.rs index 47d8e9d7..6c478596 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/meshy_v6/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/meshy_v6/cost.rs @@ -32,7 +32,7 @@ impl ArtcraftMeshyV6CostState { mod tests { use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; use enums::common::generation::common_polygon_type::CommonPolygonType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_mesh_model::RouterMeshModel; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/resolve.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/resolve.rs index cd8314ec..a3f550ac 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/resolve.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/resolve.rs @@ -2,7 +2,7 @@ //! //! Artcraft only accepts media file tokens — raw URLs are rejected. -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::image_ref::ImageRef; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/rodin_2p5_fast/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/rodin_2p5_fast/cost.rs index 1327b140..45c25e22 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/rodin_2p5_fast/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/rodin_2p5_fast/cost.rs @@ -31,7 +31,7 @@ impl ArtcraftRodin2p5FastCostState { #[cfg(test)] mod tests { use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_mesh_model::RouterMeshModel; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/tripo3d_h3p1/cost.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/tripo3d_h3p1/cost.rs index 2c638926..96e94b4e 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/tripo3d_h3p1/cost.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/artcraft/tripo3d_h3p1/cost.rs @@ -89,7 +89,7 @@ impl ArtcraftTripo3dH3p1CostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::image_ref::ImageRef; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan3d_3/build.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan3d_3/build.rs index 6f463209..4cb8886c 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan3d_3/build.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan3d_3/build.rs @@ -234,7 +234,7 @@ mod tests { #[test] fn media_tokens_are_rejected() { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; let builder = GenerateMeshRequestBuilder { reference_images: Some(ImageListRef::MediaFileTokens(vec![ MediaFileToken::new("mf_test123".to_string()), diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan_3d_3p1_part/build.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan_3d_3p1_part/build.rs index f6638ea1..51c67104 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan_3d_3p1_part/build.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan_3d_3p1_part/build.rs @@ -53,7 +53,7 @@ pub(crate) fn build_fal_hunyuan_3d_3p1_part_state( mod tests { use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; use enums::common::generation::common_polygon_type::CommonPolygonType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_ref::ImageRef; use crate::api::mesh_ref::MeshRef; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan_3d_3p1_smart_topology/build.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan_3d_3p1_smart_topology/build.rs index 5e3b0405..3a1d1553 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan_3d_3p1_smart_topology/build.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/hunyuan_3d_3p1_smart_topology/build.rs @@ -82,7 +82,7 @@ fn to_polygon_type(polygon_type: CommonPolygonType) -> Hunyuan3d3p1SmartTopology #[cfg(test)] mod tests { use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_ref::ImageRef; use crate::api::mesh_ref::MeshRef; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/meshy_v6/build.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/meshy_v6/build.rs index 276df58a..74e57416 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/meshy_v6/build.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/meshy_v6/build.rs @@ -181,7 +181,7 @@ fn to_topology(polygon_type: CommonPolygonType) -> MeshyV6Topology { #[cfg(test)] mod tests { use enums::common::generation::common_mesh_quality::CommonMeshQuality; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::image_ref::ImageRef; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/resolve.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/resolve.rs index 78f8cba2..7420739c 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/resolve.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/resolve.rs @@ -127,7 +127,7 @@ fn image_ref_to_url(image_ref: ImageRef) -> Result #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use super::*; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/rodin_2p5_fast/build.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/rodin_2p5_fast/build.rs index 6ddce8bd..543059ef 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/rodin_2p5_fast/build.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/rodin_2p5_fast/build.rs @@ -197,7 +197,7 @@ fn plan_material( mod tests { use enums::common::generation::common_mesh_quality::CommonMeshQuality; use enums::common::generation::common_polygon_type::CommonPolygonType; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::mesh_ref::MeshRef; use crate::api::router_mesh_model::RouterMeshModel; diff --git a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/tripo3d_h3p1/build.rs b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/tripo3d_h3p1/build.rs index 44319e80..c935da5d 100644 --- a/crates/api_clients/router/src/generate/generate_mesh/providers/fal/tripo3d_h3p1/build.rs +++ b/crates/api_clients/router/src/generate/generate_mesh/providers/fal/tripo3d_h3p1/build.rs @@ -230,7 +230,7 @@ fn to_image_geometry_quality(quality: CommonMeshQuality) -> Tripo3dH3p1ImageGeom #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::image_ref::ImageRef; diff --git a/crates/api_clients/router/src/generate/generate_splat/cost/artcraft/estimate_splat_cost_artcraft_marble_0p1_mini.rs b/crates/api_clients/router/src/generate/generate_splat/cost/artcraft/estimate_splat_cost_artcraft_marble_0p1_mini.rs index 2e56175b..de8a38b4 100644 --- a/crates/api_clients/router/src/generate/generate_splat/cost/artcraft/estimate_splat_cost_artcraft_marble_0p1_mini.rs +++ b/crates/api_clients/router/src/generate/generate_splat/cost/artcraft/estimate_splat_cost_artcraft_marble_0p1_mini.rs @@ -33,7 +33,7 @@ mod tests { use crate::api::router_provider::RouterProvider; use crate::generate::generate_splat::generate_splat_request::GenerateSplatRequest; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; fn estimate_usd_cents(prompt: Option<&str>, image_tokens: Option>) -> u64 { let request = GenerateSplatRequest { diff --git a/crates/api_clients/router/src/generate/generate_splat/cost/artcraft/estimate_splat_cost_artcraft_marble_0p1_plus.rs b/crates/api_clients/router/src/generate/generate_splat/cost/artcraft/estimate_splat_cost_artcraft_marble_0p1_plus.rs index 4c6090f6..026e0679 100644 --- a/crates/api_clients/router/src/generate/generate_splat/cost/artcraft/estimate_splat_cost_artcraft_marble_0p1_plus.rs +++ b/crates/api_clients/router/src/generate/generate_splat/cost/artcraft/estimate_splat_cost_artcraft_marble_0p1_plus.rs @@ -33,7 +33,7 @@ mod tests { use crate::api::router_provider::RouterProvider; use crate::generate::generate_splat::generate_splat_request::GenerateSplatRequest; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; fn estimate_usd_cents(prompt: Option<&str>, image_tokens: Option>) -> u64 { let request = GenerateSplatRequest { diff --git a/crates/api_clients/router/src/generate/generate_splat/generate_splat_request_builder.rs b/crates/api_clients/router/src/generate/generate_splat/generate_splat_request_builder.rs index ea090e8f..76ed325d 100644 --- a/crates/api_clients/router/src/generate/generate_splat/generate_splat_request_builder.rs +++ b/crates/api_clients/router/src/generate/generate_splat/generate_splat_request_builder.rs @@ -107,7 +107,7 @@ impl GenerateSplatRequestBuilder { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::generate::generate_splat::splat_generation_draft::SplatGenerationDraftRequest; use crate::generate::generate_splat::splat_generation_request::SplatGenerationRequest; diff --git a/crates/api_clients/router/src/generate/generate_splat/plan/artcraft/plan_generate_splat_artcraft_marble_0p1_mini.rs b/crates/api_clients/router/src/generate/generate_splat/plan/artcraft/plan_generate_splat_artcraft_marble_0p1_mini.rs index c51e5804..3152ecb5 100644 --- a/crates/api_clients/router/src/generate/generate_splat/plan/artcraft/plan_generate_splat_artcraft_marble_0p1_mini.rs +++ b/crates/api_clients/router/src/generate/generate_splat/plan/artcraft/plan_generate_splat_artcraft_marble_0p1_mini.rs @@ -3,7 +3,7 @@ use crate::errors::artcraft_router_error::ArtcraftRouterError; use crate::errors::client_error::ClientError; use crate::generate::generate_splat::generate_splat_request::GenerateSplatRequest; use crate::generate::generate_splat::splat_generation_plan::SplatGenerationPlan; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Debug, Clone)] pub struct PlanArtcraftMarble0p1Mini { diff --git a/crates/api_clients/router/src/generate/generate_splat/plan/artcraft/plan_generate_splat_artcraft_marble_0p1_plus.rs b/crates/api_clients/router/src/generate/generate_splat/plan/artcraft/plan_generate_splat_artcraft_marble_0p1_plus.rs index d2ed3c3c..23a4b401 100644 --- a/crates/api_clients/router/src/generate/generate_splat/plan/artcraft/plan_generate_splat_artcraft_marble_0p1_plus.rs +++ b/crates/api_clients/router/src/generate/generate_splat/plan/artcraft/plan_generate_splat_artcraft_marble_0p1_plus.rs @@ -3,7 +3,7 @@ use crate::errors::artcraft_router_error::ArtcraftRouterError; use crate::errors::client_error::ClientError; use crate::generate::generate_splat::generate_splat_request::GenerateSplatRequest; use crate::generate::generate_splat::splat_generation_plan::SplatGenerationPlan; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Debug, Clone)] pub struct PlanArtcraftMarble0p1Plus { diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/build_common.rs b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/build_common.rs index e7e27744..b99ecfba 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/build_common.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/build_common.rs @@ -32,7 +32,7 @@ pub fn build_artcraft_omni_splat_request( #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p0/cost.rs b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p0/cost.rs index 1d498e5f..7e913661 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p0/cost.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p0/cost.rs @@ -32,7 +32,7 @@ impl ArtcraftMarble1p0CostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p0_draft/cost.rs b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p0_draft/cost.rs index f416506e..00ec6964 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p0_draft/cost.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p0_draft/cost.rs @@ -32,7 +32,7 @@ impl ArtcraftMarble1p0DraftCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p1/cost.rs b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p1/cost.rs index 8c22dc1d..b20a684b 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p1/cost.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p1/cost.rs @@ -32,7 +32,7 @@ impl ArtcraftMarble1p1CostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p1_plus/cost.rs b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p1_plus/cost.rs index dd2ac330..458a1b69 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p1_plus/cost.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/marble_1p1_plus/cost.rs @@ -32,7 +32,7 @@ impl ArtcraftMarble1p1PlusCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/resolve.rs b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/resolve.rs index e5d6df93..bea82ee6 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/resolve.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/resolve.rs @@ -2,7 +2,7 @@ //! //! Artcraft only accepts media file tokens — raw URLs are rejected. -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::video_ref::VideoRef; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/triposplat/cost.rs b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/triposplat/cost.rs index ae3ea179..912886b7 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/triposplat/cost.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/artcraft/triposplat/cost.rs @@ -23,7 +23,7 @@ impl ArtcraftTripoSplatCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/fal/triposplat/build.rs b/crates/api_clients/router/src/generate/generate_splat/providers/fal/triposplat/build.rs index 08f2e4a6..e8942cf7 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/fal/triposplat/build.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/fal/triposplat/build.rs @@ -112,7 +112,7 @@ mod tests { #[test] fn media_tokens_are_rejected() { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; let builder = GenerateSplatRequestBuilder { reference_images: Some(ImageListRef::MediaFileTokens(vec![ MediaFileToken::new("mf_test123".to_string()), diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/draft_common.rs b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/draft_common.rs index bca7b4dc..536450e7 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/draft_common.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/draft_common.rs @@ -1,6 +1,6 @@ use std::time::Duration; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use worldlabs_api_client::api::api_types::world_labs_model::WorldLabsModel; use worldlabs_api_client::api::requests::generate_world::http_request::{ ContentReference, SphericallyLocatedContent, WorldPrompt, diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p0/cost.rs b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p0/cost.rs index 6c0890ee..f138a72a 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p0/cost.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p0/cost.rs @@ -39,7 +39,7 @@ impl WorldLabsMarble1p0CostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p0_draft/cost.rs b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p0_draft/cost.rs index 0ef5810c..d09362b1 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p0_draft/cost.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p0_draft/cost.rs @@ -39,7 +39,7 @@ impl WorldLabsMarble1p0DraftModelCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p1/cost.rs b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p1/cost.rs index 2d7bc205..5b9ad507 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p1/cost.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p1/cost.rs @@ -39,7 +39,7 @@ impl WorldLabsMarble1p1CostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p1_plus/cost.rs b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p1_plus/cost.rs index 9afa2dd5..bce39752 100644 --- a/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p1_plus/cost.rs +++ b/crates/api_clients/router/src/generate/generate_splat/providers/worldlabs/marble_1p1_plus/cost.rs @@ -39,7 +39,7 @@ impl WorldLabsMarble1p1PlusCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_list_ref::ImageListRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_splat/splat_generation_draft_context.rs b/crates/api_clients/router/src/generate/generate_splat/splat_generation_draft_context.rs index b7689403..a880046c 100644 --- a/crates/api_clients/router/src/generate/generate_splat/splat_generation_draft_context.rs +++ b/crates/api_clients/router/src/generate/generate_splat/splat_generation_draft_context.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use std::fmt::Debug; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::client::router_client::RouterClient; use crate::client::router_worldlabs_client::RouterWorldLabsClient; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video/build.rs index a2a9aee4..358da32e 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video/build.rs @@ -35,7 +35,7 @@ mod tests { use enums::common::generation::common_resolution::CommonResolution as CommonResolutionEnum; use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video/cost.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video/cost.rs index 273cb77f..d4880471 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video/cost.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video/cost.rs @@ -70,7 +70,7 @@ impl ArtcraftGrokImagineVideoCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_resolution::RouterResolution; use crate::api::router_video_model::RouterVideoModel; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video_1p5/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video_1p5/build.rs index 925e2536..5a362d1b 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video_1p5/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video_1p5/build.rs @@ -42,7 +42,7 @@ mod tests { use enums::common::generation::common_resolution::CommonResolution as CommonResolutionEnum; use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video_1p5/cost.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video_1p5/cost.rs index 61db9b0b..e28d60e4 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video_1p5/cost.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/grok_imagine_video_1p5/cost.rs @@ -128,7 +128,7 @@ impl ArtcraftGrokImagineVideo1p5CostState { mod tests { use super::*; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_resolution::RouterResolution; use crate::api::router_video_model::RouterVideoModel; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/happy_horse_1p0/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/happy_horse_1p0/build.rs index 1f773abe..ac2bac8c 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/happy_horse_1p0/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/happy_horse_1p0/build.rs @@ -25,7 +25,7 @@ mod tests { use enums::common::generation::common_resolution::CommonResolution as CommonResolutionEnum; use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/happy_horse_1p0/request.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/happy_horse_1p0/request.rs index 3306f289..c0d88b84 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/happy_horse_1p0/request.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/happy_horse_1p0/request.rs @@ -18,7 +18,7 @@ impl ArtcraftHappyHorse1p0RequestState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_aspect_ratio::RouterAspectRatio; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_1_6_pro/cost.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_1_6_pro/cost.rs index 9d671616..901b8c76 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_1_6_pro/cost.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_1_6_pro/cost.rs @@ -36,7 +36,7 @@ mod tests { use crate::api::image_ref::ImageRef; use crate::api::router_provider::RouterProvider; use crate::generate::generate_video::generate_video_request_builder::GenerateVideoRequestBuilder; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; fn cost_cents(duration_seconds: Option) -> u64 { let b = GenerateVideoRequestBuilder { diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_2_1_master/cost.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_2_1_master/cost.rs index da1f3fb3..d946259d 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_2_1_master/cost.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_2_1_master/cost.rs @@ -33,7 +33,7 @@ mod tests { use crate::api::image_ref::ImageRef; use crate::api::router_provider::RouterProvider; use crate::generate::generate_video::generate_video_request_builder::GenerateVideoRequestBuilder; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; fn cost_cents(duration_seconds: Option) -> u64 { let b = GenerateVideoRequestBuilder { diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_2_1_pro/cost.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_2_1_pro/cost.rs index e84dcdd9..4e6382ce 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_2_1_pro/cost.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/kling_2_1_pro/cost.rs @@ -33,7 +33,7 @@ mod tests { use crate::api::image_ref::ImageRef; use crate::api::router_provider::RouterProvider; use crate::generate::generate_video::generate_video_request_builder::GenerateVideoRequestBuilder; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; fn cost_cents(duration_seconds: Option) -> u64 { let b = GenerateVideoRequestBuilder { diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/preview_model/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/preview_model/build.rs index 3b41e3da..48399da3 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/preview_model/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/preview_model/build.rs @@ -25,7 +25,7 @@ mod tests { use enums::common::generation::common_resolution::CommonResolution as CommonResolutionEnum; use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/preview_model_fast/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/preview_model_fast/build.rs index 096ede49..4674e5f4 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/preview_model_fast/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/preview_model_fast/build.rs @@ -25,7 +25,7 @@ mod tests { use enums::common::generation::common_resolution::CommonResolution as CommonResolutionEnum; use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/resolve.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/resolve.rs index 849ea41e..e6a598ca 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/resolve.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/resolve.rs @@ -3,7 +3,7 @@ //! Artcraft only accepts media file tokens — raw URLs are rejected. use tokens::tokens::characters::CharacterToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::character_list_ref::CharacterListRef; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0/build.rs index 32d6b4db..2bc57b4c 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0/build.rs @@ -27,7 +27,7 @@ mod tests { use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use crate::api::router_bitrate::RouterBitrate; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0/request.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0/request.rs index 6a28e03b..141d7126 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0/request.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0/request.rs @@ -19,7 +19,7 @@ impl ArtcraftSeedance2p0RequestState { #[cfg(test)] mod tests { use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp/build.rs index 7c6fdc27..eb858fb6 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp/build.rs @@ -27,7 +27,7 @@ mod tests { use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use crate::api::router_bitrate::RouterBitrate; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_fast/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_fast/build.rs index 4b9eebf3..166213cc 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_fast/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_fast/build.rs @@ -27,7 +27,7 @@ mod tests { use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use crate::api::router_bitrate::RouterBitrate; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/build.rs index 59ac7fb3..c7415e87 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/build.rs @@ -29,7 +29,7 @@ mod tests { use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum; use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/cost.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/cost.rs index ffad17da..7f61736f 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/cost.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/cost.rs @@ -49,7 +49,7 @@ impl ArtcraftSeedance2p0BytePlusMiniCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_resolution::RouterResolution; use crate::api::router_video_model::RouterVideoModel; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu/build.rs index 05032c7b..0191d903 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu/build.rs @@ -27,7 +27,7 @@ mod tests { use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use crate::api::router_bitrate::RouterBitrate; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_fast/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_fast/build.rs index 5bf890b4..647a42d1 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_fast/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_fast/build.rs @@ -27,7 +27,7 @@ mod tests { use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use crate::api::router_bitrate::RouterBitrate; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/build.rs index aa4bac1a..6eb4cd24 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/build.rs @@ -29,7 +29,7 @@ mod tests { use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum; use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/cost.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/cost.rs index 88b0d8cb..c6fe0e74 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/cost.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/cost.rs @@ -49,7 +49,7 @@ impl ArtcraftSeedance2p0BytePlusUltraMiniCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_resolution::RouterResolution; use crate::api::router_video_model::RouterVideoModel; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/build.rs index cd9bbba9..e84bb0cf 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/build.rs @@ -28,7 +28,7 @@ mod tests { use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use crate::api::router_bitrate::RouterBitrate; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/request.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/request.rs index 3fcc7278..90f4f019 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/request.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/request.rs @@ -19,7 +19,7 @@ impl ArtcraftSeedance2p0FastRequestState { #[cfg(test)] mod tests { use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/build.rs index b4844879..25f189e6 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/build.rs @@ -29,7 +29,7 @@ mod tests { use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum; use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/cost.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/cost.rs index 9c36520b..ef3444f3 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/cost.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/cost.rs @@ -49,7 +49,7 @@ impl ArtcraftSeedance2p0MiniCostState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_resolution::RouterResolution; use crate::api::router_video_model::RouterVideoModel; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u/build.rs index 61866d76..590834a2 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u/build.rs @@ -27,7 +27,7 @@ mod tests { use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use crate::api::router_bitrate::RouterBitrate; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u/request.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u/request.rs index 0c2932df..a1472b3f 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u/request.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u/request.rs @@ -19,7 +19,7 @@ impl ArtcraftSeedance2p0UltraRequestState { #[cfg(test)] mod tests { use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u_fast/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u_fast/build.rs index b8f85eb7..c7bd3d70 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u_fast/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u_fast/build.rs @@ -28,7 +28,7 @@ mod tests { use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum; use crate::api::router_bitrate::RouterBitrate; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u_fast/request.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u_fast/request.rs index 1603dfda..06097491 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u_fast/request.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/seedance_2p0_u_fast/request.rs @@ -19,7 +19,7 @@ impl ArtcraftSeedance2p0UltraFastRequestState { #[cfg(test)] mod tests { use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::character_list_ref::CharacterListRef; use crate::api::router_aspect_ratio::RouterAspectRatio; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/sora_2_pro/cost.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/sora_2_pro/cost.rs index cc11c3e5..581b4bea 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/sora_2_pro/cost.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/sora_2_pro/cost.rs @@ -52,7 +52,7 @@ mod tests { use crate::api::image_ref::ImageRef; use crate::api::router_provider::RouterProvider; use crate::generate::generate_video::generate_video_request_builder::GenerateVideoRequestBuilder; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; fn cost_cents( duration_seconds: Option, diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/veo_3p1_lite/request.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/veo_3p1_lite/request.rs index 5b48d606..ea39a208 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/veo_3p1_lite/request.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/veo_3p1_lite/request.rs @@ -18,7 +18,7 @@ impl ArtcraftVeo3p1LiteRequestState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::utils::api_host::ApiHost; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/vidu_q3/request.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/vidu_q3/request.rs index f5075a36..224632b8 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/vidu_q3/request.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/vidu_q3/request.rs @@ -18,7 +18,7 @@ impl ArtcraftViduQ3RequestState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::utils::api_host::ApiHost; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/vidu_q3_turbo/request.rs b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/vidu_q3_turbo/request.rs index 17b8aec6..4812cc37 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/artcraft/vidu_q3_turbo/request.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/artcraft/vidu_q3_turbo/request.rs @@ -18,7 +18,7 @@ impl ArtcraftViduQ3TurboRequestState { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::utils::api_host::ApiHost; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/fal/kling_1_6_pro/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/fal/kling_1_6_pro/build.rs index 0e25c319..6b95e02b 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/fal/kling_1_6_pro/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/fal/kling_1_6_pro/build.rs @@ -389,7 +389,7 @@ mod tests { fn media_file_token_rejected_for_start_frame() { let mut b = base_builder(); b.start_frame = Some(ImageRef::MediaFileToken( - tokens::tokens::media_files::MediaFileToken::new_from_str("mf_xxx"), + sqlite_identifiers::media_file_token::MediaFileToken::new_from_str("mf_xxx"), )); assert!(matches!( build_fal_kling_1_6_pro(b), diff --git a/crates/api_clients/router/src/generate/generate_video/providers/fal/seedance_1p0_lite/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/fal/seedance_1p0_lite/build.rs index de0dba64..e02998bc 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/fal/seedance_1p0_lite/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/fal/seedance_1p0_lite/build.rs @@ -156,7 +156,7 @@ fn plan_duration( #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_video_model::RouterVideoModel; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/fal/seedance_1p5_pro/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/fal/seedance_1p5_pro/build.rs index 32b2ba23..4f393856 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/fal/seedance_1p5_pro/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/fal/seedance_1p5_pro/build.rs @@ -287,7 +287,7 @@ fn to_i2v_aspect_ratio(a: PlanAspectRatio) -> EnqueueSeedance1p5ProImageToVideoA #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_video_model::RouterVideoModel; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/fal/veo_2/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/fal/veo_2/build.rs index 93e06117..03737078 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/fal/veo_2/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/fal/veo_2/build.rs @@ -144,7 +144,7 @@ fn to_i2v_duration(d: PlanDuration) -> Veo2ImageToVideoDuration { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_video_model::RouterVideoModel; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/fal/veo_3_fast/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/fal/veo_3_fast/build.rs index 3c3a2893..892468e0 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/fal/veo_3_fast/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/fal/veo_3_fast/build.rs @@ -218,7 +218,7 @@ fn to_i2v_resolution(r: PlanResolution) -> Veo3FastImageToVideoResolution { #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_video_model::RouterVideoModel; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/gmicloud/seedance_2p0_fast_g/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/gmicloud/seedance_2p0_fast_g/build.rs index 8afff771..b26d75cc 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/gmicloud/seedance_2p0_fast_g/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/gmicloud/seedance_2p0_fast_g/build.rs @@ -140,7 +140,7 @@ mod tests { use gmicloud_client::requests::api::video::seedance_2_0_fast_260128::api::{ Seedance20FastRatio, Seedance20FastResolution, }; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_aspect_ratio::RouterAspectRatio; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/gmicloud/seedance_2p0_g/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/gmicloud/seedance_2p0_g/build.rs index 063e913e..d6d2f5e0 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/gmicloud/seedance_2p0_g/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/gmicloud/seedance_2p0_g/build.rs @@ -139,7 +139,7 @@ mod tests { use gmicloud_client::requests::api::video::seedance_2_0_260128::api::{ Seedance20Ratio, Seedance20Resolution, }; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_aspect_ratio::RouterAspectRatio; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/grok_api/grok_imagine_video/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/grok_api/grok_imagine_video/build.rs index c4d517c0..f9d1b583 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/grok_api/grok_imagine_video/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/grok_api/grok_imagine_video/build.rs @@ -223,7 +223,7 @@ fn log_and_drop_reference_audio(refs: Option) { #[cfg(test)] mod tests { use super::*; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_aspect_ratio::RouterAspectRatio; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/grok_api/grok_imagine_video_1p5/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/grok_api/grok_imagine_video_1p5/build.rs index e87ebf12..9657e182 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/grok_api/grok_imagine_video_1p5/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/grok_api/grok_imagine_video_1p5/build.rs @@ -256,7 +256,7 @@ fn log_and_drop_reference_audio(refs: Option) { #[cfg(test)] mod tests { use super::*; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_aspect_ratio::RouterAspectRatio; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/happy_horse_1p0/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/happy_horse_1p0/build.rs index 75d1b0cb..9ce0766b 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/happy_horse_1p0/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/happy_horse_1p0/build.rs @@ -160,7 +160,7 @@ fn plan_duration( #[cfg(test)] mod tests { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::image_ref::ImageRef; use crate::api::router_provider::RouterProvider; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/happy_horse_1p0/request.rs b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/happy_horse_1p0/request.rs index 4f5cfe4c..cf4a6506 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/happy_horse_1p0/request.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/happy_horse_1p0/request.rs @@ -39,7 +39,7 @@ impl KinoviHappyHorse1p0RequestState { mod tests { use std::collections::HashMap; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::router_aspect_ratio::RouterAspectRatio; use crate::api::router_resolution::RouterResolution; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/resolve.rs b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/resolve.rs index 43787d6b..b23fa6ef 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/resolve.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/resolve.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use seedance2pro_client::creds::seedance2pro_session::Seedance2ProSession; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::character_list_ref::CharacterListRef; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0/build.rs index 300078e2..2b4590bc 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0/build.rs @@ -218,7 +218,7 @@ mod tests { KinoviSeedance2p0OutputResolution as KinoviOutputResolution, }; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::character_list_ref::CharacterListRef; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0_fast/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0_fast/build.rs index 03133005..56f50bde 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0_fast/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0_fast/build.rs @@ -232,7 +232,7 @@ mod tests { KinoviSeedance2p0FastOutputResolution as KinoviOutputResolution, }; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::character_list_ref::CharacterListRef; diff --git a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0_mini/build.rs b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0_mini/build.rs index 7580094a..6a339314 100644 --- a/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0_mini/build.rs +++ b/crates/api_clients/router/src/generate/generate_video/providers/kinovi/seedance_2p0_mini/build.rs @@ -227,7 +227,7 @@ mod tests { KinoviSeedance2p0MiniOutputResolution as KinoviOutputResolution, }; use tokens::tokens::characters::CharacterToken; - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::api::audio_list_ref::AudioListRef; use crate::api::character_list_ref::CharacterListRef; diff --git a/crates/api_clients/router/src/generate/generate_video/video_generation_draft_context.rs b/crates/api_clients/router/src/generate/generate_video/video_generation_draft_context.rs index cac9e510..431b6615 100644 --- a/crates/api_clients/router/src/generate/generate_video/video_generation_draft_context.rs +++ b/crates/api_clients/router/src/generate/generate_video/video_generation_draft_context.rs @@ -5,7 +5,7 @@ use crate::errors::client_error::ClientError; use std::collections::HashMap; use std::fmt::Debug; use tokens::tokens::characters::CharacterToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Clone, Default)] pub struct VideoGenerationDraftContext<'a> { diff --git a/crates/api_clients/worldlabs_consumer_client/Cargo.toml b/crates/api_clients/worldlabs_consumer_client/Cargo.toml index 398dd0b1..d9d2f052 100644 --- a/crates/api_clients/worldlabs_consumer_client/Cargo.toml +++ b/crates/api_clients/worldlabs_consumer_client/Cargo.toml @@ -18,7 +18,6 @@ workspace-build-acceleration.workspace = true # Internal cloudflare_errors.workspace = true cloudflare_mitigation.workspace = true -cookie_store.workspace = true errors.workspace = true filesys.workspace = true http_headers.workspace = true diff --git a/crates/artcraftx/Cargo.toml b/crates/artcraftx/Cargo.toml index 9976c7cb..ea87a113 100644 --- a/crates/artcraftx/Cargo.toml +++ b/crates/artcraftx/Cargo.toml @@ -44,6 +44,7 @@ openai_sora_client.workspace = true primitives.workspace = true sqlite_database.workspace = true identifiers.workspace = true +sqlite_identifiers.workspace = true tokens.workspace = true url_utils.workspace = true web_base64.workspace = true diff --git a/crates/artcraftx/src/commands/credentials/artcraft_login_command.rs b/crates/artcraftx/src/commands/credentials/artcraft_login_command.rs index eef7f094..e2c22154 100644 --- a/crates/artcraftx/src/commands/credentials/artcraft_login_command.rs +++ b/crates/artcraftx/src/commands/credentials/artcraft_login_command.rs @@ -1,7 +1,7 @@ use artcraft_client::api_defs::users::login::{LoginErrorType, LoginRequest}; use artcraft_client::endpoints::users::login::{login, LoginArgs, LoginError}; use chrono::Utc; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use log::{error, info, warn}; use serde_derive::Serialize; use tauri::{AppHandle, State}; diff --git a/crates/artcraftx/src/commands/download/download_media_file_command.rs b/crates/artcraftx/src/commands/download/download_media_file_command.rs index 45c85495..c7165245 100644 --- a/crates/artcraftx/src/commands/download/download_media_file_command.rs +++ b/crates/artcraftx/src/commands/download/download_media_file_command.rs @@ -9,7 +9,7 @@ use log::{error, info}; use serde_derive::{Deserialize, Serialize}; use artcraft_client::endpoints::media_files::get_media_file::get_media_file; use tauri::{AppHandle, State}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::state::app_preferences::app_preferences_manager::AppPreferencesManager; #[derive(Deserialize, Debug)] diff --git a/crates/artcraftx/src/commands/generate/common/maybe_notify_frontend_of_billing_errors.rs b/crates/artcraftx/src/commands/generate/common/maybe_notify_frontend_of_billing_errors.rs index 26b808a8..447973d6 100644 --- a/crates/artcraftx/src/commands/generate/common/maybe_notify_frontend_of_billing_errors.rs +++ b/crates/artcraftx/src/commands/generate/common/maybe_notify_frontend_of_billing_errors.rs @@ -1,6 +1,6 @@ use crate::commands::generate::generate_error::{BillingIssueReason, BillingProvider, GenerateError, ProviderFailureReason}; use crate::events::functional_events::show_provider_billing_modal_event::ShowProviderBillingModalEvent; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use log::warn; use artcraft_client::error::api_error::ApiError; use artcraft_client::error::storyteller_error::StorytellerError; diff --git a/crates/artcraftx/src/commands/generate/common/router_image_request_to_artcraft_prompt.rs b/crates/artcraftx/src/commands/generate/common/router_image_request_to_artcraft_prompt.rs index 7ab1cded..d13bd08b 100644 --- a/crates/artcraftx/src/commands/generate/common/router_image_request_to_artcraft_prompt.rs +++ b/crates/artcraftx/src/commands/generate/common/router_image_request_to_artcraft_prompt.rs @@ -8,7 +8,7 @@ use enums::common::generation::common_aspect_ratio::CommonAspectRatio as EnumsAs use enums::common::generation::common_generation_mode::CommonGenerationMode; use enums::common::generation::common_model_type::CommonModelType; use enums::common::generation::common_resolution::CommonResolution as EnumsResolution; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use uuid_utils::uuid::generate_random_uuid; pub fn router_image_request_to_artcraft_prompt( diff --git a/crates/artcraftx/src/commands/generate/common/router_video_request_to_artcraft_prompt.rs b/crates/artcraftx/src/commands/generate/common/router_video_request_to_artcraft_prompt.rs index 13a51c2a..24f67725 100644 --- a/crates/artcraftx/src/commands/generate/common/router_video_request_to_artcraft_prompt.rs +++ b/crates/artcraftx/src/commands/generate/common/router_video_request_to_artcraft_prompt.rs @@ -8,7 +8,7 @@ use enums::common::generation::common_aspect_ratio::CommonAspectRatio as EnumsAs use enums::common::generation::common_generation_mode::CommonGenerationMode; use enums::common::generation::common_model_type::CommonModelType; use enums::common::generation::common_resolution::CommonResolution as EnumsResolution; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use uuid_utils::uuid::generate_random_uuid; pub fn router_video_request_to_artcraft_prompt( diff --git a/crates/artcraftx/src/commands/generate/generate_audio/handle_credential_router.rs b/crates/artcraftx/src/commands/generate/generate_audio/handle_credential_router.rs index a2929665..894de73c 100644 --- a/crates/artcraftx/src/commands/generate/generate_audio/handle_credential_router.rs +++ b/crates/artcraftx/src/commands/generate/generate_audio/handle_credential_router.rs @@ -1,5 +1,5 @@ -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_type::TaskType; use log::{info, warn}; use router::api::router_provider::RouterProvider; use router::client::request_mismatch_mitigation_strategy::RequestMismatchMitigationStrategy; diff --git a/crates/artcraftx/src/commands/generate/generate_audio/request.rs b/crates/artcraftx/src/commands/generate/generate_audio/request.rs index a59eac8b..9085404b 100644 --- a/crates/artcraftx/src/commands/generate/generate_audio/request.rs +++ b/crates/artcraftx/src/commands/generate/generate_audio/request.rs @@ -1,7 +1,7 @@ -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use serde_derive::{Deserialize, Serialize}; use enums::common::generation::common_musical_key::CommonMusicalKey; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::response::success_response_wrapper::SerializeMarker; diff --git a/crates/artcraftx/src/commands/generate/generate_error.rs b/crates/artcraftx/src/commands/generate/generate_error.rs index 9d7acbb3..1488488a 100644 --- a/crates/artcraftx/src/commands/generate/generate_error.rs +++ b/crates/artcraftx/src/commands/generate/generate_error.rs @@ -3,7 +3,7 @@ use anyhow::anyhow; use router::errors::artcraft_router_error::ArtcraftRouterError; use router::errors::provider_error::ProviderError; use base64::DecodeError; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::common::generation::common_model_type::CommonModelType; use errors::AnyhowError; use grok_consumer_client::error::grok_error::GrokError; diff --git a/crates/artcraftx/src/commands/generate/generate_image/handle_credential_router.rs b/crates/artcraftx/src/commands/generate/generate_image/handle_credential_router.rs index facb4c47..53ad654a 100644 --- a/crates/artcraftx/src/commands/generate/generate_image/handle_credential_router.rs +++ b/crates/artcraftx/src/commands/generate/generate_image/handle_credential_router.rs @@ -1,5 +1,5 @@ -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_type::TaskType; use log::{info, warn}; use router::api::image_list_ref::ImageListRef; use router::api::router_provider::RouterProvider; @@ -9,7 +9,7 @@ use router::client::router_artcraft_client::RouterArtcraftClient; use router::client::router_client::RouterClient; use router::generate::generate_image::generate_image_request_builder::GenerateImageRequestBuilder; use router::generate::generate_image::image_generation_draft_or_request::ImageGenerationDraftOrRequest; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::utils::api_adapters::models::image::tauri_image_model_to_generation_model::tauri_image_model_to_generation_model; use crate::commands::utils::api_adapters::models::image::tauri_image_model_to_router_model::tauri_image_model_to_router_model; diff --git a/crates/artcraftx/src/commands/generate/generate_image/handle_fal_credential.rs b/crates/artcraftx/src/commands/generate/generate_image/handle_fal_credential.rs index 60809f37..635db0a7 100644 --- a/crates/artcraftx/src/commands/generate/generate_image/handle_fal_credential.rs +++ b/crates/artcraftx/src/commands/generate/generate_image/handle_fal_credential.rs @@ -1,6 +1,6 @@ use artcraft_client::utils::api_host::ApiHost; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_type::TaskType; use log::{info, warn}; use router::api::image_list_ref::ImageListRef; use router::api::router_provider::RouterProvider; @@ -11,7 +11,7 @@ use router::client::router_fal_client::RouterFalClient; use router::generate::generate_image::generate_image_request_builder::GenerateImageRequestBuilder; use router::generate::generate_image::generate_image_response::GenerateImageResponse; use router::generate::generate_image::image_generation_draft_or_request::ImageGenerationDraftOrRequest; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::utils::api_adapters::models::image::tauri_image_model_to_generation_model::tauri_image_model_to_generation_model; use crate::commands::utils::api_adapters::models::image::tauri_image_model_to_router_model::tauri_image_model_to_router_model; diff --git a/crates/artcraftx/src/commands/generate/generate_image/tauri_generate_image_request.rs b/crates/artcraftx/src/commands/generate/generate_image/tauri_generate_image_request.rs index 25f552d2..a3f045f7 100644 --- a/crates/artcraftx/src/commands/generate/generate_image/tauri_generate_image_request.rs +++ b/crates/artcraftx/src/commands/generate/generate_image/tauri_generate_image_request.rs @@ -1,10 +1,10 @@ use enums::common::generation::common_aspect_ratio::CommonAspectRatio; use enums::common::generation::common_resolution::CommonResolution; use enums::common::generation::common_quality::CommonQuality; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::generate::generate_image::tauri_image_model::TauriImageModel; use crate::commands::response::success_response_wrapper::SerializeMarker; diff --git a/crates/artcraftx/src/commands/generate/generate_image/utils/map_media_files_to_urls.rs b/crates/artcraftx/src/commands/generate/generate_image/utils/map_media_files_to_urls.rs index 26424e7e..238c00ea 100644 --- a/crates/artcraftx/src/commands/generate/generate_image/utils/map_media_files_to_urls.rs +++ b/crates/artcraftx/src/commands/generate/generate_image/utils/map_media_files_to_urls.rs @@ -1,7 +1,7 @@ use artcraft_client::endpoints::media_files::get_media_file::get_media_file; use artcraft_client::utils::api_host::ApiHost; use log::info; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::generate::generate_error::GenerateError; diff --git a/crates/artcraftx/src/commands/generate/generate_image/utils/parse_semantic_media_files.rs b/crates/artcraftx/src/commands/generate/generate_image/utils/parse_semantic_media_files.rs index adaafd58..eb202e6b 100644 --- a/crates/artcraftx/src/commands/generate/generate_image/utils/parse_semantic_media_files.rs +++ b/crates/artcraftx/src/commands/generate/generate_image/utils/parse_semantic_media_files.rs @@ -2,7 +2,7 @@ use log::info; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::utils::api_host::ApiHost; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::generate::generate_error::{BadInputReason, GenerateError}; use crate::commands::generate::generate_image::tauri_generate_image_request::TauriGenerateImageRequest; diff --git a/crates/artcraftx/src/commands/generate/generate_mesh/handle_credential_router.rs b/crates/artcraftx/src/commands/generate/generate_mesh/handle_credential_router.rs index 2b7ded5b..f22c49ae 100644 --- a/crates/artcraftx/src/commands/generate/generate_mesh/handle_credential_router.rs +++ b/crates/artcraftx/src/commands/generate/generate_mesh/handle_credential_router.rs @@ -1,5 +1,5 @@ -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_type::TaskType; use log::{info, warn}; use router::api::router_provider::RouterProvider; use router::client::request_mismatch_mitigation_strategy::RequestMismatchMitigationStrategy; diff --git a/crates/artcraftx/src/commands/generate/generate_mesh/request.rs b/crates/artcraftx/src/commands/generate/generate_mesh/request.rs index 5f1a7e74..f723979c 100644 --- a/crates/artcraftx/src/commands/generate/generate_mesh/request.rs +++ b/crates/artcraftx/src/commands/generate/generate_mesh/request.rs @@ -1,9 +1,9 @@ -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use serde_derive::{Deserialize, Serialize}; use enums::common::generation::common_mesh_output_type::CommonMeshOutputType; use enums::common::generation::common_mesh_quality::CommonMeshQuality; use enums::common::generation::common_polygon_type::CommonPolygonType; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::response::success_response_wrapper::SerializeMarker; diff --git a/crates/artcraftx/src/commands/generate/generate_splat/handle_credential_router.rs b/crates/artcraftx/src/commands/generate/generate_splat/handle_credential_router.rs index 74dfc097..3b5dcbc0 100644 --- a/crates/artcraftx/src/commands/generate/generate_splat/handle_credential_router.rs +++ b/crates/artcraftx/src/commands/generate/generate_splat/handle_credential_router.rs @@ -1,5 +1,5 @@ -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_type::TaskType; use log::{info, warn}; use router::api::router_provider::RouterProvider; use router::client::request_mismatch_mitigation_strategy::RequestMismatchMitigationStrategy; diff --git a/crates/artcraftx/src/commands/generate/generate_splat/request.rs b/crates/artcraftx/src/commands/generate/generate_splat/request.rs index 588962b8..d0b6f361 100644 --- a/crates/artcraftx/src/commands/generate/generate_splat/request.rs +++ b/crates/artcraftx/src/commands/generate/generate_splat/request.rs @@ -1,6 +1,6 @@ -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use serde_derive::{Deserialize, Serialize}; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::response::success_response_wrapper::SerializeMarker; diff --git a/crates/artcraftx/src/commands/generate/generate_video/artcraft/handle_artcraft_video_via_router.rs b/crates/artcraftx/src/commands/generate/generate_video/artcraft/handle_artcraft_video_via_router.rs index f039b6f0..fb4ef54a 100644 --- a/crates/artcraftx/src/commands/generate/generate_video/artcraft/handle_artcraft_video_via_router.rs +++ b/crates/artcraftx/src/commands/generate/generate_video/artcraft/handle_artcraft_video_via_router.rs @@ -17,8 +17,8 @@ use router::client::router_client::RouterClient; use router::generate::generate_video::generate_video_request_builder::GenerateVideoRequestBuilder; use router::generate::generate_video::generate_video_response::GenerateVideoResponse; use router::generate::generate_video::video_generation_draft_or_request::VideoGenerationDraftOrRequest; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_type::TaskType; use log::{error, info}; pub async fn handle_artcraft_video_via_router( diff --git a/crates/artcraftx/src/commands/generate/generate_video/request.rs b/crates/artcraftx/src/commands/generate/generate_video/request.rs index 3181a395..1fe10c8f 100644 --- a/crates/artcraftx/src/commands/generate/generate_video/request.rs +++ b/crates/artcraftx/src/commands/generate/generate_video/request.rs @@ -1,10 +1,10 @@ use router::api::router_aspect_ratio::RouterAspectRatio; use router::api::router_resolution::RouterResolution; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use serde_derive::{Deserialize, Serialize}; use tokens::tokens::characters::CharacterToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::response::success_response_wrapper::SerializeMarker; diff --git a/crates/artcraftx/src/commands/generate/task_enqueue_success.rs b/crates/artcraftx/src/commands/generate/task_enqueue_success.rs index 6cfbd7d4..50bc6cf7 100644 --- a/crates/artcraftx/src/commands/generate/task_enqueue_success.rs +++ b/crates/artcraftx/src/commands/generate/task_enqueue_success.rs @@ -1,14 +1,14 @@ use crate::events::generation_events::common::{GenerationAction, GenerationModel, GenerationServiceProvider}; use crate::state::task_database::TaskDatabase; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use sqlite_database::error::SqliteTasksError; use sqlite_database::queries::create_task::{create_task, CreateTaskArgs}; -use tokens::tokens::prompts::PromptToken; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::prompt_token::PromptToken; +use sqlite_identifiers::task_id::TaskId; pub struct TaskEnqueueSuccess { pub task_type: TaskType, diff --git a/crates/artcraftx/src/commands/task_queue/get_task_queue_command.rs b/crates/artcraftx/src/commands/task_queue/get_task_queue_command.rs index 0c3bf2d3..23eb1cda 100644 --- a/crates/artcraftx/src/commands/task_queue/get_task_queue_command.rs +++ b/crates/artcraftx/src/commands/task_queue/get_task_queue_command.rs @@ -2,20 +2,20 @@ use crate::commands::response::shorthand::ResponseOrErrorMessage; use crate::commands::response::success_response_wrapper::SerializeMarker; use crate::state::task_database::TaskDatabase; use chrono::{DateTime, Utc}; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; use errors::AnyhowResult; use log::{debug, error, warn}; use serde_derive::Serialize; use sqlite_database::queries::list_tasks_for_frontend::list_tasks_for_frontend; use tauri::{AppHandle, State}; -use enums::tauri::tasks::task_failure_type::TaskFailureType; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_failure_type::TaskFailureType; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; +use sqlite_identifiers::task_id::TaskId; #[derive(Serialize)] pub struct GetTaskQueueCommandResponse { diff --git a/crates/artcraftx/src/commands/task_queue/mark_task_as_dismissed_command.rs b/crates/artcraftx/src/commands/task_queue/mark_task_as_dismissed_command.rs index a1b5ae30..4ce4008e 100644 --- a/crates/artcraftx/src/commands/task_queue/mark_task_as_dismissed_command.rs +++ b/crates/artcraftx/src/commands/task_queue/mark_task_as_dismissed_command.rs @@ -6,7 +6,7 @@ use log::{error, info}; use serde_derive::{Deserialize, Serialize}; use sqlite_database::queries::mark_task_as_dismissed::mark_task_as_dismissed; use tauri::{AppHandle, State}; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_id::TaskId; #[derive(Deserialize)] pub struct MarkTaskAsDismissedRequest { diff --git a/crates/artcraftx/src/credentials/find_service_credentials.rs b/crates/artcraftx/src/credentials/find_service_credentials.rs new file mode 100644 index 00000000..c23ce53a --- /dev/null +++ b/crates/artcraftx/src/credentials/find_service_credentials.rs @@ -0,0 +1,31 @@ +use log::warn; + +use crate::credentials::credential::Credential; +use crate::credentials::credential_service_type::CredentialServiceType; +use crate::state::data_dir::app_data_root::AppDataRoot; + +/// Find the first stored credential for a service, if any. +/// +/// Background threads use this to authenticate without a request-scoped +/// credential id (e.g. the FAL polling thread picking up the user's FAL +/// API key). +pub fn find_first_credential_for_service( + app_data_root: &AppDataRoot, + service: CredentialServiceType, +) -> Option { + let credentials = match app_data_root.credentials_dir().load_credentials() { + Ok(credentials) => credentials, + Err(err) => { + warn!("Could not load credentials for service {}: {}", service, err); + return None; + } + }; + + credentials.into_iter().find(|c| c.service == service) +} + +/// The first stored FAL API key, if any. +pub fn find_fal_api_key(app_data_root: &AppDataRoot) -> Option { + find_first_credential_for_service(app_data_root, CredentialServiceType::FalApi) + .and_then(|credential| credential.api_key().map(|key| key.api_key.clone())) +} diff --git a/crates/artcraftx/src/credentials/login_website.rs b/crates/artcraftx/src/credentials/login_website.rs index 0e682d35..d5ce0ef0 100644 --- a/crates/artcraftx/src/credentials/login_website.rs +++ b/crates/artcraftx/src/credentials/login_website.rs @@ -1,5 +1,5 @@ use crate::credentials::credential_service_type::CredentialServiceType; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use serde_derive::{Deserialize, Serialize}; use std::fmt::{Display, Formatter}; diff --git a/crates/artcraftx/src/credentials/mod.rs b/crates/artcraftx/src/credentials/mod.rs index a02301b4..21562a4b 100644 --- a/crates/artcraftx/src/credentials/mod.rs +++ b/crates/artcraftx/src/credentials/mod.rs @@ -18,6 +18,7 @@ pub mod artcraft_api_host; pub mod cookie_credential; pub mod credential; pub mod credential_file; +pub mod find_service_credentials; pub mod credential_service_type; pub mod credential_user_info; pub mod login_website; diff --git a/crates/artcraftx/src/events/functional_events/canvas_background_removal_complete_event.rs b/crates/artcraftx/src/events/functional_events/canvas_background_removal_complete_event.rs index f60cb675..48d65d46 100644 --- a/crates/artcraftx/src/events/functional_events/canvas_background_removal_complete_event.rs +++ b/crates/artcraftx/src/events/functional_events/canvas_background_removal_complete_event.rs @@ -1,7 +1,7 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use url::Url; #[derive(Clone, Debug, Serialize)] diff --git a/crates/artcraftx/src/events/functional_events/gaussian_generation_complete_event.rs b/crates/artcraftx/src/events/functional_events/gaussian_generation_complete_event.rs index 323adf6c..07cdf759 100644 --- a/crates/artcraftx/src/events/functional_events/gaussian_generation_complete_event.rs +++ b/crates/artcraftx/src/events/functional_events/gaussian_generation_complete_event.rs @@ -1,7 +1,7 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use url::Url; #[derive(Clone, Debug, Serialize)] diff --git a/crates/artcraftx/src/events/functional_events/image_edit_complete_event.rs b/crates/artcraftx/src/events/functional_events/image_edit_complete_event.rs index 1d465ae0..515b54ab 100644 --- a/crates/artcraftx/src/events/functional_events/image_edit_complete_event.rs +++ b/crates/artcraftx/src/events/functional_events/image_edit_complete_event.rs @@ -1,7 +1,7 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use url::Url; #[derive(Clone, Debug, Serialize)] diff --git a/crates/artcraftx/src/events/functional_events/media_file_deleted_event.rs b/crates/artcraftx/src/events/functional_events/media_file_deleted_event.rs index c8d53b6e..de0567d6 100644 --- a/crates/artcraftx/src/events/functional_events/media_file_deleted_event.rs +++ b/crates/artcraftx/src/events/functional_events/media_file_deleted_event.rs @@ -1,7 +1,7 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Clone, Debug, Serialize)] #[serde(rename_all = "snake_case")] diff --git a/crates/artcraftx/src/events/functional_events/object_generation_complete_event.rs b/crates/artcraftx/src/events/functional_events/object_generation_complete_event.rs index 4d122ed5..28744032 100644 --- a/crates/artcraftx/src/events/functional_events/object_generation_complete_event.rs +++ b/crates/artcraftx/src/events/functional_events/object_generation_complete_event.rs @@ -1,7 +1,7 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use url::Url; #[derive(Clone, Debug, Serialize)] diff --git a/crates/artcraftx/src/events/functional_events/refresh_account_state_event.rs b/crates/artcraftx/src/events/functional_events/refresh_account_state_event.rs index 31d71586..2faf620f 100644 --- a/crates/artcraftx/src/events/functional_events/refresh_account_state_event.rs +++ b/crates/artcraftx/src/events/functional_events/refresh_account_state_event.rs @@ -1,5 +1,5 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; diff --git a/crates/artcraftx/src/events/functional_events/show_provider_billing_modal_event.rs b/crates/artcraftx/src/events/functional_events/show_provider_billing_modal_event.rs index c11c90e7..afce9bb8 100644 --- a/crates/artcraftx/src/events/functional_events/show_provider_billing_modal_event.rs +++ b/crates/artcraftx/src/events/functional_events/show_provider_billing_modal_event.rs @@ -1,5 +1,5 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; use tauri::AppHandle; diff --git a/crates/artcraftx/src/events/functional_events/show_provider_login_modal_event.rs b/crates/artcraftx/src/events/functional_events/show_provider_login_modal_event.rs index bc48dbb6..031ba023 100644 --- a/crates/artcraftx/src/events/functional_events/show_provider_login_modal_event.rs +++ b/crates/artcraftx/src/events/functional_events/show_provider_login_modal_event.rs @@ -1,5 +1,5 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; use tauri::AppHandle; diff --git a/crates/artcraftx/src/events/functional_events/text_to_image_generation_complete_event.rs b/crates/artcraftx/src/events/functional_events/text_to_image_generation_complete_event.rs index 0d799c2e..6d7c5081 100644 --- a/crates/artcraftx/src/events/functional_events/text_to_image_generation_complete_event.rs +++ b/crates/artcraftx/src/events/functional_events/text_to_image_generation_complete_event.rs @@ -1,7 +1,7 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use url::Url; #[derive(Clone, Debug, Serialize)] diff --git a/crates/artcraftx/src/events/functional_events/video_generation_complete_event.rs b/crates/artcraftx/src/events/functional_events/video_generation_complete_event.rs index 974ce12f..ad96c0eb 100644 --- a/crates/artcraftx/src/events/functional_events/video_generation_complete_event.rs +++ b/crates/artcraftx/src/events/functional_events/video_generation_complete_event.rs @@ -1,7 +1,7 @@ use crate::events::basic_sendable_event_trait::{BasicEventStatus, BasicSendableEvent}; use enums::tauri::ux::tauri_event_name::TauriEventName; use serde_derive::Serialize; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use url::Url; #[derive(Clone, Debug, Serialize)] diff --git a/crates/artcraftx/src/lib.rs b/crates/artcraftx/src/lib.rs index c1f4f457..66ba65d6 100644 --- a/crates/artcraftx/src/lib.rs +++ b/crates/artcraftx/src/lib.rs @@ -4,7 +4,6 @@ pub mod error; pub mod events; pub mod lifecycle; pub mod login_window; -pub mod providers; pub mod services; pub mod state; pub mod threads; @@ -81,8 +80,6 @@ pub fn run() { println!("Loading app preferences..."); let app_preferences = load_app_preferences_or_default(&app_data_root); - let provider_credential_cache = crate::providers::credentials::provider_credential_loading_cache::ProviderCredentialLoadingCache::new(app_data_root.clone()); - let provider_credential_cache_2 = provider_credential_cache.clone(); // NB: tauri-plugin-http stores the credentials on disk, so we can defer to that for now. // println!("Attempting to read existing artcraft credentials..."); @@ -158,7 +155,6 @@ pub fn run() { grok_prompt_queue_2, worldlabs_bearer_bridge_2, worldlabs_creds_manager_2, - provider_credential_cache_2, ).await; if let Err(err) = result { @@ -180,7 +176,6 @@ pub fn run() { .manage(sora_task_queue) .manage(storyteller_creds_manager_3) .manage(worldlabs_bearer_bridge) - .manage(provider_credential_cache) .manage(worldlabs_creds_manager); // TODO: Break this out into another module, because RustRover/IntelliJ lags with these macros. diff --git a/crates/artcraftx/src/lifecycle/startup/handle_tauri_startup.rs b/crates/artcraftx/src/lifecycle/startup/handle_tauri_startup.rs index b18d01ff..4c05765c 100644 --- a/crates/artcraftx/src/lifecycle/startup/handle_tauri_startup.rs +++ b/crates/artcraftx/src/lifecycle/startup/handle_tauri_startup.rs @@ -19,7 +19,6 @@ use crate::services::sora::state::sora_task_queue::SoraTaskQueue; use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; use crate::services::worldlabs::state::worldlabs_bearer_bridge::WorldlabsBearerBridge; use crate::services::worldlabs::state::worldlabs_credential_manager::WorldlabsCredentialManager; -use crate::providers::credentials::provider_credential_loading_cache::ProviderCredentialLoadingCache; use crate::threads::third_party_task_polling_thread::third_party_task_polling_thread::third_party_task_polling_thread; use crate::services::worldlabs::threads::worldlabs_marble_task_polling::worldlabs_marble_task_polling; use errors::AnyhowResult; @@ -38,7 +37,6 @@ pub async fn handle_tauri_startup( grok_image_prompt_queue: GrokImagePromptQueue, _worldlabs_bearer_bridge: WorldlabsBearerBridge, worldlabs_creds_manager: WorldlabsCredentialManager, - credential_cache: ProviderCredentialLoadingCache, ) -> AnyhowResult<()> { set_app_log_level( @@ -109,7 +107,6 @@ pub async fn handle_tauri_startup( root.clone(), task_database.clone(), storyteller_creds_manager.clone(), - credential_cache, )); spawn_discord_presence_thread()?; diff --git a/crates/artcraftx/src/providers/credentials/mod.rs b/crates/artcraftx/src/providers/credentials/mod.rs deleted file mode 100644 index 1af6c8b9..00000000 --- a/crates/artcraftx/src/providers/credentials/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub mod payload; -pub mod provider_credential_key; -pub mod provider_credential_loading_cache; -pub mod provider_credential_type; diff --git a/crates/artcraftx/src/providers/credentials/payload/api_key.rs b/crates/artcraftx/src/providers/credentials/payload/api_key.rs deleted file mode 100644 index c00bfedc..00000000 --- a/crates/artcraftx/src/providers/credentials/payload/api_key.rs +++ /dev/null @@ -1,100 +0,0 @@ -use std::error::Error; -use std::fmt::Display; -use std::path::Path; - -#[derive(Clone)] -pub struct ApiKeyData(String); - -impl ApiKeyData { - pub fn from_str(s: &str) -> Self { - Self(s.trim().to_string()) - } - - pub fn as_str(&self) -> &str { - self.0.as_str() - } - - pub fn load_from_file>(file_path: P) -> Result { - let contents = std::fs::read_to_string(file_path) - .map_err(ApiKeyDataError::IoError)?; - Ok(Self(contents.trim().to_string())) - } - - pub fn save_to_file>(&self, file_path: P) -> Result<(), ApiKeyDataError> { - std::fs::write(file_path, self.0.trim()) - .map_err(ApiKeyDataError::IoError)?; - Ok(()) - } -} - -#[derive(Debug)] -pub enum ApiKeyDataError { - IoError(std::io::Error), -} - -impl Error for ApiKeyDataError { - fn source(&self) -> Option<&(dyn Error + 'static)> { - match self { - ApiKeyDataError::IoError(e) => Some(e), - } - } -} - -impl Display for ApiKeyDataError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - ApiKeyDataError::IoError(e) => write!(f, "IO error: {}", e), - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - use tempfile::NamedTempFile; - use std::io::Write; - - #[test] - fn load_trims_whitespace() { - let mut file = NamedTempFile::new().unwrap(); - write!(file, " sk-abc123 \n").unwrap(); - - let data = ApiKeyData::load_from_file(file.path()).unwrap(); - assert_eq!(data.as_str(), "sk-abc123"); - } - - #[test] - fn load_trims_newlines() { - let mut file = NamedTempFile::new().unwrap(); - write!(file, "\nmy_secret_key\n\n").unwrap(); - - let data = ApiKeyData::load_from_file(file.path()).unwrap(); - assert_eq!(data.as_str(), "my_secret_key"); - } - - #[test] - fn save_trims_whitespace() { - let file = NamedTempFile::new().unwrap(); - let data = ApiKeyData::from_str(" sk-padded "); - data.save_to_file(file.path()).unwrap(); - - let contents = std::fs::read_to_string(file.path()).unwrap(); - assert_eq!(contents, "sk-padded"); - } - - #[test] - fn round_trip() { - let file = NamedTempFile::new().unwrap(); - let original = ApiKeyData::from_str("sk-round-trip-test-key"); - original.save_to_file(file.path()).unwrap(); - - let loaded = ApiKeyData::load_from_file(file.path()).unwrap(); - assert_eq!(loaded.as_str(), "sk-round-trip-test-key"); - } - - #[test] - fn load_nonexistent_file_returns_io_error() { - let result = ApiKeyData::load_from_file("/tmp/nonexistent_api_key_file_12345.txt"); - assert!(result.is_err()); - } -} diff --git a/crates/artcraftx/src/providers/credentials/payload/mod.rs b/crates/artcraftx/src/providers/credentials/payload/mod.rs deleted file mode 100644 index 8d5083be..00000000 --- a/crates/artcraftx/src/providers/credentials/payload/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod provider_credential_payload; -pub mod api_key; -pub mod web_login; \ No newline at end of file diff --git a/crates/artcraftx/src/providers/credentials/payload/provider_credential_payload.rs b/crates/artcraftx/src/providers/credentials/payload/provider_credential_payload.rs deleted file mode 100644 index 930939c2..00000000 --- a/crates/artcraftx/src/providers/credentials/payload/provider_credential_payload.rs +++ /dev/null @@ -1,10 +0,0 @@ -use crate::providers::credentials::payload::api_key::ApiKeyData; -use crate::providers::credentials::payload::web_login::WebLoginData; - -#[derive(Clone)] -pub enum ProviderCredentialPayload { - ApiKey(ApiKeyData), - - // TODO: There might be logins in the future that use weird header states, etc. - WebLogin(WebLoginData), -} diff --git a/crates/artcraftx/src/providers/credentials/payload/web_login.rs b/crates/artcraftx/src/providers/credentials/payload/web_login.rs deleted file mode 100644 index 4f9a4176..00000000 --- a/crates/artcraftx/src/providers/credentials/payload/web_login.rs +++ /dev/null @@ -1,251 +0,0 @@ -use chrono::{DateTime, Utc}; -use serde_derive::{Deserialize, Serialize}; -use std::collections::HashMap; -use std::error::Error; -use std::fmt::Display; -use std::path::Path; - -const CURRENT_VERSION: u8 = 1; - -#[derive(Clone)] -pub struct WebLoginData { - pub cookies_header: Option, - pub additional_headers: Option>, - - pub username: Option, - pub email_address: Option, - - pub created_at: Option>, - pub updated_at: Option>, -} - -impl WebLoginData { - pub fn new() -> Self { - Self { - cookies_header: None, - additional_headers: None, - username: None, - email_address: None, - created_at: None, - updated_at: None, - } - } - - pub fn load_from_file>(file_path: P) -> Result { - let contents = std::fs::read_to_string(file_path) - .map_err(WebLoginDataError::IoError)?; - - let serializable: WebLoginDataSerializable = serde_json::from_str(&contents) - .map_err(WebLoginDataError::DeserializeError)?; - - Ok(Self { - cookies_header: serializable.cookies_header, - additional_headers: serializable.additional_headers, - username: serializable.username, - email_address: serializable.email_address, - created_at: serializable.created_at, - updated_at: serializable.updated_at, - }) - } - - pub fn save_to_file>(&self, file_path: P) -> Result<(), WebLoginDataError> { - let serializable = WebLoginDataSerializable { - version: CURRENT_VERSION, - cookies_header: self.cookies_header.clone(), - additional_headers: self.additional_headers.clone(), - username: self.username.clone(), - email_address: self.email_address.clone(), - created_at: self.created_at, - updated_at: self.updated_at, - }; - - let contents = serde_json::to_string_pretty(&serializable) - .map_err(WebLoginDataError::SerializeError)?; - - std::fs::write(file_path, contents) - .map_err(WebLoginDataError::IoError)?; - - Ok(()) - } -} - -#[derive(Debug)] -pub enum WebLoginDataError { - IoError(std::io::Error), - DeserializeError(serde_json::Error), - SerializeError(serde_json::Error), -} - -impl Error for WebLoginDataError { - fn source(&self) -> Option<&(dyn Error + 'static)> { - match self { - WebLoginDataError::IoError(e) => Some(e), - WebLoginDataError::DeserializeError(e) => Some(e), - WebLoginDataError::SerializeError(e) => Some(e), - _ => None, - } - } -} - -impl Display for WebLoginDataError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - WebLoginDataError::IoError(e) => write!(f, "IO error: {}", e), - WebLoginDataError::DeserializeError(e) => write!(f, "Deserialization error: {}", e), - WebLoginDataError::SerializeError(e) => write!(f, "Serialization error: {}", e), - } - } -} - -#[derive(Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -struct WebLoginDataSerializable { - version: u8, - - #[serde(skip_serializing_if = "Option::is_none")] - cookies_header: Option, - - #[serde(skip_serializing_if = "Option::is_none")] - additional_headers: Option>, - - #[serde(skip_serializing_if = "Option::is_none")] - username: Option, - - #[serde(skip_serializing_if = "Option::is_none")] - email_address: Option, - - #[serde(skip_serializing_if = "Option::is_none")] - created_at: Option>, - - #[serde(skip_serializing_if = "Option::is_none")] - updated_at: Option>, -} - -#[cfg(test)] -mod tests { - use super::*; - use tempfile::NamedTempFile; - use std::io::Write; - - #[test] - fn save_writes_version() { - let file = NamedTempFile::new().unwrap(); - let data = WebLoginData::new(); - data.save_to_file(file.path()).unwrap(); - - let contents = std::fs::read_to_string(file.path()).unwrap(); - assert!(contents.contains("\"version\": 1")); - } - - #[test] - fn load_reads_all_fields() { - let mut file = NamedTempFile::new().unwrap(); - write!(file, r#"{{ - "version": 1, - "cookies_header": "session=abc123; visitor=xyz", - "additional_headers": {{"Authorization": "Bearer tok"}}, - "username": "testuser", - "email_address": "test@example.com", - "created_at": "2026-01-01T00:00:00Z", - "updated_at": "2026-05-10T12:00:00Z" - }}"#).unwrap(); - - let data = WebLoginData::load_from_file(file.path()).unwrap(); - assert_eq!(data.cookies_header.as_deref(), Some("session=abc123; visitor=xyz")); - assert_eq!(data.username.as_deref(), Some("testuser")); - assert_eq!(data.email_address.as_deref(), Some("test@example.com")); - assert!(data.additional_headers.is_some()); - let headers = data.additional_headers.unwrap(); - assert_eq!(headers.get("Authorization").unwrap(), "Bearer tok"); - assert!(data.created_at.is_some()); - assert!(data.updated_at.is_some()); - } - - #[test] - fn load_tolerates_absent_optional_fields() { - let mut file = NamedTempFile::new().unwrap(); - write!(file, r#"{{"version": 1}}"#).unwrap(); - - let data = WebLoginData::load_from_file(file.path()).unwrap(); - assert!(data.cookies_header.is_none()); - assert!(data.additional_headers.is_none()); - assert!(data.username.is_none()); - assert!(data.email_address.is_none()); - assert!(data.created_at.is_none()); - assert!(data.updated_at.is_none()); - } - - #[test] - fn load_tolerates_null_fields() { - let mut file = NamedTempFile::new().unwrap(); - write!(file, r#"{{ - "version": 1, - "cookies_header": null, - "username": null, - "email_address": null - }}"#).unwrap(); - - let data = WebLoginData::load_from_file(file.path()).unwrap(); - assert!(data.cookies_header.is_none()); - assert!(data.username.is_none()); - assert!(data.email_address.is_none()); - } - - #[test] - fn load_invalid_json_returns_error() { - let mut file = NamedTempFile::new().unwrap(); - write!(file, "not valid json at all").unwrap(); - - let result = WebLoginData::load_from_file(file.path()); - assert!(result.is_err()); - } - - #[test] - fn load_nonexistent_file_returns_io_error() { - let result = WebLoginData::load_from_file("/tmp/nonexistent_web_login_12345.json"); - assert!(result.is_err()); - } - - #[test] - fn round_trip_full() { - let file = NamedTempFile::new().unwrap(); - - let mut headers = HashMap::new(); - headers.insert("X-Custom".to_string(), "value".to_string()); - - let now = Utc::now(); - - let original = WebLoginData { - cookies_header: Some("session=roundtrip".to_string()), - additional_headers: Some(headers), - username: Some("round_trip_user".to_string()), - email_address: Some("rt@example.com".to_string()), - created_at: Some(now), - updated_at: Some(now), - }; - - original.save_to_file(file.path()).unwrap(); - let loaded = WebLoginData::load_from_file(file.path()).unwrap(); - - assert_eq!(loaded.cookies_header.as_deref(), Some("session=roundtrip")); - assert_eq!(loaded.username.as_deref(), Some("round_trip_user")); - assert_eq!(loaded.email_address.as_deref(), Some("rt@example.com")); - assert_eq!(loaded.additional_headers.as_ref().unwrap().get("X-Custom").unwrap(), "value"); - assert!(loaded.created_at.is_some()); - assert!(loaded.updated_at.is_some()); - } - - #[test] - fn round_trip_minimal() { - let file = NamedTempFile::new().unwrap(); - - let original = WebLoginData::new(); - original.save_to_file(file.path()).unwrap(); - - let loaded = WebLoginData::load_from_file(file.path()).unwrap(); - assert!(loaded.cookies_header.is_none()); - assert!(loaded.additional_headers.is_none()); - assert!(loaded.username.is_none()); - assert!(loaded.email_address.is_none()); - } -} diff --git a/crates/artcraftx/src/providers/credentials/provider_credential_key.rs b/crates/artcraftx/src/providers/credentials/provider_credential_key.rs deleted file mode 100644 index f8993d34..00000000 --- a/crates/artcraftx/src/providers/credentials/provider_credential_key.rs +++ /dev/null @@ -1,50 +0,0 @@ -use serde_derive::{Deserialize, Serialize}; -use crate::providers::credentials::provider_credential_type::ProviderCredentialType; - -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum ProviderCredentialKey { - - // ========== API KEYS========== - - FalApiKey, - ReplicateApiKey, - - // ========== WEB LOGINS ========== - - GrokWebLogin, - HiggsfieldWebLogin, - MidjourneyLogin, - RunwayWebLogin, -} - - -impl ProviderCredentialKey { - pub fn get_type(&self) -> ProviderCredentialType { - match self { - // Api keys - Self::FalApiKey => ProviderCredentialType::ApiKey, - Self::ReplicateApiKey => ProviderCredentialType::ApiKey, - // Web logins - Self::GrokWebLogin => ProviderCredentialType::WebLogin, - Self::HiggsfieldWebLogin => ProviderCredentialType::WebLogin, - Self::MidjourneyLogin => ProviderCredentialType::WebLogin, - Self::RunwayWebLogin => ProviderCredentialType::WebLogin, - } - } - - pub fn get_filename(&self) -> &'static str { - match self { - // Api keys - ProviderCredentialKey::FalApiKey => "fal.api_key.txt", - ProviderCredentialKey::ReplicateApiKey => "replicate.api_key.txt", - // Web logins - ProviderCredentialKey::GrokWebLogin => "grok.web_login.toml", - ProviderCredentialKey::HiggsfieldWebLogin => "higgsfield.web_login.toml", - ProviderCredentialKey::MidjourneyLogin => "midjourney.web_login.toml", - ProviderCredentialKey::RunwayWebLogin => "runway.web_login.toml", - } - } -} - - diff --git a/crates/artcraftx/src/providers/credentials/provider_credential_loading_cache.rs b/crates/artcraftx/src/providers/credentials/provider_credential_loading_cache.rs deleted file mode 100644 index d3713963..00000000 --- a/crates/artcraftx/src/providers/credentials/provider_credential_loading_cache.rs +++ /dev/null @@ -1,187 +0,0 @@ -use std::collections::HashMap; -use std::error::Error; -use std::fmt::Display; -use std::sync::{Arc, RwLock}; -use std::time::{Duration, Instant}; - -use log::{info, warn}; - -use crate::providers::credentials::payload::api_key::{ApiKeyData, ApiKeyDataError}; -use crate::providers::credentials::payload::provider_credential_payload::ProviderCredentialPayload; -use crate::providers::credentials::payload::web_login::{WebLoginData, WebLoginDataError}; -use crate::providers::credentials::provider_credential_key::ProviderCredentialKey; -use crate::providers::credentials::provider_credential_type::ProviderCredentialType; -use crate::state::data_dir::app_data_root::AppDataRoot; -use crate::state::data_dir::subdirectory::trait_data_subdir::DataSubdir; - -struct CacheEntry { - payload: ProviderCredentialPayload, - loaded_at: Instant, -} - -#[derive(Clone)] -pub struct ProviderCredentialLoadingCache { - inner: Arc>>, - app_data_root: AppDataRoot, - ttl: Duration, -} - -impl ProviderCredentialLoadingCache { - pub fn new(app_data_root: AppDataRoot) -> Self { - Self { - inner: Arc::new(RwLock::new(HashMap::new())), - app_data_root, - ttl: Duration::from_secs(300), // 5 minutes - } - } - - pub fn new_with_ttl(app_data_root: AppDataRoot, ttl: Duration) -> Self { - Self { - inner: Arc::new(RwLock::new(HashMap::new())), - app_data_root, - ttl, - } - } - - pub fn get_credentials( - &self, - key: ProviderCredentialKey, - ) -> Result, ProviderCredentialLoadingCacheError> { - // Check cache first. - { - let cache = self.inner.read() - .map_err(|_| ProviderCredentialLoadingCacheError::LockPoisoned)?; - - if let Some(entry) = cache.get(&key) { - if entry.loaded_at.elapsed() < self.ttl { - return Ok(Some(entry.payload.clone())); - } - } - } - - // Cache miss or expired — load from disk. - let file_path = self.app_data_root.credentials_dir().path().join(key.get_filename()); - - if !file_path.exists() { - return Ok(None); - } - - info!("Loading credential from disk: {:?}", file_path); - - let payload = match key.get_type() { - ProviderCredentialType::ApiKey => { - let data = ApiKeyData::load_from_file(&file_path) - .map_err(ProviderCredentialLoadingCacheError::ApiKeyError)?; - ProviderCredentialPayload::ApiKey(data) - } - ProviderCredentialType::WebLogin => { - let data = WebLoginData::load_from_file(&file_path) - .map_err(ProviderCredentialLoadingCacheError::WebLoginError)?; - ProviderCredentialPayload::WebLogin(data) - } - }; - - // Store in cache. - { - let mut cache = self.inner.write() - .map_err(|_| ProviderCredentialLoadingCacheError::LockPoisoned)?; - - cache.insert(key, CacheEntry { - payload: payload.clone(), - loaded_at: Instant::now(), - }); - } - - Ok(Some(payload)) - } - - pub fn save_credentials( - &self, - key: ProviderCredentialKey, - payload: ProviderCredentialPayload, - ) -> Result<(), ProviderCredentialLoadingCacheError> { - let file_path = self.app_data_root.credentials_dir().path().join(key.get_filename()); - - info!("Saving credential to disk: {:?}", file_path); - - match (&payload, key.get_type()) { - (ProviderCredentialPayload::ApiKey(data), ProviderCredentialType::ApiKey) => { - data.save_to_file(&file_path) - .map_err(ProviderCredentialLoadingCacheError::ApiKeyError)?; - } - (ProviderCredentialPayload::WebLogin(data), ProviderCredentialType::WebLogin) => { - data.save_to_file(&file_path) - .map_err(ProviderCredentialLoadingCacheError::WebLoginError)?; - } - _ => { - warn!("Credential type mismatch for key {:?}", key); - return Err(ProviderCredentialLoadingCacheError::TypeMismatch); - } - } - - // Update cache. - { - let mut cache = self.inner.write() - .map_err(|_| ProviderCredentialLoadingCacheError::LockPoisoned)?; - - cache.insert(key, CacheEntry { - payload, - loaded_at: Instant::now(), - }); - } - - Ok(()) - } - - /// Invalidate a cached entry, forcing a re-read from disk on next access. - pub fn invalidate(&self, key: ProviderCredentialKey) { - if let Ok(mut cache) = self.inner.write() { - cache.remove(&key); - } - } - - pub fn delete_credentials(&self, key: ProviderCredentialKey) -> Result<(), ProviderCredentialLoadingCacheError> { - let file_path = self.app_data_root.credentials_dir().path().join(key.get_filename()); - - if file_path.exists() { - std::fs::remove_file(file_path) - .map_err(|e| ProviderCredentialLoadingCacheError::IoError(e))?; - } - - self.invalidate(key); - - Ok(()) - } -} - -#[derive(Debug)] -pub enum ProviderCredentialLoadingCacheError { - IoError(std::io::Error), - ApiKeyError(ApiKeyDataError), - WebLoginError(WebLoginDataError), - TypeMismatch, - LockPoisoned, -} - -impl Error for ProviderCredentialLoadingCacheError { - fn source(&self) -> Option<&(dyn Error + 'static)> { - match self { - Self::IoError(err) => Some(err), - Self::ApiKeyError(err) => Some(err), - Self::WebLoginError(err) => Some(err), - _ => None, - } - } -} - -impl Display for ProviderCredentialLoadingCacheError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - Self::IoError(e) => write!(f, "IO error: {}", e), - Self::ApiKeyError(e) => write!(f, "API key error: {}", e), - Self::WebLoginError(e) => write!(f, "Web login error: {}", e), - Self::TypeMismatch => write!(f, "Credential type does not match key type"), - Self::LockPoisoned => write!(f, "Internal lock poisoned"), - } - } -} diff --git a/crates/artcraftx/src/providers/credentials/provider_credential_type.rs b/crates/artcraftx/src/providers/credentials/provider_credential_type.rs deleted file mode 100644 index fd113fce..00000000 --- a/crates/artcraftx/src/providers/credentials/provider_credential_type.rs +++ /dev/null @@ -1,9 +0,0 @@ -use serde_derive::{Deserialize, Serialize}; - -#[derive(Clone, Copy, Debug, PartialEq, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum ProviderCredentialType { - ApiKey, - WebLogin, -} - diff --git a/crates/artcraftx/src/providers/mod.rs b/crates/artcraftx/src/providers/mod.rs deleted file mode 100644 index 48c828e7..00000000 --- a/crates/artcraftx/src/providers/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod credentials; \ No newline at end of file diff --git a/crates/artcraftx/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs b/crates/artcraftx/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs index 59279c9d..6c3d97e4 100644 --- a/crates/artcraftx/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs +++ b/crates/artcraftx/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs @@ -12,9 +12,9 @@ use crate::services::storyteller::state::storyteller_credential_manager::Storyte use anyhow::anyhow; use artcraft_client::api_defs::prompts::create_prompt::CreatePromptRequest; use artcraft_client::api_defs::utils::media_links_to_thumbnail_template::media_links_to_thumbnail_template; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::common::generation::common_model_type::CommonModelType; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; use errors::AnyhowResult; use grok_consumer_client::recipes::prompt_websocket_image_with_retry::{prompt_websocket_image_with_retry, PromptWebsocketImageWithRetryArgs}; use grok_consumer_client::requests::image_websocket::create_listen_websocket::{create_listen_websocket, CreateListenWebsocketArgs}; @@ -34,7 +34,7 @@ use artcraft_client::endpoints::prompts::create_prompt::create_prompt; use artcraft_client::error::api_error::ApiError; use artcraft_client::error::storyteller_error::StorytellerError; use tauri::AppHandle; -use tokens::tokens::batch_generations::BatchGenerationToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; pub async fn grok_image_websocket_thread( app_handle: AppHandle, diff --git a/crates/artcraftx/src/services/grok/threads/grok_video_task_polling/grok_video_task_polling_thread.rs b/crates/artcraftx/src/services/grok/threads/grok_video_task_polling/grok_video_task_polling_thread.rs index 998caf33..b7e83791 100644 --- a/crates/artcraftx/src/services/grok/threads/grok_video_task_polling/grok_video_task_polling_thread.rs +++ b/crates/artcraftx/src/services/grok/threads/grok_video_task_polling/grok_video_task_polling_thread.rs @@ -11,9 +11,9 @@ use crate::services::grok::util::get_or_upgrade_grok_full_credentials::get_or_up use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; use artcraft_client::api_defs::prompts::create_prompt::CreatePromptRequest; use artcraft_client::api_defs::utils::media_links_to_thumbnail_template::media_links_to_thumbnail_template; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::common::generation::common_model_type::CommonModelType; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; use errors::AnyhowResult; use grok_consumer_client::credentials::grok_full_credentials::GrokFullCredentials; use grok_consumer_client::requests::download_video_file::grok_download_video::GrokDownloadVideo; diff --git a/crates/artcraftx/src/services/grok/util/upload_image_media_file_to_grok.rs b/crates/artcraftx/src/services/grok/util/upload_image_media_file_to_grok.rs index 1b7aaeb4..38cea114 100644 --- a/crates/artcraftx/src/services/grok/util/upload_image_media_file_to_grok.rs +++ b/crates/artcraftx/src/services/grok/util/upload_image_media_file_to_grok.rs @@ -12,7 +12,7 @@ use log::info; use std::time::Duration; use artcraft_client::endpoints::media_files::get_media_file::get_media_file; use artcraft_client::utils::api_host::ApiHost; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; const GROK_IMAGE_UPLOAD_TIMEOUT: Duration = Duration::from_millis(1000 * 30); // 30 seconds diff --git a/crates/artcraftx/src/services/grok/windows/grok_login_window/grok_login_window_thread.rs b/crates/artcraftx/src/services/grok/windows/grok_login_window/grok_login_window_thread.rs index a22543b4..15beb57a 100644 --- a/crates/artcraftx/src/services/grok/windows/grok_login_window/grok_login_window_thread.rs +++ b/crates/artcraftx/src/services/grok/windows/grok_login_window/grok_login_window_thread.rs @@ -6,7 +6,7 @@ use crate::utils::window::get_webview_window_hostname::get_webview_window_hostna use crate::services::grok::state::grok_credential_manager::GrokCredentialManager; use crate::services::grok::windows::grok_login_window::grok_login_webview_extract_cookies::grok_login_webview_extract_cookies; use crate::services::grok::windows::grok_login_window::grok_login_window_open::GROK_LOGIN_WINDOW_NAME; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use errors::AnyhowResult; use log::{error, info}; use tauri::{AppHandle, Manager, WebviewWindow}; diff --git a/crates/artcraftx/src/services/midjourney/threads/events/maybe_handle_text_to_image_complete_event.rs b/crates/artcraftx/src/services/midjourney/threads/events/maybe_handle_text_to_image_complete_event.rs index cccf1ea9..a571e199 100644 --- a/crates/artcraftx/src/services/midjourney/threads/events/maybe_handle_text_to_image_complete_event.rs +++ b/crates/artcraftx/src/services/midjourney/threads/events/maybe_handle_text_to_image_complete_event.rs @@ -2,15 +2,15 @@ use artcraft_client::utils::api_host::ApiHost; use crate::events::basic_sendable_event_trait::BasicSendableEvent; use crate::events::functional_events::text_to_image_generation_complete_event::{GeneratedImage, TextToImageGenerationCompleteEvent}; use anyhow::anyhow; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use errors::AnyhowResult; use log::error; use sqlite_database::queries::task::Task; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::endpoints::media_files::list_batch_generated_redux_media_files::list_batch_generated_redux_media_files; use tauri::AppHandle; -use tokens::tokens::batch_generations::BatchGenerationToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; pub async fn maybe_handle_text_to_image_complete_event( app: &AppHandle, diff --git a/crates/artcraftx/src/services/midjourney/threads/midjourney_long_polling_thread.rs b/crates/artcraftx/src/services/midjourney/threads/midjourney_long_polling_thread.rs index 8d916ff3..5a61ecc4 100644 --- a/crates/artcraftx/src/services/midjourney/threads/midjourney_long_polling_thread.rs +++ b/crates/artcraftx/src/services/midjourney/threads/midjourney_long_polling_thread.rs @@ -12,9 +12,9 @@ use crate::services::storyteller::state::storyteller_credential_manager::Storyte use artcraft_client::api_defs::prompts::create_prompt::CreatePromptRequest; use artcraft_client::api_defs::utils::media_links_to_thumbnail_template::media_links_to_thumbnail_template; use cookie_store::cookie_store::CookieStore; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::common::generation::common_model_type::CommonModelType; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; use errors::AnyhowResult; use uuid_utils::uuid::generate_random_uuid; use log::{error, info}; @@ -33,7 +33,7 @@ use artcraft_client::endpoints::prompts::create_prompt::create_prompt; use artcraft_client::error::api_error::ApiError; use artcraft_client::error::storyteller_error::StorytellerError; use tauri::AppHandle; -use tokens::tokens::batch_generations::BatchGenerationToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; /// This thread is responsible for picking up tasks that fell through the cracks of /// the faster websocket thread. diff --git a/crates/artcraftx/src/services/midjourney/windows/midjourney_login_window_thread.rs b/crates/artcraftx/src/services/midjourney/windows/midjourney_login_window_thread.rs index 8bbb730f..b1c72956 100644 --- a/crates/artcraftx/src/services/midjourney/windows/midjourney_login_window_thread.rs +++ b/crates/artcraftx/src/services/midjourney/windows/midjourney_login_window_thread.rs @@ -7,7 +7,7 @@ use crate::services::midjourney::state::midjourney_credential_manager::Midjourne use crate::services::midjourney::state::midjourney_user_info::MidjourneyUserInfo; use crate::services::midjourney::windows::extract_midjourney_webview_cookies::extract_midjourney_webview_cookies; use crate::services::midjourney::windows::open_midjourney_login_window::MIDJOURNEY_LOGIN_WINDOW_NAME; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use errors::AnyhowResult; use log::{error, info}; use midjourney_client::client::midjourney_hostname::MidjourneyHostname; diff --git a/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/handle_failed_generations.rs b/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/handle_failed_generations.rs index 2ef81aee..71f35a24 100644 --- a/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/handle_failed_generations.rs +++ b/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/handle_failed_generations.rs @@ -3,7 +3,7 @@ use crate::events::generation_events::common::{GenerationAction, GenerationServi use crate::events::generation_events::generation_failed_event::GenerationFailedEvent; use crate::state::task_database::TaskDatabase; use crate::services::sora::state::sora_task_queue::SoraTaskQueue; -use enums::tauri::tasks::task_status; +use sqlite_identifiers::task_status; use errors::AnyhowResult; use log::info; use openai_sora_client::requests::common::task_id::TaskId; diff --git a/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/handle_successful_generations.rs b/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/handle_successful_generations.rs index a56284bf..95da1b15 100644 --- a/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/handle_successful_generations.rs +++ b/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/handle_successful_generations.rs @@ -10,9 +10,9 @@ use crate::services::sora::threads::sora_task_polling::helpers::generation_type: use crate::services::sora::threads::sora_task_polling::helpers::upload_generation_to_backend::{upload_generation_to_backend, UploadGenerationToBackendArgs}; use artcraft_client::api_defs::prompts::create_prompt::CreatePromptRequest; use artcraft_client::api_defs::utils::media_links_to_thumbnail_template::media_links_to_thumbnail_template; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::common::generation::common_model_type::CommonModelType; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; use errors::AnyhowResult; use uuid_utils::uuid::generate_random_uuid; use log::{error, info, warn}; diff --git a/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/upload_generation_to_backend.rs b/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/upload_generation_to_backend.rs index 807feaa7..57cd7a68 100644 --- a/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/upload_generation_to_backend.rs +++ b/crates/artcraftx/src/services/sora/threads/sora_task_polling/helpers/upload_generation_to_backend.rs @@ -6,10 +6,10 @@ use artcraft_client::credentials::storyteller_credential_set::StorytellerCredent use artcraft_client::endpoints::media_files::upload_image_media_file_from_file::{upload_image_media_file_from_file, UploadImageFromFileArgs}; use artcraft_client::endpoints::media_files::upload_video_media_file_from_file::{upload_video_media_file_from_file, UploadVideoFromFileArgs}; use artcraft_client::utils::api_host::ApiHost; -use enums::common::generation_provider::GenerationProvider; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; +use sqlite_identifiers::prompt_token::PromptToken; pub(super) struct UploadGenerationToBackendArgs<'a, P: AsRef> { pub storyteller_api_host: &'a ApiHost, diff --git a/crates/artcraftx/src/services/sora/threads/sora_task_polling/sora_task_polling_thread.rs b/crates/artcraftx/src/services/sora/threads/sora_task_polling/sora_task_polling_thread.rs index 12fa38b9..9919efc1 100644 --- a/crates/artcraftx/src/services/sora/threads/sora_task_polling/sora_task_polling_thread.rs +++ b/crates/artcraftx/src/services/sora/threads/sora_task_polling/sora_task_polling_thread.rs @@ -6,7 +6,7 @@ use crate::services::sora::state::sora_task_queue::SoraTaskQueue; use crate::services::sora::threads::sora_task_polling::helpers::poll_classic_sora_tasks::poll_classic_sora_tasks; use crate::services::sora::threads::sora_task_polling::helpers::poll_sora_2_tasks::poll_sora_2_tasks; use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use errors::AnyhowResult; use log::error; use sqlite_database::queries::list_tasks_by_provider_and_status::{list_tasks_by_provider_and_status, ListTasksByProviderAndStatusArgs}; diff --git a/crates/artcraftx/src/services/sora/utils/upload_images_to_sora.rs b/crates/artcraftx/src/services/sora/utils/upload_images_to_sora.rs index 1b5b4d78..2afb4b55 100644 --- a/crates/artcraftx/src/services/sora/utils/upload_images_to_sora.rs +++ b/crates/artcraftx/src/services/sora/utils/upload_images_to_sora.rs @@ -11,7 +11,7 @@ use openai_sora_client::recipes::maybe_upgrade_or_renew_session::maybe_upgrade_o use std::time::Duration; use artcraft_client::endpoints::media_files::get_media_file::get_media_file; use artcraft_client::utils::api_host::ApiHost; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; const SORA_IMAGE_UPLOAD_TIMEOUT: Duration = Duration::from_millis(1000 * 30); // 30 seconds diff --git a/crates/artcraftx/src/services/sora/windows/sora_login_window/sora_login_thread.rs b/crates/artcraftx/src/services/sora/windows/sora_login_window/sora_login_thread.rs index 4baeb89f..f8fb9cf7 100644 --- a/crates/artcraftx/src/services/sora/windows/sora_login_window/sora_login_thread.rs +++ b/crates/artcraftx/src/services/sora/windows/sora_login_window/sora_login_thread.rs @@ -7,7 +7,7 @@ use crate::services::sora::events::sora_login_success_event::SoraLoginSuccessEve 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 enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use errors::AnyhowResult; use log::{error, info}; use openai_sora_client::creds::sora_credential_set::SoraCredentialSet; diff --git a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_frontend_caller_notification.rs b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_frontend_caller_notification.rs index 0c302ad8..3850457e 100644 --- a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_frontend_caller_notification.rs +++ b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_frontend_caller_notification.rs @@ -9,14 +9,14 @@ use crate::events::functional_events::video_generation_complete_event::{Generate use anyhow::anyhow; use artcraft_client::api_defs::jobs::list_session_jobs::{ListSessionJobsItem, ListSessionResultDetailsResponse}; use artcraft_client::api_defs::utils::media_links_to_thumbnail_template::media_links_to_thumbnail_template; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::task_type::TaskType; use errors::AnyhowResult; use log::warn; use sqlite_database::queries::task::Task; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::endpoints::media_files::list_batch_generated_redux_media_files::list_batch_generated_redux_media_files; use tauri::AppHandle; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub async fn maybe_handle_frontend_caller_notification( app: &AppHandle, diff --git a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_inpainting_complete_event.rs b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_inpainting_complete_event.rs index 5d6d3162..a0779dbc 100644 --- a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_inpainting_complete_event.rs +++ b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_inpainting_complete_event.rs @@ -3,16 +3,16 @@ use crate::events::basic_sendable_event_trait::BasicSendableEvent; use crate::events::functional_events::image_edit_complete_event::{EditedImage, ImageEditCompleteEvent}; use anyhow::anyhow; use artcraft_client::api_defs::jobs::list_session_jobs::{ListSessionJobsItem, ListSessionResultDetailsResponse}; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use errors::AnyhowResult; use log::{error, warn}; use sqlite_database::queries::task::Task; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::endpoints::media_files::list_batch_generated_redux_media_files::list_batch_generated_redux_media_files; use tauri::AppHandle; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub async fn maybe_handle_inpainting_complete_event( app: &AppHandle, diff --git a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_text_to_image_complete_event.rs b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_text_to_image_complete_event.rs index c9f21a4d..59eb68c5 100644 --- a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_text_to_image_complete_event.rs +++ b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_handle_text_to_image_complete_event.rs @@ -3,16 +3,16 @@ use crate::events::basic_sendable_event_trait::BasicSendableEvent; use crate::events::functional_events::text_to_image_generation_complete_event::{GeneratedImage, TextToImageGenerationCompleteEvent}; use anyhow::anyhow; use artcraft_client::api_defs::jobs::list_session_jobs::{ListSessionJobsItem, ListSessionResultDetailsResponse}; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use errors::AnyhowResult; use log::{error, warn}; use sqlite_database::queries::task::Task; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::endpoints::media_files::list_batch_generated_redux_media_files::list_batch_generated_redux_media_files; use tauri::AppHandle; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub async fn maybe_handle_text_to_image_complete_event( app: &AppHandle, diff --git a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_send_background_removal_complete_event.rs b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_send_background_removal_complete_event.rs index e97df89a..3692a996 100644 --- a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_send_background_removal_complete_event.rs +++ b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/events/maybe_send_background_removal_complete_event.rs @@ -1,12 +1,12 @@ use crate::events::basic_sendable_event_trait::BasicSendableEvent; use crate::events::functional_events::canvas_background_removal_complete_event::CanvasBackgroundRemovalCompleteEvent; use artcraft_client::api_defs::jobs::list_session_jobs::ListSessionJobsItem; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use errors::AnyhowResult; use log::error; use sqlite_database::queries::task::Task; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub async fn maybe_send_background_removal_complete_event( app: &tauri::AppHandle, diff --git a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/handle_storyteller_failed_job.rs b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/handle_storyteller_failed_job.rs index 85f898ef..b0f7c9e8 100644 --- a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/handle_storyteller_failed_job.rs +++ b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/handle_storyteller_failed_job.rs @@ -1,15 +1,16 @@ +use crate::utils::enum_conversion::task_failure_type::task_failure_type_from_frontend_failure_category_for_api; use crate::events::basic_sendable_event_trait::BasicSendableEvent; use crate::events::generation_events::generation_failed_event::GenerationFailedEvent; use crate::state::task_database::TaskDatabase; use crate::utils::enum_conversion::generation_provider::to_generation_service_provider; use crate::utils::enum_conversion::task_type::to_generation_action; use artcraft_client::api_defs::jobs::list_session_jobs::ListSessionJobsItem; -use enums::tauri::tasks::task_status::TaskStatus; +use sqlite_identifiers::task_status::TaskStatus; use errors::AnyhowResult; use log::info; use sqlite_database::queries::task::Task; use tauri::AppHandle; -use enums::tauri::tasks::task_failure_type::TaskFailureType; +use sqlite_identifiers::task_failure_type::TaskFailureType; use sqlite_database::queries::update_task_status_with_rich_failure::{update_task_status_with_rich_failure, UpdateTaskWithRichFailureArgs}; pub async fn handle_failed_job( @@ -23,7 +24,7 @@ pub async fn handle_failed_job( let maybe_failure_type = job.status .maybe_failure_category_updated .as_ref() - .map(|val| TaskFailureType::from_frontend_failure_category_for_api(val)); + .map(task_failure_type_from_frontend_failure_category_for_api); let maybe_failure_message = job.status.maybe_failure_message.as_deref(); diff --git a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/handle_storyteller_successful_job.rs b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/handle_storyteller_successful_job.rs index 550c638f..693fe1b5 100644 --- a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/handle_storyteller_successful_job.rs +++ b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/handle_storyteller_successful_job.rs @@ -9,14 +9,14 @@ use artcraft_client::api_defs::jobs::list_session_jobs::ListSessionJobsItem; use artcraft_client::api_defs::utils::media_links_to_thumbnail_template::media_links_to_thumbnail_template; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use enums::by_table::generic_inference_jobs::inference_category::InferenceCategory; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; use errors::AnyhowResult; use log::error; use log::info; use sqlite_database::queries::task::Task; use sqlite_database::queries::update_successful_task_status_with_metadata::{update_successful_task_status_with_metadata, UpdateSuccessfulTaskArgs}; use tauri::AppHandle; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; pub async fn handle_successful_job( app_handle: &AppHandle, diff --git a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/storyteller_task_polling_thread.rs b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/storyteller_task_polling_thread.rs index be9a3dc6..8694d4f0 100644 --- a/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/storyteller_task_polling_thread.rs +++ b/crates/artcraftx/src/services/storyteller/threads/storyteller_task_polling_thread/storyteller_task_polling_thread.rs @@ -7,9 +7,9 @@ use anyhow::anyhow; use artcraft_client::endpoints::jobs::list_session_jobs::{list_session_jobs, States}; use artcraft_client::error::api_error::ApiError; use artcraft_client::error::storyteller_error::StorytellerError; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use enums::common::job_status_plus::JobStatusPlus; -use enums::tauri::tasks::task_status::TaskStatus; +use sqlite_identifiers::task_status::TaskStatus; use errors::AnyhowResult; use log::error; use sqlite_database::queries::list_tasks_by_provider_and_tokens::{list_tasks_by_provider_and_tokens, ListTasksArgs}; diff --git a/crates/artcraftx/src/services/worldlabs/threads/worldlabs_marble_task_polling.rs b/crates/artcraftx/src/services/worldlabs/threads/worldlabs_marble_task_polling.rs index f2d401c4..d850b6ec 100644 --- a/crates/artcraftx/src/services/worldlabs/threads/worldlabs_marble_task_polling.rs +++ b/crates/artcraftx/src/services/worldlabs/threads/worldlabs_marble_task_polling.rs @@ -9,8 +9,8 @@ use crate::utils::task_database_pending_statuses::TASK_DATABASE_PENDING_STATUSES use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; use crate::services::worldlabs::state::worldlabs_credential_manager::WorldlabsCredentialManager; use artcraft_client::api_defs::utils::media_links_to_thumbnail_template::media_links_to_thumbnail_template; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; use errors::AnyhowResult; use uuid_utils::uuid::generate_random_uuid; use log::{error, info}; diff --git a/crates/artcraftx/src/services/worldlabs/windows/worldlabs_login_window/worldlabs_login_window_thread.rs b/crates/artcraftx/src/services/worldlabs/windows/worldlabs_login_window/worldlabs_login_window_thread.rs index c9973db9..c9d38d40 100644 --- a/crates/artcraftx/src/services/worldlabs/windows/worldlabs_login_window/worldlabs_login_window_thread.rs +++ b/crates/artcraftx/src/services/worldlabs/windows/worldlabs_login_window/worldlabs_login_window_thread.rs @@ -7,7 +7,7 @@ use crate::services::worldlabs::state::worldlabs_credential_manager::WorldlabsCr use crate::services::worldlabs::windows::worldlabs_login_window::worldlabs_javascript::WORLDLABS_JAVASCRIPT_EXPORT_BEARER_TOKENS; use crate::services::worldlabs::windows::worldlabs_login_window::worldlabs_login_webview_extract_cookies::worldlabs_login_webview_extract_cookies; use crate::services::worldlabs::windows::worldlabs_login_window::worldlabs_login_window_open::WORLDLABS_LOGIN_WINDOW_NAME; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use errors::AnyhowResult; use log::{error, info}; use tauri::{AppHandle, Manager, WebviewWindow}; diff --git a/crates/artcraftx/src/threads/discord_presence_thread.rs b/crates/artcraftx/src/threads/discord_presence_thread.rs index 83d93744..06acbd07 100644 --- a/crates/artcraftx/src/threads/discord_presence_thread.rs +++ b/crates/artcraftx/src/threads/discord_presence_thread.rs @@ -5,7 +5,8 @@ use log::{debug, info}; use rand::random_range; /// Our Discord App ID. Not sure if this is a secret. -const DISCORD_APP_ID : &str = "1366596912593113138"; +// const DISCORD_APP_ID : &str = "1366596912593113138"; +const DISCORD_APP_ID : &str = "1534088661052817480"; const DISCORD_ARTCRAFT_LOGO_SPIN : &str = "https://getartcraft.com/discord-status-icons/artcraft-a-spin-512x512.webp"; const DISCORD_ARTCRAFT_LOGO_STATIC : &str = "https://getartcraft.com/discord-status-icons/artcraft-a-512x512.png"; diff --git a/crates/artcraftx/src/threads/third_party_task_polling_thread/events/notify_frontend_of_completion.rs b/crates/artcraftx/src/threads/third_party_task_polling_thread/events/notify_frontend_of_completion.rs index d26e2ac1..c14f91cb 100644 --- a/crates/artcraftx/src/threads/third_party_task_polling_thread/events/notify_frontend_of_completion.rs +++ b/crates/artcraftx/src/threads/third_party_task_polling_thread/events/notify_frontend_of_completion.rs @@ -10,16 +10,16 @@ use crate::events::functional_events::video_generation_complete_event::{Generate use artcraft_client::endpoints::media_files::list_batch_generated_redux_media_files::list_batch_generated_redux_media_files; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::utils::api_host::ApiHost; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_type::TaskType; use log::{error, warn}; use sqlite_database::queries::task::Task; use tauri::AppHandle; use reqwest::Url; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; /// Data about a successfully completed third-party generation. pub struct CompletionData { diff --git a/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/handle_fal_complete.rs b/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/handle_fal_complete.rs index c2255efd..ec122502 100644 --- a/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/handle_fal_complete.rs +++ b/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/handle_fal_complete.rs @@ -20,8 +20,8 @@ use artcraft_client::endpoints::media_files::upload_image_media_file_from_file:: use artcraft_client::endpoints::media_files::upload_video_media_file_from_file::{ upload_video_media_file_from_file, UploadVideoFromFileArgs, }; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; use fal_client::polling::poll_job_response::poll_job_response::PollJobResponse; use fal_client::polling::poll_job_response::success_case_extractors::PollResponseExtractedContents; use log::{error, info, warn}; @@ -34,9 +34,9 @@ use std::io::Write; use std::path::PathBuf; use std::time::Duration; use tauri::AppHandle; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; -use tokens::tokens::prompts::PromptToken; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; +use sqlite_identifiers::prompt_token::PromptToken; use uuid_utils::uuid::generate_random_uuid; pub async fn handle_fal_complete( diff --git a/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/handle_fal_failure.rs b/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/handle_fal_failure.rs index 22963478..90f36845 100644 --- a/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/handle_fal_failure.rs +++ b/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/handle_fal_failure.rs @@ -2,8 +2,8 @@ use crate::events::basic_sendable_event_trait::BasicSendableEvent; use crate::events::generation_events::common::{GenerationAction, GenerationServiceProvider}; use crate::events::generation_events::generation_failed_event::GenerationFailedEvent; use crate::state::task_database::TaskDatabase; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; use log::{error, info}; use sqlite_database::queries::task::Task; use sqlite_database::queries::update_task_status::{update_task_status, UpdateTaskArgs}; diff --git a/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/poll_fal_tasks.rs b/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/poll_fal_tasks.rs index 5d6b1931..ce1c0cd8 100644 --- a/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/poll_fal_tasks.rs +++ b/crates/artcraftx/src/threads/third_party_task_polling_thread/handlers/fal/poll_fal_tasks.rs @@ -1,6 +1,4 @@ -use crate::providers::credentials::provider_credential_loading_cache::ProviderCredentialLoadingCache; -use crate::providers::credentials::payload::provider_credential_payload::ProviderCredentialPayload; -use crate::providers::credentials::provider_credential_key::ProviderCredentialKey; +use crate::credentials::find_service_credentials::find_fal_api_key; use crate::state::data_dir::app_data_root::AppDataRoot; use crate::state::task_database::TaskDatabase; use crate::threads::third_party_task_polling_thread::handlers::fal::handle_fal_complete::handle_fal_complete; @@ -18,10 +16,9 @@ pub async fn poll_fal_tasks( app_data_root: &AppDataRoot, task_database: &TaskDatabase, storyteller_creds_manager: &StorytellerCredentialManager, - credential_cache: &ProviderCredentialLoadingCache, fal_tasks: &[&Task], ) { - let api_key = match load_fal_api_key(credential_cache) { + let api_key = match load_fal_api_key(app_data_root) { Some(key) => key, None => { warn!("[FalPolling] No FAL API key configured, skipping poll"); @@ -145,13 +142,8 @@ async fn poll_single_fal_task( // ── Helpers ── -fn load_fal_api_key(credential_cache: &ProviderCredentialLoadingCache) -> Option { - match credential_cache.get_credentials(ProviderCredentialKey::FalApiKey) { - Ok(Some(ProviderCredentialPayload::ApiKey(data))) => { - Some(FalApiKey::from_str(data.as_str())) - } - _ => None, - } +fn load_fal_api_key(app_data_root: &AppDataRoot) -> Option { + find_fal_api_key(app_data_root).map(|key| FalApiKey::from_str(&key)) } /// Use the task's stored response URL first; fall back to the one from the status poll. diff --git a/crates/artcraftx/src/threads/third_party_task_polling_thread/third_party_task_polling_thread.rs b/crates/artcraftx/src/threads/third_party_task_polling_thread/third_party_task_polling_thread.rs index 859dcdf9..58b34d96 100644 --- a/crates/artcraftx/src/threads/third_party_task_polling_thread/third_party_task_polling_thread.rs +++ b/crates/artcraftx/src/threads/third_party_task_polling_thread/third_party_task_polling_thread.rs @@ -1,10 +1,9 @@ -use crate::providers::credentials::provider_credential_loading_cache::ProviderCredentialLoadingCache; use crate::state::data_dir::app_data_root::AppDataRoot; use crate::state::task_database::TaskDatabase; use crate::threads::third_party_task_polling_thread::handlers::fal::poll_fal_tasks::poll_fal_tasks; use crate::utils::task_database_pending_statuses::TASK_DATABASE_PENDING_STATUSES; use crate::services::storyteller::state::storyteller_credential_manager::StorytellerCredentialManager; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use log::{error, info, warn}; use sqlite_database::queries::list_non_artcraft_pending_tasks::{ list_non_artcraft_pending_tasks, ListNonArtcraftPendingTasksArgs, @@ -23,7 +22,6 @@ pub async fn third_party_task_polling_thread( app_data_root: AppDataRoot, task_database: TaskDatabase, storyteller_creds_manager: StorytellerCredentialManager, - credential_cache: ProviderCredentialLoadingCache, ) -> ! { let mut has_ever_seen_third_party_jobs = false; @@ -33,7 +31,6 @@ pub async fn third_party_task_polling_thread( &app_data_root, &task_database, &storyteller_creds_manager, - &credential_cache, &mut has_ever_seen_third_party_jobs, ).await; @@ -49,7 +46,6 @@ async fn poll_iteration( app_data_root: &AppDataRoot, task_database: &TaskDatabase, storyteller_creds_manager: &StorytellerCredentialManager, - credential_cache: &ProviderCredentialLoadingCache, has_ever_seen_third_party_jobs: &mut bool, ) -> Result<(), PollError> { let task_list = list_non_artcraft_pending_tasks(ListNonArtcraftPendingTasksArgs { @@ -102,7 +98,6 @@ async fn poll_iteration( app_data_root, task_database, storyteller_creds_manager, - credential_cache, &fal_tasks, ).await; diff --git a/crates/artcraftx/src/utils/download_media_file_to_temp_dir.rs b/crates/artcraftx/src/utils/download_media_file_to_temp_dir.rs index 07592bbb..7da170a8 100644 --- a/crates/artcraftx/src/utils/download_media_file_to_temp_dir.rs +++ b/crates/artcraftx/src/utils/download_media_file_to_temp_dir.rs @@ -5,7 +5,7 @@ use crate::utils::get_url_file_extension::get_url_file_extension; use crate::utils::simple_http_download_to_tempfile::simple_http_download_to_tempfile; use artcraft_client::endpoints::media_files::get_media_file::get_media_file; use tempfile::NamedTempFile; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; // TODO: Better more concrete error handling pub async fn download_media_file_to_temp_dir(app_data_root: &AppDataRoot, token: &MediaFileToken) -> Result { diff --git a/crates/artcraftx/src/utils/enum_conversion/generation_provider.rs b/crates/artcraftx/src/utils/enum_conversion/generation_provider.rs index 08efbe6d..d627eaf6 100644 --- a/crates/artcraftx/src/utils/enum_conversion/generation_provider.rs +++ b/crates/artcraftx/src/utils/enum_conversion/generation_provider.rs @@ -1,5 +1,5 @@ use crate::events::generation_events::common::GenerationServiceProvider; -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; // TODO(bt,2025-07-15): Get rid of GenerationServiceProvider pub fn to_generation_service_provider(provider: GenerationProvider) -> GenerationServiceProvider { diff --git a/crates/artcraftx/src/utils/enum_conversion/mod.rs b/crates/artcraftx/src/utils/enum_conversion/mod.rs index 67b4f370..c394892b 100644 --- a/crates/artcraftx/src/utils/enum_conversion/mod.rs +++ b/crates/artcraftx/src/utils/enum_conversion/mod.rs @@ -1,2 +1,3 @@ +pub mod task_failure_type; pub mod generation_provider; pub mod task_type; \ No newline at end of file diff --git a/crates/artcraftx/src/utils/enum_conversion/task_failure_type.rs b/crates/artcraftx/src/utils/enum_conversion/task_failure_type.rs new file mode 100644 index 00000000..aed5150e --- /dev/null +++ b/crates/artcraftx/src/utils/enum_conversion/task_failure_type.rs @@ -0,0 +1,55 @@ +use enums::api_safe::by_table::generic_inference_jobs::frontend_failure_category_for_api_clients::FrontendFailureCategoryForApiClients; +use enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory; +use sqlite_identifiers::task_failure_type::TaskFailureType; + +/// Convert the web API's `FrontendFailureCategory` to a Tauri-facing type, if there is a matching variant. +/// If there isn't a matching variant, return `Unknown`. +pub fn task_failure_type_from_frontend_failure_category(category: FrontendFailureCategory) -> TaskFailureType { + match category { + FrontendFailureCategory::ModelRulesViolation => TaskFailureType::RuleBansUserContent, // NB: This is a legacy enum value. + FrontendFailureCategory::RuleBansUserImage => TaskFailureType::RuleBansUserImage, + FrontendFailureCategory::RuleBansUserImageWithFaces => TaskFailureType::RuleBansUserImageWithFaces, + FrontendFailureCategory::RuleBansUserTextPrompt => TaskFailureType::RuleBansUserTextPrompt, + FrontendFailureCategory::RuleBansUserContent => TaskFailureType::RuleBansUserContent, + FrontendFailureCategory::RuleBansGeneratedVideo => TaskFailureType::RuleBansGeneratedVideo, + FrontendFailureCategory::RuleBansGeneratedAudio => TaskFailureType::RuleBansGeneratedAudio, + FrontendFailureCategory::RuleBansGeneratedContent => TaskFailureType::RuleBansGeneratedContent, + FrontendFailureCategory::NoForegroundSubjectDetected => TaskFailureType::NoForegroundSubjectDetected, + FrontendFailureCategory::FormatNotSupported => TaskFailureType::FormatNotSupported, + FrontendFailureCategory::GenerationFailed => TaskFailureType::GenerationFailed, + _ => TaskFailureType::Unknown, + } +} + +/// Convert the API-client-facing `FrontendFailureCategoryForApiClients` to a Tauri-facing type. +/// `Unknown(String)` maps to `Unknown` with a debug log. +pub fn task_failure_type_from_frontend_failure_category_for_api(category: &FrontendFailureCategoryForApiClients) -> TaskFailureType { + match category { + FrontendFailureCategoryForApiClients::ModelRulesViolation => TaskFailureType::RuleBansUserContent, + FrontendFailureCategoryForApiClients::RuleBansUserImage => TaskFailureType::RuleBansUserImage, + FrontendFailureCategoryForApiClients::RuleBansUserImageWithFaces => TaskFailureType::RuleBansUserImageWithFaces, + FrontendFailureCategoryForApiClients::RuleBansUserTextPrompt => TaskFailureType::RuleBansUserTextPrompt, + FrontendFailureCategoryForApiClients::RuleBansUserContent => TaskFailureType::RuleBansUserContent, + FrontendFailureCategoryForApiClients::RuleBansGeneratedVideo => TaskFailureType::RuleBansGeneratedVideo, + FrontendFailureCategoryForApiClients::RuleBansGeneratedAudio => TaskFailureType::RuleBansGeneratedAudio, + FrontendFailureCategoryForApiClients::RuleBansGeneratedContent => TaskFailureType::RuleBansGeneratedContent, + FrontendFailureCategoryForApiClients::NoForegroundSubjectDetected => TaskFailureType::NoForegroundSubjectDetected, + FrontendFailureCategoryForApiClients::FormatNotSupported => TaskFailureType::FormatNotSupported, + FrontendFailureCategoryForApiClients::GenerationFailed => TaskFailureType::GenerationFailed, + + // Types ArtCraft doesn't care about + FrontendFailureCategoryForApiClients::FaceNotDetected => TaskFailureType::Unknown, + FrontendFailureCategoryForApiClients::KeepAliveElapsed => TaskFailureType::Unknown, + FrontendFailureCategoryForApiClients::NotYetImplemented => TaskFailureType::Unknown, + FrontendFailureCategoryForApiClients::RetryableWorkerError => TaskFailureType::Unknown, + FrontendFailureCategoryForApiClients::FilesizeTooLarge => TaskFailureType::Unknown, + FrontendFailureCategoryForApiClients::ImageDimensionsTooSmall => TaskFailureType::Unknown, + FrontendFailureCategoryForApiClients::ImageDimensionsTooLarge => TaskFailureType::Unknown, + + // Unknown (future-proof) variant + FrontendFailureCategoryForApiClients::Unknown(ref value) => { + log::debug!("Unknown FrontendFailureCategoryForApiClients variant: {}", value); + TaskFailureType::Unknown + } + } +} diff --git a/crates/artcraftx/src/utils/enum_conversion/task_type.rs b/crates/artcraftx/src/utils/enum_conversion/task_type.rs index 367d048e..ab4cb22b 100644 --- a/crates/artcraftx/src/utils/enum_conversion/task_type.rs +++ b/crates/artcraftx/src/utils/enum_conversion/task_type.rs @@ -1,5 +1,5 @@ use crate::events::generation_events::common::GenerationAction; -use enums::tauri::tasks::task_type::TaskType; +use sqlite_identifiers::task_type::TaskType; pub fn to_generation_action(task_type: TaskType) -> GenerationAction { match task_type { diff --git a/crates/artcraftx/src/utils/task_database_pending_statuses.rs b/crates/artcraftx/src/utils/task_database_pending_statuses.rs index f74e5e97..43e60271 100644 --- a/crates/artcraftx/src/utils/task_database_pending_statuses.rs +++ b/crates/artcraftx/src/utils/task_database_pending_statuses.rs @@ -1,4 +1,4 @@ -use enums::tauri::tasks::task_status::TaskStatus; +use sqlite_identifiers::task_status::TaskStatus; use once_cell::sync::Lazy; use std::collections::HashSet; diff --git a/crates/artcraftx/src/utils/upload_bytes_to_media_file/upload_image_bytes_as_media_file.rs b/crates/artcraftx/src/utils/upload_bytes_to_media_file/upload_image_bytes_as_media_file.rs index a86e1b5e..24f08f94 100644 --- a/crates/artcraftx/src/utils/upload_bytes_to_media_file/upload_image_bytes_as_media_file.rs +++ b/crates/artcraftx/src/utils/upload_bytes_to_media_file/upload_image_bytes_as_media_file.rs @@ -5,7 +5,7 @@ use artcraft_client::endpoints::media_files::upload_image_media_file_from_bytes: upload_image_media_file_from_bytes, ImageType, UploadImageBytesArgs, }; use artcraft_client::utils::api_host::ApiHost; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::generate::generate_error::GenerateError; diff --git a/crates/artcraftx/src/utils/upload_bytes_to_media_file/upload_mask_image_bytes_as_media_file.rs b/crates/artcraftx/src/utils/upload_bytes_to_media_file/upload_mask_image_bytes_as_media_file.rs index 3ea3ee50..fa9280d9 100644 --- a/crates/artcraftx/src/utils/upload_bytes_to_media_file/upload_mask_image_bytes_as_media_file.rs +++ b/crates/artcraftx/src/utils/upload_bytes_to_media_file/upload_mask_image_bytes_as_media_file.rs @@ -6,7 +6,7 @@ use artcraft_client::endpoints::media_files::upload_image_media_file_from_bytes: }; use artcraft_client::utils::api_host::ApiHost; use images::mask_images::normalize_image_bytes_to_flux_mask::normalize_image_bytes_to_flux_mask; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; use crate::commands::generate::generate_error::GenerateError; diff --git a/crates/schema/public/enums/src/by_table/audit_logs/audit_log_entity_action.rs b/crates/schema/public/enums/src/by_table/audit_logs/audit_log_entity_action.rs index b047175e..035661a7 100644 --- a/crates/schema/public/enums/src/by_table/audit_logs/audit_log_entity_action.rs +++ b/crates/schema/public/enums/src/by_table/audit_logs/audit_log_entity_action.rs @@ -36,7 +36,6 @@ pub enum AuditLogEntityAction { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(AuditLogEntityAction); -impl_mysql_enum_coders!(AuditLogEntityAction); /// NB: Legacy API for older code. impl AuditLogEntityAction { diff --git a/crates/schema/public/enums/src/by_table/audit_logs/audit_log_entity_type.rs b/crates/schema/public/enums/src/by_table/audit_logs/audit_log_entity_type.rs index 2c2c957d..27db2d0f 100644 --- a/crates/schema/public/enums/src/by_table/audit_logs/audit_log_entity_type.rs +++ b/crates/schema/public/enums/src/by_table/audit_logs/audit_log_entity_type.rs @@ -28,7 +28,6 @@ pub enum AuditLogEntityType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(AuditLogEntityType); -impl_mysql_enum_coders!(AuditLogEntityType); /// NB: Legacy API for older code. impl AuditLogEntityType { diff --git a/crates/schema/public/enums/src/by_table/batch_generations/batch_generation_entity_type.rs b/crates/schema/public/enums/src/by_table/batch_generations/batch_generation_entity_type.rs index 84045ec0..ef71f2a0 100644 --- a/crates/schema/public/enums/src/by_table/batch_generations/batch_generation_entity_type.rs +++ b/crates/schema/public/enums/src/by_table/batch_generations/batch_generation_entity_type.rs @@ -19,8 +19,6 @@ pub enum BatchGenerationEntityType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(BatchGenerationEntityType); -impl_mysql_enum_coders!(BatchGenerationEntityType); -impl_mysql_from_row!(BatchGenerationEntityType); /// NB: Legacy API for older code. impl BatchGenerationEntityType { diff --git a/crates/schema/public/enums/src/by_table/beta_keys/beta_key_product.rs b/crates/schema/public/enums/src/by_table/beta_keys/beta_key_product.rs index 337b1154..0bf858b4 100644 --- a/crates/schema/public/enums/src/by_table/beta_keys/beta_key_product.rs +++ b/crates/schema/public/enums/src/by_table/beta_keys/beta_key_product.rs @@ -19,8 +19,6 @@ pub enum BetaKeyProduct { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(BetaKeyProduct); -impl_mysql_enum_coders!(BetaKeyProduct); -impl_mysql_from_row!(BetaKeyProduct); /// NB: Legacy API for older code. impl BetaKeyProduct { diff --git a/crates/schema/public/enums/src/by_table/characters/character_type.rs b/crates/schema/public/enums/src/by_table/characters/character_type.rs index 29438901..d1f6afdc 100644 --- a/crates/schema/public/enums/src/by_table/characters/character_type.rs +++ b/crates/schema/public/enums/src/by_table/characters/character_type.rs @@ -19,7 +19,6 @@ pub enum CharacterType { } impl_enum_display_and_debug_using_to_str!(CharacterType); -impl_mysql_enum_coders!(CharacterType); impl CharacterType { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/comments/comment_entity_type.rs b/crates/schema/public/enums/src/by_table/comments/comment_entity_type.rs index 014e04e1..31fcd27c 100644 --- a/crates/schema/public/enums/src/by_table/comments/comment_entity_type.rs +++ b/crates/schema/public/enums/src/by_table/comments/comment_entity_type.rs @@ -40,7 +40,6 @@ pub enum CommentEntityType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(CommentEntityType); -impl_mysql_enum_coders!(CommentEntityType); /// NB: Legacy API for older code. impl CommentEntityType { diff --git a/crates/schema/public/enums/src/by_table/debug_logs/debug_log_level.rs b/crates/schema/public/enums/src/by_table/debug_logs/debug_log_level.rs index cb207de3..2eac5152 100644 --- a/crates/schema/public/enums/src/by_table/debug_logs/debug_log_level.rs +++ b/crates/schema/public/enums/src/by_table/debug_logs/debug_log_level.rs @@ -25,8 +25,6 @@ pub enum DebugLogLevel { } impl_enum_display_and_debug_using_to_str!(DebugLogLevel); -impl_mysql_enum_coders!(DebugLogLevel); -impl_mysql_from_row!(DebugLogLevel); impl DebugLogLevel { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/debug_logs/debug_log_type.rs b/crates/schema/public/enums/src/by_table/debug_logs/debug_log_type.rs index e0b73e8c..20a31392 100644 --- a/crates/schema/public/enums/src/by_table/debug_logs/debug_log_type.rs +++ b/crates/schema/public/enums/src/by_table/debug_logs/debug_log_type.rs @@ -35,8 +35,6 @@ pub enum DebugLogType { } impl_enum_display_and_debug_using_to_str!(DebugLogType); -impl_mysql_enum_coders!(DebugLogType); -impl_mysql_from_row!(DebugLogType); impl DebugLogType { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/email_sender_jobs/email_category.rs b/crates/schema/public/enums/src/by_table/email_sender_jobs/email_category.rs index 87fedc81..a6e2a45d 100644 --- a/crates/schema/public/enums/src/by_table/email_sender_jobs/email_category.rs +++ b/crates/schema/public/enums/src/by_table/email_sender_jobs/email_category.rs @@ -24,7 +24,6 @@ pub enum EmailCategory { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(EmailCategory); -impl_mysql_enum_coders!(EmailCategory); /// NB: Legacy API for older code. impl EmailCategory { diff --git a/crates/schema/public/enums/src/by_table/entity_stats/stats_entity_type.rs b/crates/schema/public/enums/src/by_table/entity_stats/stats_entity_type.rs index b219a1da..0e5e4a12 100644 --- a/crates/schema/public/enums/src/by_table/entity_stats/stats_entity_type.rs +++ b/crates/schema/public/enums/src/by_table/entity_stats/stats_entity_type.rs @@ -26,8 +26,6 @@ pub enum StatsEntityType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(StatsEntityType); -impl_mysql_enum_coders!(StatsEntityType); -impl_mysql_from_row!(StatsEntityType); /// NB: Legacy API for older code. impl StatsEntityType { diff --git a/crates/schema/public/enums/src/by_table/featured_items/featured_item_entity_type.rs b/crates/schema/public/enums/src/by_table/featured_items/featured_item_entity_type.rs index 767fe681..163b85da 100644 --- a/crates/schema/public/enums/src/by_table/featured_items/featured_item_entity_type.rs +++ b/crates/schema/public/enums/src/by_table/featured_items/featured_item_entity_type.rs @@ -26,8 +26,6 @@ pub enum FeaturedItemEntityType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(FeaturedItemEntityType); -impl_mysql_enum_coders!(FeaturedItemEntityType); -impl_mysql_from_row!(FeaturedItemEntityType); /// NB: Legacy API for older code. impl FeaturedItemEntityType { diff --git a/crates/schema/public/enums/src/by_table/generic_download_jobs/generic_download_type.rs b/crates/schema/public/enums/src/by_table/generic_download_jobs/generic_download_type.rs index 355bdc8f..2b44d35a 100644 --- a/crates/schema/public/enums/src/by_table/generic_download_jobs/generic_download_type.rs +++ b/crates/schema/public/enums/src/by_table/generic_download_jobs/generic_download_type.rs @@ -15,25 +15,21 @@ use strum::EnumIter; /// /// DO NOT CHANGE VALUES WITHOUT A MIGRATION STRATEGY. #[derive(Clone, Copy, Eq, PartialEq, Debug, Deserialize, Serialize, Hash, Ord, PartialOrd)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] #[cfg_attr(test, derive(EnumIter, EnumCount))] pub enum GenericDownloadType { /// NB: Note - this is hifigan for Tacotron2. /// Some work will be needed to unify this with other hifigan types. #[serde(rename = "hifigan")] - #[cfg_attr(feature = "database", sqlx(rename = "hifigan"))] HifiGan, /// NB: Note - this is hifigan for SoftVC (our internal codename is "rocketvc"). /// Some work will need to be done to unify this with other hifigan types. #[serde(rename = "hifigan_rocket_vc")] - #[cfg_attr(feature = "database", sqlx(rename = "hifigan_rocket_vc"))] HifiGanRocketVc, /// NB: Note - this is hifigan for SoVitsSvc /// Some work will need to be done to unify this with other hifigan types. #[serde(rename = "hifigan_so_vits_svc")] - #[cfg_attr(feature = "database", sqlx(rename = "hifigan_so_vits_svc"))] HifiGanSoVitsSvc, //#[serde(rename = "melgan_vocodes")] @@ -43,27 +39,22 @@ pub enum GenericDownloadType { /// NB: Our external-facing name for "softvc" is rocketvc. /// I wish we could stop being stupid about this. #[serde(rename = "rocket_vc")] - #[cfg_attr(feature = "database", sqlx(rename = "rocket_vc"))] RocketVc, /// RVC (v2) voice conversion models #[serde(rename = "rvc_v2")] - #[cfg_attr(feature = "database", sqlx(rename = "rvc_v2"))] RvcV2, /// so-vits-svc voice conversion models #[serde(rename = "so_vits_svc")] - #[cfg_attr(feature = "database", sqlx(rename = "so_vits_svc"))] SoVitsSvc, /// Tacotron TTS models. #[serde(rename = "tacotron2")] - #[cfg_attr(feature = "database", sqlx(rename = "tacotron2"))] Tacotron2, /// VITS TTS models. #[serde(rename = "vits")] - #[cfg_attr(feature = "database", sqlx(rename = "vits"))] Vits, } diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/frontend_failure_category.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/frontend_failure_category.rs index 3152f9c9..1fbe3057 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/frontend_failure_category.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/frontend_failure_category.rs @@ -129,7 +129,6 @@ pub enum FrontendFailureCategory { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(FrontendFailureCategory); -impl_mysql_enum_coders!(FrontendFailureCategory); /// NB: Legacy API for older code. impl FrontendFailureCategory { diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_category.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_category.rs index 54fb935e..7790f2f5 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_category.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_category.rs @@ -101,8 +101,6 @@ pub enum InferenceCategory { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(InferenceCategory); -impl_mysql_enum_coders!(InferenceCategory); -impl_mysql_from_row!(InferenceCategory); /// NB: Legacy API for older code. impl InferenceCategory { diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_input_source_token_type.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_input_source_token_type.rs index 76d98627..a2a69697 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_input_source_token_type.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_input_source_token_type.rs @@ -19,7 +19,6 @@ pub enum InferenceInputSourceTokenType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(InferenceInputSourceTokenType); -impl_mysql_enum_coders!(InferenceInputSourceTokenType); /// NB: Legacy API for older code. impl InferenceInputSourceTokenType { diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_external_third_party.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_external_third_party.rs index 7663a3f5..14d308c8 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_external_third_party.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_external_third_party.rs @@ -48,7 +48,6 @@ pub enum InferenceJobExternalThirdParty { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(InferenceJobExternalThirdParty); -impl_mysql_enum_coders!(InferenceJobExternalThirdParty); /// NB: Legacy API for older code. impl InferenceJobExternalThirdParty { diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_product_category.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_product_category.rs index 17af27ca..58f20d45 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_product_category.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_product_category.rs @@ -166,7 +166,6 @@ pub enum InferenceJobProductCategory { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(InferenceJobProductCategory); -impl_mysql_enum_coders!(InferenceJobProductCategory); /// NB: Legacy API for older code. impl InferenceJobProductCategory { diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_type.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_type.rs index 22c9a538..db1d3ba3 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_type.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_job_type.rs @@ -135,7 +135,6 @@ pub enum InferenceJobType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(InferenceJobType); -impl_mysql_enum_coders!(InferenceJobType); /// NB: Legacy API for older code. impl InferenceJobType { diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_model_type.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_model_type.rs index 9083b77c..73410df1 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_model_type.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_model_type.rs @@ -289,7 +289,6 @@ pub enum InferenceModelType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(InferenceModelType); -impl_mysql_enum_coders!(InferenceModelType); /// NB: Legacy API for older code. impl InferenceModelType { diff --git a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_result_type.rs b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_result_type.rs index 8bd3fda3..2148f67b 100644 --- a/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_result_type.rs +++ b/crates/schema/public/enums/src/by_table/generic_inference_jobs/inference_result_type.rs @@ -40,7 +40,6 @@ pub enum InferenceResultType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(InferenceResultType); -impl_mysql_enum_coders!(InferenceResultType); /// NB: Legacy API for older code. impl InferenceResultType { diff --git a/crates/schema/public/enums/src/by_table/generic_synthetic_ids/id_category.rs b/crates/schema/public/enums/src/by_table/generic_synthetic_ids/id_category.rs index ce2c5b15..a02da644 100644 --- a/crates/schema/public/enums/src/by_table/generic_synthetic_ids/id_category.rs +++ b/crates/schema/public/enums/src/by_table/generic_synthetic_ids/id_category.rs @@ -77,7 +77,6 @@ pub enum IdCategory { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(IdCategory); -impl_mysql_enum_coders!(IdCategory); /// NB: Legacy API for older code. impl IdCategory { diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_animation_type.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_animation_type.rs index a19db340..4435b6b4 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_animation_type.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_animation_type.rs @@ -69,8 +69,6 @@ pub enum MediaFileAnimationType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaFileAnimationType); -impl_mysql_enum_coders!(MediaFileAnimationType); -impl_mysql_from_row!(MediaFileAnimationType); /// NB: Legacy API for older code. impl MediaFileAnimationType { diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_class.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_class.rs index b10fc927..33caa656 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_class.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_class.rs @@ -45,8 +45,6 @@ pub enum MediaFileClass { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaFileClass); -impl_mysql_enum_coders!(MediaFileClass); -impl_mysql_from_row!(MediaFileClass); /// NB: Legacy API for older code. impl MediaFileClass { diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_engine_category.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_engine_category.rs index 02b38582..d185016f 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_engine_category.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_engine_category.rs @@ -57,8 +57,6 @@ pub enum MediaFileEngineCategory { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaFileEngineCategory); -impl_mysql_enum_coders!(MediaFileEngineCategory); -impl_mysql_from_row!(MediaFileEngineCategory); /// NB: Legacy API for older code. impl MediaFileEngineCategory { diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs index 70196d8d..d1f62608 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_category.rs @@ -43,8 +43,6 @@ pub enum MediaFileOriginCategory { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaFileOriginCategory); -impl_mysql_enum_coders!(MediaFileOriginCategory); -impl_mysql_from_row!(MediaFileOriginCategory); /// NB: Legacy API for older code. impl MediaFileOriginCategory { diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_model_type.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_model_type.rs index 20a444ca..13051df5 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_model_type.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_model_type.rs @@ -77,8 +77,6 @@ pub enum MediaFileOriginModelType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaFileOriginModelType); -impl_mysql_enum_coders!(MediaFileOriginModelType); -impl_mysql_from_row!(MediaFileOriginModelType); /// NB: Legacy API for older code. impl MediaFileOriginModelType { diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_product_category.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_product_category.rs index a1514d24..7f661820 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_origin_product_category.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_origin_product_category.rs @@ -87,8 +87,6 @@ pub enum MediaFileOriginProductCategory { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaFileOriginProductCategory); -impl_mysql_enum_coders!(MediaFileOriginProductCategory); -impl_mysql_from_row!(MediaFileOriginProductCategory); /// NB: Legacy API for older code. impl MediaFileOriginProductCategory { diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_project_type.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_project_type.rs index 10df7bdd..bdd6ff6e 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_project_type.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_project_type.rs @@ -42,8 +42,6 @@ pub enum MediaFileProjectType { } impl_enum_display_and_debug_using_to_str!(MediaFileProjectType); -impl_mysql_enum_coders!(MediaFileProjectType); -impl_mysql_from_row!(MediaFileProjectType); impl MediaFileProjectType { pub const fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_subtype.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_subtype.rs index c25fe7d3..83ec3b21 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_subtype.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_subtype.rs @@ -62,8 +62,6 @@ pub enum MediaFileSubtype { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaFileSubtype); -impl_mysql_enum_coders!(MediaFileSubtype); -impl_mysql_from_row!(MediaFileSubtype); /// NB: Legacy API for older code. impl MediaFileSubtype { diff --git a/crates/schema/public/enums/src/by_table/media_files/media_file_type.rs b/crates/schema/public/enums/src/by_table/media_files/media_file_type.rs index b6a211f0..f9c12945 100644 --- a/crates/schema/public/enums/src/by_table/media_files/media_file_type.rs +++ b/crates/schema/public/enums/src/by_table/media_files/media_file_type.rs @@ -137,8 +137,6 @@ pub enum MediaFileType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaFileType); -impl_mysql_enum_coders!(MediaFileType); -impl_mysql_from_row!(MediaFileType); /// NB: Legacy API for older code. impl MediaFileType { diff --git a/crates/schema/public/enums/src/by_table/media_uploads/media_upload_source.rs b/crates/schema/public/enums/src/by_table/media_uploads/media_upload_source.rs index f8a94e54..6413b4fe 100644 --- a/crates/schema/public/enums/src/by_table/media_uploads/media_upload_source.rs +++ b/crates/schema/public/enums/src/by_table/media_uploads/media_upload_source.rs @@ -26,7 +26,6 @@ pub enum MediaUploadSource { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaUploadSource); -impl_mysql_enum_coders!(MediaUploadSource); /// NB: Legacy API for older code. impl MediaUploadSource { diff --git a/crates/schema/public/enums/src/by_table/media_uploads/media_upload_type.rs b/crates/schema/public/enums/src/by_table/media_uploads/media_upload_type.rs index 42fd07ce..e58cd392 100644 --- a/crates/schema/public/enums/src/by_table/media_uploads/media_upload_type.rs +++ b/crates/schema/public/enums/src/by_table/media_uploads/media_upload_type.rs @@ -27,7 +27,6 @@ pub enum MediaUploadType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(MediaUploadType); -impl_mysql_enum_coders!(MediaUploadType); /// NB: Legacy API for older code. impl MediaUploadType { diff --git a/crates/schema/public/enums/src/by_table/model_categories/model_type.rs b/crates/schema/public/enums/src/by_table/model_categories/model_type.rs index 608064bb..05e9f442 100644 --- a/crates/schema/public/enums/src/by_table/model_categories/model_type.rs +++ b/crates/schema/public/enums/src/by_table/model_categories/model_type.rs @@ -19,7 +19,6 @@ pub enum ModelType { // TODO(bt, 2023-01-16): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(ModelType); -impl_mysql_enum_coders!(ModelType); /// NB: Legacy API for older code. impl ModelType { diff --git a/crates/schema/public/enums/src/by_table/model_weights/weights_category.rs b/crates/schema/public/enums/src/by_table/model_weights/weights_category.rs index 23b5a258..923a3b45 100644 --- a/crates/schema/public/enums/src/by_table/model_weights/weights_category.rs +++ b/crates/schema/public/enums/src/by_table/model_weights/weights_category.rs @@ -53,8 +53,6 @@ impl WeightsCategory { } } impl_enum_display_and_debug_using_to_str!(WeightsCategory); -impl_mysql_enum_coders!(WeightsCategory); -impl_mysql_from_row!(WeightsCategory); #[cfg(test)] mod tests { diff --git a/crates/schema/public/enums/src/by_table/model_weights/weights_file_type.rs b/crates/schema/public/enums/src/by_table/model_weights/weights_file_type.rs index caba87c7..8d9b4d8f 100644 --- a/crates/schema/public/enums/src/by_table/model_weights/weights_file_type.rs +++ b/crates/schema/public/enums/src/by_table/model_weights/weights_file_type.rs @@ -40,7 +40,6 @@ impl WeightsFileType { } impl_enum_display_and_debug_using_to_str!(WeightsFileType); -impl_mysql_enum_coders!(WeightsFileType); #[cfg(test)] mod tests { diff --git a/crates/schema/public/enums/src/by_table/model_weights/weights_types.rs b/crates/schema/public/enums/src/by_table/model_weights/weights_types.rs index ec230483..e1ee81fa 100644 --- a/crates/schema/public/enums/src/by_table/model_weights/weights_types.rs +++ b/crates/schema/public/enums/src/by_table/model_weights/weights_types.rs @@ -81,8 +81,6 @@ impl WeightsType { } impl_enum_display_and_debug_using_to_str!(WeightsType); -impl_mysql_enum_coders!(WeightsType); -impl_mysql_from_row!(WeightsType); #[cfg(test)] mod tests { diff --git a/crates/schema/public/enums/src/by_table/prompt_context_items/prompt_context_semantic_type.rs b/crates/schema/public/enums/src/by_table/prompt_context_items/prompt_context_semantic_type.rs index 32610063..ba3bdb17 100644 --- a/crates/schema/public/enums/src/by_table/prompt_context_items/prompt_context_semantic_type.rs +++ b/crates/schema/public/enums/src/by_table/prompt_context_items/prompt_context_semantic_type.rs @@ -50,8 +50,6 @@ pub enum PromptContextSemanticType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(PromptContextSemanticType); -impl_mysql_enum_coders!(PromptContextSemanticType); -impl_mysql_from_row!(PromptContextSemanticType); /// NB: Legacy API for older code. impl PromptContextSemanticType { diff --git a/crates/schema/public/enums/src/by_table/prompts/prompt_type.rs b/crates/schema/public/enums/src/by_table/prompts/prompt_type.rs index 822937ae..d06b75f9 100644 --- a/crates/schema/public/enums/src/by_table/prompts/prompt_type.rs +++ b/crates/schema/public/enums/src/by_table/prompts/prompt_type.rs @@ -26,8 +26,6 @@ pub enum PromptType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(PromptType); -impl_mysql_enum_coders!(PromptType); -impl_mysql_from_row!(PromptType); /// NB: Legacy API for older code. impl PromptType { diff --git a/crates/schema/public/enums/src/by_table/staff_audit_logs/staff_audit_action.rs b/crates/schema/public/enums/src/by_table/staff_audit_logs/staff_audit_action.rs index 7b801697..326e9c3d 100644 --- a/crates/schema/public/enums/src/by_table/staff_audit_logs/staff_audit_action.rs +++ b/crates/schema/public/enums/src/by_table/staff_audit_logs/staff_audit_action.rs @@ -47,8 +47,6 @@ pub enum StaffAuditAction { } impl_enum_display_and_debug_using_to_str!(StaffAuditAction); -impl_mysql_enum_coders!(StaffAuditAction); -impl_mysql_from_row!(StaffAuditAction); impl StaffAuditAction { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/staff_audit_logs/staff_audit_entity_type.rs b/crates/schema/public/enums/src/by_table/staff_audit_logs/staff_audit_entity_type.rs index 9bbdd4e6..c5b14d7f 100644 --- a/crates/schema/public/enums/src/by_table/staff_audit_logs/staff_audit_entity_type.rs +++ b/crates/schema/public/enums/src/by_table/staff_audit_logs/staff_audit_entity_type.rs @@ -23,8 +23,6 @@ pub enum StaffAuditEntityType { } impl_enum_display_and_debug_using_to_str!(StaffAuditEntityType); -impl_mysql_enum_coders!(StaffAuditEntityType); -impl_mysql_from_row!(StaffAuditEntityType); impl StaffAuditEntityType { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/trending_model_analytics/model_type.rs b/crates/schema/public/enums/src/by_table/trending_model_analytics/model_type.rs index 176bb34b..618ee7da 100644 --- a/crates/schema/public/enums/src/by_table/trending_model_analytics/model_type.rs +++ b/crates/schema/public/enums/src/by_table/trending_model_analytics/model_type.rs @@ -21,7 +21,6 @@ pub enum ModelType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(ModelType); -impl_mysql_enum_coders!(ModelType); /// NB: Legacy API for older code. impl ModelType { diff --git a/crates/schema/public/enums/src/by_table/trending_model_analytics/window_name.rs b/crates/schema/public/enums/src/by_table/trending_model_analytics/window_name.rs index 798d3a45..d7fe6d13 100644 --- a/crates/schema/public/enums/src/by_table/trending_model_analytics/window_name.rs +++ b/crates/schema/public/enums/src/by_table/trending_model_analytics/window_name.rs @@ -28,7 +28,6 @@ pub enum WindowName { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(WindowName); -impl_mysql_enum_coders!(WindowName); /// NB: Legacy API for older code. impl WindowName { diff --git a/crates/schema/public/enums/src/by_table/tts_models/tts_model_type.rs b/crates/schema/public/enums/src/by_table/tts_models/tts_model_type.rs index c1340dd0..38e79880 100644 --- a/crates/schema/public/enums/src/by_table/tts_models/tts_model_type.rs +++ b/crates/schema/public/enums/src/by_table/tts_models/tts_model_type.rs @@ -21,7 +21,6 @@ pub enum TtsModelType { // TODO(bt, 2023-04-03): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(TtsModelType); -impl_mysql_enum_coders!(TtsModelType); /// NB: Legacy API for older code. impl TtsModelType { diff --git a/crates/schema/public/enums/src/by_table/tts_render_tasks/tts_render_status.rs b/crates/schema/public/enums/src/by_table/tts_render_tasks/tts_render_status.rs index 6e2da6a1..0e7a58c5 100644 --- a/crates/schema/public/enums/src/by_table/tts_render_tasks/tts_render_status.rs +++ b/crates/schema/public/enums/src/by_table/tts_render_tasks/tts_render_status.rs @@ -31,7 +31,6 @@ pub enum TtsRenderStatus { // TODO(bt, 2023-01-17): This desperately needs Sqlite integration tests! impl_enum_display_and_debug_using_to_str!(TtsRenderStatus); -impl_sqlite_enum_coders!(TtsRenderStatus); /// NB: Legacy API for older code. impl TtsRenderStatus { diff --git a/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_model_type.rs b/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_model_type.rs index 73434add..31852aba 100644 --- a/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_model_type.rs +++ b/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_model_type.rs @@ -77,8 +77,6 @@ pub enum UploadedVideoNoteReportedModelType { } impl_enum_display_and_debug_using_to_str!(UploadedVideoNoteReportedModelType); -impl_mysql_enum_coders!(UploadedVideoNoteReportedModelType); -impl_mysql_from_row!(UploadedVideoNoteReportedModelType); impl UploadedVideoNoteReportedModelType { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_website.rs b/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_website.rs index 32dac858..12d48a47 100644 --- a/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_website.rs +++ b/crates/schema/public/enums/src/by_table/uploaded_video_notes/uploaded_video_note_reported_website.rs @@ -26,8 +26,6 @@ pub enum UploadedVideoNoteReportedWebsite { } impl_enum_display_and_debug_using_to_str!(UploadedVideoNoteReportedWebsite); -impl_mysql_enum_coders!(UploadedVideoNoteReportedWebsite); -impl_mysql_from_row!(UploadedVideoNoteReportedWebsite); impl UploadedVideoNoteReportedWebsite { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_family.rs b/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_family.rs index 7f1e1f3a..f2a01323 100644 --- a/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_family.rs +++ b/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_family.rs @@ -25,8 +25,6 @@ pub enum UploadedVideoDetectedModelFamily { } impl_enum_display_and_debug_using_to_str!(UploadedVideoDetectedModelFamily); -impl_mysql_enum_coders!(UploadedVideoDetectedModelFamily); -impl_mysql_from_row!(UploadedVideoDetectedModelFamily); impl UploadedVideoDetectedModelFamily { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_type.rs b/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_type.rs index 6cdb6d6c..c0978955 100644 --- a/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_type.rs +++ b/crates/schema/public/enums/src/by_table/uploaded_videos/uploaded_video_detected_model_type.rs @@ -77,8 +77,6 @@ pub enum UploadedVideoDetectedModelType { } impl_enum_display_and_debug_using_to_str!(UploadedVideoDetectedModelType); -impl_mysql_enum_coders!(UploadedVideoDetectedModelType); -impl_mysql_from_row!(UploadedVideoDetectedModelType); impl UploadedVideoDetectedModelType { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/by_table/usages/usages_type.rs b/crates/schema/public/enums/src/by_table/usages/usages_type.rs index ffd695f0..821862b2 100644 --- a/crates/schema/public/enums/src/by_table/usages/usages_type.rs +++ b/crates/schema/public/enums/src/by_table/usages/usages_type.rs @@ -21,8 +21,6 @@ pub enum UsagesType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(UsagesType); -impl_mysql_enum_coders!(UsagesType); -impl_mysql_from_row!(UsagesType); /// NB: Legacy API for older code. impl UsagesType { diff --git a/crates/schema/public/enums/src/by_table/user_bookmarks/user_bookmark_entity_type.rs b/crates/schema/public/enums/src/by_table/user_bookmarks/user_bookmark_entity_type.rs index 24446cc2..e1a79e60 100644 --- a/crates/schema/public/enums/src/by_table/user_bookmarks/user_bookmark_entity_type.rs +++ b/crates/schema/public/enums/src/by_table/user_bookmarks/user_bookmark_entity_type.rs @@ -48,8 +48,6 @@ pub enum UserBookmarkEntityType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(UserBookmarkEntityType); -impl_mysql_enum_coders!(UserBookmarkEntityType); -impl_mysql_from_row!(UserBookmarkEntityType); /// NB: Legacy API for older code. impl UserBookmarkEntityType { diff --git a/crates/schema/public/enums/src/by_table/user_ratings/entity_type.rs b/crates/schema/public/enums/src/by_table/user_ratings/entity_type.rs index 025a8e4d..cbd55713 100644 --- a/crates/schema/public/enums/src/by_table/user_ratings/entity_type.rs +++ b/crates/schema/public/enums/src/by_table/user_ratings/entity_type.rs @@ -36,7 +36,6 @@ pub enum UserRatingEntityType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(UserRatingEntityType); -impl_mysql_enum_coders!(UserRatingEntityType); /// NB: Legacy API for older code. impl UserRatingEntityType { diff --git a/crates/schema/public/enums/src/by_table/user_ratings/rating_value.rs b/crates/schema/public/enums/src/by_table/user_ratings/rating_value.rs index 89ebafc5..2bbab4ce 100644 --- a/crates/schema/public/enums/src/by_table/user_ratings/rating_value.rs +++ b/crates/schema/public/enums/src/by_table/user_ratings/rating_value.rs @@ -17,8 +17,6 @@ use strum::EnumIter; /// *DO NOT CHANGE VALUES WITHOUT A MIGRATION STRATEGY!* /// #[derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(rename_all = "lowercase"))] #[cfg_attr(test, derive(EnumIter, EnumCount))] #[serde(rename_all = "lowercase")] pub enum UserRatingValue { diff --git a/crates/schema/public/enums/src/by_table/user_spend_events/payment_event_type.rs b/crates/schema/public/enums/src/by_table/user_spend_events/payment_event_type.rs index 37bbb929..d935d76c 100644 --- a/crates/schema/public/enums/src/by_table/user_spend_events/payment_event_type.rs +++ b/crates/schema/public/enums/src/by_table/user_spend_events/payment_event_type.rs @@ -55,8 +55,6 @@ pub enum PaymentEventType { } impl_enum_display_and_debug_using_to_str!(PaymentEventType); -impl_mysql_enum_coders!(PaymentEventType); -impl_mysql_from_row!(PaymentEventType); /// NB: Legacy API for older code. impl PaymentEventType { diff --git a/crates/schema/public/enums/src/by_table/user_spend_events/payment_source.rs b/crates/schema/public/enums/src/by_table/user_spend_events/payment_source.rs index be674f24..1c5b0739 100644 --- a/crates/schema/public/enums/src/by_table/user_spend_events/payment_source.rs +++ b/crates/schema/public/enums/src/by_table/user_spend_events/payment_source.rs @@ -25,8 +25,6 @@ pub enum PaymentSource { } impl_enum_display_and_debug_using_to_str!(PaymentSource); -impl_mysql_enum_coders!(PaymentSource); -impl_mysql_from_row!(PaymentSource); /// NB: Legacy API for older code. impl PaymentSource { diff --git a/crates/schema/public/enums/src/by_table/users/user_feature_flag.rs b/crates/schema/public/enums/src/by_table/users/user_feature_flag.rs index 12b9aa69..326d4eaf 100644 --- a/crates/schema/public/enums/src/by_table/users/user_feature_flag.rs +++ b/crates/schema/public/enums/src/by_table/users/user_feature_flag.rs @@ -52,8 +52,6 @@ pub enum UserFeatureFlag { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(UserFeatureFlag); -impl_mysql_enum_coders!(UserFeatureFlag); -impl_mysql_from_row!(UserFeatureFlag); /// NB: Legacy API for older code. impl UserFeatureFlag { diff --git a/crates/schema/public/enums/src/by_table/users/user_signup_method.rs b/crates/schema/public/enums/src/by_table/users/user_signup_method.rs index 865fdc0a..afdc831d 100644 --- a/crates/schema/public/enums/src/by_table/users/user_signup_method.rs +++ b/crates/schema/public/enums/src/by_table/users/user_signup_method.rs @@ -26,8 +26,6 @@ pub enum UserSignupMethod { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(UserSignupMethod); -impl_mysql_enum_coders!(UserSignupMethod); -impl_mysql_from_row!(UserSignupMethod); /// NB: Legacy API for older code. impl UserSignupMethod { diff --git a/crates/schema/public/enums/src/by_table/users/user_signup_source.rs b/crates/schema/public/enums/src/by_table/users/user_signup_source.rs index 3429f0c0..f6de2e18 100644 --- a/crates/schema/public/enums/src/by_table/users/user_signup_source.rs +++ b/crates/schema/public/enums/src/by_table/users/user_signup_source.rs @@ -45,8 +45,6 @@ pub enum UserSignupSource { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(UserSignupSource); -impl_mysql_enum_coders!(UserSignupSource); -impl_mysql_from_row!(UserSignupSource); /// NB: Legacy API for older code. impl UserSignupSource { diff --git a/crates/schema/public/enums/src/by_table/voice_conversion_models/voice_conversion_model_type.rs b/crates/schema/public/enums/src/by_table/voice_conversion_models/voice_conversion_model_type.rs index 9e1ec7f6..92afbd4e 100644 --- a/crates/schema/public/enums/src/by_table/voice_conversion_models/voice_conversion_model_type.rs +++ b/crates/schema/public/enums/src/by_table/voice_conversion_models/voice_conversion_model_type.rs @@ -25,7 +25,6 @@ pub enum VoiceConversionModelType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(VoiceConversionModelType); -impl_mysql_enum_coders!(VoiceConversionModelType); /// NB: Legacy API for older code. impl VoiceConversionModelType { diff --git a/crates/schema/public/enums/src/by_table/voice_conversion_results/voice_conversion_media_token_type.rs b/crates/schema/public/enums/src/by_table/voice_conversion_results/voice_conversion_media_token_type.rs index 4a4b03a5..017c451b 100644 --- a/crates/schema/public/enums/src/by_table/voice_conversion_results/voice_conversion_media_token_type.rs +++ b/crates/schema/public/enums/src/by_table/voice_conversion_results/voice_conversion_media_token_type.rs @@ -18,7 +18,6 @@ pub enum VoiceConversionMediaTokenType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(VoiceConversionMediaTokenType); -impl_mysql_enum_coders!(VoiceConversionMediaTokenType); /// NB: Legacy API for older code. impl VoiceConversionMediaTokenType { diff --git a/crates/schema/public/enums/src/by_table/wallet_ledger_entries/wallet_ledger_entry_type.rs b/crates/schema/public/enums/src/by_table/wallet_ledger_entries/wallet_ledger_entry_type.rs index 12217313..e586cc02 100644 --- a/crates/schema/public/enums/src/by_table/wallet_ledger_entries/wallet_ledger_entry_type.rs +++ b/crates/schema/public/enums/src/by_table/wallet_ledger_entries/wallet_ledger_entry_type.rs @@ -55,8 +55,6 @@ pub enum WalletLedgerEntryType { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(WalletLedgerEntryType); -impl_mysql_enum_coders!(WalletLedgerEntryType); -impl_mysql_from_row!(WalletLedgerEntryType); /// NB: Legacy API for older code. impl WalletLedgerEntryType { diff --git a/crates/schema/public/enums/src/by_table/web_rendition_targets/rendition_status.rs b/crates/schema/public/enums/src/by_table/web_rendition_targets/rendition_status.rs index b09b0be7..bdbcb50c 100644 --- a/crates/schema/public/enums/src/by_table/web_rendition_targets/rendition_status.rs +++ b/crates/schema/public/enums/src/by_table/web_rendition_targets/rendition_status.rs @@ -27,7 +27,6 @@ pub enum RenditionStatus { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(RenditionStatus); -impl_sqlite_enum_coders!(RenditionStatus); /// NB: Legacy API for older code. impl RenditionStatus { diff --git a/crates/schema/public/enums/src/by_table/web_scraping_targets/scraping_status.rs b/crates/schema/public/enums/src/by_table/web_scraping_targets/scraping_status.rs index 870e842f..55fc1843 100644 --- a/crates/schema/public/enums/src/by_table/web_scraping_targets/scraping_status.rs +++ b/crates/schema/public/enums/src/by_table/web_scraping_targets/scraping_status.rs @@ -27,7 +27,6 @@ pub enum ScrapingStatus { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(ScrapingStatus); -impl_sqlite_enum_coders!(ScrapingStatus); /// NB: Legacy API for older code. impl ScrapingStatus { diff --git a/crates/schema/public/enums/src/by_table/zs_voices/encoding_type.rs b/crates/schema/public/enums/src/by_table/zs_voices/encoding_type.rs index 34692f9b..0e733def 100644 --- a/crates/schema/public/enums/src/by_table/zs_voices/encoding_type.rs +++ b/crates/schema/public/enums/src/by_table/zs_voices/encoding_type.rs @@ -20,7 +20,6 @@ pub enum ZsVoiceEncodingType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(ZsVoiceEncodingType); -impl_mysql_enum_coders!(ZsVoiceEncodingType); /// NB: Legacy API for older code. impl ZsVoiceEncodingType { diff --git a/crates/schema/public/enums/src/by_table/zs_voices/model_category.rs b/crates/schema/public/enums/src/by_table/zs_voices/model_category.rs index 89b561a1..7404f2c7 100644 --- a/crates/schema/public/enums/src/by_table/zs_voices/model_category.rs +++ b/crates/schema/public/enums/src/by_table/zs_voices/model_category.rs @@ -20,7 +20,6 @@ pub enum ZsVoiceModelCategory { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(ZsVoiceModelCategory); -impl_mysql_enum_coders!(ZsVoiceModelCategory); /// NB: Legacy API for older code. impl ZsVoiceModelCategory { diff --git a/crates/schema/public/enums/src/by_table/zs_voices/model_type.rs b/crates/schema/public/enums/src/by_table/zs_voices/model_type.rs index 4af95aa9..a45ad233 100644 --- a/crates/schema/public/enums/src/by_table/zs_voices/model_type.rs +++ b/crates/schema/public/enums/src/by_table/zs_voices/model_type.rs @@ -22,7 +22,6 @@ pub enum ZsVoiceModelType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(ZsVoiceModelType); -impl_mysql_enum_coders!(ZsVoiceModelType); /// NB: Legacy API for older code. impl ZsVoiceModelType { diff --git a/crates/schema/public/enums/src/common/artcraft_credits_pack_slug.rs b/crates/schema/public/enums/src/common/artcraft_credits_pack_slug.rs index e1f4c72a..5d1f9a88 100644 --- a/crates/schema/public/enums/src/common/artcraft_credits_pack_slug.rs +++ b/crates/schema/public/enums/src/common/artcraft_credits_pack_slug.rs @@ -26,8 +26,6 @@ pub enum ArtcraftCreditsPackSlug { } impl_enum_display_and_debug_using_to_str!(ArtcraftCreditsPackSlug); -impl_mysql_enum_coders!(ArtcraftCreditsPackSlug); -impl_mysql_from_row!(ArtcraftCreditsPackSlug); // NB: We can derive `sqlx::Type` instead of using `impl_mysql_enum_coders` diff --git a/crates/schema/public/enums/src/common/artcraft_subscription_slug.rs b/crates/schema/public/enums/src/common/artcraft_subscription_slug.rs index c3b631c0..81755ebf 100644 --- a/crates/schema/public/enums/src/common/artcraft_subscription_slug.rs +++ b/crates/schema/public/enums/src/common/artcraft_subscription_slug.rs @@ -17,8 +17,6 @@ pub enum ArtcraftSubscriptionSlug { } impl_enum_display_and_debug_using_to_str!(ArtcraftSubscriptionSlug); -impl_mysql_enum_coders!(ArtcraftSubscriptionSlug); -impl_mysql_from_row!(ArtcraftSubscriptionSlug); // NB: We can derive `sqlx::Type` instead of using `impl_mysql_enum_coders` diff --git a/crates/schema/public/enums/src/common/generation/common_aspect_ratio.rs b/crates/schema/public/enums/src/common/generation/common_aspect_ratio.rs index fb926ddc..518055f8 100644 --- a/crates/schema/public/enums/src/common/generation/common_aspect_ratio.rs +++ b/crates/schema/public/enums/src/common/generation/common_aspect_ratio.rs @@ -41,8 +41,6 @@ pub enum CommonAspectRatio { } impl_enum_display_and_debug_using_to_str!(CommonAspectRatio); -impl_mysql_enum_coders!(CommonAspectRatio); -impl_mysql_from_row!(CommonAspectRatio); impl CommonAspectRatio { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/common/generation/common_bitrate.rs b/crates/schema/public/enums/src/common/generation/common_bitrate.rs index 58b36eb7..74bfc033 100644 --- a/crates/schema/public/enums/src/common/generation/common_bitrate.rs +++ b/crates/schema/public/enums/src/common/generation/common_bitrate.rs @@ -25,8 +25,6 @@ pub enum CommonBitrate { } impl_enum_display_and_debug_using_to_str!(CommonBitrate); -impl_mysql_enum_coders!(CommonBitrate); -impl_mysql_from_row!(CommonBitrate); impl CommonBitrate { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/common/generation/common_generation_mode.rs b/crates/schema/public/enums/src/common/generation/common_generation_mode.rs index e637f582..a65e3ccc 100644 --- a/crates/schema/public/enums/src/common/generation/common_generation_mode.rs +++ b/crates/schema/public/enums/src/common/generation/common_generation_mode.rs @@ -40,8 +40,6 @@ pub enum CommonGenerationMode { } impl_enum_display_and_debug_using_to_str!(CommonGenerationMode); -impl_mysql_enum_coders!(CommonGenerationMode); -impl_mysql_from_row!(CommonGenerationMode); impl CommonGenerationMode { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/common/generation/common_model_type.rs b/crates/schema/public/enums/src/common/generation/common_model_type.rs index 6ad3ba5c..f5dd1ea4 100644 --- a/crates/schema/public/enums/src/common/generation/common_model_type.rs +++ b/crates/schema/public/enums/src/common/generation/common_model_type.rs @@ -258,8 +258,6 @@ pub enum CommonModelType { } impl_enum_display_and_debug_using_to_str!(CommonModelType); -impl_mysql_enum_coders!(CommonModelType); -impl_mysql_from_row!(CommonModelType); // NB: We can derive `sqlx::Type` instead of using `impl_mysql_enum_coders` diff --git a/crates/schema/public/enums/src/common/generation/common_quality.rs b/crates/schema/public/enums/src/common/generation/common_quality.rs index c5d6390e..a0c6a46a 100644 --- a/crates/schema/public/enums/src/common/generation/common_quality.rs +++ b/crates/schema/public/enums/src/common/generation/common_quality.rs @@ -23,8 +23,6 @@ pub enum CommonQuality { } impl_enum_display_and_debug_using_to_str!(CommonQuality); -impl_mysql_enum_coders!(CommonQuality); -impl_mysql_from_row!(CommonQuality); impl CommonQuality { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/common/generation/common_resolution.rs b/crates/schema/public/enums/src/common/generation/common_resolution.rs index ec67baa5..128bfb86 100644 --- a/crates/schema/public/enums/src/common/generation/common_resolution.rs +++ b/crates/schema/public/enums/src/common/generation/common_resolution.rs @@ -36,8 +36,6 @@ pub enum CommonResolution { } impl_enum_display_and_debug_using_to_str!(CommonResolution); -impl_mysql_enum_coders!(CommonResolution); -impl_mysql_from_row!(CommonResolution); impl CommonResolution { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/common/job_status.rs b/crates/schema/public/enums/src/common/job_status.rs index df7665d5..ef83556d 100644 --- a/crates/schema/public/enums/src/common/job_status.rs +++ b/crates/schema/public/enums/src/common/job_status.rs @@ -19,8 +19,6 @@ use strum::EnumIter; /// DO NOT CHANGE VALUES WITHOUT A MIGRATION STRATEGY. #[derive(Clone, Copy, PartialEq, Eq, Hash, Ord, PartialOrd, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(rename_all = "snake_case"))] #[cfg_attr(test, derive(EnumIter, EnumCount))] #[serde(rename_all = "snake_case")] pub enum JobStatus { diff --git a/crates/schema/public/enums/src/common/job_status_plus.rs b/crates/schema/public/enums/src/common/job_status_plus.rs index b4f383d6..3c05674e 100644 --- a/crates/schema/public/enums/src/common/job_status_plus.rs +++ b/crates/schema/public/enums/src/common/job_status_plus.rs @@ -30,8 +30,6 @@ pub enum JobStatusPlus { // TODO(bt, 2022-12-21): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(JobStatusPlus); -impl_mysql_enum_coders!(JobStatusPlus); -impl_mysql_from_row!(JobStatusPlus); // NB: We can derive `sqlx::Type` instead of using `impl_mysql_enum_coders` diff --git a/crates/schema/public/enums/src/common/mod.rs b/crates/schema/public/enums/src/common/mod.rs index af957f67..a06d519b 100644 --- a/crates/schema/public/enums/src/common/mod.rs +++ b/crates/schema/public/enums/src/common/mod.rs @@ -1,7 +1,6 @@ pub mod artcraft_credits_pack_slug; pub mod artcraft_subscription_slug; pub mod generation; -pub mod generation_provider; pub mod job_status; pub mod job_status_plus; pub mod payments_namespace; diff --git a/crates/schema/public/enums/src/common/payments_namespace.rs b/crates/schema/public/enums/src/common/payments_namespace.rs index 6e29236d..96fe5bf1 100644 --- a/crates/schema/public/enums/src/common/payments_namespace.rs +++ b/crates/schema/public/enums/src/common/payments_namespace.rs @@ -18,8 +18,6 @@ pub enum PaymentsNamespace { } impl_enum_display_and_debug_using_to_str!(PaymentsNamespace); -impl_mysql_enum_coders!(PaymentsNamespace); -impl_mysql_from_row!(PaymentsNamespace); // NB: We can derive `sqlx::Type` instead of using `impl_mysql_enum_coders` diff --git a/crates/schema/public/enums/src/common/platform_type.rs b/crates/schema/public/enums/src/common/platform_type.rs index 0f748269..57f0b0de 100644 --- a/crates/schema/public/enums/src/common/platform_type.rs +++ b/crates/schema/public/enums/src/common/platform_type.rs @@ -36,8 +36,6 @@ pub enum PlatformType { } impl_enum_display_and_debug_using_to_str!(PlatformType); -impl_mysql_enum_coders!(PlatformType); -impl_mysql_from_row!(PlatformType); impl PlatformType { pub fn to_str(&self) -> &'static str { diff --git a/crates/schema/public/enums/src/common/sqlite/awaitable_job_status.rs b/crates/schema/public/enums/src/common/sqlite/awaitable_job_status.rs index a58498e0..eaf09b2a 100644 --- a/crates/schema/public/enums/src/common/sqlite/awaitable_job_status.rs +++ b/crates/schema/public/enums/src/common/sqlite/awaitable_job_status.rs @@ -34,7 +34,6 @@ pub enum AwaitableJobStatus { // TODO(bt, 2023-02-08): This desperately needs Sqlite integration tests! impl_enum_display_and_debug_using_to_str!(AwaitableJobStatus); -impl_sqlite_enum_coders!(AwaitableJobStatus); /// NB: Legacy API for older code. impl AwaitableJobStatus { diff --git a/crates/schema/public/enums/src/common/sqlite/chatbot_job_status.rs b/crates/schema/public/enums/src/common/sqlite/chatbot_job_status.rs index 63416304..250a4c5d 100644 --- a/crates/schema/public/enums/src/common/sqlite/chatbot_job_status.rs +++ b/crates/schema/public/enums/src/common/sqlite/chatbot_job_status.rs @@ -27,7 +27,6 @@ pub enum ChatbotJobStatus { // TODO(bt, 2023-02-10): This desperately needs Sqlite integration tests! impl_enum_display_and_debug_using_to_str!(ChatbotJobStatus); -impl_sqlite_enum_coders!(ChatbotJobStatus); /// NB: Legacy API for older code. impl ChatbotJobStatus { diff --git a/crates/schema/public/enums/src/common/sqlite/skip_reason.rs b/crates/schema/public/enums/src/common/sqlite/skip_reason.rs index b7f94112..c3cc8bfc 100644 --- a/crates/schema/public/enums/src/common/sqlite/skip_reason.rs +++ b/crates/schema/public/enums/src/common/sqlite/skip_reason.rs @@ -31,7 +31,6 @@ pub enum SkipReason { // TODO(bt, 2023-02-08): This desperately needs Sqlite integration tests! impl_enum_display_and_debug_using_to_str!(SkipReason); -impl_sqlite_enum_coders!(SkipReason); /// NB: Legacy API for older code. impl SkipReason { diff --git a/crates/schema/public/enums/src/common/sqlite/web_content_type.rs b/crates/schema/public/enums/src/common/sqlite/web_content_type.rs index 46675e60..a25a3cbf 100644 --- a/crates/schema/public/enums/src/common/sqlite/web_content_type.rs +++ b/crates/schema/public/enums/src/common/sqlite/web_content_type.rs @@ -44,7 +44,6 @@ pub enum WebContentType { // TODO(bt, 2023-01-17): This desperately needs MySQL integration tests! impl_enum_display_and_debug_using_to_str!(WebContentType); -impl_sqlite_enum_coders!(WebContentType); /// NB: Legacy API for older code. impl WebContentType { diff --git a/crates/schema/public/enums/src/common/stripe_subscription_status.rs b/crates/schema/public/enums/src/common/stripe_subscription_status.rs index 15f3f5d2..5e498d18 100644 --- a/crates/schema/public/enums/src/common/stripe_subscription_status.rs +++ b/crates/schema/public/enums/src/common/stripe_subscription_status.rs @@ -41,8 +41,6 @@ pub enum StripeSubscriptionStatus { } impl_enum_display_and_debug_using_to_str!(StripeSubscriptionStatus); -impl_mysql_enum_coders!(StripeSubscriptionStatus); -impl_mysql_from_row!(StripeSubscriptionStatus); impl StripeSubscriptionStatus { pub fn to_str(self) -> &'static str { diff --git a/crates/schema/public/enums/src/common/view_as.rs b/crates/schema/public/enums/src/common/view_as.rs index 336b8ec0..0401c277 100644 --- a/crates/schema/public/enums/src/common/view_as.rs +++ b/crates/schema/public/enums/src/common/view_as.rs @@ -4,8 +4,6 @@ use strum::EnumCount; use strum::EnumIter; #[derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(rename_all = "snake_case"))] #[cfg_attr(test, derive(EnumIter, EnumCount))] #[serde(rename_all = "snake_case")] pub enum ViewAs { @@ -22,7 +20,6 @@ pub enum ViewAs { impl_enum_display_and_debug_using_to_str!(ViewAs); -impl_mysql_from_row!(ViewAs); impl Default for ViewAs { fn default() -> Self { Self::AnotherUser } diff --git a/crates/schema/public/enums/src/common/visibility.rs b/crates/schema/public/enums/src/common/visibility.rs index e2b5f2a8..b0a74146 100644 --- a/crates/schema/public/enums/src/common/visibility.rs +++ b/crates/schema/public/enums/src/common/visibility.rs @@ -17,8 +17,6 @@ use strum::EnumIter; #[derive(Clone, Copy, Eq, PartialEq, Deserialize, Serialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(rename_all = "lowercase"))] #[cfg_attr(test, derive(EnumIter, EnumCount))] #[serde(rename_all = "lowercase")] pub enum Visibility { @@ -39,7 +37,6 @@ pub enum Visibility { impl_enum_display_and_debug_using_to_str!(Visibility); -impl_mysql_from_row!(Visibility); // For reference, here's what the serde implementation might be if manually written. // This may be useful for designing composite types in the future: diff --git a/crates/schema/public/enums/src/common/vocoder_type.rs b/crates/schema/public/enums/src/common/vocoder_type.rs index bbcc25bc..6e9baa49 100644 --- a/crates/schema/public/enums/src/common/vocoder_type.rs +++ b/crates/schema/public/enums/src/common/vocoder_type.rs @@ -1,21 +1,17 @@ #[derive(Clone, Copy, Eq, PartialEq, Debug, Deserialize, Serialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] pub enum VocoderType { /// NB: Note - this is hifigan for Tacotron2. /// Some work will be needed to unify this with other hifigan types. #[serde(rename = "hifigan")] - #[cfg_attr(feature = "database", sqlx(rename = "hifigan"))] HifiGan, #[serde(rename = "hifigan-superres")] - #[cfg_attr(feature = "database", sqlx(rename = "hifigan-superres"))] HifiGanSuperResolution, /// NB: Note - this is hifigan for SoftVC (our internal codename is "rocketvc"). /// Some work will need to be done to unify this with other hifigan types. /// NB(bt, 2025-07-09): It was so silly to try to obscure this. Both FakeYou and Uberduck are irrelevant now. #[serde(rename = "hifigan_rocket_vc")] - #[cfg_attr(feature = "database", sqlx(rename = "hifigan_rocket_vc"))] HifiGanRocketVc, } diff --git a/crates/schema/public/enums/src/lib.rs b/crates/schema/public/enums/src/lib.rs index ece0ad8b..91d7d0ca 100644 --- a/crates/schema/public/enums/src/lib.rs +++ b/crates/schema/public/enums/src/lib.rs @@ -36,5 +36,4 @@ pub mod common; pub mod error; pub mod no_table; pub mod tauri; -pub mod traits; pub mod api_safe; diff --git a/crates/schema/public/enums/src/macros/impl_mysql_enum_coders.rs b/crates/schema/public/enums/src/macros/impl_mysql_enum_coders.rs deleted file mode 100644 index 6f143ad6..00000000 --- a/crates/schema/public/enums/src/macros/impl_mysql_enum_coders.rs +++ /dev/null @@ -1,68 +0,0 @@ -#[cfg(feature = "database")] -/// This overt approach is being taken because of the following error: -/// -/// `MySqlDatabaseError { code: Some("HY000"), number: 1210, message: "Incorrect arguments to mysqld_stmt_execute" }` -/// -/// Basically, sqlx can't turn our enum into a VARCHAR when using #[derive(sqlx::Type)]. -/// Unfortunately, by not using this, we also lose the ability to `#[sqlx(rename_all="lowercase")]`, etc., -/// so our encoder/decoder need to set the rules. -/// -/// Solution adapted from https://github.com/launchbadge/sqlx/discussions/1502 -/// The 0.6.2 series solution adapted from https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/uuid.rs.html#38-66 -/// -macro_rules! impl_mysql_enum_coders { - ($t:ident) => { - - impl sqlx::Type for $t { - fn type_info() -> sqlx_mysql::MySqlTypeInfo { - // // 0.4.x series: - // String::type_info() - - // NB: https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/uuid.rs.html#38-66 serves as an example - >::type_info() - } - } - - impl<'q> sqlx::Encode<'q, sqlx::MySql> for $t { - fn encode_by_ref( - &self, - buf: &mut >::ArgumentBuffer - ) -> sqlx_core::encode::IsNull { - // // 0.4.x series: - // // NB: In the absence of `#[derive(sqlx::Type)]` and `#sqlx(rename_all="lowercase")]`, - // // this controls the casing of the variants when sent to MySQL. - // self.to_str().encode_by_ref(buf) - - // NB: https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/uuid.rs.html#38-66 and - // https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/str.rs.html#75-78 serves as examples - let value = self.to_str(); - <&str as sqlx::Encode>::encode(&*value, buf) - } - } - - impl<'r> sqlx::Decode<'r, sqlx::MySql> for $t { - fn decode( - value: sqlx_mysql::MySqlValueRef<'r>, - ) -> Result { - // // 0.4.x series: - // let string = String::decode(value)?; - // let value = $t::from_str(&string)?; - // Ok(value) - - // NB: https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/uuid.rs.html#38-66 serves as an example - // delegate to the &str type to decode from MySQL - let text = <&str as sqlx::Decode>::decode(value)?; - let value = $t::from_str(&text)?; - Ok(value) - } - } - - } -} - -#[cfg(not(feature = "database"))] -macro_rules! impl_mysql_enum_coders { - ($t:ident) => { - // Intentionally empty - } -} diff --git a/crates/schema/public/enums/src/macros/impl_mysql_from_row.rs b/crates/schema/public/enums/src/macros/impl_mysql_from_row.rs deleted file mode 100644 index c2d0ebf6..00000000 --- a/crates/schema/public/enums/src/macros/impl_mysql_from_row.rs +++ /dev/null @@ -1,71 +0,0 @@ - -#[cfg(feature = "database")] -/// Implement `MySqlFromRow` on a type. -macro_rules! impl_mysql_from_row { - ($t:ident) => { - - // Try to convert a MySQL row and named field into the value type (for non-nullable fields). - impl crate::traits::mysql_from_row::MySqlFromRow<$t> for $t { - fn try_from_mysql_row(row: &sqlx_mysql::MySqlRow, field_name: &str) -> Result<$t, sqlx::Error> { - use sqlx::{Error, Row}; - - // NB(bt,2023-12-05): For now only string encodings are considered. - // We may want to revisit in the future if we deal with binary data. - let value : String = row.try_get(field_name)?; - - let output_type = Self::from_str(&value) - .map_err(|err| { - Error::ColumnDecode { - index: format!("mysql_from_row failure on field {}: {:?}", field_name, err), - source: format!("mysql_from_row failure on field {}: {:?}", field_name, err).into(), - } - })?; - - Ok(output_type) - } - - // Try to convert a MySQL row and named field into the value type (for nullable fields). - fn try_from_mysql_row_nullable(row: &sqlx_mysql::MySqlRow, field_name: &str) -> Result, sqlx::Error> { - use sqlx::{Error, Row}; - - // NB(bt,2023-12-05): For now only string encodings are considered. - // We may want to revisit in the future if we deal with binary data. - // NB(2): Nullable fields decode as Option. - let maybe_value : Option = row.try_get(field_name)?; - - let value = match maybe_value { - Some(value) => value, - None => return Ok(None), - }; - - let output_type = Self::from_str(&value) - .map_err(|err| { - Error::ColumnDecode { - index: format!("mysql_from_row failure on field {}: {:?}", field_name, err), - source: format!("mysql_from_row failure on field {}: {:?}", field_name, err).into(), - } - })?; - - Ok(Some(output_type)) - } - } - - //// TODO: Tests. - //#[cfg(test)] - //#[test] - //fn test_name() { - // use strum::IntoEnumIterator; - // for variant in $t::iter() { - // assert_eq!(format!("{}", variant), variant.to_str()); - // } - //} - - } -} - -#[cfg(not(feature = "database"))] -macro_rules! impl_mysql_from_row { - ($t:ident) => { - // Intentionally empty - } -} diff --git a/crates/schema/public/enums/src/macros/impl_sqlite_enum_coders.rs b/crates/schema/public/enums/src/macros/impl_sqlite_enum_coders.rs deleted file mode 100644 index 577f89bd..00000000 --- a/crates/schema/public/enums/src/macros/impl_sqlite_enum_coders.rs +++ /dev/null @@ -1,56 +0,0 @@ -#[cfg(feature = "database")] -/// This overt approach is being taken because of the following error: -/// -/// `MySqlDatabaseError { code: Some("HY000"), number: 1210, message: "Incorrect arguments to mysqld_stmt_execute" }` -/// -/// Basically, sqlx can't turn our enum into a VARCHAR when using #[derive(sqlx::Type)]. -/// Unfortunately, by not using this, we also lose the ability to `#[sqlx(rename_all="lowercase")]`, etc., -/// so our encoder/decoder need to set the rules. -/// -/// Solution adapted from https://github.com/launchbadge/sqlx/discussions/1502 -/// The 0.6.2 series solution adapted from https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/uuid.rs.html#38-66 -/// -macro_rules! impl_sqlite_enum_coders { - ($t:ident) => { - - // TODO(bt,2023-11-19): We're not using sqlite anymore. Consider removing this. - //impl sqlx::Type for $t { - // fn type_info() -> sqlx_core::sqlite::SqliteTypeInfo { - // // NB: https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/uuid.rs.html#38-66 serves as an example - // >::type_info() - // } - //} - - //impl<'q> sqlx::Encode<'q, sqlx_core::sqlite::Sqlite> for $t { - // fn encode_by_ref( - // &self, - // buf: &mut >::ArgumentBuffer - // ) -> sqlx_core::encode::IsNull { - // // NB: https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/uuid.rs.html#38-66 and - // // https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/str.rs.html#75-78 serves as examples - // let value = self.to_str(); - // <&str as sqlx::Encode>::encode(&*value, buf) - // } - //} - - //impl<'r> sqlx::Decode<'r, sqlx_core::sqlite::Sqlite> for $t { - // fn decode( - // value: sqlx_core::sqlite::SqliteValueRef<'r>, - // ) -> Result { - // // NB: https://docs.rs/sqlx-core/0.6.2/src/sqlx_core/mysql/types/uuid.rs.html#38-66 serves as an example - // // delegate to the &str type to decode from MySQL - // let text = <&str as sqlx::Decode>::decode(value)?; - // let value = $t::from_str(&text)?; - // Ok(value) - // } - //} - - } -} - -#[cfg(not(feature = "database"))] -macro_rules! impl_sqlite_enum_coders { - ($t:ident) => { - // Intentionally empty - } -} diff --git a/crates/schema/public/enums/src/macros/mod.rs b/crates/schema/public/enums/src/macros/mod.rs index 93cba5b4..40c7e1c3 100644 --- a/crates/schema/public/enums/src/macros/mod.rs +++ b/crates/schema/public/enums/src/macros/mod.rs @@ -1,4 +1 @@ #[macro_use] pub mod impl_enum_display_and_debug_using_to_str; -#[macro_use] pub mod impl_mysql_enum_coders; -#[macro_use] pub mod impl_mysql_from_row; -#[macro_use] pub mod impl_sqlite_enum_coders; diff --git a/crates/schema/public/enums/src/tauri/mod.rs b/crates/schema/public/enums/src/tauri/mod.rs index b6956616..84e618ad 100644 --- a/crates/schema/public/enums/src/tauri/mod.rs +++ b/crates/schema/public/enums/src/tauri/mod.rs @@ -1,2 +1 @@ -pub mod tasks; pub mod ux; \ No newline at end of file diff --git a/crates/schema/public/enums/src/tauri/tasks/mod.rs b/crates/schema/public/enums/src/tauri/tasks/mod.rs deleted file mode 100644 index 780c9c03..00000000 --- a/crates/schema/public/enums/src/tauri/tasks/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -pub mod task_failure_type; -pub mod task_media_file_class; -pub mod task_model_type; -pub mod task_status; -pub mod task_type; \ No newline at end of file diff --git a/crates/schema/public/enums/src/tauri/ux/mod.rs b/crates/schema/public/enums/src/tauri/ux/mod.rs index 40215426..e1c18292 100644 --- a/crates/schema/public/enums/src/tauri/ux/mod.rs +++ b/crates/schema/public/enums/src/tauri/ux/mod.rs @@ -1,2 +1 @@ -pub mod tauri_command_caller; pub mod tauri_event_name; diff --git a/crates/schema/public/enums/src/tauri/ux/tauri_event_name.rs b/crates/schema/public/enums/src/tauri/ux/tauri_event_name.rs index c5fbab47..9129e562 100644 --- a/crates/schema/public/enums/src/tauri/ux/tauri_event_name.rs +++ b/crates/schema/public/enums/src/tauri/ux/tauri_event_name.rs @@ -115,8 +115,6 @@ pub enum TauriEventName { } impl_enum_display_and_debug_using_to_str!(TauriEventName); -impl_mysql_enum_coders!(TauriEventName); -impl_mysql_from_row!(TauriEventName); // NB: We can derive `sqlx::Type` instead of using `impl_mysql_enum_coders` diff --git a/crates/schema/public/enums/src/traits/mod.rs b/crates/schema/public/enums/src/traits/mod.rs deleted file mode 100644 index 61a6c0a0..00000000 --- a/crates/schema/public/enums/src/traits/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -#[cfg(feature = "database")] -pub mod mysql_from_row; \ No newline at end of file diff --git a/crates/schema/public/enums/src/traits/mysql_from_row.rs b/crates/schema/public/enums/src/traits/mysql_from_row.rs deleted file mode 100644 index 7d3c3cbb..00000000 --- a/crates/schema/public/enums/src/traits/mysql_from_row.rs +++ /dev/null @@ -1,11 +0,0 @@ -use sqlx_mysql::MySqlRow; - -/// This is a trait (in conjunction with the macro implementation) that makes up for sqlx's -/// QueryBuilder not playing well with FromRow implementation or derivation of named types. -pub trait MySqlFromRow { - - /// Attempt to parse a named column from a MySqlRow into the type. - fn try_from_mysql_row(row: &MySqlRow, field_name: &str) -> Result; - - fn try_from_mysql_row_nullable(row: &MySqlRow, field_name: &str) -> Result, sqlx::Error>; -} diff --git a/crates/schema/public/tokens/src/lib.rs b/crates/schema/public/tokens/src/lib.rs index 21990db1..074feb50 100644 --- a/crates/schema/public/tokens/src/lib.rs +++ b/crates/schema/public/tokens/src/lib.rs @@ -54,5 +54,4 @@ pub (crate) mod deterministic_rng; pub (crate) mod prefixes; pub mod tokens; -pub mod traits; mod safe_entropy; \ No newline at end of file diff --git a/crates/schema/public/tokens/src/macros/impl_mysql_token_from_row.rs b/crates/schema/public/tokens/src/macros/impl_mysql_token_from_row.rs deleted file mode 100644 index b1f61a43..00000000 --- a/crates/schema/public/tokens/src/macros/impl_mysql_token_from_row.rs +++ /dev/null @@ -1,55 +0,0 @@ - -#[cfg(feature = "database")] -/// Implement `MySqlTokenFromRow` on a type. -macro_rules! impl_mysql_token_from_row { - ($t:ident) => { - - // Try to convert a MySQL row and named field into the value type (for non-nullable fields). - impl crate::traits::mysql_token_from_row::MySqlTokenFromRow<$t> for $t { - fn try_from_mysql_row(row: &sqlx_mysql::MySqlRow, field_name: &str) -> Result<$t, sqlx::Error> { - use sqlx::Row; - - // NB(bt,2023-12-05): For now only string encodings are considered. - // We may want to revisit in the future if we deal with binary data. - let value : String = row.try_get(field_name)?; - - Ok(Self::new_from_str(&value)) - } - - // Try to convert a MySQL row and named field into the value type (for nullable fields). - fn try_from_mysql_row_nullable(row: &sqlx_mysql::MySqlRow, field_name: &str) -> Result, sqlx::Error> { - use sqlx::Row; - - // NB(bt,2023-12-05): For now only string encodings are considered. - // We may want to revisit in the future if we deal with binary data. - // NB(2): Nullable fields decode as Option. - let maybe_value : Option = row.try_get(field_name)?; - - let value = match maybe_value { - Some(value) => value, - None => return Ok(None), - }; - - Ok(Some(Self::new_from_str(&value))) - } - } - - //// TODO: Tests. - //#[cfg(test)] - //#[test] - //fn test_name() { - // use strum::IntoEnumIterator; - // for variant in $t::iter() { - // assert_eq!(format!("{}", variant), variant.to_str()); - // } - //} - - } -} - -#[cfg(not(feature = "database"))] -macro_rules! impl_mysql_token_from_row { - ($t:ident) => { - // Intentionally empty - } -} diff --git a/crates/schema/public/tokens/src/macros/mod.rs b/crates/schema/public/tokens/src/macros/mod.rs index d9b0ca37..ad95411f 100644 --- a/crates/schema/public/tokens/src/macros/mod.rs +++ b/crates/schema/public/tokens/src/macros/mod.rs @@ -1,3 +1,2 @@ #[macro_use] pub (crate) mod impl_crockford_generator; -#[macro_use] pub (crate) mod impl_mysql_token_from_row; #[macro_use] pub (crate) mod impl_string_token; diff --git a/crates/schema/public/tokens/src/tokens/anonymous_visitor_tracking.rs b/crates/schema/public/tokens/src/tokens/anonymous_visitor_tracking.rs index 1a34eafd..b04d7d0f 100644 --- a/crates/schema/public/tokens/src/tokens/anonymous_visitor_tracking.rs +++ b/crates/schema/public/tokens/src/tokens/anonymous_visitor_tracking.rs @@ -9,10 +9,7 @@ use crate::prefixes::TokenPrefix; /// These are generated as cookies to track users for a better logged out experience and for analytics. /// We use these as indices into several columns (ML result types, uploads, etc.) #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, Default)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct AnonymousVisitorTrackingToken(pub String); impl_crockford_generator!(AnonymousVisitorTrackingToken, 32usize, TokenPrefix::AnonymousVisitorTracking, CrockfordLower); -impl_mysql_token_from_row!(AnonymousVisitorTrackingToken); impl_string_token!(AnonymousVisitorTrackingToken); diff --git a/crates/schema/public/tokens/src/tokens/api_keys.rs b/crates/schema/public/tokens/src/tokens/api_keys.rs index c3745634..7aefe129 100644 --- a/crates/schema/public/tokens/src/tokens/api_keys.rs +++ b/crates/schema/public/tokens/src/tokens/api_keys.rs @@ -7,10 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for api_keys. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, Default)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ApiKeyToken(pub String); - -impl_mysql_token_from_row!(ApiKeyToken); impl_string_token!(ApiKeyToken); impl_crockford_generator!(ApiKeyToken, 32usize, TokenPrefix::ApiKey, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/api_tokens_external.rs b/crates/schema/public/tokens/src/tokens/api_tokens_external.rs index d4fa9495..dfef2643 100644 --- a/crates/schema/public/tokens/src/tokens/api_tokens_external.rs +++ b/crates/schema/public/tokens/src/tokens/api_tokens_external.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// External-facing key for the `api_tokens` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ApiTokenExternal(pub String); impl_string_token!(ApiTokenExternal); diff --git a/crates/schema/public/tokens/src/tokens/api_tokens_internal.rs b/crates/schema/public/tokens/src/tokens/api_tokens_internal.rs index 04b0bf3a..ad4dc6db 100644 --- a/crates/schema/public/tokens/src/tokens/api_tokens_internal.rs +++ b/crates/schema/public/tokens/src/tokens/api_tokens_internal.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// Internal token for the `api_tokens` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ApiTokenInternal(pub String); impl_string_token!(ApiTokenInternal); diff --git a/crates/schema/public/tokens/src/tokens/app_session.rs b/crates/schema/public/tokens/src/tokens/app_session.rs index d90f4e80..b8630af8 100644 --- a/crates/schema/public/tokens/src/tokens/app_session.rs +++ b/crates/schema/public/tokens/src/tokens/app_session.rs @@ -7,10 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for users. #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize, Default)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct AppSessionToken(pub String); - -impl_mysql_token_from_row!(AppSessionToken); impl_string_token!(AppSessionToken); impl_crockford_generator!(AppSessionToken, 32usize, TokenPrefix::AppSession, CrockfordMixed); diff --git a/crates/schema/public/tokens/src/tokens/audit_logs.rs b/crates/schema/public/tokens/src/tokens/audit_logs.rs index 3bac6e39..a0012007 100644 --- a/crates/schema/public/tokens/src/tokens/audit_logs.rs +++ b/crates/schema/public/tokens/src/tokens/audit_logs.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct AuditLogToken(pub String); impl_string_token!(AuditLogToken); diff --git a/crates/schema/public/tokens/src/tokens/batch_generations.rs b/crates/schema/public/tokens/src/tokens/batch_generations.rs deleted file mode 100644 index 2e354a41..00000000 --- a/crates/schema/public/tokens/src/tokens/batch_generations.rs +++ /dev/null @@ -1,16 +0,0 @@ -use std::fmt::Debug; - -use serde::Deserialize; -use serde::Serialize; - -use crate::prefixes::TokenPrefix; - -/// The primary key for Audit Logs. -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] -pub struct BatchGenerationToken(pub String); - -impl_crockford_generator!(BatchGenerationToken, 32usize, TokenPrefix::BatchGeneration, CrockfordLower); -impl_mysql_token_from_row!(BatchGenerationToken); -impl_string_token!(BatchGenerationToken); diff --git a/crates/schema/public/tokens/src/tokens/beta_keys.rs b/crates/schema/public/tokens/src/tokens/beta_keys.rs index 998f37d5..cefc1c01 100644 --- a/crates/schema/public/tokens/src/tokens/beta_keys.rs +++ b/crates/schema/public/tokens/src/tokens/beta_keys.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct BetaKeyToken(pub String); impl_crockford_generator!(BetaKeyToken, 32usize, TokenPrefix::BetaKey, CrockfordLower); -impl_mysql_token_from_row!(BetaKeyToken); impl_string_token!(BetaKeyToken); diff --git a/crates/schema/public/tokens/src/tokens/browser_session_logs.rs b/crates/schema/public/tokens/src/tokens/browser_session_logs.rs index 60bbf6a2..5e1aae94 100644 --- a/crates/schema/public/tokens/src/tokens/browser_session_logs.rs +++ b/crates/schema/public/tokens/src/tokens/browser_session_logs.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct BrowserSessionLogToken(pub String); impl_crockford_generator!(BrowserSessionLogToken, 32usize, TokenPrefix::BrowserSessionLog, CrockfordLower); -impl_mysql_token_from_row!(BrowserSessionLogToken); impl_string_token!(BrowserSessionLogToken); diff --git a/crates/schema/public/tokens/src/tokens/characters.rs b/crates/schema/public/tokens/src/tokens/characters.rs index 62646bc1..f8a253b1 100644 --- a/crates/schema/public/tokens/src/tokens/characters.rs +++ b/crates/schema/public/tokens/src/tokens/characters.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for Characters #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct CharacterToken(pub String); impl_string_token!(CharacterToken); -impl_mysql_token_from_row!(CharacterToken); impl_crockford_generator!(CharacterToken, 32usize, TokenPrefix::Character, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/comments.rs b/crates/schema/public/tokens/src/tokens/comments.rs index ed6d4254..b8d4a8ac 100644 --- a/crates/schema/public/tokens/src/tokens/comments.rs +++ b/crates/schema/public/tokens/src/tokens/comments.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct CommentToken(pub String); impl_string_token!(CommentToken); diff --git a/crates/schema/public/tokens/src/tokens/email_sender_job_token.rs b/crates/schema/public/tokens/src/tokens/email_sender_job_token.rs index f17ad20e..08b9b942 100644 --- a/crates/schema/public/tokens/src/tokens/email_sender_job_token.rs +++ b/crates/schema/public/tokens/src/tokens/email_sender_job_token.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for email_sender_jobs #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct EmailSenderJobToken(pub String); impl_string_token!(EmailSenderJobToken); diff --git a/crates/schema/public/tokens/src/tokens/firehose_entries.rs b/crates/schema/public/tokens/src/tokens/firehose_entries.rs index af8484c4..318b0edd 100644 --- a/crates/schema/public/tokens/src/tokens/firehose_entries.rs +++ b/crates/schema/public/tokens/src/tokens/firehose_entries.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `firehose_entries` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct FirehoseEntryToken(pub String); impl_string_token!(FirehoseEntryToken); diff --git a/crates/schema/public/tokens/src/tokens/folders.rs b/crates/schema/public/tokens/src/tokens/folders.rs index 5d90a9b7..e418407f 100644 --- a/crates/schema/public/tokens/src/tokens/folders.rs +++ b/crates/schema/public/tokens/src/tokens/folders.rs @@ -7,10 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for folders. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize, Default)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct FolderToken(pub String); - -impl_mysql_token_from_row!(FolderToken); impl_string_token!(FolderToken); impl_crockford_generator!(FolderToken, 32usize, TokenPrefix::Folder, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/generic_download_jobs.rs b/crates/schema/public/tokens/src/tokens/generic_download_jobs.rs index e50f4ca0..d0dfdb1d 100644 --- a/crates/schema/public/tokens/src/tokens/generic_download_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/generic_download_jobs.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for "generic" inference jobs. #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct DownloadJobToken(String); impl_string_token!(DownloadJobToken); diff --git a/crates/schema/public/tokens/src/tokens/generic_inference_jobs.rs b/crates/schema/public/tokens/src/tokens/generic_inference_jobs.rs index 75039f87..9042e944 100644 --- a/crates/schema/public/tokens/src/tokens/generic_inference_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/generic_inference_jobs.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for "generic" inference jobs. #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize, Default)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct InferenceJobToken(String); impl_crockford_generator!(InferenceJobToken, 32usize, TokenPrefix::InferenceJob, CrockfordLower); -impl_mysql_token_from_row!(InferenceJobToken); impl_string_token!(InferenceJobToken); diff --git a/crates/schema/public/tokens/src/tokens/google_sign_in_accounts.rs b/crates/schema/public/tokens/src/tokens/google_sign_in_accounts.rs index 43741343..33c0c339 100644 --- a/crates/schema/public/tokens/src/tokens/google_sign_in_accounts.rs +++ b/crates/schema/public/tokens/src/tokens/google_sign_in_accounts.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for google_sign_in_accounts #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize, Default)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct GoogleSignInAccountToken(String); impl_crockford_generator!(GoogleSignInAccountToken, 32usize, TokenPrefix::GoogleSignInAccount, CrockfordLower); -impl_mysql_token_from_row!(GoogleSignInAccountToken); impl_string_token!(GoogleSignInAccountToken); diff --git a/crates/schema/public/tokens/src/tokens/media_files.rs b/crates/schema/public/tokens/src/tokens/media_files.rs deleted file mode 100644 index e33a6d49..00000000 --- a/crates/schema/public/tokens/src/tokens/media_files.rs +++ /dev/null @@ -1,16 +0,0 @@ -use std::fmt::Debug; - -use serde::Deserialize; -use serde::Serialize; - -use crate::prefixes::TokenPrefix; - -/// The primary key for Media Files -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] -pub struct MediaFileToken(pub String); - -impl_string_token!(MediaFileToken); -impl_mysql_token_from_row!(MediaFileToken); -impl_crockford_generator!(MediaFileToken, 32usize, TokenPrefix::MediaFile, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/media_uploads.rs b/crates/schema/public/tokens/src/tokens/media_uploads.rs index be178e32..cfd71bba 100644 --- a/crates/schema/public/tokens/src/tokens/media_uploads.rs +++ b/crates/schema/public/tokens/src/tokens/media_uploads.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for user media uploads (images, video, etc.) #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct MediaUploadToken(pub String); impl_string_token!(MediaUploadToken); diff --git a/crates/schema/public/tokens/src/tokens/mod.rs b/crates/schema/public/tokens/src/tokens/mod.rs index 11462956..941e1d0f 100644 --- a/crates/schema/public/tokens/src/tokens/mod.rs +++ b/crates/schema/public/tokens/src/tokens/mod.rs @@ -4,7 +4,6 @@ pub mod api_tokens_external; pub mod api_tokens_internal; pub mod app_session; pub mod audit_logs; -pub mod batch_generations; pub mod beta_keys; pub mod browser_session_logs; pub mod characters; @@ -15,12 +14,10 @@ pub mod folders; pub mod generic_download_jobs; pub mod generic_inference_jobs; pub mod google_sign_in_accounts; -pub mod media_files; pub mod media_uploads; pub mod model_categories; pub mod model_weights; pub mod password_reset; -pub mod prompts; pub mod sqlite; pub mod staff_audit_logs; pub mod tags; diff --git a/crates/schema/public/tokens/src/tokens/model_categories.rs b/crates/schema/public/tokens/src/tokens/model_categories.rs index adf43ec9..2d96e78a 100644 --- a/crates/schema/public/tokens/src/tokens/model_categories.rs +++ b/crates/schema/public/tokens/src/tokens/model_categories.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// The primary key for model categories. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ModelCategoryToken(pub String); impl_string_token!(ModelCategoryToken); diff --git a/crates/schema/public/tokens/src/tokens/model_weights.rs b/crates/schema/public/tokens/src/tokens/model_weights.rs index 89d4edf7..699a3aec 100644 --- a/crates/schema/public/tokens/src/tokens/model_weights.rs +++ b/crates/schema/public/tokens/src/tokens/model_weights.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for the "model_weights" table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ModelWeightToken(pub String); impl_crockford_generator!(ModelWeightToken, 32usize, TokenPrefix::ModelWeight, CrockfordLower); -impl_mysql_token_from_row!(ModelWeightToken); impl_string_token!(ModelWeightToken); diff --git a/crates/schema/public/tokens/src/tokens/non_unique/debug_logs_event_token.rs b/crates/schema/public/tokens/src/tokens/non_unique/debug_logs_event_token.rs index f325a36a..1cff40eb 100644 --- a/crates/schema/public/tokens/src/tokens/non_unique/debug_logs_event_token.rs +++ b/crates/schema/public/tokens/src/tokens/non_unique/debug_logs_event_token.rs @@ -6,8 +6,6 @@ use crate::prefixes::TokenPrefix; /// A non-unique event token for the `debug_logs` table. /// Multiple log rows can share the same event token. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct DebugLogEventToken(pub String); impl_string_token!(DebugLogEventToken); diff --git a/crates/schema/public/tokens/src/tokens/password_reset.rs b/crates/schema/public/tokens/src/tokens/password_reset.rs index aeacdd80..451a9154 100644 --- a/crates/schema/public/tokens/src/tokens/password_reset.rs +++ b/crates/schema/public/tokens/src/tokens/password_reset.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for `password_reset`s #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct PasswordResetToken(pub String); impl_string_token!(PasswordResetToken); diff --git a/crates/schema/public/tokens/src/tokens/prompts.rs b/crates/schema/public/tokens/src/tokens/prompts.rs deleted file mode 100644 index e4a20ca4..00000000 --- a/crates/schema/public/tokens/src/tokens/prompts.rs +++ /dev/null @@ -1,16 +0,0 @@ -use std::fmt::Debug; - -use serde::Deserialize; -use serde::Serialize; - -use crate::prefixes::TokenPrefix; - -/// The primary key for Prompts -#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] -pub struct PromptToken(pub String); - -impl_crockford_generator!(PromptToken, 32usize, TokenPrefix::Prompt, CrockfordLower); -impl_mysql_token_from_row!(PromptToken); -impl_string_token!(PromptToken); diff --git a/crates/schema/public/tokens/src/tokens/sqlite/mod.rs b/crates/schema/public/tokens/src/tokens/sqlite/mod.rs index e639c06e..2bb50da5 100644 --- a/crates/schema/public/tokens/src/tokens/sqlite/mod.rs +++ b/crates/schema/public/tokens/src/tokens/sqlite/mod.rs @@ -1,3 +1,2 @@ pub mod news_stories; -pub mod tasks; pub mod tts_render_tasks; diff --git a/crates/schema/public/tokens/src/tokens/sqlite/news_stories.rs b/crates/schema/public/tokens/src/tokens/sqlite/news_stories.rs index bd24aee0..e59f8bf1 100644 --- a/crates/schema/public/tokens/src/tokens/sqlite/news_stories.rs +++ b/crates/schema/public/tokens/src/tokens/sqlite/news_stories.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for news stories (Sqlite) #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct NewsStoryToken(pub String); impl_string_token!(NewsStoryToken); diff --git a/crates/schema/public/tokens/src/tokens/sqlite/tts_render_tasks.rs b/crates/schema/public/tokens/src/tokens/sqlite/tts_render_tasks.rs index df2f211f..dc55c5db 100644 --- a/crates/schema/public/tokens/src/tokens/sqlite/tts_render_tasks.rs +++ b/crates/schema/public/tokens/src/tokens/sqlite/tts_render_tasks.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for TTS render tasks (Sqlite / AiChatBotSidecar) #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsRenderTaskToken(pub String); impl_string_token!(TtsRenderTaskToken); diff --git a/crates/schema/public/tokens/src/tokens/staff_audit_logs.rs b/crates/schema/public/tokens/src/tokens/staff_audit_logs.rs index 36c6a482..373fc7a1 100644 --- a/crates/schema/public/tokens/src/tokens/staff_audit_logs.rs +++ b/crates/schema/public/tokens/src/tokens/staff_audit_logs.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for Staff Audit Logs #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct StaffAuditLogToken(pub String); impl_string_token!(StaffAuditLogToken); -impl_mysql_token_from_row!(StaffAuditLogToken); impl_crockford_generator!(StaffAuditLogToken, 32usize, TokenPrefix::StaffAuditLog, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/tags.rs b/crates/schema/public/tokens/src/tokens/tags.rs index 48eb2079..08c45d4b 100644 --- a/crates/schema/public/tokens/src/tokens/tags.rs +++ b/crates/schema/public/tokens/src/tokens/tags.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for Prompts #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TagToken(pub String); impl_crockford_generator!(TagToken, 32usize, TokenPrefix::Tag, CrockfordLower); -impl_mysql_token_from_row!(TagToken); impl_string_token!(TagToken); diff --git a/crates/schema/public/tokens/src/tokens/tts_inference_jobs.rs b/crates/schema/public/tokens/src/tokens/tts_inference_jobs.rs index 8ff79d74..db1f95ec 100644 --- a/crates/schema/public/tokens/src/tokens/tts_inference_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/tts_inference_jobs.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `tts_inference_jobs` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsInferenceJobToken(pub String); impl_string_token!(TtsInferenceJobToken); diff --git a/crates/schema/public/tokens/src/tokens/tts_model_upload_jobs.rs b/crates/schema/public/tokens/src/tokens/tts_model_upload_jobs.rs index 8063c276..6572ab18 100644 --- a/crates/schema/public/tokens/src/tokens/tts_model_upload_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/tts_model_upload_jobs.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `tts_model_upload_jobs` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsModelUploadJobToken(pub String); impl_string_token!(TtsModelUploadJobToken); diff --git a/crates/schema/public/tokens/src/tokens/tts_models.rs b/crates/schema/public/tokens/src/tokens/tts_models.rs index e755376d..e2db08b8 100644 --- a/crates/schema/public/tokens/src/tokens/tts_models.rs +++ b/crates/schema/public/tokens/src/tokens/tts_models.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// The primary key for TTS models. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsModelToken(pub String); impl_string_token!(TtsModelToken); diff --git a/crates/schema/public/tokens/src/tokens/tts_results.rs b/crates/schema/public/tokens/src/tokens/tts_results.rs index 9461a425..cc67e25d 100644 --- a/crates/schema/public/tokens/src/tokens/tts_results.rs +++ b/crates/schema/public/tokens/src/tokens/tts_results.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `tts_results` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TtsResultToken(pub String); impl_string_token!(TtsResultToken); diff --git a/crates/schema/public/tokens/src/tokens/twitch_event_rule.rs b/crates/schema/public/tokens/src/tokens/twitch_event_rule.rs index 375a3cd0..609b40d1 100644 --- a/crates/schema/public/tokens/src/tokens/twitch_event_rule.rs +++ b/crates/schema/public/tokens/src/tokens/twitch_event_rule.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// primary key token for the `twitch_event_rules` table (this is deprecated) #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TwitchEventRuleToken(pub String); impl_string_token!(TwitchEventRuleToken); diff --git a/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_grouping.rs b/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_grouping.rs index 548d162a..d7273bef 100644 --- a/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_grouping.rs +++ b/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_grouping.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// "grouping token" for the `twitch_oauth_tokens` table (this is deprecated) #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TwitchOauthGroupingToken(pub String); impl_string_token!(TwitchOauthGroupingToken); diff --git a/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_internal.rs b/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_internal.rs index 9848b95d..a7e00f32 100644 --- a/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_internal.rs +++ b/crates/schema/public/tokens/src/tokens/twitch_oauth_tokens_internal.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// "internal token" for the `twitch_oauth_tokens` table (this is deprecated) #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TwitchOauthInternalToken(pub String); impl_string_token!(TwitchOauthInternalToken); diff --git a/crates/schema/public/tokens/src/tokens/uploaded_video_notes.rs b/crates/schema/public/tokens/src/tokens/uploaded_video_notes.rs index 7ad19c25..13887852 100644 --- a/crates/schema/public/tokens/src/tokens/uploaded_video_notes.rs +++ b/crates/schema/public/tokens/src/tokens/uploaded_video_notes.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for uploaded_video_notes. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UploadVideoNoteToken(pub String); impl_string_token!(UploadVideoNoteToken); -impl_mysql_token_from_row!(UploadVideoNoteToken); impl_crockford_generator!(UploadVideoNoteToken, 32usize, TokenPrefix::UploadedVideoNote, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/uploaded_videos.rs b/crates/schema/public/tokens/src/tokens/uploaded_videos.rs index 42308cff..2d1acd3b 100644 --- a/crates/schema/public/tokens/src/tokens/uploaded_videos.rs +++ b/crates/schema/public/tokens/src/tokens/uploaded_videos.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for uploaded_videos. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UploadedVideoToken(pub String); impl_string_token!(UploadedVideoToken); -impl_mysql_token_from_row!(UploadedVideoToken); impl_crockford_generator!(UploadedVideoToken, 32usize, TokenPrefix::UploadedVideo, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/user_bookmarks.rs b/crates/schema/public/tokens/src/tokens/user_bookmarks.rs index b83d2528..a4c5643b 100644 --- a/crates/schema/public/tokens/src/tokens/user_bookmarks.rs +++ b/crates/schema/public/tokens/src/tokens/user_bookmarks.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for Audit Logs. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserBookmarkToken(pub String); impl_string_token!(UserBookmarkToken); diff --git a/crates/schema/public/tokens/src/tokens/user_impersonation_requests.rs b/crates/schema/public/tokens/src/tokens/user_impersonation_requests.rs index 4bbb161b..de11ebd1 100644 --- a/crates/schema/public/tokens/src/tokens/user_impersonation_requests.rs +++ b/crates/schema/public/tokens/src/tokens/user_impersonation_requests.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for User Impersonation Requests #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserImpersonationRequestToken(pub String); impl_string_token!(UserImpersonationRequestToken); -impl_mysql_token_from_row!(UserImpersonationRequestToken); impl_crockford_generator!(UserImpersonationRequestToken, 32usize, TokenPrefix::UserImpersonationRequest, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/user_referral_codes.rs b/crates/schema/public/tokens/src/tokens/user_referral_codes.rs index 50b8ee74..f7e97d0c 100644 --- a/crates/schema/public/tokens/src/tokens/user_referral_codes.rs +++ b/crates/schema/public/tokens/src/tokens/user_referral_codes.rs @@ -5,10 +5,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for user referral codes. #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize, Default)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserReferralCodeToken(pub String); - -impl_mysql_token_from_row!(UserReferralCodeToken); impl_string_token!(UserReferralCodeToken); impl_crockford_generator!(UserReferralCodeToken, 18usize, TokenPrefix::UserReferralCode, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/user_sessions.rs b/crates/schema/public/tokens/src/tokens/user_sessions.rs index 69e6f376..eaceb526 100644 --- a/crates/schema/public/tokens/src/tokens/user_sessions.rs +++ b/crates/schema/public/tokens/src/tokens/user_sessions.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// Primary key for the `user_sessions` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserSessionToken(pub String); impl_string_token!(UserSessionToken); diff --git a/crates/schema/public/tokens/src/tokens/user_spend_events.rs b/crates/schema/public/tokens/src/tokens/user_spend_events.rs index e682bd5b..ba24935f 100644 --- a/crates/schema/public/tokens/src/tokens/user_spend_events.rs +++ b/crates/schema/public/tokens/src/tokens/user_spend_events.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for user_spend_events #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserSpendEventToken(pub String); impl_string_token!(UserSpendEventToken); -impl_mysql_token_from_row!(UserSpendEventToken); impl_crockford_generator!(UserSpendEventToken, 32usize, TokenPrefix::UserSpendEvent, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/user_subscriptions.rs b/crates/schema/public/tokens/src/tokens/user_subscriptions.rs index 68dc0f3c..608a1b8c 100644 --- a/crates/schema/public/tokens/src/tokens/user_subscriptions.rs +++ b/crates/schema/public/tokens/src/tokens/user_subscriptions.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// Primary key for the `user_subscriptions` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserSubscriptionToken(pub String); impl_string_token!(UserSubscriptionToken); diff --git a/crates/schema/public/tokens/src/tokens/users.rs b/crates/schema/public/tokens/src/tokens/users.rs index 95cf59d9..0bb10741 100644 --- a/crates/schema/public/tokens/src/tokens/users.rs +++ b/crates/schema/public/tokens/src/tokens/users.rs @@ -7,11 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for users. #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize, Default)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct UserToken(pub String); - -impl_mysql_token_from_row!(UserToken); impl_string_token!(UserToken); // NB: Older user tokens were under this regime: 15 characters, "U:" prefix, Crockford Upper. impl_crockford_generator!(UserToken, 18usize, TokenPrefix::User, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/vocoder_models.rs b/crates/schema/public/tokens/src/tokens/vocoder_models.rs index c258d8db..21ff5ee8 100644 --- a/crates/schema/public/tokens/src/tokens/vocoder_models.rs +++ b/crates/schema/public/tokens/src/tokens/vocoder_models.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// The primary key for the `vocoder_models` table #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct VocoderModelToken(pub String); impl_string_token!(VocoderModelToken); diff --git a/crates/schema/public/tokens/src/tokens/voice_clone_requests.rs b/crates/schema/public/tokens/src/tokens/voice_clone_requests.rs index 47430a7c..fb2f574d 100644 --- a/crates/schema/public/tokens/src/tokens/voice_clone_requests.rs +++ b/crates/schema/public/tokens/src/tokens/voice_clone_requests.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `voice_clone_requests` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct VoiceCloneRequestToken(pub String); impl_string_token!(VoiceCloneRequestToken); diff --git a/crates/schema/public/tokens/src/tokens/voice_conversion_models.rs b/crates/schema/public/tokens/src/tokens/voice_conversion_models.rs index 7f82d212..633475f3 100644 --- a/crates/schema/public/tokens/src/tokens/voice_conversion_models.rs +++ b/crates/schema/public/tokens/src/tokens/voice_conversion_models.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for "generic" inference jobs. #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct VoiceConversionModelToken(pub String); impl_string_token!(VoiceConversionModelToken); diff --git a/crates/schema/public/tokens/src/tokens/voice_conversion_results.rs b/crates/schema/public/tokens/src/tokens/voice_conversion_results.rs index 6441e48d..1dd68823 100644 --- a/crates/schema/public/tokens/src/tokens/voice_conversion_results.rs +++ b/crates/schema/public/tokens/src/tokens/voice_conversion_results.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for model categories. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct VoiceConversionResultToken(pub String); impl_string_token!(VoiceConversionResultToken); diff --git a/crates/schema/public/tokens/src/tokens/w2l_inference_jobs.rs b/crates/schema/public/tokens/src/tokens/w2l_inference_jobs.rs index 1b5fa9c2..58c9086a 100644 --- a/crates/schema/public/tokens/src/tokens/w2l_inference_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/w2l_inference_jobs.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `w2l_inference_jobs` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct W2lInferenceJobToken(pub String); impl_string_token!(W2lInferenceJobToken); diff --git a/crates/schema/public/tokens/src/tokens/w2l_results.rs b/crates/schema/public/tokens/src/tokens/w2l_results.rs index 9af33d57..7a4aebd6 100644 --- a/crates/schema/public/tokens/src/tokens/w2l_results.rs +++ b/crates/schema/public/tokens/src/tokens/w2l_results.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `w2l_results` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct W2lResultToken(pub String); impl_string_token!(W2lResultToken); diff --git a/crates/schema/public/tokens/src/tokens/w2l_template_upload_jobs.rs b/crates/schema/public/tokens/src/tokens/w2l_template_upload_jobs.rs index 603c04da..d22eda0e 100644 --- a/crates/schema/public/tokens/src/tokens/w2l_template_upload_jobs.rs +++ b/crates/schema/public/tokens/src/tokens/w2l_template_upload_jobs.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// Primary key for the `w2l_template_upload_jobs` table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct W2lTemplateUploadJobToken(pub String); impl_string_token!(W2lTemplateUploadJobToken); diff --git a/crates/schema/public/tokens/src/tokens/w2l_templates.rs b/crates/schema/public/tokens/src/tokens/w2l_templates.rs index c2cc8005..3e8eef68 100644 --- a/crates/schema/public/tokens/src/tokens/w2l_templates.rs +++ b/crates/schema/public/tokens/src/tokens/w2l_templates.rs @@ -7,8 +7,6 @@ use crate::prefixes::LegacyTokenPrefix; /// The primary key for W2L templates. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct W2lTemplateToken(pub String); impl_string_token!(W2lTemplateToken); diff --git a/crates/schema/public/tokens/src/tokens/wallet_ledger_entries.rs b/crates/schema/public/tokens/src/tokens/wallet_ledger_entries.rs index 743e17cd..5bfe74c7 100644 --- a/crates/schema/public/tokens/src/tokens/wallet_ledger_entries.rs +++ b/crates/schema/public/tokens/src/tokens/wallet_ledger_entries.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for wallet_ledger_entries #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct WalletLedgerEntryToken(pub String); impl_string_token!(WalletLedgerEntryToken); -impl_mysql_token_from_row!(WalletLedgerEntryToken); impl_crockford_generator!(WalletLedgerEntryToken, 32usize, TokenPrefix::WalletLedgerEntry, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/wallets.rs b/crates/schema/public/tokens/src/tokens/wallets.rs index 464c7c74..6fefcae4 100644 --- a/crates/schema/public/tokens/src/tokens/wallets.rs +++ b/crates/schema/public/tokens/src/tokens/wallets.rs @@ -7,10 +7,7 @@ use crate::prefixes::TokenPrefix; /// The primary key for wallets #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct WalletToken(pub String); impl_string_token!(WalletToken); -impl_mysql_token_from_row!(WalletToken); impl_crockford_generator!(WalletToken, 32usize, TokenPrefix::Wallet, CrockfordLower); diff --git a/crates/schema/public/tokens/src/tokens/zs_voice_dataset_samples.rs b/crates/schema/public/tokens/src/tokens/zs_voice_dataset_samples.rs index 9fb73f22..8aed77b8 100644 --- a/crates/schema/public/tokens/src/tokens/zs_voice_dataset_samples.rs +++ b/crates/schema/public/tokens/src/tokens/zs_voice_dataset_samples.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for the "zs_voice_dataset_samples" table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ZsVoiceDatasetSampleToken(pub String); impl_string_token!(ZsVoiceDatasetSampleToken); diff --git a/crates/schema/public/tokens/src/tokens/zs_voice_datasets.rs b/crates/schema/public/tokens/src/tokens/zs_voice_datasets.rs index 2192881b..1451b10c 100644 --- a/crates/schema/public/tokens/src/tokens/zs_voice_datasets.rs +++ b/crates/schema/public/tokens/src/tokens/zs_voice_datasets.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for the "zs_voice_datasets" table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ZsVoiceDatasetToken(pub String); impl_string_token!(ZsVoiceDatasetToken); diff --git a/crates/schema/public/tokens/src/tokens/zs_voices.rs b/crates/schema/public/tokens/src/tokens/zs_voices.rs index b887a3e5..7774a2df 100644 --- a/crates/schema/public/tokens/src/tokens/zs_voices.rs +++ b/crates/schema/public/tokens/src/tokens/zs_voices.rs @@ -7,8 +7,6 @@ use crate::prefixes::TokenPrefix; /// The primary key for the "zs_voices" table. #[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct ZsVoiceToken(pub String); impl_string_token!(ZsVoiceToken); diff --git a/crates/schema/public/tokens/src/traits/mod.rs b/crates/schema/public/tokens/src/traits/mod.rs deleted file mode 100644 index c16e33fd..00000000 --- a/crates/schema/public/tokens/src/traits/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -#[cfg(feature = "database")] -pub mod mysql_token_from_row; \ No newline at end of file diff --git a/crates/schema/public/tokens/src/traits/mysql_token_from_row.rs b/crates/schema/public/tokens/src/traits/mysql_token_from_row.rs deleted file mode 100644 index e0d62c22..00000000 --- a/crates/schema/public/tokens/src/traits/mysql_token_from_row.rs +++ /dev/null @@ -1,11 +0,0 @@ -use sqlx_mysql::MySqlRow; - -/// This is a trait (in conjunction with the macro implementation) that makes up for sqlx's -/// QueryBuilder not playing well with FromRow implementation or derivation of named types. -pub trait MySqlTokenFromRow { - - /// Attempt to parse a named column from a MySqlRow into the type. - fn try_from_mysql_row(row: &MySqlRow, field_name: &str) -> Result; - - fn try_from_mysql_row_nullable(row: &MySqlRow, field_name: &str) -> Result, sqlx::Error>; -} diff --git a/crates/sqlite_database/Cargo.toml b/crates/sqlite_database/Cargo.toml index 31c8fc90..b9783b6e 100644 --- a/crates/sqlite_database/Cargo.toml +++ b/crates/sqlite_database/Cargo.toml @@ -18,6 +18,7 @@ workspace-build-acceleration.workspace = true # Internal enums.workspace = true errors.workspace = true +sqlite_identifiers.workspace = true tokens.workspace = true # External diff --git a/crates/sqlite_database/src/error.rs b/crates/sqlite_database/src/error.rs index 7224709e..1029cffb 100644 --- a/crates/sqlite_database/src/error.rs +++ b/crates/sqlite_database/src/error.rs @@ -1,4 +1,4 @@ -use enums::error::enum_error::EnumError; +use sqlite_identifiers::enum_error::EnumError; use std::error::Error; use std::fmt::{Display, Formatter}; diff --git a/crates/sqlite_database/src/queries/create_task.rs b/crates/sqlite_database/src/queries/create_task.rs index d53e73b8..a2bbb505 100644 --- a/crates/sqlite_database/src/queries/create_task.rs +++ b/crates/sqlite_database/src/queries/create_task.rs @@ -1,12 +1,12 @@ use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; -use tokens::tokens::prompts::PromptToken; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::prompt_token::PromptToken; +use sqlite_identifiers::task_id::TaskId; pub struct CreateTaskArgs<'a> { pub db: &'a TaskDbConnection, diff --git a/crates/sqlite_database/src/queries/get_task_by_provider_and_provider_job_id.rs b/crates/sqlite_database/src/queries/get_task_by_provider_and_provider_job_id.rs index d110377b..7e64346d 100644 --- a/crates/sqlite_database/src/queries/get_task_by_provider_and_provider_job_id.rs +++ b/crates/sqlite_database/src/queries/get_task_by_provider_and_provider_job_id.rs @@ -1,13 +1,13 @@ use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; use crate::queries::task::Task; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use sqlx::Error; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_id::TaskId; pub struct GetTaskByProviderAndProviderJobIdArgs<'a> { pub db: &'a TaskDbConnection, diff --git a/crates/sqlite_database/src/queries/list_non_artcraft_pending_tasks.rs b/crates/sqlite_database/src/queries/list_non_artcraft_pending_tasks.rs index 34672580..9c9b3b64 100644 --- a/crates/sqlite_database/src/queries/list_non_artcraft_pending_tasks.rs +++ b/crates/sqlite_database/src/queries/list_non_artcraft_pending_tasks.rs @@ -1,14 +1,14 @@ use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; use crate::queries::task::{RawTask, Task}; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use sqlx::{QueryBuilder, Sqlite}; use std::collections::HashSet; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_id::TaskId; pub struct ListNonArtcraftPendingTasksArgs<'a> { pub db: &'a TaskDbConnection, diff --git a/crates/sqlite_database/src/queries/list_tasks_by_provider_and_status.rs b/crates/sqlite_database/src/queries/list_tasks_by_provider_and_status.rs index 2a63aed8..2b326683 100644 --- a/crates/sqlite_database/src/queries/list_tasks_by_provider_and_status.rs +++ b/crates/sqlite_database/src/queries/list_tasks_by_provider_and_status.rs @@ -1,14 +1,14 @@ use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; use crate::queries::task::{RawTask, Task}; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use sqlx::{QueryBuilder, Sqlite}; use std::collections::HashSet; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_id::TaskId; pub struct ListTasksByProviderAndStatusArgs<'a> { pub db: &'a TaskDbConnection, diff --git a/crates/sqlite_database/src/queries/list_tasks_by_provider_and_tokens.rs b/crates/sqlite_database/src/queries/list_tasks_by_provider_and_tokens.rs index bb9419af..fab2c716 100644 --- a/crates/sqlite_database/src/queries/list_tasks_by_provider_and_tokens.rs +++ b/crates/sqlite_database/src/queries/list_tasks_by_provider_and_tokens.rs @@ -1,13 +1,13 @@ use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; use crate::queries::task::{RawTask, Task}; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; use sqlx::{QueryBuilder, Sqlite}; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_id::TaskId; pub struct ListTasksArgs<'a> { pub db: &'a TaskDbConnection, diff --git a/crates/sqlite_database/src/queries/list_tasks_for_frontend.rs b/crates/sqlite_database/src/queries/list_tasks_for_frontend.rs index 61562183..bd4713e3 100644 --- a/crates/sqlite_database/src/queries/list_tasks_for_frontend.rs +++ b/crates/sqlite_database/src/queries/list_tasks_for_frontend.rs @@ -1,16 +1,16 @@ use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; use chrono::{DateTime, Utc}; -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_failure_type::TaskFailureType; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_failure_type::TaskFailureType; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; +use sqlite_identifiers::task_id::TaskId; pub struct TaskList { pub tasks: Vec, diff --git a/crates/sqlite_database/src/queries/mark_task_as_dismissed.rs b/crates/sqlite_database/src/queries/mark_task_as_dismissed.rs index 26f3c0b8..21f9da5b 100644 --- a/crates/sqlite_database/src/queries/mark_task_as_dismissed.rs +++ b/crates/sqlite_database/src/queries/mark_task_as_dismissed.rs @@ -1,6 +1,6 @@ use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_id::TaskId; /// Returns true if rows were updated. pub async fn mark_task_as_dismissed( diff --git a/crates/sqlite_database/src/queries/task.rs b/crates/sqlite_database/src/queries/task.rs index 06bc701b..4c3be667 100644 --- a/crates/sqlite_database/src/queries/task.rs +++ b/crates/sqlite_database/src/queries/task.rs @@ -1,9 +1,9 @@ -use enums::common::generation_provider::GenerationProvider; -use enums::tauri::tasks::task_model_type::TaskModelType; -use enums::tauri::tasks::task_status::TaskStatus; -use enums::tauri::tasks::task_type::TaskType; -use enums::tauri::ux::tauri_command_caller::TauriCommandCaller; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::generation_provider::GenerationProvider; +use sqlite_identifiers::task_model_type::TaskModelType; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_type::TaskType; +use sqlite_identifiers::tauri_command_caller::TauriCommandCaller; +use sqlite_identifiers::task_id::TaskId; #[derive(Debug, Clone)] pub struct Task { diff --git a/crates/sqlite_database/src/queries/update_successful_task_status_with_metadata.rs b/crates/sqlite_database/src/queries/update_successful_task_status_with_metadata.rs index 7b46d0b6..6d7c99ca 100644 --- a/crates/sqlite_database/src/queries/update_successful_task_status_with_metadata.rs +++ b/crates/sqlite_database/src/queries/update_successful_task_status_with_metadata.rs @@ -1,10 +1,10 @@ use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; -use enums::tauri::tasks::task_status::TaskStatus; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; +use sqlite_identifiers::task_id::TaskId; const SUCCESSFUL_STATUS : &str = TaskStatus::CompleteSuccess.to_str(); diff --git a/crates/sqlite_database/src/queries/update_successful_task_status_with_metadata_by_provider.rs b/crates/sqlite_database/src/queries/update_successful_task_status_with_metadata_by_provider.rs index 12b25cc6..4dc1c4ec 100644 --- a/crates/sqlite_database/src/queries/update_successful_task_status_with_metadata_by_provider.rs +++ b/crates/sqlite_database/src/queries/update_successful_task_status_with_metadata_by_provider.rs @@ -1,10 +1,10 @@ -use enums::common::generation_provider::GenerationProvider; +use sqlite_identifiers::generation_provider::GenerationProvider; use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; -use enums::tauri::tasks::task_media_file_class::TaskMediaFileClass; -use enums::tauri::tasks::task_status::TaskStatus; -use tokens::tokens::batch_generations::BatchGenerationToken; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::task_media_file_class::TaskMediaFileClass; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::batch_generation_token::BatchGenerationToken; +use sqlite_identifiers::media_file_token::MediaFileToken; const SUCCESSFUL_STATUS : &str = TaskStatus::CompleteSuccess.to_str(); diff --git a/crates/sqlite_database/src/queries/update_task_status.rs b/crates/sqlite_database/src/queries/update_task_status.rs index ead78ece..9047ba80 100644 --- a/crates/sqlite_database/src/queries/update_task_status.rs +++ b/crates/sqlite_database/src/queries/update_task_status.rs @@ -1,7 +1,7 @@ use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; -use enums::tauri::tasks::task_status::TaskStatus; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_id::TaskId; pub struct UpdateTaskArgs<'a> { pub db: &'a TaskDbConnection, diff --git a/crates/sqlite_database/src/queries/update_task_status_with_rich_failure.rs b/crates/sqlite_database/src/queries/update_task_status_with_rich_failure.rs index 896d6c5c..9c3d8b75 100644 --- a/crates/sqlite_database/src/queries/update_task_status_with_rich_failure.rs +++ b/crates/sqlite_database/src/queries/update_task_status_with_rich_failure.rs @@ -1,8 +1,8 @@ -use enums::tauri::tasks::task_failure_type::TaskFailureType; +use sqlite_identifiers::task_failure_type::TaskFailureType; use crate::connection::TaskDbConnection; use crate::error::SqliteTasksError; -use enums::tauri::tasks::task_status::TaskStatus; -use tokens::tokens::sqlite::tasks::TaskId; +use sqlite_identifiers::task_status::TaskStatus; +use sqlite_identifiers::task_id::TaskId; pub struct UpdateTaskWithRichFailureArgs<'a> { pub db: &'a TaskDbConnection, diff --git a/crates/sqlite_identifiers/Cargo.toml b/crates/sqlite_identifiers/Cargo.toml new file mode 100644 index 00000000..79f70a83 --- /dev/null +++ b/crates/sqlite_identifiers/Cargo.toml @@ -0,0 +1,34 @@ +[package] +name = "sqlite_identifiers" +edition = "2021" +version = "0.0.1" +authors = [ + "Brandon Thomas ", + "Brandon Thomas ", +] +publish = false + +[package.metadata.cargo-udeps.ignore] +normal = ["workspace-build-acceleration"] + +[lib] +name = "sqlite_identifiers" +path = "src/lib.rs" + +[dependencies] +# Workspace hack (faster compile times) +workspace-build-acceleration.workspace = true + +# Serialization +serde.workspace = true +serde_derive.workspace = true + +# Token entropy +rand = { version = "0.8.5", features = ["std_rng"] } + +[dev-dependencies] +# Enum utilities +strum.workspace = true + +# Test serialization +serde_json.workspace = true diff --git a/crates/sqlite_identifiers/src/batch_generation_token.rs b/crates/sqlite_identifiers/src/batch_generation_token.rs new file mode 100644 index 00000000..2617b09a --- /dev/null +++ b/crates/sqlite_identifiers/src/batch_generation_token.rs @@ -0,0 +1,12 @@ +use std::fmt::Debug; + +use serde::Deserialize; +use serde::Serialize; + + +/// The primary key for Audit Logs. +#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] +pub struct BatchGenerationToken(pub String); + +impl_crockford_generator!(BatchGenerationToken, 32usize, "batch_g_", crate::CROCKFORD_LOWERCASE_CHARSET); +impl_string_token!(BatchGenerationToken); diff --git a/crates/sqlite_identifiers/src/enum_error.rs b/crates/sqlite_identifiers/src/enum_error.rs new file mode 100644 index 00000000..a86cf4ed --- /dev/null +++ b/crates/sqlite_identifiers/src/enum_error.rs @@ -0,0 +1,18 @@ +use std::error::Error; + +#[derive(Debug)] +pub enum EnumError { + CouldNotConvertFromString(String), +} + +impl Error for EnumError {} + +impl std::fmt::Display for EnumError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + EnumError::CouldNotConvertFromString(value) => { + write!(f, "Could not convert from string: {}", value) + } + } + } +} diff --git a/crates/schema/public/enums/src/common/generation_provider.rs b/crates/sqlite_identifiers/src/generation_provider.rs similarity index 95% rename from crates/schema/public/enums/src/common/generation_provider.rs rename to crates/sqlite_identifiers/src/generation_provider.rs index 40608375..8778853c 100644 --- a/crates/schema/public/enums/src/common/generation_provider.rs +++ b/crates/sqlite_identifiers/src/generation_provider.rs @@ -7,7 +7,7 @@ use std::collections::BTreeSet; -use crate::error::enum_error::EnumError; +use crate::enum_error::EnumError; #[cfg(test)] use strum::EnumCount; #[cfg(test)] @@ -28,11 +28,8 @@ pub enum GenerationProvider { } impl_enum_display_and_debug_using_to_str!(GenerationProvider); -impl_mysql_enum_coders!(GenerationProvider); -impl_mysql_from_row!(GenerationProvider); // For Tauri -impl_sqlite_enum_coders!(GenerationProvider); // NB: We can derive `sqlx::Type` instead of using `impl_mysql_enum_coders` @@ -76,8 +73,8 @@ impl GenerationProvider { #[cfg(test)] mod tests { - use crate::common::generation_provider::GenerationProvider; - use crate::error::enum_error::EnumError; + use crate::generation_provider::GenerationProvider; + use crate::enum_error::EnumError; use crate::test_helpers::assert_serialization; mod explicit_checks { diff --git a/crates/sqlite_identifiers/src/lib.rs b/crates/sqlite_identifiers/src/lib.rs new file mode 100644 index 00000000..651e01e9 --- /dev/null +++ b/crates/sqlite_identifiers/src/lib.rs @@ -0,0 +1,124 @@ +//! Strongly-typed identifiers and enums for the desktop app's local SQLite +//! tasks database — the types that cross the query boundary as keys or +//! stored enum strings. Extracted from the `enums` / `tokens` crates so the +//! task database has a small, database-free dependency. + +#[macro_use] extern crate serde_derive; + +// Crockford characters +// https://en.wikipedia.org/wiki/Base32#Crockford's_Base32 +pub(crate) const CROCKFORD_LOWERCASE_CHARSET: &[u8] = b"0123456789abcdefghjkmnpqrstvwxyz"; +pub(crate) const CROCKFORD_MIXED_CASE_CHARSET: &[u8] = b"0123456789ABCDEFGHJKMNPQRSTVWXYZabcdefghjkmnpqrstvwxyz"; + +/// Display + Debug via `to_str()` for string-backed enums. +#[macro_export] +macro_rules! impl_enum_display_and_debug_using_to_str { + ($t:ident) => { + impl std::fmt::Display for $t { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.to_str()) + } + } + impl std::fmt::Debug for $t { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.to_str()) + } + } + }; +} + +/// Constructors and accessors for string-backed token newtypes. +#[macro_export] +macro_rules! impl_string_token { + ($t:ident) => { + impl $t { + #[inline] + pub fn new(value: String) -> Self { + $t(value) + } + + #[inline] + pub fn new_from_str(value: &str) -> Self { + $t(value.to_string()) + } + + #[inline] + pub fn as_str(&self) -> &str { + &self.0 + } + + /// The part of the token after the prefix (best-effort: returns the + /// whole string if the prefix doesn't match). + #[inline] + pub fn entropy_suffix(&self) -> &str { + self.0.strip_prefix(Self::PREFIX).unwrap_or(&self.0) + } + } + + impl std::fmt::Display for $t { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.0) + } + } + }; +} + +/// `generate()` for prefixed Crockford tokens: `{prefix}{entropy}` where the +/// total length is `$total_string_length`. Matches the original `tokens` +/// crate generator (including the safe-entropy re-roll). +#[macro_export] +macro_rules! impl_crockford_generator { + ($t:ident, $total_string_length:literal, $prefix:literal, $charset:expr) => { + impl $t { + pub const PREFIX: &'static str = $prefix; + + /// Constructor for a new token. + #[inline] + pub fn generate() -> Self { + use rand::Rng; + + let mut rng = rand::thread_rng(); + + let charset: &[u8] = $charset; + let entropy_length = $total_string_length.saturating_sub($prefix.len()); + + let mut entropy_part: String = (0..entropy_length) + .map(|_| { + let idx = rng.gen_range(0..charset.len()); + charset[idx] as char + }) + .collect(); + + let mut i = 0; + while !$crate::safe_entropy::entropy_is_safe(&entropy_part) && i < 10 { + i += 1; + entropy_part = (0..entropy_length) + .map(|_| { + let idx = rng.gen_range(0..charset.len()); + charset[idx] as char + }) + .collect(); + } + + $t(format!("{}{}", $prefix, entropy_part)) + } + } + }; +} + +pub mod batch_generation_token; +pub mod enum_error; +pub mod generation_provider; +pub mod media_file_token; +pub mod prompt_token; +pub(crate) mod safe_entropy; +pub mod task_failure_type; +pub mod task_id; +pub mod task_media_file_class; +pub mod task_model_type; +pub mod task_status; +pub mod task_type; +pub mod tauri_command_caller; + +#[cfg(test)] +pub(crate) mod test_helpers; diff --git a/crates/sqlite_identifiers/src/media_file_token.rs b/crates/sqlite_identifiers/src/media_file_token.rs new file mode 100644 index 00000000..b4dce37e --- /dev/null +++ b/crates/sqlite_identifiers/src/media_file_token.rs @@ -0,0 +1,12 @@ +use std::fmt::Debug; + +use serde::Deserialize; +use serde::Serialize; + + +/// The primary key for Media Files +#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] +pub struct MediaFileToken(pub String); + +impl_string_token!(MediaFileToken); +impl_crockford_generator!(MediaFileToken, 32usize, "m_", crate::CROCKFORD_LOWERCASE_CHARSET); diff --git a/crates/sqlite_identifiers/src/prompt_token.rs b/crates/sqlite_identifiers/src/prompt_token.rs new file mode 100644 index 00000000..6088fd52 --- /dev/null +++ b/crates/sqlite_identifiers/src/prompt_token.rs @@ -0,0 +1,12 @@ +use std::fmt::Debug; + +use serde::Deserialize; +use serde::Serialize; + + +/// The primary key for Prompts +#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Serialize, Deserialize)] +pub struct PromptToken(pub String); + +impl_crockford_generator!(PromptToken, 32usize, "prompt_", crate::CROCKFORD_LOWERCASE_CHARSET); +impl_string_token!(PromptToken); diff --git a/crates/sqlite_identifiers/src/safe_entropy.rs b/crates/sqlite_identifiers/src/safe_entropy.rs new file mode 100644 index 00000000..d5d1d6e4 --- /dev/null +++ b/crates/sqlite_identifiers/src/safe_entropy.rs @@ -0,0 +1,127 @@ + + +// Don't generate slurs or dangerous terms in the token generator +// Beware, this is an n*m*k operation. +// see: https://news.ycombinator.com/item?id=35337210 +// see: https://www.reddit.com/r/ProgrammerHumor/comments/3ov56n/randomly_generating_ids_can_be_dangerous/ +// see: https://stackoverflow.com/a/36294356 +#[inline] +pub fn entropy_is_safe(entropic_string: &str) -> bool { + let entropic_string = entropic_string.to_lowercase(); + for bad in BAD_LIST.iter() { + if entropic_string.contains(bad) { + return false; + } + } + true +} + +/// This list of atoms should be kept *short* and the atoms themselves should +/// be short as long strings are improbable. +/// Some of this list came via ChatGPT. +/// Note: Crockford does not have `i`, `l`, `o`, `u`, ... +const BAD_LIST : [&str; 64] = [ + "000", + "111", + "1s15", // ISIS + "1s1s", // ISIS + "1sd", + "455", // ass + "4s5", // ass + "4ss", // ass + "53x", + "5ex", // sex + "5h1t", + "a1ep", // https://news.ycombinator.com/item?id=35337210 + "a55", // ass + "a5s", // ass + "as5", // ass + "ass", + "b0mb", + "bmb", // bomb + "crp", + "cvm", // cum + "d1c", // dick + "d1e", // die + "d1k", // dick + "dyk", // dyk[e] / ~dick + "f3c", + "f4ck", // fuck + "f4g", // fag + "fag", + "fec", + "fvc", // fvc[k] + "fvk", // fuck + "g0d", + "g4y", // gay + "gay", + "gvn", // gun + "jew", + "k11", // kill + "mvs", + "n1g", + "p00", + "p0t", + "p15", // piss + "p1s", // piss + "p33", // pee + "p3e", // pee + "p3n", // p3n[1s] + "pcp", + "pe3", // pee + "pee", + "pen", // pen[1s] + "pn15", // penis + "pn5", // penis + "pns", // penis + "pvs", // pus + "r1p", + "s3x", // sex + "sex", + "sh1t", // shit + "sht", // shit + "t1t", + "tw4t", // twat + "twt", // twat + "war", + "xxx", +]; + +#[cfg(test)] +mod tests { + use crate::CROCKFORD_LOWERCASE_CHARSET; + use super::BAD_LIST; + + mod do_not_waste_compute { + use std::collections::HashSet; + use super::*; + + #[test] + fn no_duplicates() { + let set = HashSet::from(BAD_LIST); + assert_eq!(set.len(), BAD_LIST.len()); + } + + #[test] + fn every_bad_word_is_crockford() { + for bad in BAD_LIST.iter() { + for c_test in bad.chars() { + if !CROCKFORD_LOWERCASE_CHARSET.contains(&(c_test as u8)) { + panic!("Bad word '{}' contains non-crockford character '{}'", bad, c_test); + } + } + } + } + + #[test] + fn no_bad_word_is_a_subset_of_another_bad_word() { + for bad_large in BAD_LIST.iter() { + for bad_small in BAD_LIST.iter() { + if bad_large != bad_small && bad_large.contains(bad_small) { + panic!("Bad word '{}' contains another bad word '{}'", bad_large, bad_small); + } + } + } + } + } +} diff --git a/crates/schema/public/enums/src/tauri/tasks/task_failure_type.rs b/crates/sqlite_identifiers/src/task_failure_type.rs similarity index 69% rename from crates/schema/public/enums/src/tauri/tasks/task_failure_type.rs rename to crates/sqlite_identifiers/src/task_failure_type.rs index 28ae15fe..6e14b5ee 100644 --- a/crates/schema/public/enums/src/tauri/tasks/task_failure_type.rs +++ b/crates/sqlite_identifiers/src/task_failure_type.rs @@ -1,8 +1,6 @@ use std::collections::BTreeSet; -use crate::api_safe::by_table::generic_inference_jobs::frontend_failure_category_for_api_clients::FrontendFailureCategoryForApiClients; -use crate::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory; -use crate::error::enum_error::EnumError; +use crate::enum_error::EnumError; #[cfg(test)] use strum::EnumCount; #[cfg(test)] @@ -45,58 +43,6 @@ impl_enum_display_and_debug_using_to_str!(TaskFailureType); impl TaskFailureType { - /// Convert the web API's `FrontendFailureCategory` to a Tauri-facing type, if there is a matching variant. - /// If there isn't a matching variant, return `Unknown`. - pub fn from_frontend_failure_category(category: FrontendFailureCategory) -> Self { - match category { - FrontendFailureCategory::ModelRulesViolation => Self::RuleBansUserContent, // NB: This is a legacy enum value. - FrontendFailureCategory::RuleBansUserImage => Self::RuleBansUserImage, - FrontendFailureCategory::RuleBansUserImageWithFaces => Self::RuleBansUserImageWithFaces, - FrontendFailureCategory::RuleBansUserTextPrompt => Self::RuleBansUserTextPrompt, - FrontendFailureCategory::RuleBansUserContent => Self::RuleBansUserContent, - FrontendFailureCategory::RuleBansGeneratedVideo => Self::RuleBansGeneratedVideo, - FrontendFailureCategory::RuleBansGeneratedAudio => Self::RuleBansGeneratedAudio, - FrontendFailureCategory::RuleBansGeneratedContent => Self::RuleBansGeneratedContent, - FrontendFailureCategory::NoForegroundSubjectDetected => Self::NoForegroundSubjectDetected, - FrontendFailureCategory::FormatNotSupported => Self::FormatNotSupported, - FrontendFailureCategory::GenerationFailed => Self::GenerationFailed, - _ => Self::Unknown, - } - } - - /// Convert the API-client-facing `FrontendFailureCategoryForApiClients` to a Tauri-facing type. - /// `Unknown(String)` maps to `Unknown` with a debug log. - pub fn from_frontend_failure_category_for_api(category: &FrontendFailureCategoryForApiClients) -> Self { - match category { - FrontendFailureCategoryForApiClients::ModelRulesViolation => Self::RuleBansUserContent, - FrontendFailureCategoryForApiClients::RuleBansUserImage => Self::RuleBansUserImage, - FrontendFailureCategoryForApiClients::RuleBansUserImageWithFaces => Self::RuleBansUserImageWithFaces, - FrontendFailureCategoryForApiClients::RuleBansUserTextPrompt => Self::RuleBansUserTextPrompt, - FrontendFailureCategoryForApiClients::RuleBansUserContent => Self::RuleBansUserContent, - FrontendFailureCategoryForApiClients::RuleBansGeneratedVideo => Self::RuleBansGeneratedVideo, - FrontendFailureCategoryForApiClients::RuleBansGeneratedAudio => Self::RuleBansGeneratedAudio, - FrontendFailureCategoryForApiClients::RuleBansGeneratedContent => Self::RuleBansGeneratedContent, - FrontendFailureCategoryForApiClients::NoForegroundSubjectDetected => Self::NoForegroundSubjectDetected, - FrontendFailureCategoryForApiClients::FormatNotSupported => Self::FormatNotSupported, - FrontendFailureCategoryForApiClients::GenerationFailed => Self::GenerationFailed, - - // Types ArtCraft doesn't care about - FrontendFailureCategoryForApiClients::FaceNotDetected => Self::Unknown, - FrontendFailureCategoryForApiClients::KeepAliveElapsed => Self::Unknown, - FrontendFailureCategoryForApiClients::NotYetImplemented => Self::Unknown, - FrontendFailureCategoryForApiClients::RetryableWorkerError => Self::Unknown, - FrontendFailureCategoryForApiClients::FilesizeTooLarge => Self::Unknown, - FrontendFailureCategoryForApiClients::ImageDimensionsTooSmall => Self::Unknown, - FrontendFailureCategoryForApiClients::ImageDimensionsTooLarge => Self::Unknown, - - // Unknown (future-proof) variant - FrontendFailureCategoryForApiClients::Unknown(ref value) => { - log::debug!("Unknown FrontendFailureCategoryForApiClients variant: {}", value); - Self::Unknown - } - } - } - pub const fn to_str(&self) -> &'static str { match self { Self::Unknown => "unknown", @@ -149,12 +95,12 @@ impl TaskFailureType { #[cfg(test)] mod tests { - use crate::tauri::tasks::task_failure_type::TaskFailureType; + use crate::task_failure_type::TaskFailureType; use crate::test_helpers::assert_serialization; mod explicit_checks { use super::*; - use crate::error::enum_error::EnumError; + use crate::enum_error::EnumError; #[test] fn test_serialization() { diff --git a/crates/schema/public/tokens/src/tokens/sqlite/tasks.rs b/crates/sqlite_identifiers/src/task_id.rs similarity index 51% rename from crates/schema/public/tokens/src/tokens/sqlite/tasks.rs rename to crates/sqlite_identifiers/src/task_id.rs index 1a42d6a5..ff7344eb 100644 --- a/crates/schema/public/tokens/src/tokens/sqlite/tasks.rs +++ b/crates/sqlite_identifiers/src/task_id.rs @@ -3,13 +3,10 @@ use std::fmt::Debug; use serde::Deserialize; use serde::Serialize; -use crate::prefixes::TauriTokenPrefix; /// The primary key for tasks (Tauri / Sqlite) #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)] -#[cfg_attr(feature = "database", derive(sqlx::Type))] -#[cfg_attr(feature = "database", sqlx(transparent))] pub struct TaskId(pub String); impl_string_token!(TaskId); -impl_crockford_generator!(TaskId, 32usize, TauriTokenPrefix::Task, CrockfordMixed); +impl_crockford_generator!(TaskId, 32usize, "task_", crate::CROCKFORD_MIXED_CASE_CHARSET); diff --git a/crates/schema/public/enums/src/tauri/tasks/task_media_file_class.rs b/crates/sqlite_identifiers/src/task_media_file_class.rs similarity index 96% rename from crates/schema/public/enums/src/tauri/tasks/task_media_file_class.rs rename to crates/sqlite_identifiers/src/task_media_file_class.rs index 599dc9b8..fc0ad0a5 100644 --- a/crates/schema/public/enums/src/tauri/tasks/task_media_file_class.rs +++ b/crates/sqlite_identifiers/src/task_media_file_class.rs @@ -1,6 +1,6 @@ use std::collections::BTreeSet; -use crate::error::enum_error::EnumError; +use crate::enum_error::EnumError; #[cfg(test)] use strum::EnumCount; #[cfg(test)] @@ -63,12 +63,12 @@ impl TaskMediaFileClass { #[cfg(test)] mod tests { - use crate::tauri::tasks::task_media_file_class::TaskMediaFileClass; + use crate::task_media_file_class::TaskMediaFileClass; use crate::test_helpers::assert_serialization; mod explicit_checks { use super::*; - use crate::error::enum_error::EnumError; + use crate::enum_error::EnumError; #[test] fn test_serialization() { diff --git a/crates/schema/public/enums/src/tauri/tasks/task_model_type.rs b/crates/sqlite_identifiers/src/task_model_type.rs similarity index 99% rename from crates/schema/public/enums/src/tauri/tasks/task_model_type.rs rename to crates/sqlite_identifiers/src/task_model_type.rs index 2fab05e8..d5fd08f8 100644 --- a/crates/schema/public/enums/src/tauri/tasks/task_model_type.rs +++ b/crates/sqlite_identifiers/src/task_model_type.rs @@ -1,6 +1,6 @@ use std::collections::BTreeSet; -use crate::error::enum_error::EnumError; +use crate::enum_error::EnumError; #[cfg(test)] use strum::EnumCount; #[cfg(test)] @@ -421,9 +421,9 @@ impl TaskModelType { #[cfg(test)] mod tests { - use crate::tauri::tasks::task_model_type::TaskModelType; + use crate::task_model_type::TaskModelType; use crate::test_helpers::assert_serialization; - use crate::error::enum_error::EnumError; + use crate::enum_error::EnumError; mod explicit_checks { use super::*; diff --git a/crates/schema/public/enums/src/tauri/tasks/task_status.rs b/crates/sqlite_identifiers/src/task_status.rs similarity index 97% rename from crates/schema/public/enums/src/tauri/tasks/task_status.rs rename to crates/sqlite_identifiers/src/task_status.rs index 5b306cbb..7b97d08b 100644 --- a/crates/schema/public/enums/src/tauri/tasks/task_status.rs +++ b/crates/sqlite_identifiers/src/task_status.rs @@ -1,6 +1,6 @@ use std::collections::BTreeSet; -use crate::error::enum_error::EnumError; +use crate::enum_error::EnumError; #[cfg(test)] use strum::EnumCount; #[cfg(test)] @@ -82,12 +82,12 @@ impl TaskStatus { #[cfg(test)] mod tests { - use crate::tauri::tasks::task_status::TaskStatus; + use crate::task_status::TaskStatus; use crate::test_helpers::assert_serialization; mod explicit_checks { use super::*; - use crate::error::enum_error::EnumError; + use crate::enum_error::EnumError; #[test] fn test_default() { diff --git a/crates/schema/public/enums/src/tauri/tasks/task_type.rs b/crates/sqlite_identifiers/src/task_type.rs similarity index 97% rename from crates/schema/public/enums/src/tauri/tasks/task_type.rs rename to crates/sqlite_identifiers/src/task_type.rs index 14ab9334..db1a5976 100644 --- a/crates/schema/public/enums/src/tauri/tasks/task_type.rs +++ b/crates/sqlite_identifiers/src/task_type.rs @@ -1,6 +1,6 @@ use std::collections::BTreeSet; -use crate::error::enum_error::EnumError; +use crate::enum_error::EnumError; #[cfg(test)] use strum::EnumCount; #[cfg(test)] @@ -68,12 +68,12 @@ impl TaskType { #[cfg(test)] mod tests { - use crate::tauri::tasks::task_type::TaskType; + use crate::task_type::TaskType; use crate::test_helpers::assert_serialization; mod explicit_checks { use super::*; - use crate::error::enum_error::EnumError; + use crate::enum_error::EnumError; #[test] fn test_serialization() { diff --git a/crates/schema/public/enums/src/tauri/ux/tauri_command_caller.rs b/crates/sqlite_identifiers/src/tauri_command_caller.rs similarity index 95% rename from crates/schema/public/enums/src/tauri/ux/tauri_command_caller.rs rename to crates/sqlite_identifiers/src/tauri_command_caller.rs index 0f380f78..e1e4916f 100644 --- a/crates/schema/public/enums/src/tauri/ux/tauri_command_caller.rs +++ b/crates/sqlite_identifiers/src/tauri_command_caller.rs @@ -1,6 +1,6 @@ use std::collections::BTreeSet; -use crate::error::enum_error::EnumError; +use crate::enum_error::EnumError; #[cfg(test)] use strum::EnumCount; #[cfg(test)] @@ -25,8 +25,6 @@ pub enum TauriCommandCaller { } impl_enum_display_and_debug_using_to_str!(TauriCommandCaller); -impl_mysql_enum_coders!(TauriCommandCaller); -impl_mysql_from_row!(TauriCommandCaller); // NB: We can derive `sqlx::Type` instead of using `impl_mysql_enum_coders` @@ -67,8 +65,8 @@ impl TauriCommandCaller { #[cfg(test)] mod tests { - use crate::error::enum_error::EnumError; - use crate::tauri::ux::tauri_command_caller::TauriCommandCaller; + use crate::enum_error::EnumError; + use crate::tauri_command_caller::TauriCommandCaller; use crate::test_helpers::assert_serialization; mod explicit_checks { diff --git a/crates/sqlite_identifiers/src/test_helpers.rs b/crates/sqlite_identifiers/src/test_helpers.rs new file mode 100644 index 00000000..3a1eafcd --- /dev/null +++ b/crates/sqlite_identifiers/src/test_helpers.rs @@ -0,0 +1,18 @@ +//! Only imported in tests + +use serde::Serialize; + +pub fn to_json(t: &T) -> String { + serde_json::to_string(t) + .expect("serialization error") + .replace("\"", "") // JSON values are quoted, so we remove quotes +} + +/// Assert that the Serialize is represented by the expected string value. +/// This is useful for ensuring stability of serialization. +pub fn assert_serialization(t: T, expected: &str) { + // TODO: See if there's a way to check the sqlx serialization + // TODO(bt,2024-06-27): Something broke with serde toml serialization, so we're disabling it + // assert_eq!(&to_toml(&t), expected); + assert_eq!(&to_json(&t), expected); +} diff --git a/crates/schema/public/tokens/tests/media_file_token_tests.rs b/crates/sqlite_identifiers/tests/media_file_token_tests.rs similarity index 65% rename from crates/schema/public/tokens/tests/media_file_token_tests.rs rename to crates/sqlite_identifiers/tests/media_file_token_tests.rs index b3e6090c..5745daed 100644 --- a/crates/schema/public/tokens/tests/media_file_token_tests.rs +++ b/crates/sqlite_identifiers/tests/media_file_token_tests.rs @@ -3,7 +3,7 @@ use serde::Deserialize; use serde::Serialize; -use tokens::tokens::media_files::MediaFileToken; +use sqlite_identifiers::media_file_token::MediaFileToken; #[derive(Serialize, Deserialize, PartialEq, Debug)] struct CompositeType { @@ -12,7 +12,7 @@ struct CompositeType { } mod interface { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; #[test] fn generate() { @@ -22,22 +22,15 @@ mod interface { } #[test] - fn generate_for_testing_and_dev_seeding_never_use_in_production_seriously_1() { - // NB: Using the same reset seed will produce the same results each time - MediaFileToken::reset_rng_for_testing_and_dev_seeding_never_use_in_production_seriously(0); - assert_eq!(MediaFileToken::generate_for_testing_and_dev_seeding_never_use_in_production_seriously().as_str(), "m_q8sz47gmfw2zx02snrbz88ns9m16ab"); - assert_eq!(MediaFileToken::generate_for_testing_and_dev_seeding_never_use_in_production_seriously().as_str(), "m_ma1xetxrwbh39vg639a9zrq8b9wk6h"); - assert_eq!(MediaFileToken::generate_for_testing_and_dev_seeding_never_use_in_production_seriously().as_str(), "m_4tswec8z27wnm01njypx4vmfhgj41e"); - // NB: Same seed -> same tokens generated - MediaFileToken::reset_rng_for_testing_and_dev_seeding_never_use_in_production_seriously(0); - assert_eq!(MediaFileToken::generate_for_testing_and_dev_seeding_never_use_in_production_seriously().as_str(), "m_q8sz47gmfw2zx02snrbz88ns9m16ab"); - assert_eq!(MediaFileToken::generate_for_testing_and_dev_seeding_never_use_in_production_seriously().as_str(), "m_ma1xetxrwbh39vg639a9zrq8b9wk6h"); - assert_eq!(MediaFileToken::generate_for_testing_and_dev_seeding_never_use_in_production_seriously().as_str(), "m_4tswec8z27wnm01njypx4vmfhgj41e"); - // Once more... - MediaFileToken::reset_rng_for_testing_and_dev_seeding_never_use_in_production_seriously(0); - assert_eq!(MediaFileToken::generate_for_testing_and_dev_seeding_never_use_in_production_seriously().as_str(), "m_q8sz47gmfw2zx02snrbz88ns9m16ab"); - assert_eq!(MediaFileToken::generate_for_testing_and_dev_seeding_never_use_in_production_seriously().as_str(), "m_ma1xetxrwbh39vg639a9zrq8b9wk6h"); - assert_eq!(MediaFileToken::generate_for_testing_and_dev_seeding_never_use_in_production_seriously().as_str(), "m_4tswec8z27wnm01njypx4vmfhgj41e"); + fn generated_tokens_have_stable_format() { + for _ in 0..25 { + let token = MediaFileToken::generate(); + let value = token.as_str(); + assert_eq!(value.len(), 32, "token {value} should be 32 chars"); + assert!(value.starts_with("m_")); + assert!(value[2..].bytes().all(|b| b"0123456789abcdefghjkmnpqrstvwxyz".contains(&b)), + "token {value} should be lowercase crockford"); + } } #[test] @@ -66,7 +59,7 @@ mod interface { } mod traits { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; #[test] fn display() { @@ -82,7 +75,7 @@ mod traits { } mod serialization { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::CompositeType; @@ -107,7 +100,7 @@ mod serialization { } mod deserialization { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; use crate::CompositeType; @@ -138,13 +131,13 @@ mod deserialization { // These traits should be tested by the macro, but we duplicate them in case that breaks mod crockford_traits { - use tokens::tokens::media_files::MediaFileToken; + use sqlite_identifiers::media_file_token::MediaFileToken; const ENTROPIC_CHARACTERS_MINIMUM : usize = 8; #[test] fn entropy_is_sufficient() { - assert!(MediaFileToken::entropic_character_len() > ENTROPIC_CHARACTERS_MINIMUM); + assert!((32 - MediaFileToken::PREFIX.len()) > ENTROPIC_CHARACTERS_MINIMUM); } #[test] @@ -164,7 +157,7 @@ mod crockford_traits { #[test] fn character_set() { let token_string = MediaFileToken::generate().to_string(); - let prefix = MediaFileToken::token_prefix(); + let prefix = MediaFileToken::PREFIX; let random_part = token_string.replace(prefix, ""); assert!(random_part.len() > ENTROPIC_CHARACTERS_MINIMUM); @@ -173,7 +166,7 @@ mod crockford_traits { #[test] fn prefix_ends_with_separator() { - let prefix = MediaFileToken::token_prefix(); + let prefix = MediaFileToken::PREFIX; assert!(prefix.ends_with("_")); let token_string = MediaFileToken::generate().to_string(); @@ -182,7 +175,7 @@ mod crockford_traits { #[test] fn token_begins_with_prefix() { - let prefix = MediaFileToken::token_prefix(); + let prefix = MediaFileToken::PREFIX; let token_string = MediaFileToken::generate().to_string(); assert!(token_string.starts_with(prefix)); }