use serde::{Deserialize, Serialize}; use crate::app::model::{PageContent, UsageCheck, VisionAbility, Proxies}; #[derive(Serialize)] pub struct ConfigData { pub page_content: Option, pub vision_ability: VisionAbility, pub enable_slow_pool: bool, pub enable_all_claude: bool, pub usage_check_models: UsageCheck, pub enable_dynamic_key: bool, #[serde(skip_serializing_if = "String::is_empty")] pub share_token: String, pub proxies: Proxies, pub include_web_references: bool, } #[derive(Deserialize, Default)] #[serde(default)] pub struct ConfigUpdateRequest { pub action: String, // "get", "update", "reset" pub path: String, pub content: Option, // "default", "text", "html" pub vision_ability: Option, pub enable_slow_pool: Option, pub enable_all_claude: Option, pub usage_check_models: Option, pub enable_dynamic_key: Option, pub share_token: Option, pub proxies: Option, pub include_web_references: Option, }