This commit is contained in:
Hanashi 2026-08-04 03:52:19 -04:00
parent 2940f5366c
commit 7e1e259c6e
1186 changed files with 653 additions and 653 deletions

View File

@ -15,11 +15,13 @@ artcraftx/
│ ├── api_clients/ # HTTP clients for calling internal and 3rd party services
│ ├── artcraftx/ # (Important) ArtCraftX, the Tauri desktop app
│ ├── lib/ # Various utility libraries
│ ├── sqlite_database/ # Desktop app's "tasks" SQLite database: queries + embedded migrations
│ ├── router/ # Provider routing for generation requests (Artcraft, Fal, ...)
│ ├── schema/ # Data definition layer
│ │ └── public/ # Token identifier and enum variant definitions
│ │ ├── enums/ # Enum variants stored as strings
│ │ └── tokens/ # Identifiers with Stripe-like ID prefixes, eg. "user_{entropy}"
│ │ ├── artcraft_enums/ # Enum variants stored as strings
│ │ ├── artcraft_tokens/ # Identifiers with Stripe-like ID prefixes, eg. "user_{entropy}"
│ │ ├── identifiers/ # Desktop app's own IDs, eg. "credential_{ulid}"
│ │ ├── sqlite_database/ # Desktop app's "tasks" SQLite database: queries + embedded migrations
│ │ └── sqlite_identifiers/ # Enums and IDs used in sqlite queries as enums or keys
│ ├── testing/ # Test data and test utilities
│ └── vendor/ # Vendored third-party crates (eg. tauri-plugin-http)
├── frontend/ # Nx typescript monorepo for the Tauri desktop app frontend

68
Cargo.lock generated
View File

