File size: 1,068 Bytes
2887ce2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use serde::{Deserialize, Serialize};

use crate::app::model::{PageContent, UsageCheck, VisionAbility};

#[derive(Serialize)]
pub struct ConfigData {
    pub page_content: Option<PageContent>,
    pub enable_stream_check: bool,
    pub include_stop_stream: bool,
    pub vision_ability: VisionAbility,
    pub enable_slow_pool: bool,
    pub enable_all_claude: bool,
    pub check_usage_models: UsageCheck,
}

#[derive(Deserialize)]
pub struct ConfigUpdateRequest {
    #[serde(default)]
    pub action: String, // "get", "update", "reset"
    #[serde(default)]
    pub path: String,
    #[serde(default)]
    pub content: Option<PageContent>, // "default", "text", "html"
    #[serde(default)]
    pub enable_stream_check: Option<bool>,
    #[serde(default)]
    pub include_stop_stream: Option<bool>,
    #[serde(default)]
    pub vision_ability: Option<VisionAbility>,
    #[serde(default)]
    pub enable_slow_pool: Option<bool>,
    #[serde(default)]
    pub enable_all_claude: Option<bool>,
    #[serde(default)]
    pub check_usage_models: Option<UsageCheck>,
}