diff --git a/.claude/rules/code-style.md b/.claude/rules/code-style.md index 2afc76a48b..0d1c7c41cf 100644 --- a/.claude/rules/code-style.md +++ b/.claude/rules/code-style.md @@ -7,7 +7,10 @@ - `#[macro_use] extern crate serde_derive;` is used in binary crates; library crates use `use serde_derive::{Serialize, Deserialize};` - Never use `println!` or `eprintln!` outside of tests; use `log` crate macros (`info!`, `warn!`, `error!`, `debug!`, `trace!`) instead - Use `anyhow::Result` / `AnyhowResult` for fallible functions in application code; new database queries should use `Result` instead -- SQLx queries: prefer `sqlx::query!` and `sqlx::query_as!` compile-time checked macros over runtime `sqlx::query()` / `sqlx::query_as()`. The macros catch SQL typos, column mismatches, and type errors at build time. Use runtime queries only when the table isn't in the offline cache yet. +- SQLx queries: prefer `sqlx::query!` and `sqlx::query_as!` compile-time checked macros over + runtime `sqlx::query()` / `sqlx::query_as()`. The macros catch SQL typos, column mismatches, + and type errors at build time. Use runtime queries only when assembling complicated + dynamic/branching queries that cannot be expressed as a compile-time macro. - Enum Display/Debug: use `impl_enum_display_and_debug_using_to_str!` macro, not `derive_more::Display` (CLion doesn't understand it) - Fields that are optional use the `maybe_` prefix: `maybe_creator_user_token`, `maybe_prompt_token` - When implementing `fmt::Display` for error types, use the pattern: `write!(f, "{:?}", self)` diff --git a/crates/service/web/storyteller_web/src/docs/api_doc.rs b/crates/service/web/storyteller_web/src/docs/api_doc.rs index abc15ee76a..98ae8ea065 100644 --- a/crates/service/web/storyteller_web/src/docs/api_doc.rs +++ b/crates/service/web/storyteller_web/src/docs/api_doc.rs @@ -86,6 +86,7 @@ use crate::http_server::endpoints::media_files::upsert_upload::write_error::Medi use crate::http_server::endpoints::media_files::upsert_upload::write_scene_file::write_scene_file_media_file_handler::*; use crate::http_server::endpoints::model_download::enqueue_gptsovits_model_download_handler::*; use crate::http_server::endpoints::moderation::user_feature_flags::edit_user_feature_flags_handler::*; +use crate::http_server::endpoints::moderation::user_sessions::moderator_user_session_impersonation_request_handler::*; use crate::http_server::endpoints::prompts::get_prompt_handler::*; use artcraft_api_defs::common::responses::job_details::JobDetailsLipsyncRequest; use artcraft_api_defs::common::responses::job_details::JobDetailsLivePortraitRequest; @@ -507,6 +508,7 @@ use crate::http_server::endpoints::media_files::list::list_batch_generated_redux crate::http_server::endpoints::moderation::wallets::moderator_add_banked_balance_to_wallet_handler::moderator_add_banked_balance_to_wallet_handler, crate::http_server::endpoints::moderation::wallets::moderator_create_wallet_for_user_handler::moderator_create_wallet_for_user_handler, crate::http_server::endpoints::moderation::wallets::moderator_get_wallet_handler::moderator_get_wallet_handler, + crate::http_server::endpoints::moderation::user_sessions::moderator_user_session_impersonation_request_handler::moderator_user_session_impersonation_request_handler, // Credits crate::http_server::endpoints::credits::get_session_credits_handler::get_session_credits_handler, // Subscriptions @@ -931,6 +933,8 @@ use crate::http_server::endpoints::media_files::list::list_batch_generated_redux MediaFilesByBatchListItem, ModelWeightForList, ModelWeightSearchResult, + ModerationImpersonateRequest, + ModerationImpersonateSuccessResponse, ModernInferenceQueueStats, PinnedMediaFile, PinnedModelWeightForList,