@ -184,11 +184,12 @@ name = "artcraft_client"
version = "0.0.1"
dependencies = [
"anyhow",
"artcraft_enums",
"artcraft_tokens",
"backoff",
"chrono",
"cloudflare_errors",
"cookie",
"enums",
"errors",
"log",
"mimetypes",
@ -197,7 +198,6 @@ dependencies = [
"serde_derive",
"serde_json",
"sqlite_identifiers",
"tokens",
"tokio",
"url",
"url-builder",
@ -206,12 +206,41 @@ dependencies = [
"workspace-build-acceleration",
]
[[package]]
name = "artcraft_enums"
version = "0.0.1"
dependencies = [
"log",
"regex",
"serde",
"serde_derive",
"serde_json",
"strum",
"toml 1.0.7+spec-1.1.0",
"workspace-build-acceleration",
]
[[package]]
name = "artcraft_tokens"
version = "0.0.1"
dependencies = [
"once_cell",
"rand 0.8.5",
"serde",
"serde_derive",
"serde_json",
"strum",
"workspace-build-acceleration",
]
[[package]]
name = "artcraftx"
version = "0.0.1"
dependencies = [
"anyhow",
"artcraft_client",
"artcraft_enums",
"artcraft_tokens",
"base64 0.22.1",
"build_metadata",
"bytes",
@ -220,7 +249,6 @@ dependencies = [
"directories",
"dirs",
"discord-rich-presence",
"enums",
"errors",
"fal_client",
"filesys",
@ -256,7 +284,6 @@ dependencies = [
"tauri-plugin-upload",
"tempdir",
"tempfile",
"tokens",
"tokio",
"tokio-util",
"toml 1.0.7+spec-1.1.0",
@ -1754,20 +1781,6 @@ dependencies = [
"syn 2.0.117",
]
[[package]]
name = "enums"
version = "0.0.1"
dependencies = [
"log",
"regex",
"serde",
"serde_derive",
"serde_json",
"strum",
"toml 1.0.7+spec-1.1.0",
"workspace-build-acceleration",
]
[[package]]
name = "env"
version = "1.0.1"
@ -5471,7 +5484,8 @@ version = "0.0.1"
dependencies = [
"anyhow",
"artcraft_client",
"enums",
"artcraft_enums",
"artcraft_tokens",
"fal_client",
"gmicloud_client",
"grok_api_client",
@ -5485,7 +5499,6 @@ dependencies = [
"strum",
"test_data",
"test_utils",
"tokens",
"tokio",
"url_utils",
"uuid 1.22.0",
@ -6339,7 +6352,6 @@ version = "0.0.1"
dependencies = [
"anyhow",
"chrono",
"enums",
"errors",
"log",
"once_cell",
@ -6350,7 +6362,6 @@ dependencies = [
"sqlite_identifiers",
"sqlx",
"tempfile",
"tokens",
"workspace-build-acceleration",
]
@ -7353,19 +7364,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokens"
version = "0.0.1"
dependencies = [
"once_cell",
"rand 0.8.5",
"serde",
"serde_derive",
"serde_json",
"strum",
"workspace-build-acceleration",
]
[[package]]
name = "tokio"
version = "1.50.0"

View File

@ -13,7 +13,7 @@ members = [
"crates/api_clients/grok_consumer_client",
"crates/api_clients/midjourney_client",
"crates/api_clients/openai_sora_client",
"crates/api_clients/router",
"crates/router",
"crates/api_clients/seedance2pro_client",
"crates/api_clients/worldlabs_api_client",
"crates/api_clients/worldlabs_consumer_client",
@ -22,7 +22,7 @@ members = [
"crates/artcraftx",
# Strongly-typed identifiers for non-database entities
"crates/identifiers",
"crates/schema/identifiers",
# Shared libraries
"crates/lib/build_metadata",
@ -43,12 +43,12 @@ members = [
"crates/lib/uuid_utils",
# Local task storage (SQLite, embedded migrations)
"crates/sqlite_database",
"crates/sqlite_identifiers",
"crates/schema/sqlite_database",
"crates/schema/sqlite_identifiers",
# Schema (public): common strongly-typed tokens, ids, payloads, etc.
"crates/schema/public/enums",
"crates/schema/public/tokens",
"crates/schema/artcraft_enums",
"crates/schema/artcraft_tokens",
# Testing code
"crates/testing/test_data",
@ -89,7 +89,7 @@ build_metadata = { path = "crates/lib/build_metadata" }
cloudflare_errors = { path = "crates/lib/cloudflare_errors" }
cloudflare_mitigation = { path = "crates/lib/cloudflare_mitigation" }
cookie_store = { path = "crates/lib/cookie_store" }
enums = { path = "crates/schema/public/enums" }
artcraft_enums = { path = "crates/schema/artcraft_enums" }
errors = { path = "crates/lib/errors" }
fal_client = { path = "crates/api_clients/fal_client" }
file_to_base64_url = { path = "crates/lib/files/file_to_base64_url" }
@ -98,7 +98,7 @@ gmicloud_client = { path = "crates/api_clients/gmicloud_client" }
grok_api_client = { path = "crates/api_clients/grok_api_client" }
grok_consumer_client = { path = "crates/api_clients/grok_consumer_client" }
http_headers = { path = "crates/lib/http_headers" }
identifiers = { path = "crates/identifiers" }
identifiers = { path = "crates/schema/identifiers" }
images = { path = "crates/lib/files/images" }
jwt_light = { path = "crates/lib/jwt_light" }
memory_store = { path = "crates/lib/caching/memory_store" }
@ -106,13 +106,13 @@ midjourney_client = { path = "crates/api_clients/midjourney_client" }
mimetypes = { path = "crates/lib/files/mimetypes" }
openai_sora_client = { path = "crates/api_clients/openai_sora_client" }
primitives = { path = "crates/lib/data/primitives" }
router = { path = "crates/api_clients/router" }
router = { path = "crates/router" }
seedance2pro_client = { path = "crates/api_clients/seedance2pro_client" }
sqlite_database = { path = "crates/sqlite_database" }
sqlite_identifiers = { path = "crates/sqlite_identifiers" }
sqlite_database = { path = "crates/schema/sqlite_database" }
sqlite_identifiers = { path = "crates/schema/sqlite_identifiers" }
test_data = { path = "crates/testing/test_data" }
test_utils = { path = "crates/testing/test_utils" }
tokens = { path = "crates/schema/public/tokens" }
artcraft_tokens = { path = "crates/schema/artcraft_tokens" }
url_utils = { path = "crates/lib/url_utils" }
uuid_utils = { path = "crates/lib/uuid_utils" }
web_base64 = { path = "crates/lib/data/web_base64" }

View File

@ -51,6 +51,8 @@ helpers go in the parent `mod tests` so sub-modules can `use super::*`.
- `router` — provider routing for image/video generation (Artcraft, Fal, Seedance2Pro)
- `artcraft_client` — HTTP client for the Artcraft/Storyteller API, including the API type definitions (`artcraft_client::api_defs`)
- `seedance2pro_client` — HTTP client for the Kinovi/Seedance2Pro video generation service
- `enums` — enum variants stored as strings
- `tokens` — identifiers with Stripe-like prefixes (e.g. `user_`, `mf_`)
- `artcraft_enums` — enum variants stored as strings
- `artcraft_tokens` — identifiers with Stripe-like prefixes (e.g. `user_`, `mf_`)
- `identifiers` — the desktop app's own IDs (e.g. `credential_{ulid}`)
- `sqlite_database` — SQLx queries + embedded migrations for the desktop app's local task database
- `sqlite_identifiers` — enums and IDs used in sqlite queries as enums or keys

View File

@ -24,12 +24,12 @@ workspace-build-acceleration.workspace = true
# Internal
cloudflare_errors.workspace = true
enums.workspace = true
artcraft_enums.workspace = true
errors.workspace = true
uuid_utils.workspace = true
mimetypes.workspace = true
sqlite_identifiers.workspace = true
tokens.workspace = true
artcraft_tokens.workspace = true
# External
anyhow.workspace = true

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::app_session::AppSessionToken;
use artcraft_tokens::tokens::app_session::AppSessionToken;
/// This is used in Artcraft versions 0.0.1 (several) through 0.3.0
/// Clients to this version do not send generation count data (even if the endpoint supports it).

View File

@ -1,8 +1,8 @@
use chrono::{DateTime, Utc};
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::api_keys::ApiKeyToken;
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::api_keys::ApiKeyToken;
use artcraft_tokens::tokens::users::UserToken;
/// Canonical wire shape for an API key, used by the list rows and the
/// single-key GET.

View File

@ -1,6 +1,6 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::api_keys::ApiKeyToken;
use artcraft_tokens::tokens::api_keys::ApiKeyToken;
// ── POST /v1/api_keys/create ──

View File

@ -1,7 +1,7 @@
use serde_derive::{Deserialize, Serialize};
use enums::common::generation::common_model_type::CommonModelType;
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_enums::common::generation::common_model_type::CommonModelType;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
/// Request body for creating a character.

View File

@ -1,6 +1,6 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::characters::CharacterToken;
use artcraft_tokens::tokens::characters::CharacterToken;
/// Path parameters for deleting a character.
#[derive(Deserialize)]

View File

@ -1,6 +1,6 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::characters::CharacterToken;
use artcraft_tokens::tokens::characters::CharacterToken;
/// Request body for editing a character.
#[derive(Deserialize)]

View File

@ -1,8 +1,8 @@
use serde_derive::{Deserialize, Serialize};
use crate::api_defs::common::responses::media_links::MediaLinks;
use enums::common::generation::common_model_type::CommonModelType;
use tokens::tokens::characters::CharacterToken;
use artcraft_enums::common::generation::common_model_type::CommonModelType;
use artcraft_tokens::tokens::characters::CharacterToken;
/// Path parameters for getting a character.
#[derive(Deserialize)]

View File

@ -1,8 +1,8 @@
use serde_derive::{Deserialize, Serialize};
use crate::api_defs::common::responses::media_links::MediaLinks;
use enums::common::generation::common_model_type::CommonModelType;
use tokens::tokens::characters::CharacterToken;
use artcraft_enums::common::generation::common_model_type::CommonModelType;
use artcraft_tokens::tokens::characters::CharacterToken;
/// Query string parameters for listing characters.
#[derive(Deserialize)]

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
/// Everything we need to refer to a user on the public web interface.
#[derive(Serialize, Deserialize, Debug)]

View File

@ -2,11 +2,11 @@ use chrono::{DateTime, Utc};
use serde_derive::{Deserialize, Serialize};
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 artcraft_enums::by_table::media_files::media_file_class::MediaFileClass;
use artcraft_enums::by_table::media_files::media_file_type::MediaFileType;
use artcraft_tokens::tokens::folders::FolderToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
// NB: The "folder media file" list-item shape lives in storyteller_web
// (see `endpoints/folders/media_files/list_folder_media_files_handler.rs`)

View File

@ -1,6 +1,6 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::folders::FolderToken;
use artcraft_tokens::tokens::folders::FolderToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
use crate::api_defs::folders::common::FolderInfo;

View File

@ -1,7 +1,7 @@
use serde_derive::{Deserialize, Serialize};
use enums::by_table::media_files::media_file_class::MediaFileClass;
use tokens::tokens::folders::FolderToken;
use artcraft_enums::by_table::media_files::media_file_class::MediaFileClass;
use artcraft_tokens::tokens::folders::FolderToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
// ── GET /v1/folders/media_files/{folder_token} ──

View File

@ -1,6 +1,6 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::folders::FolderToken;
use artcraft_tokens::tokens::folders::FolderToken;
use crate::api_defs::folders::common::FolderInfo;

View File

@ -1,9 +1,9 @@
use serde::{Deserialize, Serialize};
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 artcraft_enums::common::generation::common_aspect_ratio::CommonAspectRatio;
use artcraft_enums::common::generation::common_image_model::CommonImageModel;
use artcraft_enums::common::generation::common_quality::CommonQuality;
use artcraft_enums::common::generation::common_resolution::CommonResolution;
use sqlite_identifiers::enums::generation_provider::GenerationProvider;
pub const ESTIMATE_IMAGE_COST_PATH: &str = "/v1/generate/cost_estimate/image";

View File

@ -1,6 +1,6 @@
use serde::{Deserialize, Serialize};
use enums::common::generation::common_splat_model::CommonSplatModel;
use artcraft_enums::common::generation::common_splat_model::CommonSplatModel;
use sqlite_identifiers::enums::generation_provider::GenerationProvider;
pub const ESTIMATE_SPLAT_COST_PATH: &str = "/v1/generate/cost_estimate/splat";

View File

@ -1,8 +1,8 @@
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 artcraft_enums::common::generation::common_aspect_ratio::CommonAspectRatio;
use artcraft_enums::common::generation::common_video_model::CommonVideoModel;
use artcraft_enums::common::generation::common_resolution::CommonResolution;
use sqlite_identifiers::enums::generation_provider::GenerationProvider;
pub const ESTIMATE_VIDEO_COST_PATH: &str = "/v1/generate/cost_estimate/video";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const FLUX_2_LORA_EDIT_IMAGE_ANGLE_PATH: &str = "/v1/generate/image/angle/flux_2_lora";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const QWEN_EDIT_2511_EDIT_IMAGE_ANGLE_PATH: &str = "/v1/generate/image/angle/qwen_edit_2511";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const REMOVE_IMAGE_BACKGROUND_PATH: &str = "/v1/generate/image/remove_background";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const FLUX_PRO_KONTEXT_MAX_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/flux_pro_kontext_max";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const GEMINI_25_FLASH_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/gemini_25_flash";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const GPT_IMAGE_1_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/gpt_image_1";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const QWEN_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/qwen";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const SEEDEDIT_3_EDIT_IMAGE_PATH: &str = "/v1/generate/image/edit/seededit_3";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const FLUX_DEV_JUGGERNAUT_INPAINT_PATH: &str = "/v1/generate/image/inpaint/flux_dev_juggernaut";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const FLUX_PRO_1_INPAINT_PATH: &str = "/v1/generate/image/inpaint/flux_pro_1";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const BYTEDANCE_SEEDREAM_V4_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/bytedance_seedream_4";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const BYTEDANCE_SEEDREAM_V4P5_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/bytedance_seedream_4p5";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const GPT_IMAGE_1P5_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/gpt_image_1p5";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const NANO_BANANA_2_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/nano_banana_2";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const NANO_BANANA_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/nano_banana";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const NANO_BANANA_PRO_MULTI_FUNCTION_IMAGE_GEN_PATH: &str = "/v1/generate/image/multi_function/nano_banana_pro";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const GEMINI_25_FLASH_EDIT_IMAGE_PATH: &str = "/v1/generate/image/gemini_25_flash";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
pub const GENERATE_FLUX_1_DEV_TEXT_TO_IMAGE_PATH: &str = "/v1/generate/image/flux_1_dev_text_to_image";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
pub const GENERATE_FLUX_1_SCHNELL_TEXT_TO_IMAGE_PATH: &str = "/v1/generate/image/flux_1_schnell_text_to_image";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
pub const GENERATE_FLUX_PRO_11_TEXT_TO_IMAGE_PATH: &str = "/v1/generate/image/flux_pro_1.1_text_to_image";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
pub const GENERATE_FLUX_PRO_11_ULTRA_TEXT_TO_IMAGE_PATH: &str = "/v1/generate/image/flux_pro_1.1_ultra_text_to_image";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const GPT_IMAGE_1_TEXT_TO_IMAGE_PATH: &str = "/v1/generate/image/gpt_image_1_text_to_image";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const HUNYUAN3D_V3_MULTI_FUNCTION_OBJECT_GEN_PATH: &str = "/v1/generate/object/multi_function/hunyuan3d_v3";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const GENERATE_WORLDLABS_MARBLE_0P1_MINI_SPLAT_URL_PATH: &str = "/v1/generate/splat/worldlabs_marble_0p1_mini";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const GENERATE_WORLDLABS_MARBLE_0P1_PLUS_SPLAT_URL_PATH: &str = "/v1/generate/splat/worldlabs_marble_0p1_plus";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const BEEBLE_SWITCHX_EDIT_VIDEO_PATH: &str = "/v1/generate/video/edit/beeble_switchx";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const GENERATE_VEO_2_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/veo_2_image_to_video";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const GENERATE_VEO_3_IMAGE_TO_VIDEO_URL_PATH: &str = "/v1/generate/video/veo_3_image_to_video";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::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";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const KLING_2P6_PRO_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/kling_2p6_pro";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const KLING_3P0_PRO_MULTI_FUNCTION_VIDEO_PATH: &str = "/v1/generate/video/multi_function/kling_3p0_pro";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const KLING_3P0_STANDARD_MULTI_FUNCTION_VIDEO_PATH: &str = "/v1/generate/video/multi_function/kling_3p0_standard";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const SEEDANCE_1P5_PRO_MULTI_FUNCTION_VIDEO_GEN_PATH: &str = "/v1/generate/video/multi_function/seedance_1p5_pro";

View File

@ -1,6 +1,6 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::characters::CharacterToken;
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::characters::CharacterToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const SEEDANCE_2P0_MULTI_FUNCTION_VIDEO_GEN_PATH: &str = "/v1/generate/video/multi_function/seedance_2p0";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const SORA_2_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/sora_2";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const SORA_2_PRO_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/sora_2_pro";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const VEO_3P1_FAST_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/veo_3p1_fast";

View File

@ -1,5 +1,5 @@
use serde::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
pub const VEO_3P1_MULTI_FUNCTION_VIDEO_VIDEO_PATH: &str = "/v1/generate/video/multi_function/veo_3p1";

View File

@ -1,15 +1,15 @@
use crate::api_defs::common::responses::job_details::{JobDetailsLipsyncRequest, JobDetailsLivePortraitRequest};
use crate::api_defs::common::responses::media_links::MediaLinks;
use chrono::{DateTime, Utc};
use enums::api_safe::by_table::generic_inference_jobs::frontend_failure_category_for_api_clients::FrontendFailureCategoryForApiClients;
use enums::api_safe::by_table::generic_inference_jobs::frontend_failure_category_for_old_clients::FrontendFailureCategoryForOldClients;
use enums::by_table::generic_inference_jobs::inference_category::InferenceCategory;
use enums::common::job_status_plus::JobStatusPlus;
use enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
use artcraft_enums::api_safe::by_table::generic_inference_jobs::frontend_failure_category_for_api_clients::FrontendFailureCategoryForApiClients;
use artcraft_enums::api_safe::by_table::generic_inference_jobs::frontend_failure_category_for_old_clients::FrontendFailureCategoryForOldClients;
use artcraft_enums::by_table::generic_inference_jobs::inference_category::InferenceCategory;
use artcraft_enums::common::job_status_plus::JobStatusPlus;
use artcraft_enums::no_table::style_transfer::style_transfer_name::StyleTransferName;
use serde::Deserialize;
use serde::Serialize;
use sqlite_identifiers::ids::batch_generation_token::BatchGenerationToken;
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::prompt_token::PromptToken;
pub const LIST_SESSION_JOBS_URL_PATH: &str = "/v1/jobs/session";

View File

@ -4,9 +4,9 @@
use chrono::{DateTime, Utc};
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 artcraft_enums::by_table::media_files::media_file_class::MediaFileClass;
use artcraft_enums::by_table::media_files::media_file_type::MediaFileType;
use artcraft_enums::common::visibility::Visibility;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
use sqlite_identifiers::ids::prompt_token::PromptToken;

View File

@ -2,9 +2,9 @@ use crate::api_defs::common::responses::media_file_cover_image_details::MediaFil
use crate::api_defs::common::responses::media_links::MediaLinks;
use crate::api_defs::common::responses::user_details_light::UserDetailsLight;
use chrono::{DateTime, Utc};
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 artcraft_enums::by_table::media_files::media_file_class::MediaFileClass;
use artcraft_enums::by_table::media_files::media_file_type::MediaFileType;
use artcraft_enums::common::visibility::Visibility;
use serde_derive::{Deserialize, Serialize};
use sqlite_identifiers::ids::batch_generation_token::BatchGenerationToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;

View File

@ -1,10 +1,10 @@
use chrono::{DateTime, Utc};
use serde_derive::{Deserialize, Serialize};
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 artcraft_enums::by_table::media_files::media_file_class::MediaFileClass;
use artcraft_enums::by_table::media_files::media_file_project_type::MediaFileProjectType;
use artcraft_enums::by_table::media_files::media_file_type::MediaFileType;
use artcraft_enums::common::visibility::Visibility;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
use crate::api_defs::common::responses::media_file_cover_image_details::MediaFileCoverImageDetails;

View File

@ -1,10 +1,10 @@
use chrono::{DateTime, Utc};
use serde_derive::Serialize;
use enums::by_table::debug_logs::debug_log_level::DebugLogLevel;
use enums::by_table::debug_logs::debug_log_type::DebugLogType;
use tokens::tokens::non_unique::debug_logs_event_token::DebugLogEventToken;
use tokens::tokens::users::UserToken;
use artcraft_enums::by_table::debug_logs::debug_log_level::DebugLogLevel;
use artcraft_enums::by_table::debug_logs::debug_log_type::DebugLogType;
use artcraft_tokens::tokens::non_unique::debug_logs_event_token::DebugLogEventToken;
use artcraft_tokens::tokens::users::UserToken;
/// A single debug log row.
/// Shared by the moderation debug-log list endpoints.

View File

@ -1,11 +1,11 @@
use chrono::{DateTime, Utc};
use serde_derive::{Deserialize, Serialize};
use enums::by_table::debug_logs::debug_log_level::DebugLogLevel;
use enums::by_table::debug_logs::debug_log_type::DebugLogType;
use enums::error::enum_error::EnumError;
use tokens::tokens::non_unique::debug_logs_event_token::DebugLogEventToken;
use tokens::tokens::users::UserToken;
use artcraft_enums::by_table::debug_logs::debug_log_level::DebugLogLevel;
use artcraft_enums::by_table::debug_logs::debug_log_type::DebugLogType;
use artcraft_enums::error::enum_error::EnumError;
use artcraft_tokens::tokens::non_unique::debug_logs_event_token::DebugLogEventToken;
use artcraft_tokens::tokens::users::UserToken;
use crate::api_defs::moderation::debug_logs::debug_log_entry::ModerationDebugLogUser;

View File

@ -1,6 +1,6 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::non_unique::debug_logs_event_token::DebugLogEventToken;
use artcraft_tokens::tokens::non_unique::debug_logs_event_token::DebugLogEventToken;
use crate::api_defs::moderation::debug_logs::debug_log_entry::ModerationDebugLogEntry;

View File

@ -1,6 +1,6 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
use crate::api_defs::moderation::debug_logs::debug_log_entry::ModerationDebugLogEntry;

View File

@ -1,12 +1,12 @@
use chrono::{DateTime, Utc};
use enums::by_table::generic_inference_jobs::inference_job_external_third_party::InferenceJobExternalThirdParty;
use enums::by_table::wallet_ledger_entries::wallet_ledger_entry_type::WalletLedgerEntryType;
use enums::common::job_status_plus::JobStatusPlus;
use artcraft_enums::by_table::generic_inference_jobs::inference_job_external_third_party::InferenceJobExternalThirdParty;
use artcraft_enums::by_table::wallet_ledger_entries::wallet_ledger_entry_type::WalletLedgerEntryType;
use artcraft_enums::common::job_status_plus::JobStatusPlus;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::generic_inference_jobs::InferenceJobToken;
use artcraft_tokens::tokens::generic_inference_jobs::InferenceJobToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
use tokens::tokens::users::UserToken;
use tokens::tokens::wallet_ledger_entries::WalletLedgerEntryToken;
use artcraft_tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::wallet_ledger_entries::WalletLedgerEntryToken;
pub const LIST_USER_JOBS_PATH: &str = "/v1/moderation/jobs/user/{user_token}/list";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_LIST_TOP_SPENDERS_PATH: &str =
"/v1/moderation/top_spenders/list";

View File

@ -1,8 +1,8 @@
use chrono::{DateTime, Utc};
use enums::by_table::users::user_signup_method::UserSignupMethod;
use enums::by_table::users::user_signup_source::UserSignupSource;
use artcraft_enums::by_table::users::user_signup_method::UserSignupMethod;
use artcraft_enums::by_table::users::user_signup_source::UserSignupSource;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_LIST_SUBSCRIBING_USERS_BY_SIGNUP_DATE_PATH: &str = "/v1/moderation/users/list_subscribers_by_signup_date";

View File

@ -1,8 +1,8 @@
use chrono::{DateTime, Utc};
use enums::by_table::users::user_signup_method::UserSignupMethod;
use enums::by_table::users::user_signup_source::UserSignupSource;
use artcraft_enums::by_table::users::user_signup_method::UserSignupMethod;
use artcraft_enums::by_table::users::user_signup_source::UserSignupSource;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_LIST_USERS_BY_SIGNUP_DATE_PATH: &str = "/v1/moderation/users/list_all_by_signup_date";

View File

@ -1,7 +1,7 @@
use chrono::{DateTime, Utc};
use serde_derive::{Deserialize, Serialize};
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_USER_LOOKUP_PATH: &str = "/v1/moderation/users/lookup";

View File

@ -1,6 +1,6 @@
use enums::common::payments_namespace::PaymentsNamespace;
use artcraft_enums::common::payments_namespace::PaymentsNamespace;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_USER_LOOKUP_BY_STRIPE_CUSTOMER_ID_PATH: &str = "/v1/moderation/users/lookup_by_stripe_customer_id";

View File

@ -1,6 +1,6 @@
use chrono::{DateTime, NaiveDate, Utc};
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_USER_DAILY_SPENDS_PATH: &str =
"/v1/moderation/user_daily_spends/user/{user_token}";

View File

@ -1,7 +1,7 @@
use chrono::{DateTime, Utc};
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::user_referral_codes::UserReferralCodeToken;
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::user_referral_codes::UserReferralCodeToken;
use artcraft_tokens::tokens::users::UserToken;
// --- Request ---

View File

@ -1,7 +1,7 @@
use chrono::{DateTime, Utc};
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::user_spend_events::UserSpendEventToken;
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::user_spend_events::UserSpendEventToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_LIST_USER_SPEND_EVENTS_PATH: &str =
"/v1/moderation/user_spend_events/list";

View File

@ -1,6 +1,6 @@
use chrono::{DateTime, Utc};
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_GET_USER_SPEND_SUMMARY_PATH: &str =
"/v1/moderation/user_spend_summaries/summary/{user_token}";

View File

@ -1,6 +1,6 @@
use chrono::{DateTime, Utc};
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_REENGAGEMENT_LIST_PATH: &str =
"/v1/moderation/user_spend_summaries/reengagement_list";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_TOP_USERS_LIST_PATH: &str =
"/v1/moderation/user_spend_summaries/top_users_list";

View File

@ -1,6 +1,6 @@
use enums::common::payments_namespace::PaymentsNamespace;
use artcraft_enums::common::payments_namespace::PaymentsNamespace;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::users::UserToken;
pub const MODERATOR_GET_USER_STRIPE_CUSTOMER_IDS_PATH: &str =
"/v1/moderation/user_stripe_data/{user_token}/customer_ids";

View File

@ -1,8 +1,8 @@
use chrono::{DateTime, Utc};
use enums::by_table::wallet_ledger_entries::wallet_ledger_entry_type::WalletLedgerEntryType;
use artcraft_enums::by_table::wallet_ledger_entries::wallet_ledger_entry_type::WalletLedgerEntryType;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::wallet_ledger_entries::WalletLedgerEntryToken;
use tokens::tokens::wallets::WalletToken;
use artcraft_tokens::tokens::wallet_ledger_entries::WalletLedgerEntryToken;
use artcraft_tokens::tokens::wallets::WalletToken;
pub const LIST_WALLET_LEDGER_ENTRIES_BY_WALLET_PATH: &str = "/v1/moderation/wallet_ledger_entries/wallet/{wallet_token}/list";

View File

@ -1,7 +1,7 @@
use chrono::{DateTime, Utc};
use enums::by_table::wallet_ledger_entries::wallet_ledger_entry_type::WalletLedgerEntryType;
use artcraft_enums::by_table::wallet_ledger_entries::wallet_ledger_entry_type::WalletLedgerEntryType;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::wallet_ledger_entries::WalletLedgerEntryToken;
use artcraft_tokens::tokens::wallet_ledger_entries::WalletLedgerEntryToken;
pub const MODERATOR_GET_WALLET_LEDGER_ENTRY_PATH: &str = "/v1/moderation/wallet_ledger_entry/{wallet_ledger_entry_token}";

View File

@ -1,8 +1,8 @@
use chrono::{DateTime, Utc};
use enums::common::payments_namespace::PaymentsNamespace;
use artcraft_enums::common::payments_namespace::PaymentsNamespace;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use tokens::tokens::wallets::WalletToken;
use artcraft_tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::wallets::WalletToken;
pub const LIST_USER_WALLETS_PATH: &str = "/v1/moderation/wallets/user/{user_token}/list";

View File

@ -1,5 +1,5 @@
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::wallets::WalletToken;
use artcraft_tokens::tokens::wallets::WalletToken;
pub const MODERATOR_ADD_BANKED_BALANCE_TO_WALLET_PATH: &str = "/v1/moderation/wallet/{wallet_token}/add_banked_balance";

View File

@ -1,7 +1,7 @@
use enums::common::payments_namespace::PaymentsNamespace;
use artcraft_enums::common::payments_namespace::PaymentsNamespace;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use tokens::tokens::wallets::WalletToken;
use artcraft_tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::wallets::WalletToken;
pub const MODERATOR_CREATE_WALLET_FOR_USER_PATH: &str = "/v1/moderation/wallet/create_for_user";

View File

@ -1,8 +1,8 @@
use chrono::{DateTime, Utc};
use enums::common::payments_namespace::PaymentsNamespace;
use artcraft_enums::common::payments_namespace::PaymentsNamespace;
use serde_derive::{Deserialize, Serialize};
use tokens::tokens::users::UserToken;
use tokens::tokens::wallets::WalletToken;
use artcraft_tokens::tokens::users::UserToken;
use artcraft_tokens::tokens::wallets::WalletToken;
pub const MODERATOR_GET_WALLET_PATH: &str = "/v1/moderation/wallet/{wallet_token}";

View File

@ -1,7 +1,7 @@
use serde_derive::{Deserialize, Serialize};
use enums::common::generation::common_audio_model::CommonAudioModel;
use enums::common::generation::common_musical_key::CommonMusicalKey;
use artcraft_enums::common::generation::common_audio_model::CommonAudioModel;
use artcraft_enums::common::generation::common_musical_key::CommonMusicalKey;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
/// Shared request body for both the audio cost estimate and audio generation endpoints.

View File

@ -1,9 +1,9 @@
use serde_derive::{Deserialize, Serialize};
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 artcraft_enums::common::generation::common_aspect_ratio::CommonAspectRatio;
use artcraft_enums::common::generation::common_image_model::CommonImageModel;
use artcraft_enums::common::generation::common_quality::CommonQuality;
use artcraft_enums::common::generation::common_resolution::CommonResolution;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
/// Shared request body for both the image cost estimate and image generation endpoints.

View File

@ -1,9 +1,9 @@
use serde_derive::{Deserialize, Serialize};
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 artcraft_enums::common::generation::common_mesh_model::CommonMeshModel;
use artcraft_enums::common::generation::common_mesh_output_type::CommonMeshOutputType;
use artcraft_enums::common::generation::common_mesh_quality::CommonMeshQuality;
use artcraft_enums::common::generation::common_polygon_type::CommonPolygonType;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
/// Shared request body for both the mesh cost estimate and mesh generation endpoints.

View File

@ -1,6 +1,6 @@
use serde_derive::{Deserialize, Serialize};
use enums::common::generation::common_splat_model::CommonSplatModel;
use artcraft_enums::common::generation::common_splat_model::CommonSplatModel;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
/// Shared request body for both the splat cost estimate and splat generation endpoints.

View File

@ -1,11 +1,11 @@
use serde_derive::{Deserialize, Serialize};
use enums::common::generation::common_aspect_ratio::CommonAspectRatio;
use enums::common::generation::common_bitrate::CommonBitrate;
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 artcraft_enums::common::generation::common_aspect_ratio::CommonAspectRatio;
use artcraft_enums::common::generation::common_bitrate::CommonBitrate;
use artcraft_enums::common::generation::common_quality::CommonQuality;
use artcraft_enums::common::generation::common_resolution::CommonResolution;
use artcraft_enums::common::generation::common_video_model::CommonVideoModel;
use artcraft_tokens::tokens::characters::CharacterToken;
use sqlite_identifiers::ids::media_file_token::MediaFileToken;
/// Shared request body for both the video cost estimate and video generation endpoints.

Some files were not shown because too many files have changed in this diff Show More