open_lark/service/search/v2/
models.rs

1use serde::{Deserialize, Serialize};
2
3/// 搜索消息请求
4#[derive(Debug, Serialize, Deserialize)]
5pub struct SearchMessageRequest {
6    /// 搜索关键字
7    pub query: String,
8    /// 分页大小,默认20,最大200
9    #[serde(skip_serializing_if = "Option::is_none")]
10    pub page_size: Option<i32>,
11    /// 分页token
12    #[serde(skip_serializing_if = "Option::is_none")]
13    pub page_token: Option<String>,
14}
15
16/// 搜索应用请求
17#[derive(Debug, Serialize, Deserialize)]
18pub struct SearchAppRequest {
19    /// 搜索关键字
20    pub query: String,
21    /// 分页大小,默认20,最大200
22    #[serde(skip_serializing_if = "Option::is_none")]
23    pub page_size: Option<i32>,
24    /// 分页token
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub page_token: Option<String>,
27}
28
29/// 搜索结果项
30#[derive(Debug, Serialize, Deserialize)]
31pub struct SearchResultItem {
32    /// 结果ID
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub id: Option<String>,
35    /// 标题
36    #[serde(skip_serializing_if = "Option::is_none")]
37    pub title: Option<String>,
38    /// 内容
39    #[serde(skip_serializing_if = "Option::is_none")]
40    pub content: Option<String>,
41    /// 链接
42    #[serde(skip_serializing_if = "Option::is_none")]
43    pub url: Option<String>,
44    /// 创建时间
45    #[serde(skip_serializing_if = "Option::is_none")]
46    pub create_time: Option<String>,
47    /// 更新时间
48    #[serde(skip_serializing_if = "Option::is_none")]
49    pub update_time: Option<String>,
50}
51
52/// 搜索响应
53#[derive(Debug, Serialize, Deserialize)]
54pub struct SearchResponse {
55    /// 搜索结果列表
56    pub items: Vec<SearchResultItem>,
57    /// 是否还有更多数据
58    #[serde(skip_serializing_if = "Option::is_none")]
59    pub has_more: Option<bool>,
60    /// 分页token
61    #[serde(skip_serializing_if = "Option::is_none")]
62    pub page_token: Option<String>,
63}
64
65/// 数据源信息
66#[derive(Debug, Serialize, Deserialize)]
67pub struct DataSource {
68    /// 数据源ID
69    #[serde(skip_serializing_if = "Option::is_none")]
70    pub id: Option<String>,
71    /// 数据源名称
72    #[serde(skip_serializing_if = "Option::is_none")]
73    pub name: Option<String>,
74    /// 数据源描述
75    #[serde(skip_serializing_if = "Option::is_none")]
76    pub description: Option<String>,
77    /// 数据源状态
78    #[serde(skip_serializing_if = "Option::is_none")]
79    pub status: Option<String>,
80    /// 创建时间
81    #[serde(skip_serializing_if = "Option::is_none")]
82    pub create_time: Option<String>,
83    /// 更新时间
84    #[serde(skip_serializing_if = "Option::is_none")]
85    pub update_time: Option<String>,
86}
87
88/// 创建数据源请求
89#[derive(Debug, Serialize, Deserialize)]
90pub struct CreateDataSourceRequest {
91    /// 数据源名称
92    pub name: String,
93    /// 数据源描述
94    #[serde(skip_serializing_if = "Option::is_none")]
95    pub description: Option<String>,
96    /// 数据源配置
97    #[serde(skip_serializing_if = "Option::is_none")]
98    pub config: Option<serde_json::Value>,
99}
100
101/// 更新数据源请求
102#[derive(Debug, Serialize, Deserialize)]
103pub struct UpdateDataSourceRequest {
104    /// 数据源名称
105    #[serde(skip_serializing_if = "Option::is_none")]
106    pub name: Option<String>,
107    /// 数据源描述
108    #[serde(skip_serializing_if = "Option::is_none")]
109    pub description: Option<String>,
110    /// 数据源配置
111    #[serde(skip_serializing_if = "Option::is_none")]
112    pub config: Option<serde_json::Value>,
113}
114
115/// 数据源列表请求
116#[derive(Debug, Serialize, Deserialize)]
117pub struct ListDataSourceRequest {
118    /// 分页大小,默认20,最大100
119    #[serde(skip_serializing_if = "Option::is_none")]
120    pub page_size: Option<i32>,
121    /// 分页token
122    #[serde(skip_serializing_if = "Option::is_none")]
123    pub page_token: Option<String>,
124}
125
126/// 数据源列表响应
127#[derive(Debug, Serialize, Deserialize)]
128pub struct ListDataSourceResponse {
129    /// 数据源列表
130    pub items: Vec<DataSource>,
131    /// 是否还有更多数据
132    #[serde(skip_serializing_if = "Option::is_none")]
133    pub has_more: Option<bool>,
134    /// 分页token
135    #[serde(skip_serializing_if = "Option::is_none")]
136    pub page_token: Option<String>,
137}
138
139/// 数据项
140#[derive(Debug, Serialize, Deserialize)]
141pub struct DataItem {
142    /// 数据项ID
143    #[serde(skip_serializing_if = "Option::is_none")]
144    pub id: Option<String>,
145    /// 标题
146    #[serde(skip_serializing_if = "Option::is_none")]
147    pub title: Option<String>,
148    /// 内容
149    #[serde(skip_serializing_if = "Option::is_none")]
150    pub content: Option<String>,
151    /// 链接
152    #[serde(skip_serializing_if = "Option::is_none")]
153    pub url: Option<String>,
154    /// 数据项属性
155    #[serde(skip_serializing_if = "Option::is_none")]
156    pub properties: Option<serde_json::Value>,
157    /// 创建时间
158    #[serde(skip_serializing_if = "Option::is_none")]
159    pub create_time: Option<String>,
160    /// 更新时间
161    #[serde(skip_serializing_if = "Option::is_none")]
162    pub update_time: Option<String>,
163}
164
165/// 创建数据项请求
166#[derive(Debug, Serialize, Deserialize)]
167pub struct CreateDataItemRequest {
168    /// 数据项ID
169    pub id: String,
170    /// 标题
171    #[serde(skip_serializing_if = "Option::is_none")]
172    pub title: Option<String>,
173    /// 内容
174    #[serde(skip_serializing_if = "Option::is_none")]
175    pub content: Option<String>,
176    /// 链接
177    #[serde(skip_serializing_if = "Option::is_none")]
178    pub url: Option<String>,
179    /// 数据项属性
180    #[serde(skip_serializing_if = "Option::is_none")]
181    pub properties: Option<serde_json::Value>,
182}
183
184/// 批量创建数据项请求
185#[derive(Debug, Serialize, Deserialize)]
186pub struct BatchCreateDataItemRequest {
187    /// 数据项列表
188    pub items: Vec<CreateDataItemRequest>,
189}
190
191/// 数据范式
192#[derive(Debug, Serialize, Deserialize)]
193pub struct Schema {
194    /// 范式ID
195    #[serde(skip_serializing_if = "Option::is_none")]
196    pub id: Option<String>,
197    /// 范式名称
198    #[serde(skip_serializing_if = "Option::is_none")]
199    pub name: Option<String>,
200    /// 范式描述
201    #[serde(skip_serializing_if = "Option::is_none")]
202    pub description: Option<String>,
203    /// 范式定义
204    #[serde(skip_serializing_if = "Option::is_none")]
205    pub definition: Option<serde_json::Value>,
206    /// 创建时间
207    #[serde(skip_serializing_if = "Option::is_none")]
208    pub create_time: Option<String>,
209    /// 更新时间
210    #[serde(skip_serializing_if = "Option::is_none")]
211    pub update_time: Option<String>,
212}
213
214/// 创建数据范式请求
215#[derive(Debug, Serialize, Deserialize)]
216pub struct CreateSchemaRequest {
217    /// 范式名称
218    pub name: String,
219    /// 范式描述
220    #[serde(skip_serializing_if = "Option::is_none")]
221    pub description: Option<String>,
222    /// 范式定义
223    pub definition: serde_json::Value,
224}
225
226/// 更新数据范式请求
227#[derive(Debug, Serialize, Deserialize)]
228pub struct UpdateSchemaRequest {
229    /// 范式名称
230    #[serde(skip_serializing_if = "Option::is_none")]
231    pub name: Option<String>,
232    /// 范式描述
233    #[serde(skip_serializing_if = "Option::is_none")]
234    pub description: Option<String>,
235    /// 范式定义
236    #[serde(skip_serializing_if = "Option::is_none")]
237    pub definition: Option<serde_json::Value>,
238}