rust_cnb/
models.rs

1//! 数据模型定义
2
3use serde::{Deserialize, Serialize};
4
5/// ApiBlob 模型
6#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct ApiBlob {
8    #[serde(skip_serializing_if = "Option::is_none")]
9    pub sha: Option<String>,
10}
11
12/// ApiPatchPullRequest 模型
13#[derive(Debug, Clone, Serialize, Deserialize)]
14pub struct ApiPatchPullRequest {
15    #[serde(skip_serializing_if = "Option::is_none")]
16    pub state: Option<String>,
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub title: Option<String>,
19    #[serde(skip_serializing_if = "Option::is_none")]
20    pub body: Option<String>,
21}
22
23/// ScopeRawItem 模型
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct ScopeRawItem {
26    #[serde(skip_serializing_if = "Option::is_none")]
27    pub code: Option<String>,
28    #[serde(skip_serializing_if = "Option::is_none")]
29    pub values: Option<Vec<String>>,
30    #[serde(skip_serializing_if = "Option::is_none")]
31    pub text: Option<String>,
32}
33
34/// WebGetCommitAnnotationsInBatchForm 模型
35#[derive(Debug, Clone, Serialize, Deserialize)]
36pub struct WebGetCommitAnnotationsInBatchForm {
37    #[serde(skip_serializing_if = "Option::is_none")]
38    pub commit_hashes: Option<Vec<String>>,
39    #[serde(skip_serializing_if = "Option::is_none")]
40    pub keys: Option<Vec<String>>,
41}
42
43/// DtoTransferSlugReq 模型
44#[derive(Debug, Clone, Serialize, Deserialize)]
45pub struct DtoTransferSlugReq {
46    #[serde(skip_serializing_if = "Option::is_none")]
47    pub source: Option<String>,
48    #[serde(skip_serializing_if = "Option::is_none")]
49    pub target: Option<String>,
50}
51
52/// DtoListVulnerabilityOperateForm 模型
53#[derive(Debug, Clone, Serialize, Deserialize)]
54pub struct DtoListVulnerabilityOperateForm {
55    #[serde(skip_serializing_if = "Option::is_none")]
56    pub limit: Option<i64>,
57    #[serde(skip_serializing_if = "Option::is_none")]
58    pub next_query_id: Option<String>,
59}
60
61/// DtoRegistryLevelQuotaRsp 模型
62#[derive(Debug, Clone, Serialize, Deserialize)]
63pub struct DtoRegistryLevelQuotaRsp {
64    #[serde(skip_serializing_if = "Option::is_none")]
65    pub code_repo: Option<serde_json::Value>,
66    #[serde(skip_serializing_if = "Option::is_none")]
67    pub common_registry: Option<serde_json::Value>,
68}
69
70/// DtoUsers 模型
71#[derive(Debug, Clone, Serialize, Deserialize)]
72pub struct DtoUsers {
73    #[serde(skip_serializing_if = "Option::is_none")]
74    pub username: Option<String>,
75    #[serde(skip_serializing_if = "Option::is_none")]
76    pub nickname: Option<String>,
77    #[serde(skip_serializing_if = "Option::is_none")]
78    pub avatar: Option<String>,
79    #[serde(skip_serializing_if = "Option::is_none")]
80    pub r#type: Option<serde_json::Value>,
81    #[serde(skip_serializing_if = "Option::is_none")]
82    pub created_at: Option<String>,
83    #[serde(skip_serializing_if = "Option::is_none")]
84    pub email: Option<String>,
85    #[serde(skip_serializing_if = "Option::is_none")]
86    pub freeze: Option<bool>,
87    #[serde(skip_serializing_if = "Option::is_none")]
88    pub verified: Option<i64>,
89    #[serde(skip_serializing_if = "Option::is_none")]
90    pub id: Option<String>,
91    #[serde(skip_serializing_if = "Option::is_none")]
92    pub verified_expire_in: Option<String>,
93    #[serde(skip_serializing_if = "Option::is_none")]
94    pub locked: Option<bool>,
95}
96
97/// HandlerPullRequestReviewReactionForm 模型
98#[derive(Debug, Clone, Serialize, Deserialize)]
99pub struct HandlerPullRequestReviewReactionForm {
100    #[serde(skip_serializing_if = "Option::is_none")]
101    pub reaction: Option<String>,
102    #[serde(skip_serializing_if = "Option::is_none")]
103    pub scene: Option<String>,
104}
105
106/// OpenapiPostReleaseForm 模型
107#[derive(Debug, Clone, Serialize, Deserialize)]
108pub struct OpenapiPostReleaseForm {
109    #[serde(skip_serializing_if = "Option::is_none")]
110    pub name: Option<String>,
111    #[serde(skip_serializing_if = "Option::is_none")]
112    pub prerelease: Option<bool>,
113    #[serde(skip_serializing_if = "Option::is_none")]
114    pub make_latest: Option<String>,
115    #[serde(skip_serializing_if = "Option::is_none")]
116    pub tag_name: Option<String>,
117    #[serde(skip_serializing_if = "Option::is_none")]
118    pub body: Option<String>,
119    #[serde(skip_serializing_if = "Option::is_none")]
120    pub target_commitish: Option<String>,
121    #[serde(skip_serializing_if = "Option::is_none")]
122    pub draft: Option<bool>,
123}
124
125/// WebGpgPublicKey 模型
126#[derive(Debug, Clone, Serialize, Deserialize)]
127pub struct WebGpgPublicKey {
128    #[serde(skip_serializing_if = "Option::is_none")]
129    pub key_creation_time: Option<String>,
130    #[serde(skip_serializing_if = "Option::is_none")]
131    pub key_id: Option<String>,
132    #[serde(skip_serializing_if = "Option::is_none")]
133    pub created_at: Option<String>,
134    #[serde(skip_serializing_if = "Option::is_none")]
135    pub emails: Option<Vec<serde_json::Value>>,
136    #[serde(skip_serializing_if = "Option::is_none")]
137    pub expired_at: Option<String>,
138    #[serde(skip_serializing_if = "Option::is_none")]
139    pub fingerprint: Option<String>,
140    #[serde(skip_serializing_if = "Option::is_none")]
141    pub is_expired: Option<bool>,
142    #[serde(skip_serializing_if = "Option::is_none")]
143    pub name: Option<String>,
144    #[serde(skip_serializing_if = "Option::is_none")]
145    pub subkeys: Option<Vec<serde_json::Value>>,
146    #[serde(skip_serializing_if = "Option::is_none")]
147    pub public_key: Option<String>,
148    #[serde(skip_serializing_if = "Option::is_none")]
149    pub user_id: Option<String>,
150    #[serde(skip_serializing_if = "Option::is_none")]
151    pub id: Option<String>,
152}
153
154/// WebGroupSpecialGitQuota 模型
155#[derive(Debug, Clone, Serialize, Deserialize)]
156pub struct WebGroupSpecialGitQuota {
157    #[serde(skip_serializing_if = "Option::is_none")]
158    pub max_git_quota_in_kib: Option<String>,
159    #[serde(skip_serializing_if = "Option::is_none")]
160    pub max_git_object_size_limit_in_kib: Option<String>,
161    #[serde(skip_serializing_if = "Option::is_none")]
162    pub lfs_quota_in_kib: Option<String>,
163    #[serde(skip_serializing_if = "Option::is_none")]
164    pub lfs_object_size_limit_in_kib: Option<String>,
165    #[serde(skip_serializing_if = "Option::is_none")]
166    pub max_lfs_quota_in_kib: Option<String>,
167    #[serde(skip_serializing_if = "Option::is_none")]
168    pub slug: Option<String>,
169    #[serde(skip_serializing_if = "Option::is_none")]
170    pub git_object_size_limit_in_kib: Option<String>,
171    #[serde(skip_serializing_if = "Option::is_none")]
172    pub git_quota_in_kib: Option<String>,
173    #[serde(skip_serializing_if = "Option::is_none")]
174    pub max_lfs_object_size_limit_in_kib: Option<String>,
175}
176
177/// DtoCreateMissionReq 模型
178#[derive(Debug, Clone, Serialize, Deserialize)]
179pub struct DtoCreateMissionReq {
180    #[serde(skip_serializing_if = "Option::is_none")]
181    pub visibility: Option<String>,
182    #[serde(skip_serializing_if = "Option::is_none")]
183    pub name: Option<String>,
184    #[serde(skip_serializing_if = "Option::is_none")]
185    pub repos: Option<Vec<String>>,
186    #[serde(skip_serializing_if = "Option::is_none")]
187    pub description: Option<String>,
188}
189
190/// WebPatchGroupSpecialGitQuotaForm 模型
191#[derive(Debug, Clone, Serialize, Deserialize)]
192pub struct WebPatchGroupSpecialGitQuotaForm {
193    #[serde(skip_serializing_if = "Option::is_none")]
194    pub git_object_size_limit_in_kib: Option<i64>,
195    #[serde(skip_serializing_if = "Option::is_none")]
196    pub lfs_quota_in_kib: Option<i64>,
197    #[serde(skip_serializing_if = "Option::is_none")]
198    pub git_quota_in_kib: Option<i64>,
199    #[serde(skip_serializing_if = "Option::is_none")]
200    pub lfs_object_size_limit_in_kib: Option<i64>,
201}
202
203/// DtoDeployKeysPatchPayload 模型
204#[derive(Debug, Clone, Serialize, Deserialize)]
205pub struct DtoDeployKeysPatchPayload {
206    #[serde(skip_serializing_if = "Option::is_none")]
207    pub description: Option<String>,
208}
209
210/// WebFileContent 模型
211#[derive(Debug, Clone, Serialize, Deserialize)]
212pub struct WebFileContent {
213    #[serde(skip_serializing_if = "Option::is_none")]
214    pub file_size_exceeded: Option<bool>,
215    #[serde(skip_serializing_if = "Option::is_none")]
216    pub cnb_settings: Option<serde_json::Value>,
217    #[serde(skip_serializing_if = "Option::is_none")]
218    pub encoding: Option<String>,
219    #[serde(skip_serializing_if = "Option::is_none")]
220    pub last_commit: Option<serde_json::Value>,
221    #[serde(skip_serializing_if = "Option::is_none")]
222    pub commit_count_state: Option<String>,
223    #[serde(skip_serializing_if = "Option::is_none")]
224    pub file_size_limit: Option<i64>,
225    #[serde(skip_serializing_if = "Option::is_none")]
226    pub file_stat: Option<serde_json::Value>,
227    #[serde(skip_serializing_if = "Option::is_none")]
228    pub size: Option<i64>,
229    #[serde(skip_serializing_if = "Option::is_none")]
230    pub initialized: Option<bool>,
231    #[serde(skip_serializing_if = "Option::is_none")]
232    pub r#type: Option<String>,
233    #[serde(skip_serializing_if = "Option::is_none")]
234    pub name: Option<String>,
235    #[serde(skip_serializing_if = "Option::is_none")]
236    pub repository: Option<serde_json::Value>,
237    #[serde(skip_serializing_if = "Option::is_none")]
238    pub commit_count_exceeded: Option<bool>,
239    #[serde(skip_serializing_if = "Option::is_none")]
240    pub lfs_size_in_byte: Option<String>,
241    #[serde(skip_serializing_if = "Option::is_none")]
242    pub is_protected: Option<bool>,
243    #[serde(skip_serializing_if = "Option::is_none")]
244    pub path: Option<String>,
245    #[serde(skip_serializing_if = "Option::is_none")]
246    pub commit_count: Option<i64>,
247    #[serde(skip_serializing_if = "Option::is_none")]
248    pub lfs_oid: Option<String>,
249    #[serde(skip_serializing_if = "Option::is_none")]
250    pub is_lfs: Option<bool>,
251    #[serde(skip_serializing_if = "Option::is_none")]
252    pub lfs_hash_algorithm: Option<String>,
253    #[serde(skip_serializing_if = "Option::is_none")]
254    pub tag_count: Option<i64>,
255    #[serde(skip_serializing_if = "Option::is_none")]
256    pub content: Option<String>,
257    #[serde(skip_serializing_if = "Option::is_none")]
258    pub branch_count: Option<i64>,
259}
260
261/// WebGpgEmail 模型
262#[derive(Debug, Clone, Serialize, Deserialize)]
263pub struct WebGpgEmail {
264    #[serde(skip_serializing_if = "Option::is_none")]
265    pub email: Option<String>,
266    #[serde(skip_serializing_if = "Option::is_none")]
267    pub verified: Option<bool>,
268}
269
270/// DtoPack 模型
271#[derive(Debug, Clone, Serialize, Deserialize)]
272pub struct DtoPack {
273    #[serde(skip_serializing_if = "Option::is_none")]
274    pub size: Option<i64>,
275    #[serde(skip_serializing_if = "Option::is_none")]
276    pub r#type: Option<serde_json::Value>,
277    #[serde(skip_serializing_if = "Option::is_none")]
278    pub expire_at: Option<String>,
279    #[serde(skip_serializing_if = "Option::is_none")]
280    pub res_type: Option<serde_json::Value>,
281    #[serde(skip_serializing_if = "Option::is_none")]
282    pub name: Option<String>,
283}
284
285/// ApiDeleteIssueAssigneesForm 模型
286#[derive(Debug, Clone, Serialize, Deserialize)]
287pub struct ApiDeleteIssueAssigneesForm {
288    #[serde(skip_serializing_if = "Option::is_none")]
289    pub assignees: Option<Vec<String>>,
290}
291
292/// DtoInheritMembersUser 模型
293#[derive(Debug, Clone, Serialize, Deserialize)]
294pub struct DtoInheritMembersUser {
295    #[serde(skip_serializing_if = "Option::is_none")]
296    pub access_level: Option<serde_json::Value>,
297    #[serde(skip_serializing_if = "Option::is_none")]
298    pub r#type: Option<serde_json::Value>,
299    #[serde(skip_serializing_if = "Option::is_none")]
300    pub locked: Option<bool>,
301    #[serde(skip_serializing_if = "Option::is_none")]
302    pub freeze: Option<bool>,
303    #[serde(skip_serializing_if = "Option::is_none")]
304    pub created_at: Option<String>,
305    #[serde(skip_serializing_if = "Option::is_none")]
306    pub inviter: Option<serde_json::Value>,
307    #[serde(skip_serializing_if = "Option::is_none")]
308    pub join_time: Option<String>,
309    #[serde(skip_serializing_if = "Option::is_none")]
310    pub email_verification: Option<String>,
311    #[serde(skip_serializing_if = "Option::is_none")]
312    pub nickname: Option<String>,
313    #[serde(skip_serializing_if = "Option::is_none")]
314    pub email: Option<String>,
315    #[serde(skip_serializing_if = "Option::is_none")]
316    pub id: Option<String>,
317    #[serde(skip_serializing_if = "Option::is_none")]
318    pub avatar: Option<String>,
319    #[serde(skip_serializing_if = "Option::is_none")]
320    pub verified: Option<i64>,
321    #[serde(skip_serializing_if = "Option::is_none")]
322    pub username: Option<String>,
323    #[serde(skip_serializing_if = "Option::is_none")]
324    pub verified_expire_in: Option<String>,
325    #[serde(skip_serializing_if = "Option::is_none")]
326    pub self_member: Option<bool>,
327}
328
329/// DtoWxJsSdkSign 模型
330#[derive(Debug, Clone, Serialize, Deserialize)]
331pub struct DtoWxJsSdkSign {
332    #[serde(skip_serializing_if = "Option::is_none")]
333    pub appid: Option<String>,
334    #[serde(skip_serializing_if = "Option::is_none")]
335    pub noncestr: Option<String>,
336    #[serde(skip_serializing_if = "Option::is_none")]
337    pub sign: Option<String>,
338    #[serde(skip_serializing_if = "Option::is_none")]
339    pub timestamp: Option<i64>,
340}
341
342/// WebUpdateGitQuotaForm 模型
343#[derive(Debug, Clone, Serialize, Deserialize)]
344pub struct WebUpdateGitQuotaForm {
345    #[serde(skip_serializing_if = "Option::is_none")]
346    pub git_object_size_limit_in_kib: Option<String>,
347    #[serde(skip_serializing_if = "Option::is_none")]
348    pub quota_in_kib: Option<i64>,
349    #[serde(skip_serializing_if = "Option::is_none")]
350    pub git_quota_in_kib: Option<String>,
351}
352
353/// OpenapiPutCommitAnnotation 模型
354#[derive(Debug, Clone, Serialize, Deserialize)]
355pub struct OpenapiPutCommitAnnotation {
356    #[serde(skip_serializing_if = "Option::is_none")]
357    pub key: Option<String>,
358    #[serde(skip_serializing_if = "Option::is_none")]
359    pub value: Option<String>,
360}
361
362/// WebTag 模型
363#[derive(Debug, Clone, Serialize, Deserialize)]
364pub struct WebTag {
365    #[serde(skip_serializing_if = "Option::is_none")]
366    pub tagger: Option<serde_json::Value>,
367    #[serde(skip_serializing_if = "Option::is_none")]
368    pub message: Option<String>,
369    #[serde(skip_serializing_if = "Option::is_none")]
370    pub tag: Option<String>,
371    #[serde(skip_serializing_if = "Option::is_none")]
372    pub commit: Option<serde_json::Value>,
373    #[serde(skip_serializing_if = "Option::is_none")]
374    pub tag_object: Option<serde_json::Value>,
375    #[serde(skip_serializing_if = "Option::is_none")]
376    pub has_release: Option<bool>,
377}
378
379/// DtoRankDetail 模型
380#[derive(Debug, Clone, Serialize, Deserialize)]
381pub struct DtoRankDetail {
382    #[serde(skip_serializing_if = "Option::is_none")]
383    pub last_update_nickname: Option<String>,
384    #[serde(skip_serializing_if = "Option::is_none")]
385    pub fork_count: Option<i64>,
386    #[serde(skip_serializing_if = "Option::is_none")]
387    pub language: Option<String>,
388    #[serde(skip_serializing_if = "Option::is_none")]
389    pub open_pull_request_count: Option<i64>,
390    #[serde(skip_serializing_if = "Option::is_none")]
391    pub license: Option<String>,
392    #[serde(skip_serializing_if = "Option::is_none")]
393    pub name: Option<String>,
394    #[serde(skip_serializing_if = "Option::is_none")]
395    pub site: Option<String>,
396    #[serde(skip_serializing_if = "Option::is_none")]
397    pub mark_count: Option<i64>,
398    #[serde(skip_serializing_if = "Option::is_none")]
399    pub path: Option<String>,
400    #[serde(skip_serializing_if = "Option::is_none")]
401    pub forked_from_repo: Option<serde_json::Value>,
402    #[serde(skip_serializing_if = "Option::is_none")]
403    pub languages: Option<serde_json::Value>,
404    #[serde(skip_serializing_if = "Option::is_none")]
405    pub description: Option<String>,
406    #[serde(skip_serializing_if = "Option::is_none")]
407    pub rank_value: Option<i64>,
408    #[serde(skip_serializing_if = "Option::is_none")]
409    pub stared: Option<bool>,
410    #[serde(skip_serializing_if = "Option::is_none")]
411    pub updated_at: Option<String>,
412    #[serde(skip_serializing_if = "Option::is_none")]
413    pub status: Option<serde_json::Value>,
414    #[serde(skip_serializing_if = "Option::is_none")]
415    pub open_issue_count: Option<i64>,
416    #[serde(skip_serializing_if = "Option::is_none")]
417    pub second_languages: Option<serde_json::Value>,
418    #[serde(skip_serializing_if = "Option::is_none")]
419    pub last_update_username: Option<String>,
420    #[serde(skip_serializing_if = "Option::is_none")]
421    pub topics: Option<String>,
422    #[serde(skip_serializing_if = "Option::is_none")]
423    pub tags: Option<Vec<serde_json::Value>>,
424    #[serde(skip_serializing_if = "Option::is_none")]
425    pub display_module: Option<serde_json::Value>,
426    #[serde(skip_serializing_if = "Option::is_none")]
427    pub created_at: Option<String>,
428    #[serde(skip_serializing_if = "Option::is_none")]
429    pub web_url: Option<String>,
430    #[serde(skip_serializing_if = "Option::is_none")]
431    pub flags: Option<serde_json::Value>,
432    #[serde(skip_serializing_if = "Option::is_none")]
433    pub visibility_level: Option<serde_json::Value>,
434    #[serde(skip_serializing_if = "Option::is_none")]
435    pub last_updated_at: Option<serde_json::Value>,
436    #[serde(skip_serializing_if = "Option::is_none")]
437    pub star_count: Option<i64>,
438    #[serde(skip_serializing_if = "Option::is_none")]
439    pub freeze: Option<bool>,
440    #[serde(skip_serializing_if = "Option::is_none")]
441    pub id: Option<String>,
442}
443
444/// DtoUpdateGroupReq 模型
445#[derive(Debug, Clone, Serialize, Deserialize)]
446pub struct DtoUpdateGroupReq {
447    #[serde(skip_serializing_if = "Option::is_none")]
448    pub description: Option<String>,
449    #[serde(skip_serializing_if = "Option::is_none")]
450    pub site: Option<String>,
451    #[serde(skip_serializing_if = "Option::is_none")]
452    pub email: Option<String>,
453    #[serde(skip_serializing_if = "Option::is_none")]
454    pub wechat_mp: Option<String>,
455    #[serde(skip_serializing_if = "Option::is_none")]
456    pub domain: Option<String>,
457    #[serde(skip_serializing_if = "Option::is_none")]
458    pub remark: Option<String>,
459}
460
461/// WebapiHeadRef 模型
462#[derive(Debug, Clone, Serialize, Deserialize)]
463pub struct WebapiHeadRef {
464    #[serde(skip_serializing_if = "Option::is_none")]
465    pub r#ref: Option<String>,
466}
467
468/// DtoMissionViewConfig 模型
469#[derive(Debug, Clone, Serialize, Deserialize)]
470pub struct DtoMissionViewConfig {
471    #[serde(skip_serializing_if = "Option::is_none")]
472    pub fields: Option<Vec<serde_json::Value>>,
473    #[serde(skip_serializing_if = "Option::is_none")]
474    pub selectors: Option<Vec<serde_json::Value>>,
475    #[serde(skip_serializing_if = "Option::is_none")]
476    pub sorts: Option<Vec<serde_json::Value>>,
477    #[serde(skip_serializing_if = "Option::is_none")]
478    pub r#type: Option<serde_json::Value>,
479    #[serde(skip_serializing_if = "Option::is_none")]
480    pub group: Option<serde_json::Value>,
481    #[serde(skip_serializing_if = "Option::is_none")]
482    pub id: Option<String>,
483}
484
485/// WebReleaseTag 模型
486#[derive(Debug, Clone, Serialize, Deserialize)]
487pub struct WebReleaseTag {
488    #[serde(skip_serializing_if = "Option::is_none")]
489    pub tag: Option<serde_json::Value>,
490    #[serde(skip_serializing_if = "Option::is_none")]
491    pub release: Option<serde_json::Value>,
492}
493
494/// DtoTagOverridePolicy 模型
495#[derive(Debug, Clone, Serialize, Deserialize)]
496pub struct DtoTagOverridePolicy {
497    #[serde(skip_serializing_if = "Option::is_none")]
498    pub is_forbid_prefixed_sem_ver: Option<bool>,
499    #[serde(skip_serializing_if = "Option::is_none")]
500    pub is_forbid_sem_ver: Option<bool>,
501}
502
503/// WebRecommendReviewer 模型
504#[derive(Debug, Clone, Serialize, Deserialize)]
505pub struct WebRecommendReviewer {
506    #[serde(skip_serializing_if = "Option::is_none")]
507    pub user: Option<serde_json::Value>,
508}
509
510/// DtoRepoLanguage 模型
511#[derive(Debug, Clone, Serialize, Deserialize)]
512pub struct DtoRepoLanguage {
513    #[serde(skip_serializing_if = "Option::is_none")]
514    pub color: Option<String>,
515    #[serde(skip_serializing_if = "Option::is_none")]
516    pub language: Option<String>,
517}
518
519/// ChartDependency 模型
520#[derive(Debug, Clone, Serialize, Deserialize)]
521pub struct ChartDependency {
522    #[serde(skip_serializing_if = "Option::is_none")]
523    pub alias: Option<String>,
524    #[serde(skip_serializing_if = "Option::is_none")]
525    pub version: Option<String>,
526    #[serde(skip_serializing_if = "Option::is_none")]
527    pub condition: Option<String>,
528    #[serde(skip_serializing_if = "Option::is_none")]
529    pub enabled: Option<bool>,
530    #[serde(skip_serializing_if = "Option::is_none")]
531    pub name: Option<String>,
532    #[serde(skip_serializing_if = "Option::is_none")]
533    pub import_values: Option<Vec<serde_json::Value>>,
534    #[serde(skip_serializing_if = "Option::is_none")]
535    pub repository: Option<String>,
536    #[serde(skip_serializing_if = "Option::is_none")]
537    pub tags: Option<Vec<String>>,
538}
539
540/// WebLastPushBranch 模型
541#[derive(Debug, Clone, Serialize, Deserialize)]
542pub struct WebLastPushBranch {
543    #[serde(skip_serializing_if = "Option::is_none")]
544    pub date_time: Option<String>,
545    #[serde(skip_serializing_if = "Option::is_none")]
546    pub pull_number: Option<i64>,
547    #[serde(skip_serializing_if = "Option::is_none")]
548    pub is_head: Option<bool>,
549    #[serde(skip_serializing_if = "Option::is_none")]
550    pub r#ref: Option<String>,
551}
552
553/// DtoUsersWithAccessLevelInSlug 模型
554#[derive(Debug, Clone, Serialize, Deserialize)]
555pub struct DtoUsersWithAccessLevelInSlug {
556    #[serde(skip_serializing_if = "Option::is_none")]
557    pub freeze: Option<bool>,
558    #[serde(skip_serializing_if = "Option::is_none")]
559    pub username: Option<String>,
560    #[serde(skip_serializing_if = "Option::is_none")]
561    pub join_time: Option<String>,
562    #[serde(skip_serializing_if = "Option::is_none")]
563    pub email_verification: Option<String>,
564    #[serde(skip_serializing_if = "Option::is_none")]
565    pub email: Option<String>,
566    #[serde(skip_serializing_if = "Option::is_none")]
567    pub r#type: Option<serde_json::Value>,
568    #[serde(skip_serializing_if = "Option::is_none")]
569    pub avatar: Option<String>,
570    #[serde(skip_serializing_if = "Option::is_none")]
571    pub inviter: Option<serde_json::Value>,
572    #[serde(skip_serializing_if = "Option::is_none")]
573    pub access_level: Option<serde_json::Value>,
574    #[serde(skip_serializing_if = "Option::is_none")]
575    pub created_at: Option<String>,
576    #[serde(skip_serializing_if = "Option::is_none")]
577    pub verified: Option<i64>,
578    #[serde(skip_serializing_if = "Option::is_none")]
579    pub locked: Option<bool>,
580    #[serde(skip_serializing_if = "Option::is_none")]
581    pub verified_expire_in: Option<String>,
582    #[serde(skip_serializing_if = "Option::is_none")]
583    pub nickname: Option<String>,
584    #[serde(skip_serializing_if = "Option::is_none")]
585    pub id: Option<String>,
586}
587
588/// DtoListInheritMembers 模型
589#[derive(Debug, Clone, Serialize, Deserialize)]
590pub struct DtoListInheritMembers {
591    #[serde(skip_serializing_if = "Option::is_none")]
592    pub total: Option<i64>,
593    #[serde(skip_serializing_if = "Option::is_none")]
594    pub users: Option<Vec<serde_json::Value>>,
595    #[serde(skip_serializing_if = "Option::is_none")]
596    pub inherit_path: Option<String>,
597}
598
599/// DtoVulnerabilityOperate 模型
600#[derive(Debug, Clone, Serialize, Deserialize)]
601pub struct DtoVulnerabilityOperate {
602    #[serde(skip_serializing_if = "Option::is_none")]
603    pub id: Option<String>,
604    #[serde(skip_serializing_if = "Option::is_none")]
605    pub operator_name: Option<String>,
606    #[serde(skip_serializing_if = "Option::is_none")]
607    pub operate_method: Option<serde_json::Value>,
608    #[serde(skip_serializing_if = "Option::is_none")]
609    pub operator: Option<String>,
610    #[serde(skip_serializing_if = "Option::is_none")]
611    pub created_at: Option<String>,
612    #[serde(skip_serializing_if = "Option::is_none")]
613    pub ignore_reason: Option<serde_json::Value>,
614    #[serde(skip_serializing_if = "Option::is_none")]
615    pub operator_type: Option<serde_json::Value>,
616    #[serde(skip_serializing_if = "Option::is_none")]
617    pub commit_id: Option<String>,
618}
619
620/// WebMimeType 模型
621#[derive(Debug, Clone, Serialize, Deserialize)]
622pub struct WebMimeType {
623    #[serde(skip_serializing_if = "Option::is_none")]
624    pub content_type: Option<String>,
625    #[serde(skip_serializing_if = "Option::is_none")]
626    pub is_image: Option<bool>,
627    #[serde(skip_serializing_if = "Option::is_none")]
628    pub is_svg_image: Option<bool>,
629    #[serde(skip_serializing_if = "Option::is_none")]
630    pub is_text: Option<bool>,
631    #[serde(skip_serializing_if = "Option::is_none")]
632    pub is_video: Option<bool>,
633    #[serde(skip_serializing_if = "Option::is_none")]
634    pub is_audio: Option<bool>,
635    #[serde(skip_serializing_if = "Option::is_none")]
636    pub is_pdf: Option<bool>,
637    #[serde(skip_serializing_if = "Option::is_none")]
638    pub externsion: Option<String>,
639    #[serde(skip_serializing_if = "Option::is_none")]
640    pub is_browsable_binary_type: Option<bool>,
641    #[serde(skip_serializing_if = "Option::is_none")]
642    pub is_representable_as_text: Option<bool>,
643}
644
645/// WebapiCreateIssueCommentForm 模型
646#[derive(Debug, Clone, Serialize, Deserialize)]
647pub struct WebapiCreateIssueCommentForm {
648    #[serde(skip_serializing_if = "Option::is_none")]
649    pub body: Option<String>,
650}
651
652/// DtoDockerModelFile 模型
653#[derive(Debug, Clone, Serialize, Deserialize)]
654pub struct DtoDockerModelFile {
655    #[serde(skip_serializing_if = "Option::is_none")]
656    pub r#type: Option<String>,
657    #[serde(skip_serializing_if = "Option::is_none")]
658    pub diff_id: Option<String>,
659}
660
661/// DtoActivityDate 模型
662#[derive(Debug, Clone, Serialize, Deserialize)]
663pub struct DtoActivityDate {
664    #[serde(skip_serializing_if = "Option::is_none")]
665    pub groups: Option<Vec<serde_json::Value>>,
666    #[serde(skip_serializing_if = "Option::is_none")]
667    pub issues: Option<Vec<serde_json::Value>>,
668    #[serde(skip_serializing_if = "Option::is_none")]
669    pub private_score: Option<i64>,
670    #[serde(skip_serializing_if = "Option::is_none")]
671    pub issues_count: Option<i64>,
672    #[serde(skip_serializing_if = "Option::is_none")]
673    pub commits: Option<Vec<serde_json::Value>>,
674    #[serde(skip_serializing_if = "Option::is_none")]
675    pub code_reviews: Option<Vec<serde_json::Value>>,
676    #[serde(skip_serializing_if = "Option::is_none")]
677    pub pull_requests: Option<Vec<serde_json::Value>>,
678    #[serde(skip_serializing_if = "Option::is_none")]
679    pub commit_count: Option<i64>,
680    #[serde(skip_serializing_if = "Option::is_none")]
681    pub code_review_count: Option<i64>,
682    #[serde(skip_serializing_if = "Option::is_none")]
683    pub group_count: Option<i64>,
684    #[serde(skip_serializing_if = "Option::is_none")]
685    pub pull_request_count: Option<i64>,
686    #[serde(skip_serializing_if = "Option::is_none")]
687    pub repo_count: Option<i64>,
688    #[serde(skip_serializing_if = "Option::is_none")]
689    pub repos: Option<Vec<serde_json::Value>>,
690}
691
692/// DtoActivityWorkflowData 模型
693#[derive(Debug, Clone, Serialize, Deserialize)]
694pub struct DtoActivityWorkflowData {
695    #[serde(skip_serializing_if = "Option::is_none")]
696    pub user: Option<serde_json::Value>,
697    #[serde(skip_serializing_if = "Option::is_none")]
698    pub repo: Option<serde_json::Value>,
699    #[serde(skip_serializing_if = "Option::is_none")]
700    pub created_at: Option<serde_json::Value>,
701    #[serde(skip_serializing_if = "Option::is_none")]
702    pub activity_type: Option<serde_json::Value>,
703    #[serde(skip_serializing_if = "Option::is_none")]
704    pub group: Option<serde_json::Value>,
705    #[serde(skip_serializing_if = "Option::is_none")]
706    pub release: Option<serde_json::Value>,
707}
708
709/// ApiPullRefInfo 模型
710#[derive(Debug, Clone, Serialize, Deserialize)]
711pub struct ApiPullRefInfo {
712    #[serde(skip_serializing_if = "Option::is_none")]
713    pub sha: Option<String>,
714    #[serde(skip_serializing_if = "Option::is_none")]
715    pub r#ref: Option<String>,
716    #[serde(skip_serializing_if = "Option::is_none")]
717    pub repo: Option<serde_json::Value>,
718}
719
720/// WebReleaseList 模型
721#[derive(Debug, Clone, Serialize, Deserialize)]
722pub struct WebReleaseList {
723    #[serde(skip_serializing_if = "Option::is_none")]
724    pub releases: Option<Vec<serde_json::Value>>,
725    #[serde(skip_serializing_if = "Option::is_none")]
726    pub tag_count: Option<i64>,
727    #[serde(skip_serializing_if = "Option::is_none")]
728    pub release_count: Option<i64>,
729}
730
731/// DtoContainerTagDetail 模型
732#[derive(Debug, Clone, Serialize, Deserialize)]
733pub struct DtoContainerTagDetail {
734    #[serde(skip_serializing_if = "Option::is_none")]
735    pub annotations: Option<serde_json::Value>,
736    #[serde(skip_serializing_if = "Option::is_none")]
737    pub last_pusher: Option<serde_json::Value>,
738    #[serde(skip_serializing_if = "Option::is_none")]
739    pub package: Option<String>,
740    #[serde(skip_serializing_if = "Option::is_none")]
741    pub recent_pull_count: Option<i64>,
742    #[serde(skip_serializing_if = "Option::is_none")]
743    pub slug: Option<String>,
744    #[serde(skip_serializing_if = "Option::is_none")]
745    pub options: Option<Vec<serde_json::Value>>,
746    #[serde(skip_serializing_if = "Option::is_none")]
747    pub image: Option<serde_json::Value>,
748    #[serde(skip_serializing_if = "Option::is_none")]
749    pub pull_count: Option<i64>,
750    #[serde(skip_serializing_if = "Option::is_none")]
751    pub tag: Option<String>,
752    #[serde(skip_serializing_if = "Option::is_none")]
753    pub address: Option<String>,
754}
755
756/// DtoPunishInfo 模型
757#[derive(Debug, Clone, Serialize, Deserialize)]
758pub struct DtoPunishInfo {
759    #[serde(skip_serializing_if = "Option::is_none")]
760    pub external: Option<String>,
761}
762
763/// DtoGroupSettingReq 模型
764#[derive(Debug, Clone, Serialize, Deserialize)]
765pub struct DtoGroupSettingReq {
766    #[serde(skip_serializing_if = "Option::is_none")]
767    pub hide_members: Option<i64>,
768    #[serde(skip_serializing_if = "Option::is_none")]
769    pub group_protection: Option<i64>,
770    #[serde(skip_serializing_if = "Option::is_none")]
771    pub show_private_repo_watermark: Option<i64>,
772    #[serde(skip_serializing_if = "Option::is_none")]
773    pub values: Option<String>,
774    #[serde(skip_serializing_if = "Option::is_none")]
775    pub email_verification: Option<String>,
776    #[serde(skip_serializing_if = "Option::is_none")]
777    pub hide_sub_groups: Option<i64>,
778}
779
780/// DtoAccessTokenPayload 模型
781#[derive(Debug, Clone, Serialize, Deserialize)]
782pub struct DtoAccessTokenPayload {
783    #[serde(skip_serializing_if = "Option::is_none")]
784    pub slug: Option<String>,
785    #[serde(skip_serializing_if = "Option::is_none")]
786    pub expired_at: Option<serde_json::Value>,
787    #[serde(skip_serializing_if = "Option::is_none")]
788    pub token: Option<String>,
789    #[serde(skip_serializing_if = "Option::is_none")]
790    pub scope: Option<String>,
791    #[serde(skip_serializing_if = "Option::is_none")]
792    pub description: Option<String>,
793}
794
795/// HandlerCommentDeleteActivity 模型
796#[derive(Debug, Clone, Serialize, Deserialize)]
797pub struct HandlerCommentDeleteActivity {
798    #[serde(skip_serializing_if = "Option::is_none")]
799    pub activity_id: Option<String>,
800}
801
802/// WebPullRequestReviewCommentReply 模型
803#[derive(Debug, Clone, Serialize, Deserialize)]
804pub struct WebPullRequestReviewCommentReply {
805    #[serde(skip_serializing_if = "Option::is_none")]
806    pub updated_at: Option<String>,
807    #[serde(skip_serializing_if = "Option::is_none")]
808    pub deleted: Option<bool>,
809    #[serde(skip_serializing_if = "Option::is_none")]
810    pub comment_id: Option<String>,
811    #[serde(skip_serializing_if = "Option::is_none")]
812    pub reactions: Option<Vec<serde_json::Value>>,
813    #[serde(skip_serializing_if = "Option::is_none")]
814    pub created_at: Option<String>,
815    #[serde(skip_serializing_if = "Option::is_none")]
816    pub author: Option<serde_json::Value>,
817    #[serde(skip_serializing_if = "Option::is_none")]
818    pub delete_payload: Option<serde_json::Value>,
819    #[serde(skip_serializing_if = "Option::is_none")]
820    pub body: Option<String>,
821}
822
823/// ApiPullCreationForm 模型
824#[derive(Debug, Clone, Serialize, Deserialize)]
825pub struct ApiPullCreationForm {
826    #[serde(skip_serializing_if = "Option::is_none")]
827    pub base: Option<String>,
828    #[serde(skip_serializing_if = "Option::is_none")]
829    pub head_repo: Option<String>,
830    #[serde(skip_serializing_if = "Option::is_none")]
831    pub title: Option<String>,
832    #[serde(skip_serializing_if = "Option::is_none")]
833    pub head: Option<String>,
834    #[serde(skip_serializing_if = "Option::is_none")]
835    pub body: Option<String>,
836}
837
838/// HandlerLicense 模型
839#[derive(Debug, Clone, Serialize, Deserialize)]
840pub struct HandlerLicense {
841    #[serde(skip_serializing_if = "Option::is_none")]
842    pub spdx_id: Option<String>,
843    #[serde(skip_serializing_if = "Option::is_none")]
844    pub body: Option<String>,
845    #[serde(skip_serializing_if = "Option::is_none")]
846    pub name: Option<String>,
847    #[serde(skip_serializing_if = "Option::is_none")]
848    pub description: Option<String>,
849    #[serde(skip_serializing_if = "Option::is_none")]
850    pub key: Option<String>,
851    #[serde(skip_serializing_if = "Option::is_none")]
852    pub conditions: Option<Vec<String>>,
853    #[serde(skip_serializing_if = "Option::is_none")]
854    pub permissions: Option<Vec<String>>,
855    #[serde(skip_serializing_if = "Option::is_none")]
856    pub limitations: Option<Vec<String>>,
857}
858
859/// DtoAnnouncement 模型
860#[derive(Debug, Clone, Serialize, Deserialize)]
861pub struct DtoAnnouncement {
862    #[serde(skip_serializing_if = "Option::is_none")]
863    pub created_at: Option<String>,
864    #[serde(skip_serializing_if = "Option::is_none")]
865    pub pinned: Option<i64>,
866    #[serde(skip_serializing_if = "Option::is_none")]
867    pub title: Option<String>,
868    #[serde(skip_serializing_if = "Option::is_none")]
869    pub announcement_msg: Option<String>,
870    #[serde(skip_serializing_if = "Option::is_none")]
871    pub expired_at: Option<String>,
872    #[serde(skip_serializing_if = "Option::is_none")]
873    pub id: Option<String>,
874    #[serde(skip_serializing_if = "Option::is_none")]
875    pub updated_at: Option<String>,
876}
877
878/// OpenapiCreateBranchForm 模型
879#[derive(Debug, Clone, Serialize, Deserialize)]
880pub struct OpenapiCreateBranchForm {
881    #[serde(skip_serializing_if = "Option::is_none")]
882    pub name: Option<String>,
883    #[serde(skip_serializing_if = "Option::is_none")]
884    pub start_point: Option<String>,
885}
886
887/// WebEntry 模型
888#[derive(Debug, Clone, Serialize, Deserialize)]
889pub struct WebEntry {
890    #[serde(skip_serializing_if = "Option::is_none")]
891    pub entries: Option<Vec<serde_json::Value>>,
892    #[serde(skip_serializing_if = "Option::is_none")]
893    pub r#type: Option<String>,
894    #[serde(skip_serializing_if = "Option::is_none")]
895    pub path: Option<String>,
896    #[serde(skip_serializing_if = "Option::is_none")]
897    pub name: Option<String>,
898}
899
900/// WebPullRequestAssignee 模型
901#[derive(Debug, Clone, Serialize, Deserialize)]
902pub struct WebPullRequestAssignee {
903    #[serde(skip_serializing_if = "Option::is_none")]
904    pub user: Option<serde_json::Value>,
905}
906
907/// HandlerCreateIssueCommentForm 模型
908#[derive(Debug, Clone, Serialize, Deserialize)]
909pub struct HandlerCreateIssueCommentForm {
910    #[serde(skip_serializing_if = "Option::is_none")]
911    pub body: Option<String>,
912}
913
914/// WebPendingPullReview 模型
915#[derive(Debug, Clone, Serialize, Deserialize)]
916pub struct WebPendingPullReview {
917    #[serde(skip_serializing_if = "Option::is_none")]
918    pub comment_count: Option<i64>,
919    #[serde(skip_serializing_if = "Option::is_none")]
920    pub review_id: Option<String>,
921}
922
923/// DtoVolumeUsed 模型
924#[derive(Debug, Clone, Serialize, Deserialize)]
925pub struct DtoVolumeUsed {
926}
927
928/// DtoResourceMission 模型
929#[derive(Debug, Clone, Serialize, Deserialize)]
930pub struct DtoResourceMission {
931    #[serde(skip_serializing_if = "Option::is_none")]
932    pub name: Option<String>,
933    #[serde(skip_serializing_if = "Option::is_none")]
934    pub path: Option<String>,
935    #[serde(skip_serializing_if = "Option::is_none")]
936    pub visibility_level: Option<serde_json::Value>,
937    #[serde(skip_serializing_if = "Option::is_none")]
938    pub freeze: Option<bool>,
939    #[serde(skip_serializing_if = "Option::is_none")]
940    pub id: Option<i64>,
941    #[serde(skip_serializing_if = "Option::is_none")]
942    pub updated_at: Option<String>,
943    #[serde(skip_serializing_if = "Option::is_none")]
944    pub created_at: Option<String>,
945    #[serde(skip_serializing_if = "Option::is_none")]
946    pub description: Option<String>,
947}
948
949/// DtoGguf 模型
950#[derive(Debug, Clone, Serialize, Deserialize)]
951pub struct DtoGguf {
952    #[serde(skip_serializing_if = "Option::is_none")]
953    pub architecture: Option<String>,
954    #[serde(skip_serializing_if = "Option::is_none")]
955    pub quantization: Option<String>,
956    #[serde(skip_serializing_if = "Option::is_none")]
957    pub parameter_count: Option<String>,
958}
959
960/// DtoRegistryLevelOverwritePolicy 模型
961#[derive(Debug, Clone, Serialize, Deserialize)]
962pub struct DtoRegistryLevelOverwritePolicy {
963    #[serde(skip_serializing_if = "Option::is_none")]
964    pub code_repo: Option<serde_json::Value>,
965    #[serde(skip_serializing_if = "Option::is_none")]
966    pub common_registry: Option<serde_json::Value>,
967}
968
969/// HandlerPullRequestCommentReactionForm 模型
970#[derive(Debug, Clone, Serialize, Deserialize)]
971pub struct HandlerPullRequestCommentReactionForm {
972    #[serde(skip_serializing_if = "Option::is_none")]
973    pub scene: Option<String>,
974    #[serde(skip_serializing_if = "Option::is_none")]
975    pub reaction: Option<String>,
976}
977
978/// DtoBoolResponse 模型
979#[derive(Debug, Clone, Serialize, Deserialize)]
980pub struct DtoBoolResponse {
981    #[serde(skip_serializing_if = "Option::is_none")]
982    pub message: Option<String>,
983    #[serde(skip_serializing_if = "Option::is_none")]
984    pub result: Option<bool>,
985}
986
987/// DtoRegistryLevelQuotaReq 模型
988#[derive(Debug, Clone, Serialize, Deserialize)]
989pub struct DtoRegistryLevelQuotaReq {
990    #[serde(skip_serializing_if = "Option::is_none")]
991    pub common_registry: Option<serde_json::Value>,
992    #[serde(skip_serializing_if = "Option::is_none")]
993    pub code_repo: Option<serde_json::Value>,
994}
995
996/// WebSubmodule 模型
997#[derive(Debug, Clone, Serialize, Deserialize)]
998pub struct WebSubmodule {
999    #[serde(skip_serializing_if = "Option::is_none")]
1000    pub link_url: Option<String>,
1001}
1002
1003/// ApiIssue 模型
1004#[derive(Debug, Clone, Serialize, Deserialize)]
1005pub struct ApiIssue {
1006    #[serde(skip_serializing_if = "Option::is_none")]
1007    pub priority: Option<String>,
1008    #[serde(skip_serializing_if = "Option::is_none")]
1009    pub state_reason: Option<String>,
1010    #[serde(skip_serializing_if = "Option::is_none")]
1011    pub created_at: Option<String>,
1012    #[serde(skip_serializing_if = "Option::is_none")]
1013    pub number: Option<String>,
1014    #[serde(skip_serializing_if = "Option::is_none")]
1015    pub title: Option<String>,
1016    #[serde(skip_serializing_if = "Option::is_none")]
1017    pub started_at: Option<String>,
1018    #[serde(skip_serializing_if = "Option::is_none")]
1019    pub assignees: Option<Vec<serde_json::Value>>,
1020    #[serde(skip_serializing_if = "Option::is_none")]
1021    pub state: Option<String>,
1022    #[serde(skip_serializing_if = "Option::is_none")]
1023    pub author: Option<serde_json::Value>,
1024    #[serde(skip_serializing_if = "Option::is_none")]
1025    pub updated_at: Option<String>,
1026    #[serde(skip_serializing_if = "Option::is_none")]
1027    pub ended_at: Option<String>,
1028    #[serde(skip_serializing_if = "Option::is_none")]
1029    pub comment_count: Option<i64>,
1030    #[serde(skip_serializing_if = "Option::is_none")]
1031    pub labels: Option<Vec<serde_json::Value>>,
1032    #[serde(skip_serializing_if = "Option::is_none")]
1033    pub last_acted_at: Option<String>,
1034}
1035
1036/// OpenapiCommitAssetUploadUrl 模型
1037#[derive(Debug, Clone, Serialize, Deserialize)]
1038pub struct OpenapiCommitAssetUploadUrl {
1039    #[serde(skip_serializing_if = "Option::is_none")]
1040    pub verify_url: Option<String>,
1041    #[serde(skip_serializing_if = "Option::is_none")]
1042    pub expires_in_sec: Option<i64>,
1043    #[serde(skip_serializing_if = "Option::is_none")]
1044    pub upload_url: Option<String>,
1045}
1046
1047/// DtoActivityJoinGroupDetail 模型
1048#[derive(Debug, Clone, Serialize, Deserialize)]
1049pub struct DtoActivityJoinGroupDetail {
1050    #[serde(skip_serializing_if = "Option::is_none")]
1051    pub detail: Option<serde_json::Value>,
1052    #[serde(skip_serializing_if = "Option::is_none")]
1053    pub remark: Option<String>,
1054    #[serde(skip_serializing_if = "Option::is_none")]
1055    pub create_at: Option<String>,
1056}
1057
1058/// DtoUploadRequestParams 模型
1059#[derive(Debug, Clone, Serialize, Deserialize)]
1060pub struct DtoUploadRequestParams {
1061    #[serde(skip_serializing_if = "Option::is_none")]
1062    pub name: Option<String>,
1063    #[serde(skip_serializing_if = "Option::is_none")]
1064    pub size: Option<i64>,
1065}
1066
1067/// ChartMaintainer 模型
1068#[derive(Debug, Clone, Serialize, Deserialize)]
1069pub struct ChartMaintainer {
1070    #[serde(skip_serializing_if = "Option::is_none")]
1071    pub name: Option<String>,
1072    #[serde(skip_serializing_if = "Option::is_none")]
1073    pub email: Option<String>,
1074    #[serde(skip_serializing_if = "Option::is_none")]
1075    pub url_data: Option<String>,
1076}
1077
1078/// WebPostCommitAssetForm 模型
1079#[derive(Debug, Clone, Serialize, Deserialize)]
1080pub struct WebPostCommitAssetForm {
1081    #[serde(skip_serializing_if = "Option::is_none")]
1082    pub path: Option<String>,
1083    #[serde(skip_serializing_if = "Option::is_none")]
1084    pub token: Option<String>,
1085    #[serde(skip_serializing_if = "Option::is_none")]
1086    pub content_type: Option<String>,
1087    #[serde(skip_serializing_if = "Option::is_none")]
1088    pub name: Option<String>,
1089    #[serde(skip_serializing_if = "Option::is_none")]
1090    pub size_in_byte: Option<i64>,
1091}
1092
1093/// ApiPostBlobForm 模型
1094#[derive(Debug, Clone, Serialize, Deserialize)]
1095pub struct ApiPostBlobForm {
1096    #[serde(skip_serializing_if = "Option::is_none")]
1097    pub content: Option<String>,
1098    #[serde(skip_serializing_if = "Option::is_none")]
1099    pub encoding: Option<String>,
1100}
1101
1102/// WebFieldInfos 模型
1103#[derive(Debug, Clone, Serialize, Deserialize)]
1104pub struct WebFieldInfos {
1105    #[serde(skip_serializing_if = "Option::is_none")]
1106    pub stories: Option<serde_json::Value>,
1107    #[serde(skip_serializing_if = "Option::is_none")]
1108    pub task: Option<serde_json::Value>,
1109    #[serde(skip_serializing_if = "Option::is_none")]
1110    pub bug: Option<serde_json::Value>,
1111}
1112
1113/// DtoUserEmailType 模型
1114#[derive(Debug, Clone, Serialize, Deserialize)]
1115pub struct DtoUserEmailType {
1116}
1117
1118/// ScopeScene 模型
1119#[derive(Debug, Clone, Serialize, Deserialize)]
1120pub struct ScopeScene {
1121    #[serde(skip_serializing_if = "Option::is_none")]
1122    pub id: Option<String>,
1123    #[serde(skip_serializing_if = "Option::is_none")]
1124    pub values: Option<Vec<String>>,
1125    #[serde(skip_serializing_if = "Option::is_none")]
1126    pub description: Option<String>,
1127    #[serde(skip_serializing_if = "Option::is_none")]
1128    pub title: Option<String>,
1129}
1130
1131/// WebCommitRefs 模型
1132#[derive(Debug, Clone, Serialize, Deserialize)]
1133pub struct WebCommitRefs {
1134    #[serde(skip_serializing_if = "Option::is_none")]
1135    pub refs: Option<Vec<String>>,
1136    #[serde(skip_serializing_if = "Option::is_none")]
1137    pub has_more: Option<bool>,
1138}
1139
1140/// DtoStartWorkspaceReq 模型
1141#[derive(Debug, Clone, Serialize, Deserialize)]
1142pub struct DtoStartWorkspaceReq {
1143    #[serde(skip_serializing_if = "Option::is_none")]
1144    pub r#ref: Option<String>,
1145    #[serde(skip_serializing_if = "Option::is_none")]
1146    pub branch: Option<String>,
1147}
1148
1149/// WebPullRequestBranchProtection 模型
1150#[derive(Debug, Clone, Serialize, Deserialize)]
1151pub struct WebPullRequestBranchProtection {
1152    #[serde(skip_serializing_if = "Option::is_none")]
1153    pub allow_master_merge_without_review: Option<bool>,
1154    #[serde(skip_serializing_if = "Option::is_none")]
1155    pub required_approved_review_count: Option<i64>,
1156    #[serde(skip_serializing_if = "Option::is_none")]
1157    pub dismiss_stale_review: Option<bool>,
1158    #[serde(skip_serializing_if = "Option::is_none")]
1159    pub required_approved_review_ratio: Option<i64>,
1160    #[serde(skip_serializing_if = "Option::is_none")]
1161    pub required_master_approve: Option<bool>,
1162    #[serde(skip_serializing_if = "Option::is_none")]
1163    pub rule: Option<String>,
1164    #[serde(skip_serializing_if = "Option::is_none")]
1165    pub required_status_checks: Option<bool>,
1166    #[serde(skip_serializing_if = "Option::is_none")]
1167    pub required_must_push_via_pull_request: Option<bool>,
1168    #[serde(skip_serializing_if = "Option::is_none")]
1169    pub allow_deletions: Option<bool>,
1170    #[serde(skip_serializing_if = "Option::is_none")]
1171    pub allow_master_merge_without_status_checks: Option<bool>,
1172    #[serde(skip_serializing_if = "Option::is_none")]
1173    pub required_conversation_resolution: Option<bool>,
1174    #[serde(skip_serializing_if = "Option::is_none")]
1175    pub required_commit_signatures: Option<bool>,
1176    #[serde(skip_serializing_if = "Option::is_none")]
1177    pub allow_master_force_pushes: Option<bool>,
1178    #[serde(skip_serializing_if = "Option::is_none")]
1179    pub required_linear_history: Option<bool>,
1180    #[serde(skip_serializing_if = "Option::is_none")]
1181    pub required_pull_request_reviews: Option<bool>,
1182    #[serde(skip_serializing_if = "Option::is_none")]
1183    pub required_must_auto_merge: Option<bool>,
1184    #[serde(skip_serializing_if = "Option::is_none")]
1185    pub allow_force_pushes: Option<bool>,
1186    #[serde(skip_serializing_if = "Option::is_none")]
1187    pub allow_master_deletions: Option<bool>,
1188    #[serde(skip_serializing_if = "Option::is_none")]
1189    pub allow_assignee_manual_merge: Option<bool>,
1190    #[serde(skip_serializing_if = "Option::is_none")]
1191    pub allow_master_manual_merge: Option<bool>,
1192}
1193
1194/// WebCommit 模型
1195#[derive(Debug, Clone, Serialize, Deserialize)]
1196pub struct WebCommit {
1197    #[serde(skip_serializing_if = "Option::is_none")]
1198    pub commit: Option<serde_json::Value>,
1199    #[serde(skip_serializing_if = "Option::is_none")]
1200    pub sha: Option<String>,
1201    #[serde(skip_serializing_if = "Option::is_none")]
1202    pub commit_statuses: Option<serde_json::Value>,
1203    #[serde(skip_serializing_if = "Option::is_none")]
1204    pub files: Option<serde_json::Value>,
1205    #[serde(skip_serializing_if = "Option::is_none")]
1206    pub author: Option<serde_json::Value>,
1207    #[serde(skip_serializing_if = "Option::is_none")]
1208    pub committer: Option<serde_json::Value>,
1209    #[serde(skip_serializing_if = "Option::is_none")]
1210    pub parents: Option<Vec<serde_json::Value>>,
1211}
1212
1213/// V1Descriptor 模型
1214#[derive(Debug, Clone, Serialize, Deserialize)]
1215pub struct V1Descriptor {
1216    #[serde(skip_serializing_if = "Option::is_none")]
1217    pub annotations: Option<serde_json::Value>,
1218    #[serde(skip_serializing_if = "Option::is_none")]
1219    pub urls: Option<Vec<String>>,
1220    #[serde(skip_serializing_if = "Option::is_none")]
1221    pub size: Option<i64>,
1222    #[serde(skip_serializing_if = "Option::is_none")]
1223    pub artifact_type: Option<String>,
1224    #[serde(skip_serializing_if = "Option::is_none")]
1225    pub data: Option<Vec<i64>>,
1226    #[serde(skip_serializing_if = "Option::is_none")]
1227    pub digest: Option<String>,
1228    #[serde(skip_serializing_if = "Option::is_none")]
1229    pub media_type: Option<String>,
1230    #[serde(skip_serializing_if = "Option::is_none")]
1231    pub platform: Option<serde_json::Value>,
1232}
1233
1234/// DtoPackageDetail 模型
1235#[derive(Debug, Clone, Serialize, Deserialize)]
1236pub struct DtoPackageDetail {
1237    #[serde(skip_serializing_if = "Option::is_none")]
1238    pub helm: Option<serde_json::Value>,
1239    #[serde(skip_serializing_if = "Option::is_none")]
1240    pub docker: Option<serde_json::Value>,
1241    #[serde(skip_serializing_if = "Option::is_none")]
1242    pub nuget: Option<serde_json::Value>,
1243    #[serde(skip_serializing_if = "Option::is_none")]
1244    pub pypi: Option<serde_json::Value>,
1245    #[serde(skip_serializing_if = "Option::is_none")]
1246    pub composer: Option<serde_json::Value>,
1247    #[serde(skip_serializing_if = "Option::is_none")]
1248    pub ohpm: Option<serde_json::Value>,
1249    #[serde(skip_serializing_if = "Option::is_none")]
1250    pub npm: Option<serde_json::Value>,
1251    #[serde(skip_serializing_if = "Option::is_none")]
1252    pub docker_model: Option<serde_json::Value>,
1253    #[serde(skip_serializing_if = "Option::is_none")]
1254    pub maven: Option<serde_json::Value>,
1255}
1256
1257/// HandlerMissionFilterFrom 模型
1258#[derive(Debug, Clone, Serialize, Deserialize)]
1259pub struct HandlerMissionFilterFrom {
1260    #[serde(skip_serializing_if = "Option::is_none")]
1261    pub selectors: Option<Vec<serde_json::Value>>,
1262}
1263
1264/// ConstantRepoStatus 模型
1265#[derive(Debug, Clone, Serialize, Deserialize)]
1266pub struct ConstantRepoStatus {
1267}
1268
1269/// DtoBoolResponseWithDataMapConstantSlugTypeInt64 模型
1270#[derive(Debug, Clone, Serialize, Deserialize)]
1271pub struct DtoBoolResponseWithDataMapConstantSlugTypeInt64 {
1272    #[serde(skip_serializing_if = "Option::is_none")]
1273    pub result: Option<bool>,
1274    #[serde(skip_serializing_if = "Option::is_none")]
1275    pub message: Option<String>,
1276    #[serde(skip_serializing_if = "Option::is_none")]
1277    pub data: Option<serde_json::Value>,
1278}
1279
1280/// DtoListVulnerabilityOperateResponse 模型
1281#[derive(Debug, Clone, Serialize, Deserialize)]
1282pub struct DtoListVulnerabilityOperateResponse {
1283    #[serde(skip_serializing_if = "Option::is_none")]
1284    pub has_more: Option<bool>,
1285    #[serde(skip_serializing_if = "Option::is_none")]
1286    pub data: Option<Vec<serde_json::Value>>,
1287    #[serde(skip_serializing_if = "Option::is_none")]
1288    pub next_query_id: Option<String>,
1289}
1290
1291/// DtoMissionViewFieldConfig 模型
1292#[derive(Debug, Clone, Serialize, Deserialize)]
1293pub struct DtoMissionViewFieldConfig {
1294    #[serde(skip_serializing_if = "Option::is_none")]
1295    pub field: Option<String>,
1296    #[serde(skip_serializing_if = "Option::is_none")]
1297    pub width: Option<i64>,
1298}
1299
1300/// WebReleaseCommitNote 模型
1301#[derive(Debug, Clone, Serialize, Deserialize)]
1302pub struct WebReleaseCommitNote {
1303    #[serde(skip_serializing_if = "Option::is_none")]
1304    pub message: Option<String>,
1305    #[serde(skip_serializing_if = "Option::is_none")]
1306    pub hash: Option<String>,
1307}
1308
1309/// HandlerMissionFilter 模型
1310#[derive(Debug, Clone, Serialize, Deserialize)]
1311pub struct HandlerMissionFilter {
1312    #[serde(skip_serializing_if = "Option::is_none")]
1313    pub field: Option<String>,
1314    #[serde(skip_serializing_if = "Option::is_none")]
1315    pub operator: Option<String>,
1316    #[serde(skip_serializing_if = "Option::is_none")]
1317    pub value: Option<Vec<String>>,
1318}
1319
1320/// WebPullRequestFiles 模型
1321#[derive(Debug, Clone, Serialize, Deserialize)]
1322pub struct WebPullRequestFiles {
1323    #[serde(skip_serializing_if = "Option::is_none")]
1324    pub file_comments: Option<Vec<serde_json::Value>>,
1325    #[serde(skip_serializing_if = "Option::is_none")]
1326    pub base_commit: Option<String>,
1327    #[serde(skip_serializing_if = "Option::is_none")]
1328    pub head_commit: Option<String>,
1329    #[serde(skip_serializing_if = "Option::is_none")]
1330    pub merge_base_commit: Option<String>,
1331    #[serde(skip_serializing_if = "Option::is_none")]
1332    pub diff: Option<serde_json::Value>,
1333}
1334
1335/// WebRepoContribTrend 模型
1336#[derive(Debug, Clone, Serialize, Deserialize)]
1337pub struct WebRepoContribTrend {
1338    #[serde(skip_serializing_if = "Option::is_none")]
1339    pub meta: Option<serde_json::Value>,
1340    #[serde(skip_serializing_if = "Option::is_none")]
1341    pub user_total: Option<i64>,
1342    #[serde(skip_serializing_if = "Option::is_none")]
1343    pub users_data: Option<Vec<serde_json::Value>>,
1344    #[serde(skip_serializing_if = "Option::is_none")]
1345    pub with_line_counts: Option<bool>,
1346    #[serde(skip_serializing_if = "Option::is_none")]
1347    pub week_total: Option<i64>,
1348    #[serde(skip_serializing_if = "Option::is_none")]
1349    pub repo_data: Option<Vec<serde_json::Value>>,
1350}
1351
1352/// DtoVersionPolicy 模型
1353#[derive(Debug, Clone, Serialize, Deserialize)]
1354pub struct DtoVersionPolicy {
1355}
1356
1357/// DtoResourceRegistry 模型
1358#[derive(Debug, Clone, Serialize, Deserialize)]
1359pub struct DtoResourceRegistry {
1360    #[serde(skip_serializing_if = "Option::is_none")]
1361    pub last_push_user: Option<serde_json::Value>,
1362    #[serde(skip_serializing_if = "Option::is_none")]
1363    pub freeze: Option<bool>,
1364    #[serde(skip_serializing_if = "Option::is_none")]
1365    pub created_at: Option<String>,
1366    #[serde(skip_serializing_if = "Option::is_none")]
1367    pub id: Option<String>,
1368    #[serde(skip_serializing_if = "Option::is_none")]
1369    pub overwrite_policy: Option<String>,
1370    #[serde(skip_serializing_if = "Option::is_none")]
1371    pub name: Option<String>,
1372    #[serde(skip_serializing_if = "Option::is_none")]
1373    pub artifact_policy: Option<String>,
1374    #[serde(skip_serializing_if = "Option::is_none")]
1375    pub pkg_count: Option<i64>,
1376    #[serde(skip_serializing_if = "Option::is_none")]
1377    pub updated_at: Option<String>,
1378    #[serde(skip_serializing_if = "Option::is_none")]
1379    pub path: Option<String>,
1380    #[serde(skip_serializing_if = "Option::is_none")]
1381    pub last_push_time: Option<String>,
1382    #[serde(skip_serializing_if = "Option::is_none")]
1383    pub used_size: Option<i64>,
1384    #[serde(skip_serializing_if = "Option::is_none")]
1385    pub kind: Option<String>,
1386    #[serde(skip_serializing_if = "Option::is_none")]
1387    pub description: Option<String>,
1388    #[serde(skip_serializing_if = "Option::is_none")]
1389    pub visibility_level: Option<serde_json::Value>,
1390}
1391
1392/// DtoActivityCreateRepoDetail 模型
1393#[derive(Debug, Clone, Serialize, Deserialize)]
1394pub struct DtoActivityCreateRepoDetail {
1395    #[serde(skip_serializing_if = "Option::is_none")]
1396    pub create_at: Option<String>,
1397    #[serde(skip_serializing_if = "Option::is_none")]
1398    pub freeze: Option<bool>,
1399    #[serde(skip_serializing_if = "Option::is_none")]
1400    pub detail: Option<serde_json::Value>,
1401    #[serde(skip_serializing_if = "Option::is_none")]
1402    pub repo_unaccessible: Option<bool>,
1403    #[serde(skip_serializing_if = "Option::is_none")]
1404    pub exposed_repo_path: Option<String>,
1405    #[serde(skip_serializing_if = "Option::is_none")]
1406    pub visibility_level: Option<serde_json::Value>,
1407}
1408
1409/// HttpUpdateUserInfoPayload 模型
1410#[derive(Debug, Clone, Serialize, Deserialize)]
1411pub struct HttpUpdateUserInfoPayload {
1412    #[serde(skip_serializing_if = "Option::is_none")]
1413    pub name: Option<String>,
1414    #[serde(skip_serializing_if = "Option::is_none")]
1415    pub wechat_mp: Option<String>,
1416    #[serde(skip_serializing_if = "Option::is_none")]
1417    pub wechat_mp_qrcode: Option<String>,
1418    #[serde(skip_serializing_if = "Option::is_none")]
1419    pub company: Option<String>,
1420    #[serde(skip_serializing_if = "Option::is_none")]
1421    pub site: Option<String>,
1422    #[serde(skip_serializing_if = "Option::is_none")]
1423    pub location: Option<String>,
1424    #[serde(skip_serializing_if = "Option::is_none")]
1425    pub address: Option<String>,
1426    #[serde(skip_serializing_if = "Option::is_none")]
1427    pub bio: Option<String>,
1428    #[serde(skip_serializing_if = "Option::is_none")]
1429    pub nickname: Option<String>,
1430}
1431
1432/// WebAuthor 模型
1433#[derive(Debug, Clone, Serialize, Deserialize)]
1434pub struct WebAuthor {
1435    #[serde(skip_serializing_if = "Option::is_none")]
1436    pub email: Option<String>,
1437    #[serde(skip_serializing_if = "Option::is_none")]
1438    pub user_name: Option<String>,
1439}
1440
1441/// DtoCloseFreezeRepoReq 模型
1442#[derive(Debug, Clone, Serialize, Deserialize)]
1443pub struct DtoCloseFreezeRepoReq {
1444    #[serde(skip_serializing_if = "Option::is_none")]
1445    pub number: Option<i64>,
1446    #[serde(skip_serializing_if = "Option::is_none")]
1447    pub slug: Option<String>,
1448}
1449
1450/// WebDiffStat 模型
1451#[derive(Debug, Clone, Serialize, Deserialize)]
1452pub struct WebDiffStat {
1453    #[serde(skip_serializing_if = "Option::is_none")]
1454    pub entry_exceeded: Option<bool>,
1455    #[serde(skip_serializing_if = "Option::is_none")]
1456    pub paths: Option<Vec<serde_json::Value>>,
1457    #[serde(skip_serializing_if = "Option::is_none")]
1458    pub deletions: Option<i64>,
1459    #[serde(skip_serializing_if = "Option::is_none")]
1460    pub entry_limit: Option<i64>,
1461    #[serde(skip_serializing_if = "Option::is_none")]
1462    pub insertions: Option<i64>,
1463}
1464
1465/// ConstantActivityType 模型
1466#[derive(Debug, Clone, Serialize, Deserialize)]
1467pub struct ConstantActivityType {
1468}
1469
1470/// WebTreeContent 模型
1471#[derive(Debug, Clone, Serialize, Deserialize)]
1472pub struct WebTreeContent {
1473    #[serde(skip_serializing_if = "Option::is_none")]
1474    pub cnb_settings: Option<serde_json::Value>,
1475    #[serde(skip_serializing_if = "Option::is_none")]
1476    pub tag_count: Option<i64>,
1477    #[serde(skip_serializing_if = "Option::is_none")]
1478    pub commit_count_exceeded: Option<bool>,
1479    #[serde(skip_serializing_if = "Option::is_none")]
1480    pub path: Option<String>,
1481    #[serde(skip_serializing_if = "Option::is_none")]
1482    pub file_list_limit: Option<i64>,
1483    #[serde(skip_serializing_if = "Option::is_none")]
1484    pub has_web_trigger: Option<bool>,
1485    #[serde(skip_serializing_if = "Option::is_none")]
1486    pub initialized: Option<bool>,
1487    #[serde(skip_serializing_if = "Option::is_none")]
1488    pub is_protected: Option<bool>,
1489    #[serde(skip_serializing_if = "Option::is_none")]
1490    pub repository: Option<serde_json::Value>,
1491    #[serde(skip_serializing_if = "Option::is_none")]
1492    pub entries: Option<Vec<serde_json::Value>>,
1493    #[serde(skip_serializing_if = "Option::is_none")]
1494    pub commit_count: Option<i64>,
1495    #[serde(skip_serializing_if = "Option::is_none")]
1496    pub r#type: Option<String>,
1497    #[serde(skip_serializing_if = "Option::is_none")]
1498    pub last_commit: Option<serde_json::Value>,
1499    #[serde(skip_serializing_if = "Option::is_none")]
1500    pub name: Option<String>,
1501    #[serde(skip_serializing_if = "Option::is_none")]
1502    pub branch_count: Option<i64>,
1503    #[serde(skip_serializing_if = "Option::is_none")]
1504    pub commit_count_state: Option<String>,
1505    #[serde(skip_serializing_if = "Option::is_none")]
1506    pub read_me: Option<serde_json::Value>,
1507    #[serde(skip_serializing_if = "Option::is_none")]
1508    pub file_list_exceeded: Option<bool>,
1509}
1510
1511/// DtoCommonRegistryTag 模型
1512#[derive(Debug, Clone, Serialize, Deserialize)]
1513pub struct DtoCommonRegistryTag {
1514    #[serde(skip_serializing_if = "Option::is_none")]
1515    pub digest: Option<String>,
1516    #[serde(skip_serializing_if = "Option::is_none")]
1517    pub pull_count: Option<i64>,
1518    #[serde(skip_serializing_if = "Option::is_none")]
1519    pub recent_pull_count: Option<i64>,
1520    #[serde(skip_serializing_if = "Option::is_none")]
1521    pub last_pusher: Option<serde_json::Value>,
1522    #[serde(skip_serializing_if = "Option::is_none")]
1523    pub desc: Option<String>,
1524    #[serde(skip_serializing_if = "Option::is_none")]
1525    pub size: Option<i64>,
1526    #[serde(skip_serializing_if = "Option::is_none")]
1527    pub name: Option<String>,
1528    #[serde(skip_serializing_if = "Option::is_none")]
1529    pub status: Option<String>,
1530}
1531
1532/// ApiPostPullLabelsForm 模型
1533#[derive(Debug, Clone, Serialize, Deserialize)]
1534pub struct ApiPostPullLabelsForm {
1535    #[serde(skip_serializing_if = "Option::is_none")]
1536    pub labels: Option<Vec<String>>,
1537}
1538
1539/// WebPullRequestReviews 模型
1540#[derive(Debug, Clone, Serialize, Deserialize)]
1541pub struct WebPullRequestReviews {
1542    #[serde(skip_serializing_if = "Option::is_none")]
1543    pub approved_ratio: Option<i64>,
1544    #[serde(skip_serializing_if = "Option::is_none")]
1545    pub state: Option<String>,
1546    #[serde(skip_serializing_if = "Option::is_none")]
1547    pub master_reviewers: Option<Vec<serde_json::Value>>,
1548    #[serde(skip_serializing_if = "Option::is_none")]
1549    pub reviewers: Option<Vec<serde_json::Value>>,
1550}
1551
1552/// DtoCodeVulnerabilityOverview 模型
1553#[derive(Debug, Clone, Serialize, Deserialize)]
1554pub struct DtoCodeVulnerabilityOverview {
1555    #[serde(skip_serializing_if = "Option::is_none")]
1556    pub open: Option<i64>,
1557    #[serde(skip_serializing_if = "Option::is_none")]
1558    pub ignored: Option<i64>,
1559}
1560
1561/// WebCommitCount 模型
1562#[derive(Debug, Clone, Serialize, Deserialize)]
1563pub struct WebCommitCount {
1564    #[serde(skip_serializing_if = "Option::is_none")]
1565    pub state: Option<String>,
1566    #[serde(skip_serializing_if = "Option::is_none")]
1567    pub count: Option<i64>,
1568}
1569
1570/// ApiPullRequest 模型
1571#[derive(Debug, Clone, Serialize, Deserialize)]
1572pub struct ApiPullRequest {
1573    #[serde(skip_serializing_if = "Option::is_none")]
1574    pub base: Option<serde_json::Value>,
1575    #[serde(skip_serializing_if = "Option::is_none")]
1576    pub last_acted_at: Option<String>,
1577    #[serde(skip_serializing_if = "Option::is_none")]
1578    pub merged_by: Option<serde_json::Value>,
1579    #[serde(skip_serializing_if = "Option::is_none")]
1580    pub author: Option<serde_json::Value>,
1581    #[serde(skip_serializing_if = "Option::is_none")]
1582    pub repo: Option<serde_json::Value>,
1583    #[serde(skip_serializing_if = "Option::is_none")]
1584    pub title: Option<String>,
1585    #[serde(skip_serializing_if = "Option::is_none")]
1586    pub updated_at: Option<String>,
1587    #[serde(skip_serializing_if = "Option::is_none")]
1588    pub assignees: Option<Vec<serde_json::Value>>,
1589    #[serde(skip_serializing_if = "Option::is_none")]
1590    pub state: Option<String>,
1591    #[serde(skip_serializing_if = "Option::is_none")]
1592    pub head: Option<serde_json::Value>,
1593    #[serde(skip_serializing_if = "Option::is_none")]
1594    pub is_wip: Option<bool>,
1595    #[serde(skip_serializing_if = "Option::is_none")]
1596    pub number: Option<String>,
1597    #[serde(skip_serializing_if = "Option::is_none")]
1598    pub review_count: Option<i64>,
1599    #[serde(skip_serializing_if = "Option::is_none")]
1600    pub comment_count: Option<i64>,
1601    #[serde(skip_serializing_if = "Option::is_none")]
1602    pub mergeable_state: Option<String>,
1603    #[serde(skip_serializing_if = "Option::is_none")]
1604    pub created_at: Option<String>,
1605    #[serde(skip_serializing_if = "Option::is_none")]
1606    pub blocked_on: Option<String>,
1607}
1608
1609/// DtoMissionWithRepos 模型
1610#[derive(Debug, Clone, Serialize, Deserialize)]
1611pub struct DtoMissionWithRepos {
1612    #[serde(skip_serializing_if = "Option::is_none")]
1613    pub created_at: Option<String>,
1614    #[serde(skip_serializing_if = "Option::is_none")]
1615    pub id: Option<i64>,
1616    #[serde(skip_serializing_if = "Option::is_none")]
1617    pub freeze: Option<bool>,
1618    #[serde(skip_serializing_if = "Option::is_none")]
1619    pub repos: Option<Vec<serde_json::Value>>,
1620    #[serde(skip_serializing_if = "Option::is_none")]
1621    pub updated_at: Option<String>,
1622    #[serde(skip_serializing_if = "Option::is_none")]
1623    pub description: Option<String>,
1624    #[serde(skip_serializing_if = "Option::is_none")]
1625    pub visibility_level: Option<serde_json::Value>,
1626    #[serde(skip_serializing_if = "Option::is_none")]
1627    pub stared: Option<bool>,
1628    #[serde(skip_serializing_if = "Option::is_none")]
1629    pub name: Option<String>,
1630}
1631
1632/// WebDiffEntryFile 模型
1633#[derive(Debug, Clone, Serialize, Deserialize)]
1634pub struct WebDiffEntryFile {
1635    #[serde(skip_serializing_if = "Option::is_none")]
1636    pub size: Option<String>,
1637    #[serde(skip_serializing_if = "Option::is_none")]
1638    pub is_binary: Option<bool>,
1639    #[serde(skip_serializing_if = "Option::is_none")]
1640    pub path: Option<String>,
1641    #[serde(skip_serializing_if = "Option::is_none")]
1642    pub oid: Option<String>,
1643    #[serde(skip_serializing_if = "Option::is_none")]
1644    pub mode: Option<String>,
1645}
1646
1647/// ConstantSlugType 模型
1648#[derive(Debug, Clone, Serialize, Deserialize)]
1649pub struct ConstantSlugType {
1650}
1651
1652/// WebReleaseAsset 模型
1653#[derive(Debug, Clone, Serialize, Deserialize)]
1654pub struct WebReleaseAsset {
1655    #[serde(skip_serializing_if = "Option::is_none")]
1656    pub path: Option<String>,
1657    #[serde(skip_serializing_if = "Option::is_none")]
1658    pub content_type: Option<String>,
1659    #[serde(skip_serializing_if = "Option::is_none")]
1660    pub created_at: Option<String>,
1661    #[serde(skip_serializing_if = "Option::is_none")]
1662    pub updated_at: Option<String>,
1663    #[serde(skip_serializing_if = "Option::is_none")]
1664    pub author: Option<serde_json::Value>,
1665    #[serde(skip_serializing_if = "Option::is_none")]
1666    pub id: Option<String>,
1667    #[serde(skip_serializing_if = "Option::is_none")]
1668    pub name: Option<String>,
1669    #[serde(skip_serializing_if = "Option::is_none")]
1670    pub size_in_byte: Option<i64>,
1671}
1672
1673/// DtoContainerPackageDetail 模型
1674#[derive(Debug, Clone, Serialize, Deserialize)]
1675pub struct DtoContainerPackageDetail {
1676    #[serde(skip_serializing_if = "Option::is_none")]
1677    pub slug: Option<String>,
1678    #[serde(skip_serializing_if = "Option::is_none")]
1679    pub tags: Option<Vec<serde_json::Value>>,
1680    #[serde(skip_serializing_if = "Option::is_none")]
1681    pub tag_total: Option<i64>,
1682    #[serde(skip_serializing_if = "Option::is_none")]
1683    pub recent_pull_count: Option<i64>,
1684    #[serde(skip_serializing_if = "Option::is_none")]
1685    pub pull_count: Option<i64>,
1686    #[serde(skip_serializing_if = "Option::is_none")]
1687    pub address: Option<String>,
1688    #[serde(skip_serializing_if = "Option::is_none")]
1689    pub last_pusher: Option<serde_json::Value>,
1690    #[serde(skip_serializing_if = "Option::is_none")]
1691    pub desc: Option<String>,
1692    #[serde(skip_serializing_if = "Option::is_none")]
1693    pub package: Option<String>,
1694}
1695
1696/// WebRepoLanguage 模型
1697#[derive(Debug, Clone, Serialize, Deserialize)]
1698pub struct WebRepoLanguage {
1699    #[serde(skip_serializing_if = "Option::is_none")]
1700    pub color: Option<String>,
1701    #[serde(skip_serializing_if = "Option::is_none")]
1702    pub name: Option<String>,
1703    #[serde(skip_serializing_if = "Option::is_none")]
1704    pub ratio: Option<String>,
1705}
1706
1707/// ApiPostTagFrom 模型
1708#[derive(Debug, Clone, Serialize, Deserialize)]
1709pub struct ApiPostTagFrom {
1710    #[serde(skip_serializing_if = "Option::is_none")]
1711    pub name: Option<String>,
1712    #[serde(skip_serializing_if = "Option::is_none")]
1713    pub message: Option<String>,
1714    #[serde(skip_serializing_if = "Option::is_none")]
1715    pub target: Option<String>,
1716}
1717
1718/// DtoBindResources 模型
1719#[derive(Debug, Clone, Serialize, Deserialize)]
1720pub struct DtoBindResources {
1721    #[serde(skip_serializing_if = "Option::is_none")]
1722    pub updated_at: Option<String>,
1723    #[serde(skip_serializing_if = "Option::is_none")]
1724    pub metadata: Option<String>,
1725    #[serde(skip_serializing_if = "Option::is_none")]
1726    pub app_id: Option<String>,
1727    #[serde(skip_serializing_if = "Option::is_none")]
1728    pub created_at: Option<String>,
1729    #[serde(skip_serializing_if = "Option::is_none")]
1730    pub openid: Option<String>,
1731}
1732
1733/// WechatAuthorizedUser 模型
1734#[derive(Debug, Clone, Serialize, Deserialize)]
1735pub struct WechatAuthorizedUser {
1736    #[serde(skip_serializing_if = "Option::is_none")]
1737    pub freeze: Option<bool>,
1738    #[serde(skip_serializing_if = "Option::is_none")]
1739    pub nick_name: Option<String>,
1740    #[serde(skip_serializing_if = "Option::is_none")]
1741    pub max_days_options: Option<Vec<i64>>,
1742    #[serde(skip_serializing_if = "Option::is_none")]
1743    pub head_img_url: Option<String>,
1744    #[serde(skip_serializing_if = "Option::is_none")]
1745    pub freeze_time: Option<i64>,
1746    #[serde(skip_serializing_if = "Option::is_none")]
1747    pub default_max_day: Option<i64>,
1748}
1749
1750/// DtoRankDetailWithIncr 模型
1751#[derive(Debug, Clone, Serialize, Deserialize)]
1752pub struct DtoRankDetailWithIncr {
1753    #[serde(skip_serializing_if = "Option::is_none")]
1754    pub updated_at: Option<String>,
1755    #[serde(skip_serializing_if = "Option::is_none")]
1756    pub status: Option<serde_json::Value>,
1757    #[serde(skip_serializing_if = "Option::is_none")]
1758    pub freeze: Option<bool>,
1759    #[serde(skip_serializing_if = "Option::is_none")]
1760    pub mark_count: Option<i64>,
1761    #[serde(skip_serializing_if = "Option::is_none")]
1762    pub last_update_nickname: Option<String>,
1763    #[serde(skip_serializing_if = "Option::is_none")]
1764    pub language: Option<String>,
1765    #[serde(skip_serializing_if = "Option::is_none")]
1766    pub created_at: Option<String>,
1767    #[serde(skip_serializing_if = "Option::is_none")]
1768    pub last_updated_at: Option<serde_json::Value>,
1769    #[serde(skip_serializing_if = "Option::is_none")]
1770    pub tags: Option<Vec<serde_json::Value>>,
1771    #[serde(skip_serializing_if = "Option::is_none")]
1772    pub topics: Option<String>,
1773    #[serde(skip_serializing_if = "Option::is_none")]
1774    pub web_url: Option<String>,
1775    #[serde(skip_serializing_if = "Option::is_none")]
1776    pub description: Option<String>,
1777    #[serde(skip_serializing_if = "Option::is_none")]
1778    pub increase_fork: Option<i64>,
1779    #[serde(skip_serializing_if = "Option::is_none")]
1780    pub display_module: Option<serde_json::Value>,
1781    #[serde(skip_serializing_if = "Option::is_none")]
1782    pub license: Option<String>,
1783    #[serde(skip_serializing_if = "Option::is_none")]
1784    pub languages: Option<serde_json::Value>,
1785    #[serde(skip_serializing_if = "Option::is_none")]
1786    pub visibility_level: Option<serde_json::Value>,
1787    #[serde(skip_serializing_if = "Option::is_none")]
1788    pub flags: Option<serde_json::Value>,
1789    #[serde(skip_serializing_if = "Option::is_none")]
1790    pub weight_score: Option<i64>,
1791    #[serde(skip_serializing_if = "Option::is_none")]
1792    pub open_issue_count: Option<i64>,
1793    #[serde(skip_serializing_if = "Option::is_none")]
1794    pub id: Option<String>,
1795    #[serde(skip_serializing_if = "Option::is_none")]
1796    pub path: Option<String>,
1797    #[serde(skip_serializing_if = "Option::is_none")]
1798    pub second_languages: Option<serde_json::Value>,
1799    #[serde(skip_serializing_if = "Option::is_none")]
1800    pub site: Option<String>,
1801    #[serde(skip_serializing_if = "Option::is_none")]
1802    pub last_update_username: Option<String>,
1803    #[serde(skip_serializing_if = "Option::is_none")]
1804    pub star_count: Option<i64>,
1805    #[serde(skip_serializing_if = "Option::is_none")]
1806    pub open_pull_request_count: Option<i64>,
1807    #[serde(skip_serializing_if = "Option::is_none")]
1808    pub fork_count: Option<i64>,
1809    #[serde(skip_serializing_if = "Option::is_none")]
1810    pub stared: Option<bool>,
1811    #[serde(skip_serializing_if = "Option::is_none")]
1812    pub forked_from_repo: Option<serde_json::Value>,
1813    #[serde(skip_serializing_if = "Option::is_none")]
1814    pub increase_star: Option<i64>,
1815    #[serde(skip_serializing_if = "Option::is_none")]
1816    pub name: Option<String>,
1817}
1818
1819/// WebPullRequestSettings 模型
1820#[derive(Debug, Clone, Serialize, Deserialize)]
1821pub struct WebPullRequestSettings {
1822    #[serde(skip_serializing_if = "Option::is_none")]
1823    pub allow_merge_commit_merge: Option<bool>,
1824    #[serde(skip_serializing_if = "Option::is_none")]
1825    pub allow_rebase_merge: Option<bool>,
1826    #[serde(skip_serializing_if = "Option::is_none")]
1827    pub allow_squash_merge: Option<bool>,
1828    #[serde(skip_serializing_if = "Option::is_none")]
1829    pub master_auto_as_reviewer: Option<bool>,
1830    #[serde(skip_serializing_if = "Option::is_none")]
1831    pub merge_commit_message_style: Option<String>,
1832    #[serde(skip_serializing_if = "Option::is_none")]
1833    pub squash_commit_message_style: Option<String>,
1834}
1835
1836/// ApiPushLimitSettings 模型
1837#[derive(Debug, Clone, Serialize, Deserialize)]
1838pub struct ApiPushLimitSettings {
1839    #[serde(skip_serializing_if = "Option::is_none")]
1840    pub allow_single_push_number: Option<i64>,
1841    #[serde(skip_serializing_if = "Option::is_none")]
1842    pub push_commit_must_be: Option<String>,
1843    #[serde(skip_serializing_if = "Option::is_none")]
1844    pub only_master_can_push_tag: Option<bool>,
1845    #[serde(skip_serializing_if = "Option::is_none")]
1846    pub check_single_push_number: Option<bool>,
1847}
1848
1849/// WebComparedCommits 模型
1850#[derive(Debug, Clone, Serialize, Deserialize)]
1851pub struct WebComparedCommits {
1852    #[serde(skip_serializing_if = "Option::is_none")]
1853    pub merge_base_commit: Option<String>,
1854    #[serde(skip_serializing_if = "Option::is_none")]
1855    pub base_commit: Option<String>,
1856    #[serde(skip_serializing_if = "Option::is_none")]
1857    pub straight: Option<bool>,
1858    #[serde(skip_serializing_if = "Option::is_none")]
1859    pub head_commit: Option<String>,
1860    #[serde(skip_serializing_if = "Option::is_none")]
1861    pub commit_count: Option<i64>,
1862    #[serde(skip_serializing_if = "Option::is_none")]
1863    pub commits: Option<Vec<serde_json::Value>>,
1864}
1865
1866/// DtoContainerTag 模型
1867#[derive(Debug, Clone, Serialize, Deserialize)]
1868pub struct DtoContainerTag {
1869    #[serde(skip_serializing_if = "Option::is_none")]
1870    pub annotations: Option<serde_json::Value>,
1871    #[serde(skip_serializing_if = "Option::is_none")]
1872    pub last_pusher: Option<serde_json::Value>,
1873    #[serde(skip_serializing_if = "Option::is_none")]
1874    pub pull_count: Option<i64>,
1875    #[serde(skip_serializing_if = "Option::is_none")]
1876    pub name: Option<String>,
1877    #[serde(skip_serializing_if = "Option::is_none")]
1878    pub images: Option<Vec<serde_json::Value>>,
1879    #[serde(skip_serializing_if = "Option::is_none")]
1880    pub recent_pull_count: Option<i64>,
1881    #[serde(skip_serializing_if = "Option::is_none")]
1882    pub address: Option<String>,
1883}
1884
1885/// WebTreeEntry 模型
1886#[derive(Debug, Clone, Serialize, Deserialize)]
1887pub struct WebTreeEntry {
1888    #[serde(skip_serializing_if = "Option::is_none")]
1889    pub sha: Option<String>,
1890    #[serde(skip_serializing_if = "Option::is_none")]
1891    pub submodule: Option<serde_json::Value>,
1892    #[serde(skip_serializing_if = "Option::is_none")]
1893    pub is_lfs: Option<bool>,
1894    #[serde(skip_serializing_if = "Option::is_none")]
1895    pub name: Option<String>,
1896    #[serde(skip_serializing_if = "Option::is_none")]
1897    pub path: Option<String>,
1898    #[serde(skip_serializing_if = "Option::is_none")]
1899    pub r#type: Option<String>,
1900}
1901
1902/// ApiCompareResponse 模型
1903#[derive(Debug, Clone, Serialize, Deserialize)]
1904pub struct ApiCompareResponse {
1905    #[serde(skip_serializing_if = "Option::is_none")]
1906    pub total_commits: Option<i64>,
1907    #[serde(skip_serializing_if = "Option::is_none")]
1908    pub base_commit: Option<serde_json::Value>,
1909    #[serde(skip_serializing_if = "Option::is_none")]
1910    pub commits: Option<Vec<serde_json::Value>>,
1911    #[serde(skip_serializing_if = "Option::is_none")]
1912    pub files: Option<Vec<serde_json::Value>>,
1913    #[serde(skip_serializing_if = "Option::is_none")]
1914    pub head_commit: Option<serde_json::Value>,
1915    #[serde(skip_serializing_if = "Option::is_none")]
1916    pub merge_base_commit: Option<serde_json::Value>,
1917}
1918
1919/// HandlerLicenseListItem 模型
1920#[derive(Debug, Clone, Serialize, Deserialize)]
1921pub struct HandlerLicenseListItem {
1922    #[serde(skip_serializing_if = "Option::is_none")]
1923    pub spdx_id: Option<String>,
1924    #[serde(skip_serializing_if = "Option::is_none")]
1925    pub key: Option<String>,
1926    #[serde(skip_serializing_if = "Option::is_none")]
1927    pub name: Option<String>,
1928}
1929
1930/// ApiRepo 模型
1931#[derive(Debug, Clone, Serialize, Deserialize)]
1932pub struct ApiRepo {
1933    #[serde(skip_serializing_if = "Option::is_none")]
1934    pub path: Option<String>,
1935    #[serde(skip_serializing_if = "Option::is_none")]
1936    pub name: Option<String>,
1937    #[serde(skip_serializing_if = "Option::is_none")]
1938    pub id: Option<String>,
1939    #[serde(skip_serializing_if = "Option::is_none")]
1940    pub web_url: Option<String>,
1941}
1942
1943/// DtoBudget 模型
1944#[derive(Debug, Clone, Serialize, Deserialize)]
1945pub struct DtoBudget {
1946    #[serde(skip_serializing_if = "Option::is_none")]
1947    pub charge_type_ci_gpu: Option<i64>,
1948    #[serde(skip_serializing_if = "Option::is_none")]
1949    pub status: Option<serde_json::Value>,
1950    #[serde(skip_serializing_if = "Option::is_none")]
1951    pub uin: Option<String>,
1952    #[serde(skip_serializing_if = "Option::is_none")]
1953    pub charge_type_dev_gpu: Option<i64>,
1954    #[serde(skip_serializing_if = "Option::is_none")]
1955    pub charge_type_ci: Option<i64>,
1956    #[serde(skip_serializing_if = "Option::is_none")]
1957    pub name: Option<String>,
1958    #[serde(skip_serializing_if = "Option::is_none")]
1959    pub charge_type_git: Option<i64>,
1960    #[serde(skip_serializing_if = "Option::is_none")]
1961    pub charge_type_dev: Option<i64>,
1962    #[serde(skip_serializing_if = "Option::is_none")]
1963    pub charge_type_object: Option<i64>,
1964}
1965
1966/// LabelOption 模型
1967#[derive(Debug, Clone, Serialize, Deserialize)]
1968pub struct LabelOption {
1969    #[serde(skip_serializing_if = "Option::is_none")]
1970    pub description: Option<String>,
1971    #[serde(skip_serializing_if = "Option::is_none")]
1972    pub name: Option<String>,
1973    #[serde(skip_serializing_if = "Option::is_none")]
1974    pub color: Option<String>,
1975    #[serde(skip_serializing_if = "Option::is_none")]
1976    pub id: Option<String>,
1977}
1978
1979/// ConvertNullTime 模型
1980#[derive(Debug, Clone, Serialize, Deserialize)]
1981pub struct ConvertNullTime {
1982    #[serde(skip_serializing_if = "Option::is_none")]
1983    pub time: Option<String>,
1984    #[serde(skip_serializing_if = "Option::is_none")]
1985    pub valid: Option<bool>,
1986}
1987
1988/// WebLabelOption 模型
1989#[derive(Debug, Clone, Serialize, Deserialize)]
1990pub struct WebLabelOption {
1991    #[serde(skip_serializing_if = "Option::is_none")]
1992    pub updated_at: Option<String>,
1993    #[serde(skip_serializing_if = "Option::is_none")]
1994    pub repo_id: Option<i64>,
1995    #[serde(skip_serializing_if = "Option::is_none")]
1996    pub color: Option<String>,
1997    #[serde(skip_serializing_if = "Option::is_none")]
1998    pub description: Option<String>,
1999    #[serde(skip_serializing_if = "Option::is_none")]
2000    pub created_at: Option<String>,
2001    #[serde(skip_serializing_if = "Option::is_none")]
2002    pub name: Option<String>,
2003    #[serde(skip_serializing_if = "Option::is_none")]
2004    pub slug: Option<String>,
2005    #[serde(skip_serializing_if = "Option::is_none")]
2006    pub id: Option<String>,
2007}
2008
2009/// DtoCodeVulnerabilityDetailResponse 模型
2010#[derive(Debug, Clone, Serialize, Deserialize)]
2011pub struct DtoCodeVulnerabilityDetailResponse {
2012    #[serde(skip_serializing_if = "Option::is_none")]
2013    pub name: Option<String>,
2014    #[serde(skip_serializing_if = "Option::is_none")]
2015    pub is_suggest: Option<bool>,
2016    #[serde(skip_serializing_if = "Option::is_none")]
2017    pub comp_fixed_version: Option<String>,
2018    #[serde(skip_serializing_if = "Option::is_none")]
2019    pub id: Option<String>,
2020    #[serde(skip_serializing_if = "Option::is_none")]
2021    pub is_ignore: Option<bool>,
2022    #[serde(skip_serializing_if = "Option::is_none")]
2023    pub purl_namespace: Option<String>,
2024    #[serde(skip_serializing_if = "Option::is_none")]
2025    pub commit_id: Option<String>,
2026    #[serde(skip_serializing_if = "Option::is_none")]
2027    pub cvss: Option<f64>,
2028    #[serde(skip_serializing_if = "Option::is_none")]
2029    pub ignore_reason: Option<serde_json::Value>,
2030    #[serde(skip_serializing_if = "Option::is_none")]
2031    pub scan_record_id: Option<String>,
2032    #[serde(skip_serializing_if = "Option::is_none")]
2033    pub published_date: Option<String>,
2034    #[serde(skip_serializing_if = "Option::is_none")]
2035    pub status: Option<serde_json::Value>,
2036    #[serde(skip_serializing_if = "Option::is_none")]
2037    pub poc_id: Option<String>,
2038    #[serde(skip_serializing_if = "Option::is_none")]
2039    pub created_at: Option<String>,
2040    #[serde(skip_serializing_if = "Option::is_none")]
2041    pub cvss_v_3: Option<String>,
2042    #[serde(skip_serializing_if = "Option::is_none")]
2043    pub comp_name: Option<String>,
2044    #[serde(skip_serializing_if = "Option::is_none")]
2045    pub cnnvd_id: Option<String>,
2046    #[serde(skip_serializing_if = "Option::is_none")]
2047    pub code_vulnerability_comp_version_list: Option<Vec<serde_json::Value>>,
2048    #[serde(skip_serializing_if = "Option::is_none")]
2049    pub can_be_fixed: Option<bool>,
2050    #[serde(skip_serializing_if = "Option::is_none")]
2051    pub reference: Option<String>,
2052    #[serde(skip_serializing_if = "Option::is_none")]
2053    pub vul_type: Option<String>,
2054    #[serde(skip_serializing_if = "Option::is_none")]
2055    pub defense_solution: Option<String>,
2056    #[serde(skip_serializing_if = "Option::is_none")]
2057    pub vul_tags: Option<String>,
2058    #[serde(skip_serializing_if = "Option::is_none")]
2059    pub last_modified_date: Option<String>,
2060    #[serde(skip_serializing_if = "Option::is_none")]
2061    pub description: Option<String>,
2062    #[serde(skip_serializing_if = "Option::is_none")]
2063    pub cvss_v_2: Option<String>,
2064    #[serde(skip_serializing_if = "Option::is_none")]
2065    pub comp_effected_version: Option<String>,
2066    #[serde(skip_serializing_if = "Option::is_none")]
2067    pub ignore_operator: Option<String>,
2068    #[serde(skip_serializing_if = "Option::is_none")]
2069    pub cve_id: Option<String>,
2070    #[serde(skip_serializing_if = "Option::is_none")]
2071    pub cwe_id: Option<String>,
2072    #[serde(skip_serializing_if = "Option::is_none")]
2073    pub official_solution: Option<String>,
2074    #[serde(skip_serializing_if = "Option::is_none")]
2075    pub cvss_rank: Option<serde_json::Value>,
2076    #[serde(skip_serializing_if = "Option::is_none")]
2077    pub cnvd_id: Option<String>,
2078}
2079
2080/// DtoBuildLogsResult 模型
2081#[derive(Debug, Clone, Serialize, Deserialize)]
2082pub struct DtoBuildLogsResult {
2083    #[serde(skip_serializing_if = "Option::is_none")]
2084    pub init: Option<bool>,
2085    #[serde(skip_serializing_if = "Option::is_none")]
2086    pub total: Option<i64>,
2087    #[serde(skip_serializing_if = "Option::is_none")]
2088    pub timestamp: Option<i64>,
2089    #[serde(skip_serializing_if = "Option::is_none")]
2090    pub data: Option<Vec<serde_json::Value>>,
2091}
2092
2093/// DtoTimeVolume 模型
2094#[derive(Debug, Clone, Serialize, Deserialize)]
2095pub struct DtoTimeVolume {
2096    #[serde(skip_serializing_if = "Option::is_none")]
2097    pub volume: Option<String>,
2098    #[serde(skip_serializing_if = "Option::is_none")]
2099    pub time_rfc_3339: Option<String>,
2100}
2101
2102/// FlagsRepo 模型
2103#[derive(Debug, Clone, Serialize, Deserialize)]
2104pub struct FlagsRepo {
2105}
2106
2107/// WebCommitAnnotation 模型
2108#[derive(Debug, Clone, Serialize, Deserialize)]
2109pub struct WebCommitAnnotation {
2110    #[serde(skip_serializing_if = "Option::is_none")]
2111    pub meta: Option<serde_json::Value>,
2112    #[serde(skip_serializing_if = "Option::is_none")]
2113    pub key: Option<String>,
2114    #[serde(skip_serializing_if = "Option::is_none")]
2115    pub value: Option<String>,
2116}
2117
2118/// WebSubscribe 模型
2119#[derive(Debug, Clone, Serialize, Deserialize)]
2120pub struct WebSubscribe {
2121    #[serde(skip_serializing_if = "Option::is_none")]
2122    pub is_participant: Option<bool>,
2123    #[serde(skip_serializing_if = "Option::is_none")]
2124    pub blocked: Option<bool>,
2125    #[serde(skip_serializing_if = "Option::is_none")]
2126    pub is_subscriber: Option<bool>,
2127    #[serde(skip_serializing_if = "Option::is_none")]
2128    pub sub_model: Option<String>,
2129}
2130
2131/// DtoStage 模型
2132#[derive(Debug, Clone, Serialize, Deserialize)]
2133pub struct DtoStage {
2134    #[serde(skip_serializing_if = "Option::is_none")]
2135    pub status: Option<String>,
2136    #[serde(skip_serializing_if = "Option::is_none")]
2137    pub id: Option<String>,
2138    #[serde(skip_serializing_if = "Option::is_none")]
2139    pub duration: Option<i64>,
2140}
2141
2142/// DtoRepoRank 模型
2143#[derive(Debug, Clone, Serialize, Deserialize)]
2144pub struct DtoRepoRank {
2145    #[serde(skip_serializing_if = "Option::is_none")]
2146    pub top_n: Option<i64>,
2147    #[serde(skip_serializing_if = "Option::is_none")]
2148    pub repo_detail: Option<Vec<serde_json::Value>>,
2149    #[serde(skip_serializing_if = "Option::is_none")]
2150    pub rank_type: Option<String>,
2151}
2152
2153/// ConstantBudgetSts 模型
2154#[derive(Debug, Clone, Serialize, Deserialize)]
2155pub struct ConstantBudgetSts {
2156}
2157
2158/// WebRelease 模型
2159#[derive(Debug, Clone, Serialize, Deserialize)]
2160pub struct WebRelease {
2161    #[serde(skip_serializing_if = "Option::is_none")]
2162    pub is_draft: Option<bool>,
2163    #[serde(skip_serializing_if = "Option::is_none")]
2164    pub author: Option<serde_json::Value>,
2165    #[serde(skip_serializing_if = "Option::is_none")]
2166    pub last_updated_by: Option<serde_json::Value>,
2167    #[serde(skip_serializing_if = "Option::is_none")]
2168    pub reactions: Option<Vec<serde_json::Value>>,
2169    #[serde(skip_serializing_if = "Option::is_none")]
2170    pub created_at: Option<String>,
2171    #[serde(skip_serializing_if = "Option::is_none")]
2172    pub title: Option<String>,
2173    #[serde(skip_serializing_if = "Option::is_none")]
2174    pub body: Option<String>,
2175    #[serde(skip_serializing_if = "Option::is_none")]
2176    pub id: Option<String>,
2177    #[serde(skip_serializing_if = "Option::is_none")]
2178    pub is_latest: Option<bool>,
2179    #[serde(skip_serializing_if = "Option::is_none")]
2180    pub published_at: Option<String>,
2181    #[serde(skip_serializing_if = "Option::is_none")]
2182    pub target_commit_hash: Option<String>,
2183    #[serde(skip_serializing_if = "Option::is_none")]
2184    pub is_prerelease: Option<bool>,
2185    #[serde(skip_serializing_if = "Option::is_none")]
2186    pub updated_at: Option<String>,
2187    #[serde(skip_serializing_if = "Option::is_none")]
2188    pub tag_ref: Option<String>,
2189    #[serde(skip_serializing_if = "Option::is_none")]
2190    pub assets: Option<Vec<serde_json::Value>>,
2191}
2192
2193/// DtoCopyReq 模型
2194#[derive(Debug, Clone, Serialize, Deserialize)]
2195pub struct DtoCopyReq {
2196    #[serde(skip_serializing_if = "Option::is_none")]
2197    pub description: Option<String>,
2198    #[serde(skip_serializing_if = "Option::is_none")]
2199    pub group: Option<String>,
2200    #[serde(skip_serializing_if = "Option::is_none")]
2201    pub name: Option<String>,
2202    #[serde(skip_serializing_if = "Option::is_none")]
2203    pub visibility: Option<String>,
2204}
2205
2206/// DtoMissionViewSort 模型
2207#[derive(Debug, Clone, Serialize, Deserialize)]
2208pub struct DtoMissionViewSort {
2209    #[serde(skip_serializing_if = "Option::is_none")]
2210    pub order: Option<serde_json::Value>,
2211    #[serde(skip_serializing_if = "Option::is_none")]
2212    pub field: Option<String>,
2213}
2214
2215/// DtoChartPackageDetail 模型
2216#[derive(Debug, Clone, Serialize, Deserialize)]
2217pub struct DtoChartPackageDetail {
2218    #[serde(skip_serializing_if = "Option::is_none")]
2219    pub desc: Option<String>,
2220    #[serde(skip_serializing_if = "Option::is_none")]
2221    pub recent_pull_count: Option<i64>,
2222    #[serde(skip_serializing_if = "Option::is_none")]
2223    pub address: Option<String>,
2224    #[serde(skip_serializing_if = "Option::is_none")]
2225    pub tag_total: Option<i64>,
2226    #[serde(skip_serializing_if = "Option::is_none")]
2227    pub last_pusher: Option<serde_json::Value>,
2228    #[serde(skip_serializing_if = "Option::is_none")]
2229    pub pull_count: Option<i64>,
2230    #[serde(skip_serializing_if = "Option::is_none")]
2231    pub package: Option<String>,
2232    #[serde(skip_serializing_if = "Option::is_none")]
2233    pub slug: Option<String>,
2234    #[serde(skip_serializing_if = "Option::is_none")]
2235    pub tags: Option<Vec<serde_json::Value>>,
2236}
2237
2238/// DtoOutsideCollaboratorInRepo 模型
2239#[derive(Debug, Clone, Serialize, Deserialize)]
2240pub struct DtoOutsideCollaboratorInRepo {
2241    #[serde(skip_serializing_if = "Option::is_none")]
2242    pub locked: Option<bool>,
2243    #[serde(skip_serializing_if = "Option::is_none")]
2244    pub r#type: Option<serde_json::Value>,
2245    #[serde(skip_serializing_if = "Option::is_none")]
2246    pub id: Option<String>,
2247    #[serde(skip_serializing_if = "Option::is_none")]
2248    pub username: Option<String>,
2249    #[serde(skip_serializing_if = "Option::is_none")]
2250    pub verified: Option<i64>,
2251    #[serde(skip_serializing_if = "Option::is_none")]
2252    pub verified_expire_in: Option<String>,
2253    #[serde(skip_serializing_if = "Option::is_none")]
2254    pub email: Option<String>,
2255    #[serde(skip_serializing_if = "Option::is_none")]
2256    pub access_level: Option<serde_json::Value>,
2257    #[serde(skip_serializing_if = "Option::is_none")]
2258    pub freeze: Option<bool>,
2259    #[serde(skip_serializing_if = "Option::is_none")]
2260    pub avatar: Option<String>,
2261    #[serde(skip_serializing_if = "Option::is_none")]
2262    pub created_at: Option<String>,
2263    #[serde(skip_serializing_if = "Option::is_none")]
2264    pub join_time: Option<String>,
2265    #[serde(skip_serializing_if = "Option::is_none")]
2266    pub nickname: Option<String>,
2267}
2268
2269/// DtoSearchResponseAny 模型
2270#[derive(Debug, Clone, Serialize, Deserialize)]
2271pub struct DtoSearchResponseAny {
2272    #[serde(skip_serializing_if = "Option::is_none")]
2273    pub results: Option<serde_json::Value>,
2274    #[serde(skip_serializing_if = "Option::is_none")]
2275    pub resource_type: Option<serde_json::Value>,
2276}
2277
2278/// DtoCreateRegistryReq 模型
2279#[derive(Debug, Clone, Serialize, Deserialize)]
2280pub struct DtoCreateRegistryReq {
2281    #[serde(skip_serializing_if = "Option::is_none")]
2282    pub name: Option<String>,
2283    #[serde(skip_serializing_if = "Option::is_none")]
2284    pub visibility: Option<String>,
2285    #[serde(skip_serializing_if = "Option::is_none")]
2286    pub overwrite_policy: Option<String>,
2287    #[serde(skip_serializing_if = "Option::is_none")]
2288    pub description: Option<String>,
2289    #[serde(skip_serializing_if = "Option::is_none")]
2290    pub artifact_policy: Option<String>,
2291    #[serde(skip_serializing_if = "Option::is_none")]
2292    pub kind: Option<String>,
2293}
2294
2295/// WebRef 模型
2296#[derive(Debug, Clone, Serialize, Deserialize)]
2297pub struct WebRef {
2298    #[serde(skip_serializing_if = "Option::is_none")]
2299    pub is_protected: Option<bool>,
2300    #[serde(skip_serializing_if = "Option::is_none")]
2301    pub r#ref: Option<String>,
2302    #[serde(skip_serializing_if = "Option::is_none")]
2303    pub is_head: Option<bool>,
2304    #[serde(skip_serializing_if = "Option::is_none")]
2305    pub target_date: Option<String>,
2306    #[serde(skip_serializing_if = "Option::is_none")]
2307    pub target_hash: Option<String>,
2308    #[serde(skip_serializing_if = "Option::is_none")]
2309    pub target_type: Option<String>,
2310}
2311
2312/// ApiRelease 模型
2313#[derive(Debug, Clone, Serialize, Deserialize)]
2314pub struct ApiRelease {
2315    #[serde(skip_serializing_if = "Option::is_none")]
2316    pub created_at: Option<String>,
2317    #[serde(skip_serializing_if = "Option::is_none")]
2318    pub name: Option<String>,
2319    #[serde(skip_serializing_if = "Option::is_none")]
2320    pub author: Option<serde_json::Value>,
2321    #[serde(skip_serializing_if = "Option::is_none")]
2322    pub is_latest: Option<bool>,
2323    #[serde(skip_serializing_if = "Option::is_none")]
2324    pub tag_name: Option<String>,
2325    #[serde(skip_serializing_if = "Option::is_none")]
2326    pub published_at: Option<String>,
2327    #[serde(skip_serializing_if = "Option::is_none")]
2328    pub draft: Option<bool>,
2329    #[serde(skip_serializing_if = "Option::is_none")]
2330    pub prerelease: Option<bool>,
2331    #[serde(skip_serializing_if = "Option::is_none")]
2332    pub tag_commitish: Option<String>,
2333    #[serde(skip_serializing_if = "Option::is_none")]
2334    pub updated_at: Option<String>,
2335    #[serde(skip_serializing_if = "Option::is_none")]
2336    pub assets: Option<Vec<serde_json::Value>>,
2337    #[serde(skip_serializing_if = "Option::is_none")]
2338    pub body: Option<String>,
2339    #[serde(skip_serializing_if = "Option::is_none")]
2340    pub id: Option<String>,
2341}
2342
2343/// OpenapiReleaseAssetUploadUrl 模型
2344#[derive(Debug, Clone, Serialize, Deserialize)]
2345pub struct OpenapiReleaseAssetUploadUrl {
2346    #[serde(skip_serializing_if = "Option::is_none")]
2347    pub verify_url: Option<String>,
2348    #[serde(skip_serializing_if = "Option::is_none")]
2349    pub upload_url: Option<String>,
2350    #[serde(skip_serializing_if = "Option::is_none")]
2351    pub expires_in_sec: Option<i64>,
2352}
2353
2354/// DtoLastPusher 模型
2355#[derive(Debug, Clone, Serialize, Deserialize)]
2356pub struct DtoLastPusher {
2357    #[serde(skip_serializing_if = "Option::is_none")]
2358    pub name: Option<String>,
2359    #[serde(skip_serializing_if = "Option::is_none")]
2360    pub is_lock: Option<bool>,
2361    #[serde(skip_serializing_if = "Option::is_none")]
2362    pub push_at: Option<String>,
2363    #[serde(skip_serializing_if = "Option::is_none")]
2364    pub is_frozen: Option<bool>,
2365    #[serde(skip_serializing_if = "Option::is_none")]
2366    pub nickname: Option<String>,
2367}
2368
2369/// DtoBuildStatusResult 模型
2370#[derive(Debug, Clone, Serialize, Deserialize)]
2371pub struct DtoBuildStatusResult {
2372    #[serde(skip_serializing_if = "Option::is_none")]
2373    pub raw_config: Option<String>,
2374    #[serde(skip_serializing_if = "Option::is_none")]
2375    pub status: Option<String>,
2376    #[serde(skip_serializing_if = "Option::is_none")]
2377    pub pipelines_status: Option<serde_json::Value>,
2378    #[serde(skip_serializing_if = "Option::is_none")]
2379    pub json_config: Option<String>,
2380}
2381
2382/// WebContributorTrend 模型
2383#[derive(Debug, Clone, Serialize, Deserialize)]
2384pub struct WebContributorTrend {
2385    #[serde(skip_serializing_if = "Option::is_none")]
2386    pub weeks: Option<Vec<serde_json::Value>>,
2387    #[serde(skip_serializing_if = "Option::is_none")]
2388    pub commit_count: Option<i64>,
2389    #[serde(skip_serializing_if = "Option::is_none")]
2390    pub author: Option<serde_json::Value>,
2391}
2392
2393/// WebapiPatchPullRequestReviewersForm 模型
2394#[derive(Debug, Clone, Serialize, Deserialize)]
2395pub struct WebapiPatchPullRequestReviewersForm {
2396    #[serde(skip_serializing_if = "Option::is_none")]
2397    pub reviewers: Option<Vec<String>>,
2398}
2399
2400/// WebRefWithPath 模型
2401#[derive(Debug, Clone, Serialize, Deserialize)]
2402pub struct WebRefWithPath {
2403    #[serde(skip_serializing_if = "Option::is_none")]
2404    pub path: Option<String>,
2405    #[serde(skip_serializing_if = "Option::is_none")]
2406    pub ref_type: Option<String>,
2407    #[serde(skip_serializing_if = "Option::is_none")]
2408    pub initialized: Option<bool>,
2409    #[serde(skip_serializing_if = "Option::is_none")]
2410    pub ref_simple_name: Option<String>,
2411    #[serde(skip_serializing_if = "Option::is_none")]
2412    pub r#ref: Option<String>,
2413}
2414
2415/// ApiPipelineSettings 模型
2416#[derive(Debug, Clone, Serialize, Deserialize)]
2417pub struct ApiPipelineSettings {
2418    #[serde(skip_serializing_if = "Option::is_none")]
2419    pub forked_repo_auto_trigger: Option<bool>,
2420    #[serde(skip_serializing_if = "Option::is_none")]
2421    pub auto_trigger: Option<bool>,
2422}
2423
2424/// DtoAssetSize 模型
2425#[derive(Debug, Clone, Serialize, Deserialize)]
2426pub struct DtoAssetSize {
2427    #[serde(skip_serializing_if = "Option::is_none")]
2428    pub used_in_byte: Option<String>,
2429}
2430
2431/// DtoPullRequestData 模型
2432#[derive(Debug, Clone, Serialize, Deserialize)]
2433pub struct DtoPullRequestData {
2434    #[serde(skip_serializing_if = "Option::is_none")]
2435    pub mergeable: Option<String>,
2436    #[serde(skip_serializing_if = "Option::is_none")]
2437    pub associated_issue_counts: Option<i64>,
2438    #[serde(skip_serializing_if = "Option::is_none")]
2439    pub created_at: Option<String>,
2440    #[serde(skip_serializing_if = "Option::is_none")]
2441    pub assignees: Option<Vec<serde_json::Value>>,
2442    #[serde(skip_serializing_if = "Option::is_none")]
2443    pub head_repo_ref: Option<String>,
2444    #[serde(skip_serializing_if = "Option::is_none")]
2445    pub merge_style: Option<String>,
2446    #[serde(skip_serializing_if = "Option::is_none")]
2447    pub head_repo_slug: Option<String>,
2448    #[serde(skip_serializing_if = "Option::is_none")]
2449    pub build_status: Option<String>,
2450    #[serde(skip_serializing_if = "Option::is_none")]
2451    pub is_wip: Option<bool>,
2452    #[serde(skip_serializing_if = "Option::is_none")]
2453    pub reviewers: Option<Vec<serde_json::Value>>,
2454    #[serde(skip_serializing_if = "Option::is_none")]
2455    pub status_check_commit_sha: Option<String>,
2456    #[serde(skip_serializing_if = "Option::is_none")]
2457    pub head_deleted: Option<bool>,
2458    #[serde(skip_serializing_if = "Option::is_none")]
2459    pub title: Option<String>,
2460    #[serde(skip_serializing_if = "Option::is_none")]
2461    pub author: Option<serde_json::Value>,
2462    #[serde(skip_serializing_if = "Option::is_none")]
2463    pub label: Option<Vec<serde_json::Value>>,
2464    #[serde(skip_serializing_if = "Option::is_none")]
2465    pub slug: Option<String>,
2466    #[serde(skip_serializing_if = "Option::is_none")]
2467    pub state: Option<String>,
2468    #[serde(skip_serializing_if = "Option::is_none")]
2469    pub commit_statuses: Option<serde_json::Value>,
2470    #[serde(skip_serializing_if = "Option::is_none")]
2471    pub comment_counts: Option<i64>,
2472    #[serde(skip_serializing_if = "Option::is_none")]
2473    pub slug_freeze: Option<bool>,
2474    #[serde(skip_serializing_if = "Option::is_none")]
2475    pub base_repo_slug: Option<String>,
2476    #[serde(skip_serializing_if = "Option::is_none")]
2477    pub base_repo_ref: Option<String>,
2478    #[serde(skip_serializing_if = "Option::is_none")]
2479    pub updated_at: Option<String>,
2480    #[serde(skip_serializing_if = "Option::is_none")]
2481    pub number: Option<i64>,
2482}
2483
2484/// WebCommitObjectVerification 模型
2485#[derive(Debug, Clone, Serialize, Deserialize)]
2486pub struct WebCommitObjectVerification {
2487    #[serde(skip_serializing_if = "Option::is_none")]
2488    pub key_id: Option<String>,
2489    #[serde(skip_serializing_if = "Option::is_none")]
2490    pub reason: Option<String>,
2491    #[serde(skip_serializing_if = "Option::is_none")]
2492    pub verified: Option<bool>,
2493    #[serde(skip_serializing_if = "Option::is_none")]
2494    pub signer: Option<String>,
2495    #[serde(skip_serializing_if = "Option::is_none")]
2496    pub has_signature: Option<bool>,
2497    #[serde(skip_serializing_if = "Option::is_none")]
2498    pub signed_by_cnb: Option<bool>,
2499    #[serde(skip_serializing_if = "Option::is_none")]
2500    pub verified_at: Option<String>,
2501}
2502
2503/// ApiPatchLabelForm 模型
2504#[derive(Debug, Clone, Serialize, Deserialize)]
2505pub struct ApiPatchLabelForm {
2506    #[serde(skip_serializing_if = "Option::is_none")]
2507    pub new_name: Option<String>,
2508    #[serde(skip_serializing_if = "Option::is_none")]
2509    pub color: Option<String>,
2510    #[serde(skip_serializing_if = "Option::is_none")]
2511    pub description: Option<String>,
2512}
2513
2514/// DtoEmbeddingModel 模型
2515#[derive(Debug, Clone, Serialize, Deserialize)]
2516pub struct DtoEmbeddingModel {
2517    #[serde(skip_serializing_if = "Option::is_none")]
2518    pub name: Option<String>,
2519    #[serde(skip_serializing_if = "Option::is_none")]
2520    pub dimension: Option<i64>,
2521}
2522
2523/// DtoSystemAcceleration 模型
2524#[derive(Debug, Clone, Serialize, Deserialize)]
2525pub struct DtoSystemAcceleration {
2526    #[serde(skip_serializing_if = "Option::is_none")]
2527    pub priority: Option<i64>,
2528    #[serde(skip_serializing_if = "Option::is_none")]
2529    pub user_name: Option<String>,
2530    #[serde(skip_serializing_if = "Option::is_none")]
2531    pub url_data: Option<String>,
2532}
2533
2534/// DtoDockerModelConfig 模型
2535#[derive(Debug, Clone, Serialize, Deserialize)]
2536pub struct DtoDockerModelConfig {
2537    #[serde(skip_serializing_if = "Option::is_none")]
2538    pub size: Option<i64>,
2539    #[serde(skip_serializing_if = "Option::is_none")]
2540    pub files: Option<Vec<serde_json::Value>>,
2541    #[serde(skip_serializing_if = "Option::is_none")]
2542    pub format_version: Option<String>,
2543    #[serde(skip_serializing_if = "Option::is_none")]
2544    pub format: Option<String>,
2545    #[serde(skip_serializing_if = "Option::is_none")]
2546    pub gguf: Option<serde_json::Value>,
2547}
2548
2549/// DtoInteractionType 模型
2550#[derive(Debug, Clone, Serialize, Deserialize)]
2551pub struct DtoInteractionType {
2552}
2553
2554/// DtoActivityRelease 模型
2555#[derive(Debug, Clone, Serialize, Deserialize)]
2556pub struct DtoActivityRelease {
2557    #[serde(skip_serializing_if = "Option::is_none")]
2558    pub tag: Option<String>,
2559    #[serde(skip_serializing_if = "Option::is_none")]
2560    pub title: Option<String>,
2561    #[serde(skip_serializing_if = "Option::is_none")]
2562    pub commit_hash: Option<String>,
2563}
2564
2565/// ApiIssueDetail 模型
2566#[derive(Debug, Clone, Serialize, Deserialize)]
2567pub struct ApiIssueDetail {
2568    #[serde(skip_serializing_if = "Option::is_none")]
2569    pub started_at: Option<String>,
2570    #[serde(skip_serializing_if = "Option::is_none")]
2571    pub labels: Option<Vec<serde_json::Value>>,
2572    #[serde(skip_serializing_if = "Option::is_none")]
2573    pub last_acted_at: Option<String>,
2574    #[serde(skip_serializing_if = "Option::is_none")]
2575    pub updated_at: Option<String>,
2576    #[serde(skip_serializing_if = "Option::is_none")]
2577    pub ended_at: Option<String>,
2578    #[serde(skip_serializing_if = "Option::is_none")]
2579    pub body: Option<String>,
2580    #[serde(skip_serializing_if = "Option::is_none")]
2581    pub comment_count: Option<i64>,
2582    #[serde(skip_serializing_if = "Option::is_none")]
2583    pub priority: Option<String>,
2584    #[serde(skip_serializing_if = "Option::is_none")]
2585    pub title: Option<String>,
2586    #[serde(skip_serializing_if = "Option::is_none")]
2587    pub number: Option<String>,
2588    #[serde(skip_serializing_if = "Option::is_none")]
2589    pub state: Option<String>,
2590    #[serde(skip_serializing_if = "Option::is_none")]
2591    pub state_reason: Option<String>,
2592    #[serde(skip_serializing_if = "Option::is_none")]
2593    pub created_at: Option<String>,
2594    #[serde(skip_serializing_if = "Option::is_none")]
2595    pub author: Option<serde_json::Value>,
2596    #[serde(skip_serializing_if = "Option::is_none")]
2597    pub assignees: Option<Vec<serde_json::Value>>,
2598}
2599
2600/// ConstantAccessRole 模型
2601#[derive(Debug, Clone, Serialize, Deserialize)]
2602pub struct ConstantAccessRole {
2603}
2604
2605/// WebCommitStatus 模型
2606#[derive(Debug, Clone, Serialize, Deserialize)]
2607pub struct WebCommitStatus {
2608    #[serde(skip_serializing_if = "Option::is_none")]
2609    pub target_url: Option<String>,
2610    #[serde(skip_serializing_if = "Option::is_none")]
2611    pub context: Option<String>,
2612    #[serde(skip_serializing_if = "Option::is_none")]
2613    pub description: Option<String>,
2614    #[serde(skip_serializing_if = "Option::is_none")]
2615    pub state: Option<String>,
2616    #[serde(skip_serializing_if = "Option::is_none")]
2617    pub updated_at: Option<String>,
2618    #[serde(skip_serializing_if = "Option::is_none")]
2619    pub created_at: Option<String>,
2620}
2621
2622/// WebPullRequestDetail 模型
2623#[derive(Debug, Clone, Serialize, Deserialize)]
2624pub struct WebPullRequestDetail {
2625    #[serde(skip_serializing_if = "Option::is_none")]
2626    pub allow_merge_styles: Option<Vec<String>>,
2627    #[serde(skip_serializing_if = "Option::is_none")]
2628    pub participants: Option<Vec<serde_json::Value>>,
2629    #[serde(skip_serializing_if = "Option::is_none")]
2630    pub review_comment_count: Option<i64>,
2631    #[serde(skip_serializing_if = "Option::is_none")]
2632    pub author: Option<serde_json::Value>,
2633    #[serde(skip_serializing_if = "Option::is_none")]
2634    pub can_do_merge: Option<bool>,
2635    #[serde(skip_serializing_if = "Option::is_none")]
2636    pub merge_style: Option<String>,
2637    #[serde(skip_serializing_if = "Option::is_none")]
2638    pub base: Option<serde_json::Value>,
2639    #[serde(skip_serializing_if = "Option::is_none")]
2640    pub head_repo_slug: Option<String>,
2641    #[serde(skip_serializing_if = "Option::is_none")]
2642    pub status_check_commit_sha: Option<String>,
2643    #[serde(skip_serializing_if = "Option::is_none")]
2644    pub conflict_files: Option<Vec<String>>,
2645    #[serde(skip_serializing_if = "Option::is_none")]
2646    pub commit_statuses: Option<serde_json::Value>,
2647    #[serde(skip_serializing_if = "Option::is_none")]
2648    pub mergeable_state: Option<String>,
2649    #[serde(skip_serializing_if = "Option::is_none")]
2650    pub reviews: Option<serde_json::Value>,
2651    #[serde(skip_serializing_if = "Option::is_none")]
2652    pub state: Option<String>,
2653    #[serde(skip_serializing_if = "Option::is_none")]
2654    pub reviewers: Option<Vec<serde_json::Value>>,
2655    #[serde(skip_serializing_if = "Option::is_none")]
2656    pub body: Option<String>,
2657    #[serde(skip_serializing_if = "Option::is_none")]
2658    pub head_repo_ref: Option<String>,
2659    #[serde(skip_serializing_if = "Option::is_none")]
2660    pub head: Option<serde_json::Value>,
2661    #[serde(skip_serializing_if = "Option::is_none")]
2662    pub number: Option<String>,
2663    #[serde(skip_serializing_if = "Option::is_none")]
2664    pub body_reactions: Option<Vec<serde_json::Value>>,
2665    #[serde(skip_serializing_if = "Option::is_none")]
2666    pub settings: Option<serde_json::Value>,
2667    #[serde(skip_serializing_if = "Option::is_none")]
2668    pub file_count: Option<i64>,
2669    #[serde(skip_serializing_if = "Option::is_none")]
2670    pub head_deleted: Option<bool>,
2671    #[serde(skip_serializing_if = "Option::is_none")]
2672    pub is_ready_for_merge: Option<bool>,
2673    #[serde(skip_serializing_if = "Option::is_none")]
2674    pub last_acted_at: Option<String>,
2675    #[serde(skip_serializing_if = "Option::is_none")]
2676    pub labels: Option<Vec<serde_json::Value>>,
2677    #[serde(skip_serializing_if = "Option::is_none")]
2678    pub review_count: Option<i64>,
2679    #[serde(skip_serializing_if = "Option::is_none")]
2680    pub blocked_on: Option<String>,
2681    #[serde(skip_serializing_if = "Option::is_none")]
2682    pub is_merged: Option<bool>,
2683    #[serde(skip_serializing_if = "Option::is_none")]
2684    pub created_at: Option<String>,
2685    #[serde(skip_serializing_if = "Option::is_none")]
2686    pub updated_at: Option<String>,
2687    #[serde(skip_serializing_if = "Option::is_none")]
2688    pub assignees: Option<Vec<serde_json::Value>>,
2689    #[serde(skip_serializing_if = "Option::is_none")]
2690    pub commit_count: Option<i64>,
2691    #[serde(skip_serializing_if = "Option::is_none")]
2692    pub is_wip: Option<bool>,
2693    #[serde(skip_serializing_if = "Option::is_none")]
2694    pub comment_count: Option<i64>,
2695    #[serde(skip_serializing_if = "Option::is_none")]
2696    pub base_repo_ref: Option<String>,
2697    #[serde(skip_serializing_if = "Option::is_none")]
2698    pub title: Option<String>,
2699    #[serde(skip_serializing_if = "Option::is_none")]
2700    pub conflict_file_count: Option<i64>,
2701}
2702
2703/// WebRepositoryUsage 模型
2704#[derive(Debug, Clone, Serialize, Deserialize)]
2705pub struct WebRepositoryUsage {
2706    #[serde(skip_serializing_if = "Option::is_none")]
2707    pub git_size_in_kib: Option<String>,
2708    #[serde(skip_serializing_if = "Option::is_none")]
2709    pub lfs_size_in_kib: Option<String>,
2710}
2711
2712/// GitWoaComCnbMonorepoGitInternalAppVcsServiceBffApiUserInfo 模型
2713#[derive(Debug, Clone, Serialize, Deserialize)]
2714pub struct GitWoaComCnbMonorepoGitInternalAppVcsServiceBffApiUserInfo {
2715    #[serde(skip_serializing_if = "Option::is_none")]
2716    pub username: Option<String>,
2717    #[serde(skip_serializing_if = "Option::is_none")]
2718    pub nickname: Option<String>,
2719}
2720
2721/// WebIssue 模型
2722#[derive(Debug, Clone, Serialize, Deserialize)]
2723pub struct WebIssue {
2724    #[serde(skip_serializing_if = "Option::is_none")]
2725    pub created_at: Option<String>,
2726    #[serde(skip_serializing_if = "Option::is_none")]
2727    pub priority: Option<String>,
2728    #[serde(skip_serializing_if = "Option::is_none")]
2729    pub comment_count: Option<i64>,
2730    #[serde(skip_serializing_if = "Option::is_none")]
2731    pub updated_at: Option<String>,
2732    #[serde(skip_serializing_if = "Option::is_none")]
2733    pub last_acted_at: Option<String>,
2734    #[serde(skip_serializing_if = "Option::is_none")]
2735    pub title: Option<String>,
2736    #[serde(skip_serializing_if = "Option::is_none")]
2737    pub labels: Option<Vec<serde_json::Value>>,
2738    #[serde(skip_serializing_if = "Option::is_none")]
2739    pub state: Option<String>,
2740    #[serde(skip_serializing_if = "Option::is_none")]
2741    pub author: Option<serde_json::Value>,
2742    #[serde(skip_serializing_if = "Option::is_none")]
2743    pub state_reason: Option<String>,
2744    #[serde(skip_serializing_if = "Option::is_none")]
2745    pub closed_at: Option<String>,
2746    #[serde(skip_serializing_if = "Option::is_none")]
2747    pub number: Option<String>,
2748    #[serde(skip_serializing_if = "Option::is_none")]
2749    pub started_at: Option<String>,
2750    #[serde(skip_serializing_if = "Option::is_none")]
2751    pub ended_at: Option<String>,
2752    #[serde(skip_serializing_if = "Option::is_none")]
2753    pub assignees: Option<Vec<serde_json::Value>>,
2754}
2755
2756/// WebapiPostCommitFile 模型
2757#[derive(Debug, Clone, Serialize, Deserialize)]
2758pub struct WebapiPostCommitFile {
2759    #[serde(skip_serializing_if = "Option::is_none")]
2760    pub content: Option<String>,
2761    #[serde(skip_serializing_if = "Option::is_none")]
2762    pub is_deleted: Option<bool>,
2763    #[serde(skip_serializing_if = "Option::is_none")]
2764    pub encoding: Option<String>,
2765    #[serde(skip_serializing_if = "Option::is_none")]
2766    pub is_executable: Option<bool>,
2767    #[serde(skip_serializing_if = "Option::is_none")]
2768    pub path: Option<String>,
2769}
2770
2771/// WebapiPostPendingPullRequestReviewEventForm 模型
2772#[derive(Debug, Clone, Serialize, Deserialize)]
2773pub struct WebapiPostPendingPullRequestReviewEventForm {
2774    #[serde(skip_serializing_if = "Option::is_none")]
2775    pub body: Option<String>,
2776    #[serde(skip_serializing_if = "Option::is_none")]
2777    pub event: Option<String>,
2778}
2779
2780/// WebCommitParent 模型
2781#[derive(Debug, Clone, Serialize, Deserialize)]
2782pub struct WebCommitParent {
2783    #[serde(skip_serializing_if = "Option::is_none")]
2784    pub sha: Option<String>,
2785}
2786
2787/// WebMergeState 模型
2788#[derive(Debug, Clone, Serialize, Deserialize)]
2789pub struct WebMergeState {
2790    #[serde(skip_serializing_if = "Option::is_none")]
2791    pub conflicts: Option<Vec<String>>,
2792    #[serde(skip_serializing_if = "Option::is_none")]
2793    pub state: Option<String>,
2794}
2795
2796/// WebapiPostPullRequestReviewForm 模型
2797#[derive(Debug, Clone, Serialize, Deserialize)]
2798pub struct WebapiPostPullRequestReviewForm {
2799    #[serde(skip_serializing_if = "Option::is_none")]
2800    pub comment: Option<serde_json::Value>,
2801    #[serde(skip_serializing_if = "Option::is_none")]
2802    pub body: Option<String>,
2803    #[serde(skip_serializing_if = "Option::is_none")]
2804    pub event: Option<String>,
2805}
2806
2807/// ApiPullRef 模型
2808#[derive(Debug, Clone, Serialize, Deserialize)]
2809pub struct ApiPullRef {
2810    #[serde(skip_serializing_if = "Option::is_none")]
2811    pub sha: Option<String>,
2812    #[serde(skip_serializing_if = "Option::is_none")]
2813    pub r#ref: Option<String>,
2814    #[serde(skip_serializing_if = "Option::is_none")]
2815    pub repo: Option<serde_json::Value>,
2816}
2817
2818/// WebapiRevertPullRequestForm 模型
2819#[derive(Debug, Clone, Serialize, Deserialize)]
2820pub struct WebapiRevertPullRequestForm {
2821    #[serde(skip_serializing_if = "Option::is_none")]
2822    pub target_branch: Option<String>,
2823    #[serde(skip_serializing_if = "Option::is_none")]
2824    pub create_pr: Option<bool>,
2825}
2826
2827/// ApiCommitObjectVerification 模型
2828#[derive(Debug, Clone, Serialize, Deserialize)]
2829pub struct ApiCommitObjectVerification {
2830    #[serde(skip_serializing_if = "Option::is_none")]
2831    pub payload: Option<String>,
2832    #[serde(skip_serializing_if = "Option::is_none")]
2833    pub verified_at: Option<String>,
2834    #[serde(skip_serializing_if = "Option::is_none")]
2835    pub reason: Option<String>,
2836    #[serde(skip_serializing_if = "Option::is_none")]
2837    pub signature: Option<String>,
2838    #[serde(skip_serializing_if = "Option::is_none")]
2839    pub verified: Option<bool>,
2840}
2841
2842/// ApiMergePullResponse 模型
2843#[derive(Debug, Clone, Serialize, Deserialize)]
2844pub struct ApiMergePullResponse {
2845    #[serde(skip_serializing_if = "Option::is_none")]
2846    pub message: Option<String>,
2847    #[serde(skip_serializing_if = "Option::is_none")]
2848    pub sha: Option<String>,
2849    #[serde(skip_serializing_if = "Option::is_none")]
2850    pub merged: Option<bool>,
2851}
2852
2853/// ApiCommit 模型
2854#[derive(Debug, Clone, Serialize, Deserialize)]
2855pub struct ApiCommit {
2856    #[serde(skip_serializing_if = "Option::is_none")]
2857    pub sha: Option<String>,
2858    #[serde(skip_serializing_if = "Option::is_none")]
2859    pub committer: Option<serde_json::Value>,
2860    #[serde(skip_serializing_if = "Option::is_none")]
2861    pub author: Option<serde_json::Value>,
2862    #[serde(skip_serializing_if = "Option::is_none")]
2863    pub commit: Option<serde_json::Value>,
2864    #[serde(skip_serializing_if = "Option::is_none")]
2865    pub parents: Option<Vec<serde_json::Value>>,
2866}
2867
2868/// DtoCreateRepoReq 模型
2869#[derive(Debug, Clone, Serialize, Deserialize)]
2870pub struct DtoCreateRepoReq {
2871    #[serde(skip_serializing_if = "Option::is_none")]
2872    pub name: Option<String>,
2873    #[serde(skip_serializing_if = "Option::is_none")]
2874    pub license: Option<String>,
2875    #[serde(skip_serializing_if = "Option::is_none")]
2876    pub description: Option<String>,
2877    #[serde(skip_serializing_if = "Option::is_none")]
2878    pub visibility: Option<String>,
2879}
2880
2881/// WebapiPullRequestReviewId 模型
2882#[derive(Debug, Clone, Serialize, Deserialize)]
2883pub struct WebapiPullRequestReviewId {
2884    #[serde(skip_serializing_if = "Option::is_none")]
2885    pub comment_ids: Option<Vec<String>>,
2886    #[serde(skip_serializing_if = "Option::is_none")]
2887    pub review_id: Option<String>,
2888}
2889
2890/// DtoArtifactStatus 模型
2891#[derive(Debug, Clone, Serialize, Deserialize)]
2892pub struct DtoArtifactStatus {
2893    #[serde(skip_serializing_if = "Option::is_none")]
2894    pub status: Option<String>,
2895}
2896
2897/// ApiCommitDiffFilePatch 模型
2898#[derive(Debug, Clone, Serialize, Deserialize)]
2899pub struct ApiCommitDiffFilePatch {
2900    #[serde(skip_serializing_if = "Option::is_none")]
2901    pub previous_filename: Option<String>,
2902    #[serde(skip_serializing_if = "Option::is_none")]
2903    pub deletions: Option<i64>,
2904    #[serde(skip_serializing_if = "Option::is_none")]
2905    pub patch: Option<String>,
2906    #[serde(skip_serializing_if = "Option::is_none")]
2907    pub additions: Option<i64>,
2908    #[serde(skip_serializing_if = "Option::is_none")]
2909    pub name: Option<String>,
2910    #[serde(skip_serializing_if = "Option::is_none")]
2911    pub path: Option<String>,
2912    #[serde(skip_serializing_if = "Option::is_none")]
2913    pub status: Option<String>,
2914    #[serde(skip_serializing_if = "Option::is_none")]
2915    pub previous_mode: Option<String>,
2916    #[serde(skip_serializing_if = "Option::is_none")]
2917    pub mode: Option<String>,
2918}
2919
2920/// ApiCommitObjectTree 模型
2921#[derive(Debug, Clone, Serialize, Deserialize)]
2922pub struct ApiCommitObjectTree {
2923    #[serde(skip_serializing_if = "Option::is_none")]
2924    pub sha: Option<String>,
2925}
2926
2927/// DtoSyncUserData 模型
2928#[derive(Debug, Clone, Serialize, Deserialize)]
2929pub struct DtoSyncUserData {
2930    #[serde(skip_serializing_if = "Option::is_none")]
2931    pub flag: Option<bool>,
2932}
2933
2934/// ApiPullReviewComment 模型
2935#[derive(Debug, Clone, Serialize, Deserialize)]
2936pub struct ApiPullReviewComment {
2937    #[serde(skip_serializing_if = "Option::is_none")]
2938    pub created_at: Option<String>,
2939    #[serde(skip_serializing_if = "Option::is_none")]
2940    pub subject_type: Option<String>,
2941    #[serde(skip_serializing_if = "Option::is_none")]
2942    pub end_side: Option<String>,
2943    #[serde(skip_serializing_if = "Option::is_none")]
2944    pub review_state: Option<String>,
2945    #[serde(skip_serializing_if = "Option::is_none")]
2946    pub start_side: Option<String>,
2947    #[serde(skip_serializing_if = "Option::is_none")]
2948    pub author: Option<serde_json::Value>,
2949    #[serde(skip_serializing_if = "Option::is_none")]
2950    pub id: Option<String>,
2951    #[serde(skip_serializing_if = "Option::is_none")]
2952    pub body: Option<String>,
2953    #[serde(skip_serializing_if = "Option::is_none")]
2954    pub commit_hash: Option<String>,
2955    #[serde(skip_serializing_if = "Option::is_none")]
2956    pub review_id: Option<String>,
2957    #[serde(skip_serializing_if = "Option::is_none")]
2958    pub reply_to_comment_id: Option<String>,
2959    #[serde(skip_serializing_if = "Option::is_none")]
2960    pub end_line: Option<i64>,
2961    #[serde(skip_serializing_if = "Option::is_none")]
2962    pub diff_hunk: Option<Vec<serde_json::Value>>,
2963    #[serde(skip_serializing_if = "Option::is_none")]
2964    pub start_line: Option<i64>,
2965    #[serde(skip_serializing_if = "Option::is_none")]
2966    pub updated_at: Option<String>,
2967    #[serde(skip_serializing_if = "Option::is_none")]
2968    pub path: Option<String>,
2969}
2970
2971/// DtoListForks 模型
2972#[derive(Debug, Clone, Serialize, Deserialize)]
2973pub struct DtoListForks {
2974    #[serde(skip_serializing_if = "Option::is_none")]
2975    pub forks: Option<Vec<serde_json::Value>>,
2976    #[serde(skip_serializing_if = "Option::is_none")]
2977    pub fork_tree_count: Option<i64>,
2978}
2979
2980/// DtoActivitySlugDetail 模型
2981#[derive(Debug, Clone, Serialize, Deserialize)]
2982pub struct DtoActivitySlugDetail {
2983    #[serde(skip_serializing_if = "Option::is_none")]
2984    pub path: Option<String>,
2985}
2986
2987/// DtoResourceGroup 模型
2988#[derive(Debug, Clone, Serialize, Deserialize)]
2989pub struct DtoResourceGroup {
2990    #[serde(skip_serializing_if = "Option::is_none")]
2991    pub domain: Option<String>,
2992    #[serde(skip_serializing_if = "Option::is_none")]
2993    pub freeze: Option<bool>,
2994    #[serde(skip_serializing_if = "Option::is_none")]
2995    pub path: Option<String>,
2996    #[serde(skip_serializing_if = "Option::is_none")]
2997    pub remark: Option<String>,
2998    #[serde(skip_serializing_if = "Option::is_none")]
2999    pub site: Option<String>,
3000    #[serde(skip_serializing_if = "Option::is_none")]
3001    pub updated_at: Option<String>,
3002    #[serde(skip_serializing_if = "Option::is_none")]
3003    pub email: Option<String>,
3004    #[serde(skip_serializing_if = "Option::is_none")]
3005    pub wechat_mp: Option<String>,
3006    #[serde(skip_serializing_if = "Option::is_none")]
3007    pub id: Option<i64>,
3008    #[serde(skip_serializing_if = "Option::is_none")]
3009    pub description: Option<String>,
3010    #[serde(skip_serializing_if = "Option::is_none")]
3011    pub created_at: Option<String>,
3012    #[serde(skip_serializing_if = "Option::is_none")]
3013    pub name: Option<String>,
3014}
3015
3016/// IdentityTicket 模型
3017#[derive(Debug, Clone, Serialize, Deserialize)]
3018pub struct IdentityTicket {
3019    #[serde(skip_serializing_if = "Option::is_none")]
3020    pub state: Option<String>,
3021}
3022
3023/// WebDiffLine 模型
3024#[derive(Debug, Clone, Serialize, Deserialize)]
3025pub struct WebDiffLine {
3026    #[serde(skip_serializing_if = "Option::is_none")]
3027    pub right_line_number: Option<i64>,
3028    #[serde(skip_serializing_if = "Option::is_none")]
3029    pub left_line_number: Option<i64>,
3030    #[serde(skip_serializing_if = "Option::is_none")]
3031    pub prefix: Option<String>,
3032    #[serde(skip_serializing_if = "Option::is_none")]
3033    pub content: Option<String>,
3034    #[serde(skip_serializing_if = "Option::is_none")]
3035    pub r#type: Option<String>,
3036}
3037
3038/// DtoBindUsers 模型
3039#[derive(Debug, Clone, Serialize, Deserialize)]
3040pub struct DtoBindUsers {
3041    #[serde(skip_serializing_if = "Option::is_none")]
3042    pub created_at: Option<String>,
3043    #[serde(skip_serializing_if = "Option::is_none")]
3044    pub app_id: Option<String>,
3045    #[serde(skip_serializing_if = "Option::is_none")]
3046    pub metadata: Option<String>,
3047    #[serde(skip_serializing_if = "Option::is_none")]
3048    pub updated_at: Option<String>,
3049    #[serde(skip_serializing_if = "Option::is_none")]
3050    pub openid: Option<String>,
3051}
3052
3053/// WebDiff 模型
3054#[derive(Debug, Clone, Serialize, Deserialize)]
3055pub struct WebDiff {
3056    #[serde(skip_serializing_if = "Option::is_none")]
3057    pub head_commit: Option<String>,
3058    #[serde(skip_serializing_if = "Option::is_none")]
3059    pub file_limit: Option<i64>,
3060    #[serde(skip_serializing_if = "Option::is_none")]
3061    pub stat: Option<serde_json::Value>,
3062    #[serde(skip_serializing_if = "Option::is_none")]
3063    pub base_commit: Option<String>,
3064    #[serde(skip_serializing_if = "Option::is_none")]
3065    pub file_exceeded: Option<bool>,
3066    #[serde(skip_serializing_if = "Option::is_none")]
3067    pub files: Option<Vec<serde_json::Value>>,
3068}
3069
3070/// V1Platform 模型
3071#[derive(Debug, Clone, Serialize, Deserialize)]
3072pub struct V1Platform {
3073    #[serde(skip_serializing_if = "Option::is_none")]
3074    pub os: Option<String>,
3075    #[serde(skip_serializing_if = "Option::is_none")]
3076    pub os_features: Option<Vec<String>>,
3077    #[serde(skip_serializing_if = "Option::is_none")]
3078    pub os_version: Option<String>,
3079    #[serde(skip_serializing_if = "Option::is_none")]
3080    pub architecture: Option<String>,
3081    #[serde(skip_serializing_if = "Option::is_none")]
3082    pub variant: Option<String>,
3083}
3084
3085/// DtoActivityCalendarDate 模型
3086#[derive(Debug, Clone, Serialize, Deserialize)]
3087pub struct DtoActivityCalendarDate {
3088    #[serde(skip_serializing_if = "Option::is_none")]
3089    pub valid_pr_count: Option<i64>,
3090    #[serde(skip_serializing_if = "Option::is_none")]
3091    pub pr_count: Option<i64>,
3092    #[serde(skip_serializing_if = "Option::is_none")]
3093    pub issues_count: Option<i64>,
3094    #[serde(skip_serializing_if = "Option::is_none")]
3095    pub valid_cr_count: Option<i64>,
3096    #[serde(skip_serializing_if = "Option::is_none")]
3097    pub commit_count: Option<i64>,
3098    #[serde(skip_serializing_if = "Option::is_none")]
3099    pub score: Option<f64>,
3100}
3101
3102/// DtoDeployKeysPayload 模型
3103#[derive(Debug, Clone, Serialize, Deserialize)]
3104pub struct DtoDeployKeysPayload {
3105    #[serde(skip_serializing_if = "Option::is_none")]
3106    pub slug: Option<String>,
3107    #[serde(skip_serializing_if = "Option::is_none")]
3108    pub expired_at: Option<serde_json::Value>,
3109    #[serde(skip_serializing_if = "Option::is_none")]
3110    pub token: Option<String>,
3111    #[serde(skip_serializing_if = "Option::is_none")]
3112    pub description: Option<String>,
3113    #[serde(skip_serializing_if = "Option::is_none")]
3114    pub scope: Option<String>,
3115}
3116
3117/// DtoGetActivityWorkflowDetailRsp 模型
3118#[derive(Debug, Clone, Serialize, Deserialize)]
3119pub struct DtoGetActivityWorkflowDetailRsp {
3120    #[serde(skip_serializing_if = "Option::is_none")]
3121    pub activity_workflow_datas: Option<Vec<serde_json::Value>>,
3122    #[serde(skip_serializing_if = "Option::is_none")]
3123    pub next_offset: Option<String>,
3124}
3125
3126/// DtoCommonRegistryPackageDetail 模型
3127#[derive(Debug, Clone, Serialize, Deserialize)]
3128pub struct DtoCommonRegistryPackageDetail {
3129    #[serde(skip_serializing_if = "Option::is_none")]
3130    pub recent_pull_count: Option<i64>,
3131    #[serde(skip_serializing_if = "Option::is_none")]
3132    pub tag_total: Option<i64>,
3133    #[serde(skip_serializing_if = "Option::is_none")]
3134    pub slug: Option<String>,
3135    #[serde(skip_serializing_if = "Option::is_none")]
3136    pub address: Option<String>,
3137    #[serde(skip_serializing_if = "Option::is_none")]
3138    pub desc: Option<String>,
3139    #[serde(skip_serializing_if = "Option::is_none")]
3140    pub pull_count: Option<i64>,
3141    #[serde(skip_serializing_if = "Option::is_none")]
3142    pub package: Option<String>,
3143    #[serde(skip_serializing_if = "Option::is_none")]
3144    pub last_pusher: Option<serde_json::Value>,
3145    #[serde(skip_serializing_if = "Option::is_none")]
3146    pub tags: Option<Vec<serde_json::Value>>,
3147}
3148
3149/// DtoMissionViewGroup 模型
3150#[derive(Debug, Clone, Serialize, Deserialize)]
3151pub struct DtoMissionViewGroup {
3152    #[serde(skip_serializing_if = "Option::is_none")]
3153    pub custom_orders: Option<serde_json::Value>,
3154    #[serde(skip_serializing_if = "Option::is_none")]
3155    pub custom_visible: Option<serde_json::Value>,
3156    #[serde(skip_serializing_if = "Option::is_none")]
3157    pub expended_list: Option<Vec<serde_json::Value>>,
3158    #[serde(skip_serializing_if = "Option::is_none")]
3159    pub order: Option<serde_json::Value>,
3160    #[serde(skip_serializing_if = "Option::is_none")]
3161    pub field: Option<String>,
3162}
3163
3164/// DtoQuotaRsp 模型
3165#[derive(Debug, Clone, Serialize, Deserialize)]
3166pub struct DtoQuotaRsp {
3167    #[serde(skip_serializing_if = "Option::is_none")]
3168    pub storage_per_project: Option<String>,
3169    #[serde(skip_serializing_if = "Option::is_none")]
3170    pub used: Option<serde_json::Value>,
3171    #[serde(skip_serializing_if = "Option::is_none")]
3172    pub hard: Option<serde_json::Value>,
3173    #[serde(skip_serializing_if = "Option::is_none")]
3174    pub repository_name: Option<String>,
3175}
3176
3177/// DtoUploadAssetsResponse 模型
3178#[derive(Debug, Clone, Serialize, Deserialize)]
3179pub struct DtoUploadAssetsResponse {
3180    #[serde(skip_serializing_if = "Option::is_none")]
3181    pub upload_url: Option<String>,
3182    #[serde(skip_serializing_if = "Option::is_none")]
3183    pub assets: Option<serde_json::Value>,
3184    #[serde(skip_serializing_if = "Option::is_none")]
3185    pub token: Option<String>,
3186    #[serde(skip_serializing_if = "Option::is_none")]
3187    pub form: Option<serde_json::Value>,
3188}
3189
3190/// DtoRepoCoreHour 模型
3191#[derive(Debug, Clone, Serialize, Deserialize)]
3192pub struct DtoRepoCoreHour {
3193    #[serde(skip_serializing_if = "Option::is_none")]
3194    pub ci_used_core_sec: Option<String>,
3195    #[serde(skip_serializing_if = "Option::is_none")]
3196    pub code_used_core_sec: Option<String>,
3197    #[serde(skip_serializing_if = "Option::is_none")]
3198    pub code_used_core_hour: Option<String>,
3199    #[serde(skip_serializing_if = "Option::is_none")]
3200    pub ci_used_core_hour: Option<String>,
3201    #[serde(skip_serializing_if = "Option::is_none")]
3202    pub ci_gpu_used_core_sec: Option<String>,
3203    #[serde(skip_serializing_if = "Option::is_none")]
3204    pub code_gpu_used_core_sec: Option<String>,
3205}
3206
3207/// GitWoaComCnbMonorepoGitInternalAppGitServiceBffWebSceneReaction 模型
3208#[derive(Debug, Clone, Serialize, Deserialize)]
3209pub struct GitWoaComCnbMonorepoGitInternalAppGitServiceBffWebSceneReaction {
3210    #[serde(skip_serializing_if = "Option::is_none")]
3211    pub reaction: Option<String>,
3212    #[serde(skip_serializing_if = "Option::is_none")]
3213    pub count: Option<i64>,
3214    #[serde(skip_serializing_if = "Option::is_none")]
3215    pub has_reacted: Option<bool>,
3216    #[serde(skip_serializing_if = "Option::is_none")]
3217    pub top_users: Option<Vec<serde_json::Value>>,
3218}
3219
3220/// HandlerIssueReactionForm 模型
3221#[derive(Debug, Clone, Serialize, Deserialize)]
3222pub struct HandlerIssueReactionForm {
3223    #[serde(skip_serializing_if = "Option::is_none")]
3224    pub reaction: Option<String>,
3225    #[serde(skip_serializing_if = "Option::is_none")]
3226    pub scene: Option<String>,
3227}
3228
3229/// DtoQueryKnowledgeBaseRes 模型
3230#[derive(Debug, Clone, Serialize, Deserialize)]
3231pub struct DtoQueryKnowledgeBaseRes {
3232    #[serde(skip_serializing_if = "Option::is_none")]
3233    pub metadata: Option<serde_json::Value>,
3234    #[serde(skip_serializing_if = "Option::is_none")]
3235    pub score: Option<f64>,
3236    #[serde(skip_serializing_if = "Option::is_none")]
3237    pub chunk: Option<String>,
3238}
3239
3240/// HandlerLabelId 模型
3241#[derive(Debug, Clone, Serialize, Deserialize)]
3242pub struct HandlerLabelId {
3243    #[serde(skip_serializing_if = "Option::is_none")]
3244    pub id: Option<String>,
3245}
3246
3247/// WebAddGpgKeyForm 模型
3248#[derive(Debug, Clone, Serialize, Deserialize)]
3249pub struct WebAddGpgKeyForm {
3250    #[serde(skip_serializing_if = "Option::is_none")]
3251    pub armored_public_key: Option<String>,
3252    #[serde(skip_serializing_if = "Option::is_none")]
3253    pub name: Option<String>,
3254}
3255
3256/// ApiPostIssueCommentForm 模型
3257#[derive(Debug, Clone, Serialize, Deserialize)]
3258pub struct ApiPostIssueCommentForm {
3259    #[serde(skip_serializing_if = "Option::is_none")]
3260    pub body: Option<String>,
3261}
3262
3263/// DtoForkReq 模型
3264#[derive(Debug, Clone, Serialize, Deserialize)]
3265pub struct DtoForkReq {
3266    #[serde(skip_serializing_if = "Option::is_none")]
3267    pub group: Option<String>,
3268    #[serde(skip_serializing_if = "Option::is_none")]
3269    pub name: Option<String>,
3270    #[serde(skip_serializing_if = "Option::is_none")]
3271    pub branch: Option<String>,
3272    #[serde(skip_serializing_if = "Option::is_none")]
3273    pub description: Option<String>,
3274}
3275
3276/// DtoCodeRepoTagPolicy 模型
3277#[derive(Debug, Clone, Serialize, Deserialize)]
3278pub struct DtoCodeRepoTagPolicy {
3279    #[serde(skip_serializing_if = "Option::is_none")]
3280    pub cleanup_policy: Option<serde_json::Value>,
3281    #[serde(skip_serializing_if = "Option::is_none")]
3282    pub override_policy: Option<serde_json::Value>,
3283}
3284
3285/// DtoCreateInvitationRequest 模型
3286#[derive(Debug, Clone, Serialize, Deserialize)]
3287pub struct DtoCreateInvitationRequest {
3288    #[serde(skip_serializing_if = "Option::is_none")]
3289    pub member_role: Option<serde_json::Value>,
3290    #[serde(skip_serializing_if = "Option::is_none")]
3291    pub member_number: Option<i64>,
3292    #[serde(skip_serializing_if = "Option::is_none")]
3293    pub validity_hour: Option<i64>,
3294    #[serde(skip_serializing_if = "Option::is_none")]
3295    pub is_outside_collaborator: Option<bool>,
3296}
3297
3298/// DtoDeployKeyItem 模型
3299#[derive(Debug, Clone, Serialize, Deserialize)]
3300pub struct DtoDeployKeyItem {
3301    #[serde(skip_serializing_if = "Option::is_none")]
3302    pub created_at: Option<String>,
3303    #[serde(skip_serializing_if = "Option::is_none")]
3304    pub creator: Option<serde_json::Value>,
3305    #[serde(skip_serializing_if = "Option::is_none")]
3306    pub last_activity_at: Option<String>,
3307    #[serde(skip_serializing_if = "Option::is_none")]
3308    pub scope: Option<String>,
3309    #[serde(skip_serializing_if = "Option::is_none")]
3310    pub token_fragment: Option<String>,
3311    #[serde(skip_serializing_if = "Option::is_none")]
3312    pub token_id: Option<String>,
3313    #[serde(skip_serializing_if = "Option::is_none")]
3314    pub updated_at: Option<String>,
3315    #[serde(skip_serializing_if = "Option::is_none")]
3316    pub description: Option<String>,
3317    #[serde(skip_serializing_if = "Option::is_none")]
3318    pub expired_at: Option<String>,
3319}
3320
3321/// DtoOperatorType 模型
3322#[derive(Debug, Clone, Serialize, Deserialize)]
3323pub struct DtoOperatorType {
3324}
3325
3326/// ApiTreeEntry 模型
3327#[derive(Debug, Clone, Serialize, Deserialize)]
3328pub struct ApiTreeEntry {
3329    #[serde(skip_serializing_if = "Option::is_none")]
3330    pub sha: Option<String>,
3331    #[serde(skip_serializing_if = "Option::is_none")]
3332    pub r#type: Option<String>,
3333    #[serde(skip_serializing_if = "Option::is_none")]
3334    pub name: Option<String>,
3335    #[serde(skip_serializing_if = "Option::is_none")]
3336    pub path: Option<String>,
3337}
3338
3339/// ApiPullReview 模型
3340#[derive(Debug, Clone, Serialize, Deserialize)]
3341pub struct ApiPullReview {
3342    #[serde(skip_serializing_if = "Option::is_none")]
3343    pub updated_at: Option<String>,
3344    #[serde(skip_serializing_if = "Option::is_none")]
3345    pub author: Option<serde_json::Value>,
3346    #[serde(skip_serializing_if = "Option::is_none")]
3347    pub state: Option<String>,
3348    #[serde(skip_serializing_if = "Option::is_none")]
3349    pub created_at: Option<String>,
3350    #[serde(skip_serializing_if = "Option::is_none")]
3351    pub body: Option<String>,
3352    #[serde(skip_serializing_if = "Option::is_none")]
3353    pub id: Option<String>,
3354}
3355
3356/// OpenapiPatchReleaseForm 模型
3357#[derive(Debug, Clone, Serialize, Deserialize)]
3358pub struct OpenapiPatchReleaseForm {
3359    #[serde(skip_serializing_if = "Option::is_none")]
3360    pub make_latest: Option<String>,
3361    #[serde(skip_serializing_if = "Option::is_none")]
3362    pub draft: Option<bool>,
3363    #[serde(skip_serializing_if = "Option::is_none")]
3364    pub prerelease: Option<bool>,
3365    #[serde(skip_serializing_if = "Option::is_none")]
3366    pub body: Option<String>,
3367    #[serde(skip_serializing_if = "Option::is_none")]
3368    pub name: Option<String>,
3369}
3370
3371/// OpenapiPostCommitAssetUploadUrlForm 模型
3372#[derive(Debug, Clone, Serialize, Deserialize)]
3373pub struct OpenapiPostCommitAssetUploadUrlForm {
3374    #[serde(skip_serializing_if = "Option::is_none")]
3375    pub asset_name: Option<String>,
3376    #[serde(skip_serializing_if = "Option::is_none")]
3377    pub size: Option<i64>,
3378}
3379
3380/// DtoActivityRepos 模型
3381#[derive(Debug, Clone, Serialize, Deserialize)]
3382pub struct DtoActivityRepos {
3383    #[serde(skip_serializing_if = "Option::is_none")]
3384    pub updated_at: Option<String>,
3385    #[serde(skip_serializing_if = "Option::is_none")]
3386    pub freeze: Option<bool>,
3387    #[serde(skip_serializing_if = "Option::is_none")]
3388    pub last_updated_at: Option<serde_json::Value>,
3389    #[serde(skip_serializing_if = "Option::is_none")]
3390    pub mark_count: Option<i64>,
3391    #[serde(skip_serializing_if = "Option::is_none")]
3392    pub languages: Option<serde_json::Value>,
3393    #[serde(skip_serializing_if = "Option::is_none")]
3394    pub display_module: Option<serde_json::Value>,
3395    #[serde(skip_serializing_if = "Option::is_none")]
3396    pub is_star: Option<bool>,
3397    #[serde(skip_serializing_if = "Option::is_none")]
3398    pub created_at: Option<String>,
3399    #[serde(skip_serializing_if = "Option::is_none")]
3400    pub forked_from: Option<String>,
3401    #[serde(skip_serializing_if = "Option::is_none")]
3402    pub path: Option<String>,
3403    #[serde(skip_serializing_if = "Option::is_none")]
3404    pub star_count: Option<i64>,
3405    #[serde(skip_serializing_if = "Option::is_none")]
3406    pub license: Option<String>,
3407    #[serde(skip_serializing_if = "Option::is_none")]
3408    pub status: Option<serde_json::Value>,
3409    #[serde(skip_serializing_if = "Option::is_none")]
3410    pub topics: Option<String>,
3411    #[serde(skip_serializing_if = "Option::is_none")]
3412    pub flags: Option<serde_json::Value>,
3413    #[serde(skip_serializing_if = "Option::is_none")]
3414    pub fork_count: Option<i64>,
3415    #[serde(skip_serializing_if = "Option::is_none")]
3416    pub site: Option<String>,
3417    #[serde(skip_serializing_if = "Option::is_none")]
3418    pub fork_target: Option<String>,
3419    #[serde(skip_serializing_if = "Option::is_none")]
3420    pub language: Option<String>,
3421    #[serde(skip_serializing_if = "Option::is_none")]
3422    pub name: Option<String>,
3423    #[serde(skip_serializing_if = "Option::is_none")]
3424    pub visibility_level: Option<serde_json::Value>,
3425    #[serde(skip_serializing_if = "Option::is_none")]
3426    pub second_languages: Option<serde_json::Value>,
3427    #[serde(skip_serializing_if = "Option::is_none")]
3428    pub description: Option<String>,
3429    #[serde(skip_serializing_if = "Option::is_none")]
3430    pub id: Option<String>,
3431}
3432
3433/// WebBlames 模型
3434#[derive(Debug, Clone, Serialize, Deserialize)]
3435pub struct WebBlames {
3436    #[serde(skip_serializing_if = "Option::is_none")]
3437    pub file_size_exceeded: Option<bool>,
3438    #[serde(skip_serializing_if = "Option::is_none")]
3439    pub file_size: Option<i64>,
3440    #[serde(skip_serializing_if = "Option::is_none")]
3441    pub ranges: Option<Vec<serde_json::Value>>,
3442    #[serde(skip_serializing_if = "Option::is_none")]
3443    pub file_size_limit: Option<i64>,
3444}
3445
3446/// DtoCommonRegistryTagDetail 模型
3447#[derive(Debug, Clone, Serialize, Deserialize)]
3448pub struct DtoCommonRegistryTagDetail {
3449    #[serde(skip_serializing_if = "Option::is_none")]
3450    pub recent_pull_count: Option<i64>,
3451    #[serde(skip_serializing_if = "Option::is_none")]
3452    pub status: Option<String>,
3453    #[serde(skip_serializing_if = "Option::is_none")]
3454    pub package: Option<String>,
3455    #[serde(skip_serializing_if = "Option::is_none")]
3456    pub metadata: Option<serde_json::Value>,
3457    #[serde(skip_serializing_if = "Option::is_none")]
3458    pub size: Option<i64>,
3459    #[serde(skip_serializing_if = "Option::is_none")]
3460    pub slug: Option<String>,
3461    #[serde(skip_serializing_if = "Option::is_none")]
3462    pub address: Option<String>,
3463    #[serde(skip_serializing_if = "Option::is_none")]
3464    pub pull_count: Option<i64>,
3465    #[serde(skip_serializing_if = "Option::is_none")]
3466    pub tags: Option<Vec<serde_json::Value>>,
3467    #[serde(skip_serializing_if = "Option::is_none")]
3468    pub files: Option<Vec<serde_json::Value>>,
3469    #[serde(skip_serializing_if = "Option::is_none")]
3470    pub tag: Option<String>,
3471    #[serde(skip_serializing_if = "Option::is_none")]
3472    pub last_pusher: Option<serde_json::Value>,
3473    #[serde(skip_serializing_if = "Option::is_none")]
3474    pub desc: Option<String>,
3475    #[serde(skip_serializing_if = "Option::is_none")]
3476    pub dependencies: Option<Vec<serde_json::Value>>,
3477}
3478
3479/// DtoResources 模型
3480#[derive(Debug, Clone, Serialize, Deserialize)]
3481pub struct DtoResources {
3482    #[serde(skip_serializing_if = "Option::is_none")]
3483    pub root_id: Option<i64>,
3484    #[serde(skip_serializing_if = "Option::is_none")]
3485    pub group: Option<serde_json::Value>,
3486    #[serde(skip_serializing_if = "Option::is_none")]
3487    pub r#type: Option<serde_json::Value>,
3488    #[serde(skip_serializing_if = "Option::is_none")]
3489    pub registry: Option<serde_json::Value>,
3490    #[serde(skip_serializing_if = "Option::is_none")]
3491    pub repo: Option<serde_json::Value>,
3492    #[serde(skip_serializing_if = "Option::is_none")]
3493    pub mission: Option<serde_json::Value>,
3494}
3495
3496/// GitWoaComCnbMonorepoMissionMissionResourceDtoWebUserInfo 模型
3497#[derive(Debug, Clone, Serialize, Deserialize)]
3498pub struct GitWoaComCnbMonorepoMissionMissionResourceDtoWebUserInfo {
3499    #[serde(skip_serializing_if = "Option::is_none")]
3500    pub username: Option<String>,
3501    #[serde(skip_serializing_if = "Option::is_none")]
3502    pub nickname: Option<String>,
3503}
3504
3505/// DtoRegistryLevelCleanPolicy 模型
3506#[derive(Debug, Clone, Serialize, Deserialize)]
3507pub struct DtoRegistryLevelCleanPolicy {
3508    #[serde(skip_serializing_if = "Option::is_none")]
3509    pub common_registry: Option<serde_json::Value>,
3510    #[serde(skip_serializing_if = "Option::is_none")]
3511    pub code_repo: Option<serde_json::Value>,
3512}
3513
3514/// WebapiPatchReleaseForm 模型
3515#[derive(Debug, Clone, Serialize, Deserialize)]
3516pub struct WebapiPatchReleaseForm {
3517    #[serde(skip_serializing_if = "Option::is_none")]
3518    pub make_latest: Option<String>,
3519    #[serde(skip_serializing_if = "Option::is_none")]
3520    pub is_prerelease: Option<bool>,
3521    #[serde(skip_serializing_if = "Option::is_none")]
3522    pub body: Option<String>,
3523    #[serde(skip_serializing_if = "Option::is_none")]
3524    pub is_draft: Option<bool>,
3525    #[serde(skip_serializing_if = "Option::is_none")]
3526    pub title: Option<String>,
3527}
3528
3529/// DtoPipelineStatus 模型
3530#[derive(Debug, Clone, Serialize, Deserialize)]
3531pub struct DtoPipelineStatus {
3532    #[serde(skip_serializing_if = "Option::is_none")]
3533    pub id: Option<String>,
3534    #[serde(skip_serializing_if = "Option::is_none")]
3535    pub duration: Option<i64>,
3536    #[serde(skip_serializing_if = "Option::is_none")]
3537    pub stages: Option<Vec<serde_json::Value>>,
3538    #[serde(skip_serializing_if = "Option::is_none")]
3539    pub metric_core_hours: Option<f64>,
3540    #[serde(skip_serializing_if = "Option::is_none")]
3541    pub labels: Option<Vec<serde_json::Value>>,
3542    #[serde(skip_serializing_if = "Option::is_none")]
3543    pub status: Option<String>,
3544}
3545
3546/// ApiBranchDetail 模型
3547#[derive(Debug, Clone, Serialize, Deserialize)]
3548pub struct ApiBranchDetail {
3549    #[serde(skip_serializing_if = "Option::is_none")]
3550    pub name: Option<String>,
3551    #[serde(skip_serializing_if = "Option::is_none")]
3552    pub commit: Option<serde_json::Value>,
3553    #[serde(skip_serializing_if = "Option::is_none")]
3554    pub protected: Option<bool>,
3555    #[serde(skip_serializing_if = "Option::is_none")]
3556    pub dev_meta: Option<Vec<i64>>,
3557}
3558
3559/// DtoUsersLangPayload 模型
3560#[derive(Debug, Clone, Serialize, Deserialize)]
3561pub struct DtoUsersLangPayload {
3562    #[serde(skip_serializing_if = "Option::is_none")]
3563    pub language: Option<String>,
3564}
3565
3566/// ScopeAccessTokenConfig 模型
3567#[derive(Debug, Clone, Serialize, Deserialize)]
3568pub struct ScopeAccessTokenConfig {
3569    #[serde(skip_serializing_if = "Option::is_none")]
3570    pub config: Option<Vec<serde_json::Value>>,
3571    #[serde(skip_serializing_if = "Option::is_none")]
3572    pub scene: Option<Vec<serde_json::Value>>,
3573}
3574
3575/// DtoMemberAccessLevelInSlugUnion 模型
3576#[derive(Debug, Clone, Serialize, Deserialize)]
3577pub struct DtoMemberAccessLevelInSlugUnion {
3578    #[serde(skip_serializing_if = "Option::is_none")]
3579    pub inherit: Option<bool>,
3580    #[serde(skip_serializing_if = "Option::is_none")]
3581    pub access_level: Option<serde_json::Value>,
3582    #[serde(skip_serializing_if = "Option::is_none")]
3583    pub read_privilege: Option<bool>,
3584    #[serde(skip_serializing_if = "Option::is_none")]
3585    pub write_privilege: Option<bool>,
3586}
3587
3588/// WebPullRequest 模型
3589#[derive(Debug, Clone, Serialize, Deserialize)]
3590pub struct WebPullRequest {
3591    #[serde(skip_serializing_if = "Option::is_none")]
3592    pub number: Option<String>,
3593    #[serde(skip_serializing_if = "Option::is_none")]
3594    pub review_comment_count: Option<i64>,
3595    #[serde(skip_serializing_if = "Option::is_none")]
3596    pub is_ready_for_merge: Option<bool>,
3597    #[serde(skip_serializing_if = "Option::is_none")]
3598    pub review_count: Option<i64>,
3599    #[serde(skip_serializing_if = "Option::is_none")]
3600    pub title: Option<String>,
3601    #[serde(skip_serializing_if = "Option::is_none")]
3602    pub is_merged: Option<bool>,
3603    #[serde(skip_serializing_if = "Option::is_none")]
3604    pub file_count: Option<i64>,
3605    #[serde(skip_serializing_if = "Option::is_none")]
3606    pub author: Option<serde_json::Value>,
3607    #[serde(skip_serializing_if = "Option::is_none")]
3608    pub head_repo_ref: Option<String>,
3609    #[serde(skip_serializing_if = "Option::is_none")]
3610    pub status_check_commit_sha: Option<String>,
3611    #[serde(skip_serializing_if = "Option::is_none")]
3612    pub is_wip: Option<bool>,
3613    #[serde(skip_serializing_if = "Option::is_none")]
3614    pub updated_at: Option<String>,
3615    #[serde(skip_serializing_if = "Option::is_none")]
3616    pub created_at: Option<String>,
3617    #[serde(skip_serializing_if = "Option::is_none")]
3618    pub commit_statuses: Option<serde_json::Value>,
3619    #[serde(skip_serializing_if = "Option::is_none")]
3620    pub last_acted_at: Option<String>,
3621    #[serde(skip_serializing_if = "Option::is_none")]
3622    pub comment_count: Option<i64>,
3623    #[serde(skip_serializing_if = "Option::is_none")]
3624    pub head_deleted: Option<bool>,
3625    #[serde(skip_serializing_if = "Option::is_none")]
3626    pub commit_count: Option<i64>,
3627    #[serde(skip_serializing_if = "Option::is_none")]
3628    pub merge_style: Option<String>,
3629    #[serde(skip_serializing_if = "Option::is_none")]
3630    pub reviewers: Option<Vec<serde_json::Value>>,
3631    #[serde(skip_serializing_if = "Option::is_none")]
3632    pub state: Option<String>,
3633    #[serde(skip_serializing_if = "Option::is_none")]
3634    pub base_repo_ref: Option<String>,
3635    #[serde(skip_serializing_if = "Option::is_none")]
3636    pub head_repo_slug: Option<String>,
3637    #[serde(skip_serializing_if = "Option::is_none")]
3638    pub assignees: Option<Vec<serde_json::Value>>,
3639    #[serde(skip_serializing_if = "Option::is_none")]
3640    pub mergeable_state: Option<String>,
3641    #[serde(skip_serializing_if = "Option::is_none")]
3642    pub blocked_on: Option<String>,
3643    #[serde(skip_serializing_if = "Option::is_none")]
3644    pub labels: Option<Vec<serde_json::Value>>,
3645}
3646
3647/// HandlerGitIgnoreTemplate 模型
3648#[derive(Debug, Clone, Serialize, Deserialize)]
3649pub struct HandlerGitIgnoreTemplate {
3650    #[serde(skip_serializing_if = "Option::is_none")]
3651    pub source: Option<String>,
3652    #[serde(skip_serializing_if = "Option::is_none")]
3653    pub name: Option<String>,
3654}
3655
3656/// WebDeferredBranches 模型
3657#[derive(Debug, Clone, Serialize, Deserialize)]
3658pub struct WebDeferredBranches {
3659}
3660
3661/// EnumsOperateType 模型
3662#[derive(Debug, Clone, Serialize, Deserialize)]
3663pub struct EnumsOperateType {
3664}
3665
3666/// WebPullRequestSetting 模型
3667#[derive(Debug, Clone, Serialize, Deserialize)]
3668pub struct WebPullRequestSetting {
3669    #[serde(skip_serializing_if = "Option::is_none")]
3670    pub allow_merge_styles: Option<Vec<String>>,
3671    #[serde(skip_serializing_if = "Option::is_none")]
3672    pub merge_commit_message_style: Option<String>,
3673    #[serde(skip_serializing_if = "Option::is_none")]
3674    pub base_branch_protection: Option<serde_json::Value>,
3675    #[serde(skip_serializing_if = "Option::is_none")]
3676    pub squash_commit_message_style: Option<String>,
3677}
3678
3679/// DtoOverwritePolicy 模型
3680#[derive(Debug, Clone, Serialize, Deserialize)]
3681pub struct DtoOverwritePolicy {
3682}
3683
3684/// DtoRepoStarUsers 模型
3685#[derive(Debug, Clone, Serialize, Deserialize)]
3686pub struct DtoRepoStarUsers {
3687    #[serde(skip_serializing_if = "Option::is_none")]
3688    pub my_follow_count: Option<i64>,
3689    #[serde(skip_serializing_if = "Option::is_none")]
3690    pub total: Option<i64>,
3691    #[serde(skip_serializing_if = "Option::is_none")]
3692    pub users: Option<Vec<serde_json::Value>>,
3693}
3694
3695/// DtoAccessTokenItem 模型
3696#[derive(Debug, Clone, Serialize, Deserialize)]
3697pub struct DtoAccessTokenItem {
3698    #[serde(skip_serializing_if = "Option::is_none")]
3699    pub description: Option<String>,
3700    #[serde(skip_serializing_if = "Option::is_none")]
3701    pub scope: Option<String>,
3702    #[serde(skip_serializing_if = "Option::is_none")]
3703    pub title: Option<String>,
3704    #[serde(skip_serializing_if = "Option::is_none")]
3705    pub token_fragment: Option<String>,
3706    #[serde(skip_serializing_if = "Option::is_none")]
3707    pub slug: Option<String>,
3708    #[serde(skip_serializing_if = "Option::is_none")]
3709    pub created_at: Option<String>,
3710    #[serde(skip_serializing_if = "Option::is_none")]
3711    pub last_activity_at: Option<String>,
3712    #[serde(skip_serializing_if = "Option::is_none")]
3713    pub token_id: Option<String>,
3714    #[serde(skip_serializing_if = "Option::is_none")]
3715    pub slug_deleted: Option<bool>,
3716    #[serde(skip_serializing_if = "Option::is_none")]
3717    pub expired_at: Option<String>,
3718    #[serde(skip_serializing_if = "Option::is_none")]
3719    pub resource_type: Option<serde_json::Value>,
3720}
3721
3722/// WebPullRequestReviewComment 模型
3723#[derive(Debug, Clone, Serialize, Deserialize)]
3724pub struct WebPullRequestReviewComment {
3725    #[serde(skip_serializing_if = "Option::is_none")]
3726    pub subject_type: Option<String>,
3727    #[serde(skip_serializing_if = "Option::is_none")]
3728    pub start_side: Option<String>,
3729    #[serde(skip_serializing_if = "Option::is_none")]
3730    pub diff_hunk: Option<Vec<serde_json::Value>>,
3731    #[serde(skip_serializing_if = "Option::is_none")]
3732    pub author_meta: Option<Vec<i64>>,
3733    #[serde(skip_serializing_if = "Option::is_none")]
3734    pub commit_hash: Option<String>,
3735    #[serde(skip_serializing_if = "Option::is_none")]
3736    pub created_at: Option<String>,
3737    #[serde(skip_serializing_if = "Option::is_none")]
3738    pub deleted: Option<bool>,
3739    #[serde(skip_serializing_if = "Option::is_none")]
3740    pub end_side: Option<String>,
3741    #[serde(skip_serializing_if = "Option::is_none")]
3742    pub path: Option<String>,
3743    #[serde(skip_serializing_if = "Option::is_none")]
3744    pub reply_to_comment_id: Option<String>,
3745    #[serde(skip_serializing_if = "Option::is_none")]
3746    pub review_state: Option<String>,
3747    #[serde(skip_serializing_if = "Option::is_none")]
3748    pub comment_id: Option<String>,
3749    #[serde(skip_serializing_if = "Option::is_none")]
3750    pub start_line: Option<i64>,
3751    #[serde(skip_serializing_if = "Option::is_none")]
3752    pub replies: Option<Vec<serde_json::Value>>,
3753    #[serde(skip_serializing_if = "Option::is_none")]
3754    pub end_line: Option<i64>,
3755    #[serde(skip_serializing_if = "Option::is_none")]
3756    pub delete_payload: Option<serde_json::Value>,
3757    #[serde(skip_serializing_if = "Option::is_none")]
3758    pub body: Option<String>,
3759    #[serde(skip_serializing_if = "Option::is_none")]
3760    pub author: Option<serde_json::Value>,
3761    #[serde(skip_serializing_if = "Option::is_none")]
3762    pub reactions: Option<Vec<serde_json::Value>>,
3763    #[serde(skip_serializing_if = "Option::is_none")]
3764    pub review_id: Option<String>,
3765    #[serde(skip_serializing_if = "Option::is_none")]
3766    pub updated_at: Option<String>,
3767}
3768
3769/// DtoManifestMetadata 模型
3770#[derive(Debug, Clone, Serialize, Deserialize)]
3771pub struct DtoManifestMetadata {
3772    #[serde(skip_serializing_if = "Option::is_none")]
3773    pub media_type: Option<String>,
3774    #[serde(skip_serializing_if = "Option::is_none")]
3775    pub annotations: Option<serde_json::Value>,
3776    #[serde(skip_serializing_if = "Option::is_none")]
3777    pub manifests: Option<Vec<serde_json::Value>>,
3778    #[serde(skip_serializing_if = "Option::is_none")]
3779    pub subject: Option<serde_json::Value>,
3780    #[serde(skip_serializing_if = "Option::is_none")]
3781    pub layers: Option<Vec<serde_json::Value>>,
3782    #[serde(skip_serializing_if = "Option::is_none")]
3783    pub artifact_type: Option<String>,
3784    #[serde(skip_serializing_if = "Option::is_none")]
3785    pub config: Option<serde_json::Value>,
3786    #[serde(skip_serializing_if = "Option::is_none")]
3787    pub schema_version: Option<i64>,
3788}
3789
3790/// DtoHarborGcSchedule 模型
3791#[derive(Debug, Clone, Serialize, Deserialize)]
3792pub struct DtoHarborGcSchedule {
3793    #[serde(skip_serializing_if = "Option::is_none")]
3794    pub last_triggered_time: Option<String>,
3795    #[serde(skip_serializing_if = "Option::is_none")]
3796    pub next_scheduled_time: Option<String>,
3797    #[serde(skip_serializing_if = "Option::is_none")]
3798    pub cron: Option<String>,
3799    #[serde(skip_serializing_if = "Option::is_none")]
3800    pub r#type: Option<String>,
3801}
3802
3803/// DtoMissionPatch 模型
3804#[derive(Debug, Clone, Serialize, Deserialize)]
3805pub struct DtoMissionPatch {
3806    #[serde(skip_serializing_if = "Option::is_none")]
3807    pub description: Option<String>,
3808    #[serde(skip_serializing_if = "Option::is_none")]
3809    pub ref_repos: Option<Vec<String>>,
3810}
3811
3812/// DtoWorkspaceDeleteResult 模型
3813#[derive(Debug, Clone, Serialize, Deserialize)]
3814pub struct DtoWorkspaceDeleteResult {
3815    #[serde(skip_serializing_if = "Option::is_none")]
3816    pub message: Option<String>,
3817    #[serde(skip_serializing_if = "Option::is_none")]
3818    pub code: Option<i64>,
3819}
3820
3821/// GitWoaComCnbMonorepoPlatformChargeInternalDaoDtoStatus 模型
3822#[derive(Debug, Clone, Serialize, Deserialize)]
3823pub struct GitWoaComCnbMonorepoPlatformChargeInternalDaoDtoStatus {
3824    #[serde(skip_serializing_if = "Option::is_none")]
3825    pub budget_status: Option<serde_json::Value>,
3826    #[serde(skip_serializing_if = "Option::is_none")]
3827    pub threshold: Option<serde_json::Value>,
3828}
3829
3830/// WebIssueSummary 模型
3831#[derive(Debug, Clone, Serialize, Deserialize)]
3832pub struct WebIssueSummary {
3833    #[serde(skip_serializing_if = "Option::is_none")]
3834    pub open_pull_request_number: Option<i64>,
3835    #[serde(skip_serializing_if = "Option::is_none")]
3836    pub closed_pull_request_number: Option<i64>,
3837    #[serde(skip_serializing_if = "Option::is_none")]
3838    pub open_issue_number: Option<i64>,
3839    #[serde(skip_serializing_if = "Option::is_none")]
3840    pub closed_issue_number: Option<i64>,
3841}
3842
3843/// WebUpdateLfsQuotaForm 模型
3844#[derive(Debug, Clone, Serialize, Deserialize)]
3845pub struct WebUpdateLfsQuotaForm {
3846    #[serde(skip_serializing_if = "Option::is_none")]
3847    pub lfs_quota_in_kib: Option<String>,
3848    #[serde(skip_serializing_if = "Option::is_none")]
3849    pub lfs_object_size_limit_in_kib: Option<String>,
3850    #[serde(skip_serializing_if = "Option::is_none")]
3851    pub quota_in_kib: Option<i64>,
3852}
3853
3854/// WebCommitObject 模型
3855#[derive(Debug, Clone, Serialize, Deserialize)]
3856pub struct WebCommitObject {
3857    #[serde(skip_serializing_if = "Option::is_none")]
3858    pub tree: Option<serde_json::Value>,
3859    #[serde(skip_serializing_if = "Option::is_none")]
3860    pub author: Option<serde_json::Value>,
3861    #[serde(skip_serializing_if = "Option::is_none")]
3862    pub verification: Option<serde_json::Value>,
3863    #[serde(skip_serializing_if = "Option::is_none")]
3864    pub message: Option<String>,
3865    #[serde(skip_serializing_if = "Option::is_none")]
3866    pub committer: Option<serde_json::Value>,
3867    #[serde(skip_serializing_if = "Option::is_none")]
3868    pub comment_count: Option<i64>,
3869}
3870
3871/// DtoRankLanguageList 模型
3872#[derive(Debug, Clone, Serialize, Deserialize)]
3873pub struct DtoRankLanguageList {
3874    #[serde(skip_serializing_if = "Option::is_none")]
3875    pub date: Option<String>,
3876    #[serde(skip_serializing_if = "Option::is_none")]
3877    pub rank_type: Option<String>,
3878    #[serde(skip_serializing_if = "Option::is_none")]
3879    pub language: Option<Vec<String>>,
3880}
3881
3882/// WebMeta 模型
3883#[derive(Debug, Clone, Serialize, Deserialize)]
3884pub struct WebMeta {
3885    #[serde(skip_serializing_if = "Option::is_none")]
3886    pub gen_branch: Option<String>,
3887    #[serde(skip_serializing_if = "Option::is_none")]
3888    pub gen_hash: Option<String>,
3889    #[serde(skip_serializing_if = "Option::is_none")]
3890    pub updated_at: Option<String>,
3891}
3892
3893/// WebForkSyncStatus 模型
3894#[derive(Debug, Clone, Serialize, Deserialize)]
3895pub struct WebForkSyncStatus {
3896    #[serde(skip_serializing_if = "Option::is_none")]
3897    pub behind: Option<i64>,
3898    #[serde(skip_serializing_if = "Option::is_none")]
3899    pub upstream_ref: Option<String>,
3900    #[serde(skip_serializing_if = "Option::is_none")]
3901    pub upstream_slug: Option<String>,
3902    #[serde(skip_serializing_if = "Option::is_none")]
3903    pub ahead: Option<i64>,
3904}
3905
3906/// HandlerUpdateLabelForm 模型
3907#[derive(Debug, Clone, Serialize, Deserialize)]
3908pub struct HandlerUpdateLabelForm {
3909    #[serde(skip_serializing_if = "Option::is_none")]
3910    pub description: Option<String>,
3911    #[serde(skip_serializing_if = "Option::is_none")]
3912    pub color: Option<String>,
3913    #[serde(skip_serializing_if = "Option::is_none")]
3914    pub new_name: Option<String>,
3915}
3916
3917/// ChartMetadata 模型
3918#[derive(Debug, Clone, Serialize, Deserialize)]
3919pub struct ChartMetadata {
3920    #[serde(skip_serializing_if = "Option::is_none")]
3921    pub dependencies: Option<Vec<serde_json::Value>>,
3922    #[serde(skip_serializing_if = "Option::is_none")]
3923    pub sources: Option<Vec<String>>,
3924    #[serde(skip_serializing_if = "Option::is_none")]
3925    pub annotations: Option<serde_json::Value>,
3926    #[serde(skip_serializing_if = "Option::is_none")]
3927    pub description: Option<String>,
3928    #[serde(skip_serializing_if = "Option::is_none")]
3929    pub maintainers: Option<Vec<serde_json::Value>>,
3930    #[serde(skip_serializing_if = "Option::is_none")]
3931    pub tags: Option<String>,
3932    #[serde(skip_serializing_if = "Option::is_none")]
3933    pub app_version: Option<String>,
3934    #[serde(skip_serializing_if = "Option::is_none")]
3935    pub deprecated: Option<bool>,
3936    #[serde(skip_serializing_if = "Option::is_none")]
3937    pub home: Option<String>,
3938    #[serde(skip_serializing_if = "Option::is_none")]
3939    pub version: Option<String>,
3940    #[serde(skip_serializing_if = "Option::is_none")]
3941    pub api_version: Option<String>,
3942    #[serde(skip_serializing_if = "Option::is_none")]
3943    pub keywords: Option<Vec<String>>,
3944    #[serde(skip_serializing_if = "Option::is_none")]
3945    pub icon: Option<String>,
3946    #[serde(skip_serializing_if = "Option::is_none")]
3947    pub kube_version: Option<String>,
3948    #[serde(skip_serializing_if = "Option::is_none")]
3949    pub condition: Option<String>,
3950    #[serde(skip_serializing_if = "Option::is_none")]
3951    pub r#type: Option<String>,
3952    #[serde(skip_serializing_if = "Option::is_none")]
3953    pub name: Option<String>,
3954}
3955
3956/// ApiPull 模型
3957#[derive(Debug, Clone, Serialize, Deserialize)]
3958pub struct ApiPull {
3959    #[serde(skip_serializing_if = "Option::is_none")]
3960    pub is_wip: Option<bool>,
3961    #[serde(skip_serializing_if = "Option::is_none")]
3962    pub body: Option<String>,
3963    #[serde(skip_serializing_if = "Option::is_none")]
3964    pub blocked_on: Option<String>,
3965    #[serde(skip_serializing_if = "Option::is_none")]
3966    pub head: Option<serde_json::Value>,
3967    #[serde(skip_serializing_if = "Option::is_none")]
3968    pub number: Option<String>,
3969    #[serde(skip_serializing_if = "Option::is_none")]
3970    pub state: Option<String>,
3971    #[serde(skip_serializing_if = "Option::is_none")]
3972    pub title: Option<String>,
3973    #[serde(skip_serializing_if = "Option::is_none")]
3974    pub merged_by: Option<serde_json::Value>,
3975    #[serde(skip_serializing_if = "Option::is_none")]
3976    pub base: Option<serde_json::Value>,
3977}
3978
3979/// DtoGetMineCreateDetailRsp 模型
3980#[derive(Debug, Clone, Serialize, Deserialize)]
3981pub struct DtoGetMineCreateDetailRsp {
3982    #[serde(skip_serializing_if = "Option::is_none")]
3983    pub issue_datas: Option<Vec<serde_json::Value>>,
3984    #[serde(skip_serializing_if = "Option::is_none")]
3985    pub pull_request_datas: Option<Vec<serde_json::Value>>,
3986    #[serde(skip_serializing_if = "Option::is_none")]
3987    pub mine_type: Option<String>,
3988}
3989
3990/// WebBlameRange 模型
3991#[derive(Debug, Clone, Serialize, Deserialize)]
3992pub struct WebBlameRange {
3993    #[serde(skip_serializing_if = "Option::is_none")]
3994    pub commit: Option<serde_json::Value>,
3995    #[serde(skip_serializing_if = "Option::is_none")]
3996    pub starting_line: Option<i64>,
3997    #[serde(skip_serializing_if = "Option::is_none")]
3998    pub age: Option<i64>,
3999    #[serde(skip_serializing_if = "Option::is_none")]
4000    pub ending_line: Option<i64>,
4001}
4002
4003/// ApiPostPullAssigneesForm 模型
4004#[derive(Debug, Clone, Serialize, Deserialize)]
4005pub struct ApiPostPullAssigneesForm {
4006    #[serde(skip_serializing_if = "Option::is_none")]
4007    pub assignees: Option<Vec<String>>,
4008}
4009
4010/// DtoKnowledgeBaseInfoRes 模型
4011#[derive(Debug, Clone, Serialize, Deserialize)]
4012pub struct DtoKnowledgeBaseInfoRes {
4013    #[serde(skip_serializing_if = "Option::is_none")]
4014    pub last_commit_sha: Option<String>,
4015    #[serde(skip_serializing_if = "Option::is_none")]
4016    pub id: Option<i64>,
4017    #[serde(skip_serializing_if = "Option::is_none")]
4018    pub exclude: Option<String>,
4019    #[serde(skip_serializing_if = "Option::is_none")]
4020    pub embedding_model: Option<serde_json::Value>,
4021    #[serde(skip_serializing_if = "Option::is_none")]
4022    pub include: Option<String>,
4023    #[serde(skip_serializing_if = "Option::is_none")]
4024    pub statistics: Option<serde_json::Value>,
4025}
4026
4027/// OpenapiPutTagAnnotationsForm 模型
4028#[derive(Debug, Clone, Serialize, Deserialize)]
4029pub struct OpenapiPutTagAnnotationsForm {
4030    #[serde(skip_serializing_if = "Option::is_none")]
4031    pub annotations: Option<Vec<serde_json::Value>>,
4032}
4033
4034/// WebBlobContent 模型
4035#[derive(Debug, Clone, Serialize, Deserialize)]
4036pub struct WebBlobContent {
4037    #[serde(skip_serializing_if = "Option::is_none")]
4038    pub file_size_limit: Option<i64>,
4039    #[serde(skip_serializing_if = "Option::is_none")]
4040    pub file_stat: Option<serde_json::Value>,
4041    #[serde(skip_serializing_if = "Option::is_none")]
4042    pub file_size: Option<i64>,
4043    #[serde(skip_serializing_if = "Option::is_none")]
4044    pub encoding: Option<String>,
4045    #[serde(skip_serializing_if = "Option::is_none")]
4046    pub content: Option<String>,
4047    #[serde(skip_serializing_if = "Option::is_none")]
4048    pub file_size_exceeded: Option<bool>,
4049}
4050
4051/// WebPullRequestState 模型
4052#[derive(Debug, Clone, Serialize, Deserialize)]
4053pub struct WebPullRequestState {
4054    #[serde(skip_serializing_if = "Option::is_none")]
4055    pub commit_statuses: Option<serde_json::Value>,
4056    #[serde(skip_serializing_if = "Option::is_none")]
4057    pub mergeable_state: Option<String>,
4058    #[serde(skip_serializing_if = "Option::is_none")]
4059    pub merge_style: Option<String>,
4060    #[serde(skip_serializing_if = "Option::is_none")]
4061    pub reviews: Option<serde_json::Value>,
4062    #[serde(skip_serializing_if = "Option::is_none")]
4063    pub number: Option<String>,
4064    #[serde(skip_serializing_if = "Option::is_none")]
4065    pub state: Option<String>,
4066    #[serde(skip_serializing_if = "Option::is_none")]
4067    pub status_check_commit_sha: Option<String>,
4068    #[serde(skip_serializing_if = "Option::is_none")]
4069    pub settings: Option<serde_json::Value>,
4070}
4071
4072/// DtoMissionViewType 模型
4073#[derive(Debug, Clone, Serialize, Deserialize)]
4074pub struct DtoMissionViewType {
4075}
4076
4077/// HandlerUpdateIssueForm 模型
4078#[derive(Debug, Clone, Serialize, Deserialize)]
4079pub struct HandlerUpdateIssueForm {
4080    #[serde(skip_serializing_if = "Option::is_none")]
4081    pub state_reason: Option<String>,
4082    #[serde(skip_serializing_if = "Option::is_none")]
4083    pub end_date: Option<String>,
4084    #[serde(skip_serializing_if = "Option::is_none")]
4085    pub start_date: Option<String>,
4086    #[serde(skip_serializing_if = "Option::is_none")]
4087    pub title: Option<String>,
4088    #[serde(skip_serializing_if = "Option::is_none")]
4089    pub priority: Option<String>,
4090    #[serde(skip_serializing_if = "Option::is_none")]
4091    pub state: Option<String>,
4092    #[serde(skip_serializing_if = "Option::is_none")]
4093    pub body: Option<String>,
4094}
4095
4096/// WebIssuePin 模型
4097#[derive(Debug, Clone, Serialize, Deserialize)]
4098pub struct WebIssuePin {
4099    #[serde(skip_serializing_if = "Option::is_none")]
4100    pub pin_count: Option<i64>,
4101    #[serde(skip_serializing_if = "Option::is_none")]
4102    pub pinned: Option<bool>,
4103    #[serde(skip_serializing_if = "Option::is_none")]
4104    pub pin_limit: Option<i64>,
4105}
4106
4107/// DtoManifest 模型
4108#[derive(Debug, Clone, Serialize, Deserialize)]
4109pub struct DtoManifest {
4110    #[serde(skip_serializing_if = "Option::is_none")]
4111    pub metadata: Option<serde_json::Value>,
4112    #[serde(skip_serializing_if = "Option::is_none")]
4113    pub r#type: Option<String>,
4114}
4115
4116/// DtoUserEmailPayload 模型
4117#[derive(Debug, Clone, Serialize, Deserialize)]
4118pub struct DtoUserEmailPayload {
4119    #[serde(skip_serializing_if = "Option::is_none")]
4120    pub email: Option<String>,
4121}
4122
4123/// DtoCommonRegistryPolicy 模型
4124#[derive(Debug, Clone, Serialize, Deserialize)]
4125pub struct DtoCommonRegistryPolicy {
4126    #[serde(skip_serializing_if = "Option::is_none")]
4127    pub version_policy: Option<serde_json::Value>,
4128    #[serde(skip_serializing_if = "Option::is_none")]
4129    pub clean_policy_detail: Option<serde_json::Value>,
4130    #[serde(skip_serializing_if = "Option::is_none")]
4131    pub overwrite_policy: Option<serde_json::Value>,
4132}
4133
4134/// IdentityMpPhoneReq 模型
4135#[derive(Debug, Clone, Serialize, Deserialize)]
4136pub struct IdentityMpPhoneReq {
4137    #[serde(skip_serializing_if = "Option::is_none")]
4138    pub code: Option<String>,
4139}
4140
4141/// WebOverviewBranches 模型
4142#[derive(Debug, Clone, Serialize, Deserialize)]
4143pub struct WebOverviewBranches {
4144    #[serde(skip_serializing_if = "Option::is_none")]
4145    pub has_more_active_branch: Option<bool>,
4146    #[serde(skip_serializing_if = "Option::is_none")]
4147    pub default_branch: Option<serde_json::Value>,
4148    #[serde(skip_serializing_if = "Option::is_none")]
4149    pub stale_branches: Option<Vec<serde_json::Value>>,
4150    #[serde(skip_serializing_if = "Option::is_none")]
4151    pub active_branches: Option<Vec<serde_json::Value>>,
4152    #[serde(skip_serializing_if = "Option::is_none")]
4153    pub has_more_yours_branch: Option<bool>,
4154    #[serde(skip_serializing_if = "Option::is_none")]
4155    pub has_more_stale_branch: Option<bool>,
4156    #[serde(skip_serializing_if = "Option::is_none")]
4157    pub initialized: Option<bool>,
4158    #[serde(skip_serializing_if = "Option::is_none")]
4159    pub yours_branches: Option<Vec<serde_json::Value>>,
4160}
4161
4162/// WebPermission 模型
4163#[derive(Debug, Clone, Serialize, Deserialize)]
4164pub struct WebPermission {
4165    #[serde(skip_serializing_if = "Option::is_none")]
4166    pub allow_push_git_tag: Option<bool>,
4167}
4168
4169/// OrganizationsDomainsVerificationResponse 模型
4170#[derive(Debug, Clone, Serialize, Deserialize)]
4171pub struct OrganizationsDomainsVerificationResponse {
4172    #[serde(skip_serializing_if = "Option::is_none")]
4173    pub domains: Option<Vec<String>>,
4174    #[serde(skip_serializing_if = "Option::is_none")]
4175    pub result: Option<bool>,
4176    #[serde(skip_serializing_if = "Option::is_none")]
4177    pub txt_match: Option<bool>,
4178    #[serde(skip_serializing_if = "Option::is_none")]
4179    pub message: Option<String>,
4180    #[serde(skip_serializing_if = "Option::is_none")]
4181    pub txt_value: Option<String>,
4182    #[serde(skip_serializing_if = "Option::is_none")]
4183    pub valid: Option<bool>,
4184    #[serde(skip_serializing_if = "Option::is_none")]
4185    pub domains_by: Option<Vec<String>>,
4186}
4187
4188/// WebWeek 模型
4189#[derive(Debug, Clone, Serialize, Deserialize)]
4190pub struct WebWeek {
4191    #[serde(skip_serializing_if = "Option::is_none")]
4192    pub w: Option<i64>,
4193    #[serde(skip_serializing_if = "Option::is_none")]
4194    pub d: Option<i64>,
4195    #[serde(skip_serializing_if = "Option::is_none")]
4196    pub c: Option<i64>,
4197    #[serde(skip_serializing_if = "Option::is_none")]
4198    pub a: Option<i64>,
4199}
4200
4201/// WebapiPostReleaseForm 模型
4202#[derive(Debug, Clone, Serialize, Deserialize)]
4203pub struct WebapiPostReleaseForm {
4204    #[serde(skip_serializing_if = "Option::is_none")]
4205    pub is_prerelease: Option<bool>,
4206    #[serde(skip_serializing_if = "Option::is_none")]
4207    pub is_draft: Option<bool>,
4208    #[serde(skip_serializing_if = "Option::is_none")]
4209    pub title: Option<String>,
4210    #[serde(skip_serializing_if = "Option::is_none")]
4211    pub body: Option<String>,
4212    #[serde(skip_serializing_if = "Option::is_none")]
4213    pub make_latest: Option<String>,
4214    #[serde(skip_serializing_if = "Option::is_none")]
4215    pub tag_name: Option<String>,
4216    #[serde(skip_serializing_if = "Option::is_none")]
4217    pub target_commitish: Option<String>,
4218}
4219
4220/// WebCommitObjectTree 模型
4221#[derive(Debug, Clone, Serialize, Deserialize)]
4222pub struct WebCommitObjectTree {
4223    #[serde(skip_serializing_if = "Option::is_none")]
4224    pub sha: Option<String>,
4225}
4226
4227/// WebapiMergePullRequestForm 模型
4228#[derive(Debug, Clone, Serialize, Deserialize)]
4229pub struct WebapiMergePullRequestForm {
4230    #[serde(skip_serializing_if = "Option::is_none")]
4231    pub commit_message: Option<String>,
4232    #[serde(skip_serializing_if = "Option::is_none")]
4233    pub merge_style: Option<String>,
4234    #[serde(skip_serializing_if = "Option::is_none")]
4235    pub force: Option<bool>,
4236}
4237
4238/// DtoDependency 模型
4239#[derive(Debug, Clone, Serialize, Deserialize)]
4240pub struct DtoDependency {
4241    #[serde(skip_serializing_if = "Option::is_none")]
4242    pub name: Option<String>,
4243    #[serde(skip_serializing_if = "Option::is_none")]
4244    pub framework_name: Option<String>,
4245    #[serde(skip_serializing_if = "Option::is_none")]
4246    pub artifact: Option<String>,
4247}
4248
4249/// HandlerUpdateIssueSubForm 模型
4250#[derive(Debug, Clone, Serialize, Deserialize)]
4251pub struct HandlerUpdateIssueSubForm {
4252    #[serde(skip_serializing_if = "Option::is_none")]
4253    pub sub_event: Option<Vec<String>>,
4254    #[serde(skip_serializing_if = "Option::is_none")]
4255    pub sub_model: Option<String>,
4256}
4257
4258/// DtoChartTag 模型
4259#[derive(Debug, Clone, Serialize, Deserialize)]
4260pub struct DtoChartTag {
4261    #[serde(skip_serializing_if = "Option::is_none")]
4262    pub last_pusher: Option<serde_json::Value>,
4263    #[serde(skip_serializing_if = "Option::is_none")]
4264    pub metadata: Option<serde_json::Value>,
4265    #[serde(skip_serializing_if = "Option::is_none")]
4266    pub address: Option<String>,
4267    #[serde(skip_serializing_if = "Option::is_none")]
4268    pub digest: Option<String>,
4269    #[serde(skip_serializing_if = "Option::is_none")]
4270    pub name: Option<String>,
4271    #[serde(skip_serializing_if = "Option::is_none")]
4272    pub pull_count: Option<i64>,
4273    #[serde(skip_serializing_if = "Option::is_none")]
4274    pub size: Option<i64>,
4275    #[serde(skip_serializing_if = "Option::is_none")]
4276    pub recent_pull_count: Option<i64>,
4277    #[serde(skip_serializing_if = "Option::is_none")]
4278    pub is_deprecated: Option<bool>,
4279}
4280
4281/// ApiMergePullRequest 模型
4282#[derive(Debug, Clone, Serialize, Deserialize)]
4283pub struct ApiMergePullRequest {
4284    #[serde(skip_serializing_if = "Option::is_none")]
4285    pub commit_title: Option<String>,
4286    #[serde(skip_serializing_if = "Option::is_none")]
4287    pub commit_message: Option<String>,
4288    #[serde(skip_serializing_if = "Option::is_none")]
4289    pub merge_style: Option<String>,
4290}
4291
4292/// DtoWorkspacePageInfo 模型
4293#[derive(Debug, Clone, Serialize, Deserialize)]
4294pub struct DtoWorkspacePageInfo {
4295    #[serde(skip_serializing_if = "Option::is_none")]
4296    pub page_size: Option<i64>,
4297    #[serde(skip_serializing_if = "Option::is_none")]
4298    pub page: Option<i64>,
4299}
4300
4301/// ApiRepoInfo 模型
4302#[derive(Debug, Clone, Serialize, Deserialize)]
4303pub struct ApiRepoInfo {
4304    #[serde(skip_serializing_if = "Option::is_none")]
4305    pub web_url: Option<String>,
4306    #[serde(skip_serializing_if = "Option::is_none")]
4307    pub id: Option<String>,
4308    #[serde(skip_serializing_if = "Option::is_none")]
4309    pub name: Option<String>,
4310    #[serde(skip_serializing_if = "Option::is_none")]
4311    pub path: Option<String>,
4312}
4313
4314/// WebapiPutPullRequestLabelsForm 模型
4315#[derive(Debug, Clone, Serialize, Deserialize)]
4316pub struct WebapiPutPullRequestLabelsForm {
4317    #[serde(skip_serializing_if = "Option::is_none")]
4318    pub labels: Option<Vec<String>>,
4319}
4320
4321/// DtoRepoVolume 模型
4322#[derive(Debug, Clone, Serialize, Deserialize)]
4323pub struct DtoRepoVolume {
4324    #[serde(skip_serializing_if = "Option::is_none")]
4325    pub slug: Option<String>,
4326    #[serde(skip_serializing_if = "Option::is_none")]
4327    pub is_deleted: Option<bool>,
4328    #[serde(skip_serializing_if = "Option::is_none")]
4329    pub resource_type: Option<serde_json::Value>,
4330    #[serde(skip_serializing_if = "Option::is_none")]
4331    pub volume: Option<String>,
4332    #[serde(skip_serializing_if = "Option::is_none")]
4333    pub resource_id: Option<String>,
4334}
4335
4336/// ConstantChargeResType 模型
4337#[derive(Debug, Clone, Serialize, Deserialize)]
4338pub struct ConstantChargeResType {
4339}
4340
4341/// DtoEmbeddingModels 模型
4342#[derive(Debug, Clone, Serialize, Deserialize)]
4343pub struct DtoEmbeddingModels {
4344    #[serde(skip_serializing_if = "Option::is_none")]
4345    pub name: Option<String>,
4346    #[serde(skip_serializing_if = "Option::is_none")]
4347    pub dimension: Option<i64>,
4348}
4349
4350/// DtoDocumentStatistics 模型
4351#[derive(Debug, Clone, Serialize, Deserialize)]
4352pub struct DtoDocumentStatistics {
4353    #[serde(skip_serializing_if = "Option::is_none")]
4354    pub size: Option<i64>,
4355    #[serde(skip_serializing_if = "Option::is_none")]
4356    pub count: Option<i64>,
4357}
4358
4359/// HandlerPullRequestReactionForm 模型
4360#[derive(Debug, Clone, Serialize, Deserialize)]
4361pub struct HandlerPullRequestReactionForm {
4362    #[serde(skip_serializing_if = "Option::is_none")]
4363    pub scene: Option<String>,
4364    #[serde(skip_serializing_if = "Option::is_none")]
4365    pub reaction: Option<String>,
4366}
4367
4368/// ApiPullReviewCommentCreationForm 模型
4369#[derive(Debug, Clone, Serialize, Deserialize)]
4370pub struct ApiPullReviewCommentCreationForm {
4371    #[serde(skip_serializing_if = "Option::is_none")]
4372    pub start_line: Option<i64>,
4373    #[serde(skip_serializing_if = "Option::is_none")]
4374    pub start_side: Option<String>,
4375    #[serde(skip_serializing_if = "Option::is_none")]
4376    pub subject_type: Option<String>,
4377    #[serde(skip_serializing_if = "Option::is_none")]
4378    pub end_side: Option<String>,
4379    #[serde(skip_serializing_if = "Option::is_none")]
4380    pub body: Option<String>,
4381    #[serde(skip_serializing_if = "Option::is_none")]
4382    pub end_line: Option<i64>,
4383    #[serde(skip_serializing_if = "Option::is_none")]
4384    pub path: Option<String>,
4385}
4386
4387/// WebMissionField 模型
4388#[derive(Debug, Clone, Serialize, Deserialize)]
4389pub struct WebMissionField {
4390    #[serde(skip_serializing_if = "Option::is_none")]
4391    pub operators: Option<Vec<serde_json::Value>>,
4392    #[serde(skip_serializing_if = "Option::is_none")]
4393    pub name: Option<String>,
4394    #[serde(skip_serializing_if = "Option::is_none")]
4395    pub value: Option<Vec<serde_json::Value>>,
4396    #[serde(skip_serializing_if = "Option::is_none")]
4397    pub interaction_type: Option<serde_json::Value>,
4398}
4399
4400/// DtoActivityTotal 模型
4401#[derive(Debug, Clone, Serialize, Deserialize)]
4402pub struct DtoActivityTotal {
4403    #[serde(skip_serializing_if = "Option::is_none")]
4404    pub users: Option<Vec<String>>,
4405    #[serde(skip_serializing_if = "Option::is_none")]
4406    pub activity_type: Option<serde_json::Value>,
4407    #[serde(skip_serializing_if = "Option::is_none")]
4408    pub unread: Option<bool>,
4409}
4410
4411/// WebPullRequestResource 模型
4412#[derive(Debug, Clone, Serialize, Deserialize)]
4413pub struct WebPullRequestResource {
4414    #[serde(skip_serializing_if = "Option::is_none")]
4415    pub author: Option<serde_json::Value>,
4416    #[serde(skip_serializing_if = "Option::is_none")]
4417    pub merge_style: Option<String>,
4418    #[serde(skip_serializing_if = "Option::is_none")]
4419    pub blocked_on: Option<String>,
4420    #[serde(skip_serializing_if = "Option::is_none")]
4421    pub updated_at: Option<String>,
4422    #[serde(skip_serializing_if = "Option::is_none")]
4423    pub status_check_commit_sha: Option<String>,
4424    #[serde(skip_serializing_if = "Option::is_none")]
4425    pub file_count: Option<i64>,
4426    #[serde(skip_serializing_if = "Option::is_none")]
4427    pub assignees: Option<Vec<serde_json::Value>>,
4428    #[serde(skip_serializing_if = "Option::is_none")]
4429    pub head_repo_ref: Option<String>,
4430    #[serde(skip_serializing_if = "Option::is_none")]
4431    pub repo_slug: Option<String>,
4432    #[serde(skip_serializing_if = "Option::is_none")]
4433    pub customer_fields: Option<Vec<serde_json::Value>>,
4434    #[serde(skip_serializing_if = "Option::is_none")]
4435    pub created_at: Option<String>,
4436    #[serde(skip_serializing_if = "Option::is_none")]
4437    pub number: Option<String>,
4438    #[serde(skip_serializing_if = "Option::is_none")]
4439    pub is_ready_for_merge: Option<bool>,
4440    #[serde(skip_serializing_if = "Option::is_none")]
4441    pub comment_count: Option<i64>,
4442    #[serde(skip_serializing_if = "Option::is_none")]
4443    pub commit_count: Option<i64>,
4444    #[serde(skip_serializing_if = "Option::is_none")]
4445    pub id: Option<String>,
4446    #[serde(skip_serializing_if = "Option::is_none")]
4447    pub is_merged: Option<bool>,
4448    #[serde(skip_serializing_if = "Option::is_none")]
4449    pub labels: Option<Vec<serde_json::Value>>,
4450    #[serde(skip_serializing_if = "Option::is_none")]
4451    pub reviewers: Option<Vec<serde_json::Value>>,
4452    #[serde(skip_serializing_if = "Option::is_none")]
4453    pub mergeable_state: Option<String>,
4454    #[serde(skip_serializing_if = "Option::is_none")]
4455    pub state: Option<String>,
4456    #[serde(skip_serializing_if = "Option::is_none")]
4457    pub title: Option<String>,
4458    #[serde(skip_serializing_if = "Option::is_none")]
4459    pub last_acted_at: Option<String>,
4460    #[serde(skip_serializing_if = "Option::is_none")]
4461    pub base_repo_ref: Option<String>,
4462}
4463
4464/// OpenapiPutTagAnnotation 模型
4465#[derive(Debug, Clone, Serialize, Deserialize)]
4466pub struct OpenapiPutTagAnnotation {
4467    #[serde(skip_serializing_if = "Option::is_none")]
4468    pub key: Option<String>,
4469    #[serde(skip_serializing_if = "Option::is_none")]
4470    pub value: Option<String>,
4471}
4472
4473/// WebBranchProtection 模型
4474#[derive(Debug, Clone, Serialize, Deserialize)]
4475pub struct WebBranchProtection {
4476    #[serde(skip_serializing_if = "Option::is_none")]
4477    pub allow_master_force_pushes: Option<bool>,
4478    #[serde(skip_serializing_if = "Option::is_none")]
4479    pub allow_force_pushes: Option<bool>,
4480    #[serde(skip_serializing_if = "Option::is_none")]
4481    pub allow_master_creation: Option<bool>,
4482    #[serde(skip_serializing_if = "Option::is_none")]
4483    pub allow_master_deletions: Option<bool>,
4484    #[serde(skip_serializing_if = "Option::is_none")]
4485    pub allow_master_manual_merge: Option<bool>,
4486    #[serde(skip_serializing_if = "Option::is_none")]
4487    pub allow_master_pushes: Option<bool>,
4488    #[serde(skip_serializing_if = "Option::is_none")]
4489    pub required_approved_review_count: Option<i64>,
4490    #[serde(skip_serializing_if = "Option::is_none")]
4491    pub allow_master_merge_without_status_checks: Option<bool>,
4492    #[serde(skip_serializing_if = "Option::is_none")]
4493    pub allow_pushes: Option<bool>,
4494    #[serde(skip_serializing_if = "Option::is_none")]
4495    pub allow_master_merge_without_review: Option<bool>,
4496    #[serde(skip_serializing_if = "Option::is_none")]
4497    pub required_commit_signatures: Option<bool>,
4498    #[serde(skip_serializing_if = "Option::is_none")]
4499    pub required_approved_review_ratio: Option<i64>,
4500    #[serde(skip_serializing_if = "Option::is_none")]
4501    pub allow_deletions: Option<bool>,
4502    #[serde(skip_serializing_if = "Option::is_none")]
4503    pub required_linear_history: Option<bool>,
4504    #[serde(skip_serializing_if = "Option::is_none")]
4505    pub required_master_approve: Option<bool>,
4506    #[serde(skip_serializing_if = "Option::is_none")]
4507    pub required_must_push_via_pull_request: Option<bool>,
4508    #[serde(skip_serializing_if = "Option::is_none")]
4509    pub allow_assignee_manual_merge: Option<bool>,
4510    #[serde(skip_serializing_if = "Option::is_none")]
4511    pub allow_creation: Option<bool>,
4512    #[serde(skip_serializing_if = "Option::is_none")]
4513    pub id: Option<String>,
4514    #[serde(skip_serializing_if = "Option::is_none")]
4515    pub match_count: Option<i64>,
4516    #[serde(skip_serializing_if = "Option::is_none")]
4517    pub required_must_auto_merge: Option<bool>,
4518    #[serde(skip_serializing_if = "Option::is_none")]
4519    pub required_pull_request_reviews: Option<bool>,
4520    #[serde(skip_serializing_if = "Option::is_none")]
4521    pub rule: Option<String>,
4522    #[serde(skip_serializing_if = "Option::is_none")]
4523    pub required_status_checks: Option<bool>,
4524}
4525
4526/// WebDiffEntry 模型
4527#[derive(Debug, Clone, Serialize, Deserialize)]
4528pub struct WebDiffEntry {
4529    #[serde(skip_serializing_if = "Option::is_none")]
4530    pub path: Option<String>,
4531    #[serde(skip_serializing_if = "Option::is_none")]
4532    pub file_index: Option<i64>,
4533    #[serde(skip_serializing_if = "Option::is_none")]
4534    pub insertions: Option<i64>,
4535    #[serde(skip_serializing_if = "Option::is_none")]
4536    pub is_bin: Option<bool>,
4537    #[serde(skip_serializing_if = "Option::is_none")]
4538    pub deletions: Option<i64>,
4539    #[serde(skip_serializing_if = "Option::is_none")]
4540    pub old_path: Option<String>,
4541    #[serde(skip_serializing_if = "Option::is_none")]
4542    pub old_file: Option<serde_json::Value>,
4543    #[serde(skip_serializing_if = "Option::is_none")]
4544    pub change_type: Option<String>,
4545    #[serde(skip_serializing_if = "Option::is_none")]
4546    pub new_file: Option<serde_json::Value>,
4547}
4548
4549/// WebFieldInfoStatus 模型
4550#[derive(Debug, Clone, Serialize, Deserialize)]
4551pub struct WebFieldInfoStatus {
4552    #[serde(skip_serializing_if = "Option::is_none")]
4553    pub options: Option<serde_json::Value>,
4554    #[serde(skip_serializing_if = "Option::is_none")]
4555    pub name: Option<String>,
4556    #[serde(skip_serializing_if = "Option::is_none")]
4557    pub html_type: Option<String>,
4558    #[serde(skip_serializing_if = "Option::is_none")]
4559    pub label: Option<String>,
4560}
4561
4562/// WebIssueType 模型
4563#[derive(Debug, Clone, Serialize, Deserialize)]
4564pub struct WebIssueType {
4565    #[serde(skip_serializing_if = "Option::is_none")]
4566    pub name: Option<String>,
4567    #[serde(skip_serializing_if = "Option::is_none")]
4568    pub color: Option<String>,
4569}
4570
4571/// DtoRegistry4User 模型
4572#[derive(Debug, Clone, Serialize, Deserialize)]
4573pub struct DtoRegistry4User {
4574    #[serde(skip_serializing_if = "Option::is_none")]
4575    pub artifact_policy: Option<String>,
4576    #[serde(skip_serializing_if = "Option::is_none")]
4577    pub overwrite_policy: Option<String>,
4578    #[serde(skip_serializing_if = "Option::is_none")]
4579    pub updated_at: Option<String>,
4580    #[serde(skip_serializing_if = "Option::is_none")]
4581    pub visibility_level: Option<serde_json::Value>,
4582    #[serde(skip_serializing_if = "Option::is_none")]
4583    pub name: Option<String>,
4584    #[serde(skip_serializing_if = "Option::is_none")]
4585    pub freeze: Option<bool>,
4586    #[serde(skip_serializing_if = "Option::is_none")]
4587    pub pkg_count: Option<i64>,
4588    #[serde(skip_serializing_if = "Option::is_none")]
4589    pub star_time: Option<String>,
4590    #[serde(skip_serializing_if = "Option::is_none")]
4591    pub last_push_user: Option<serde_json::Value>,
4592    #[serde(skip_serializing_if = "Option::is_none")]
4593    pub access: Option<serde_json::Value>,
4594    #[serde(skip_serializing_if = "Option::is_none")]
4595    pub id: Option<String>,
4596    #[serde(skip_serializing_if = "Option::is_none")]
4597    pub pinned_time: Option<String>,
4598    #[serde(skip_serializing_if = "Option::is_none")]
4599    pub used_size: Option<i64>,
4600    #[serde(skip_serializing_if = "Option::is_none")]
4601    pub stared: Option<bool>,
4602    #[serde(skip_serializing_if = "Option::is_none")]
4603    pub created_at: Option<String>,
4604    #[serde(skip_serializing_if = "Option::is_none")]
4605    pub description: Option<String>,
4606    #[serde(skip_serializing_if = "Option::is_none")]
4607    pub path: Option<String>,
4608    #[serde(skip_serializing_if = "Option::is_none")]
4609    pub kind: Option<String>,
4610    #[serde(skip_serializing_if = "Option::is_none")]
4611    pub pinned: Option<bool>,
4612    #[serde(skip_serializing_if = "Option::is_none")]
4613    pub last_push_time: Option<String>,
4614}
4615
4616/// IdentityState 模型
4617#[derive(Debug, Clone, Serialize, Deserialize)]
4618pub struct IdentityState {
4619    #[serde(skip_serializing_if = "Option::is_none")]
4620    pub nick_name: Option<String>,
4621    #[serde(skip_serializing_if = "Option::is_none")]
4622    pub ok: Option<bool>,
4623}
4624
4625/// GitWoaComCnbMonorepoPlatformCommonDbDtoStatus 模型
4626#[derive(Debug, Clone, Serialize, Deserialize)]
4627pub struct GitWoaComCnbMonorepoPlatformCommonDbDtoStatus {
4628    #[serde(skip_serializing_if = "Option::is_none")]
4629    pub state: Option<String>,
4630    #[serde(skip_serializing_if = "Option::is_none")]
4631    pub target_url: Option<String>,
4632    #[serde(skip_serializing_if = "Option::is_none")]
4633    pub updated_at: Option<String>,
4634    #[serde(skip_serializing_if = "Option::is_none")]
4635    pub context: Option<String>,
4636    #[serde(skip_serializing_if = "Option::is_none")]
4637    pub created_at: Option<String>,
4638    #[serde(skip_serializing_if = "Option::is_none")]
4639    pub description: Option<String>,
4640}
4641
4642/// WebDiffFile 模型
4643#[derive(Debug, Clone, Serialize, Deserialize)]
4644pub struct WebDiffFile {
4645    #[serde(skip_serializing_if = "Option::is_none")]
4646    pub deletions: Option<i64>,
4647    #[serde(skip_serializing_if = "Option::is_none")]
4648    pub is_bin: Option<bool>,
4649    #[serde(skip_serializing_if = "Option::is_none")]
4650    pub change_type: Option<String>,
4651    #[serde(skip_serializing_if = "Option::is_none")]
4652    pub new_file: Option<serde_json::Value>,
4653    #[serde(skip_serializing_if = "Option::is_none")]
4654    pub old_file: Option<serde_json::Value>,
4655    #[serde(skip_serializing_if = "Option::is_none")]
4656    pub path: Option<String>,
4657    #[serde(skip_serializing_if = "Option::is_none")]
4658    pub file_index: Option<i64>,
4659    #[serde(skip_serializing_if = "Option::is_none")]
4660    pub sections: Option<Vec<serde_json::Value>>,
4661    #[serde(skip_serializing_if = "Option::is_none")]
4662    pub insertions: Option<i64>,
4663    #[serde(skip_serializing_if = "Option::is_none")]
4664    pub old_path: Option<String>,
4665}
4666
4667/// WebTagObjectVerification 模型
4668#[derive(Debug, Clone, Serialize, Deserialize)]
4669pub struct WebTagObjectVerification {
4670    #[serde(skip_serializing_if = "Option::is_none")]
4671    pub signer: Option<serde_json::Value>,
4672    #[serde(skip_serializing_if = "Option::is_none")]
4673    pub key_expired: Option<bool>,
4674    #[serde(skip_serializing_if = "Option::is_none")]
4675    pub signed_by_cnb: Option<bool>,
4676    #[serde(skip_serializing_if = "Option::is_none")]
4677    pub verified_at: Option<String>,
4678    #[serde(skip_serializing_if = "Option::is_none")]
4679    pub reason: Option<String>,
4680    #[serde(skip_serializing_if = "Option::is_none")]
4681    pub key_id: Option<String>,
4682    #[serde(skip_serializing_if = "Option::is_none")]
4683    pub verified: Option<bool>,
4684    #[serde(skip_serializing_if = "Option::is_none")]
4685    pub signature_type: Option<String>,
4686    #[serde(skip_serializing_if = "Option::is_none")]
4687    pub has_signature: Option<bool>,
4688}
4689
4690/// DtoListCodeVulnerabilityResponse 模型
4691#[derive(Debug, Clone, Serialize, Deserialize)]
4692pub struct DtoListCodeVulnerabilityResponse {
4693    #[serde(skip_serializing_if = "Option::is_none")]
4694    pub created_at: Option<String>,
4695    #[serde(skip_serializing_if = "Option::is_none")]
4696    pub purl_namespace: Option<String>,
4697    #[serde(skip_serializing_if = "Option::is_none")]
4698    pub vul_tags: Option<String>,
4699    #[serde(skip_serializing_if = "Option::is_none")]
4700    pub ignore_reason: Option<serde_json::Value>,
4701    #[serde(skip_serializing_if = "Option::is_none")]
4702    pub cnvd_id: Option<String>,
4703    #[serde(skip_serializing_if = "Option::is_none")]
4704    pub id: Option<String>,
4705    #[serde(skip_serializing_if = "Option::is_none")]
4706    pub scan_record_id: Option<String>,
4707    #[serde(skip_serializing_if = "Option::is_none")]
4708    pub cve_id: Option<String>,
4709    #[serde(skip_serializing_if = "Option::is_none")]
4710    pub user_name: Option<String>,
4711    #[serde(skip_serializing_if = "Option::is_none")]
4712    pub status: Option<serde_json::Value>,
4713    #[serde(skip_serializing_if = "Option::is_none")]
4714    pub description: Option<String>,
4715    #[serde(skip_serializing_if = "Option::is_none")]
4716    pub vul_type: Option<String>,
4717    #[serde(skip_serializing_if = "Option::is_none")]
4718    pub cvss_rank: Option<serde_json::Value>,
4719    #[serde(skip_serializing_if = "Option::is_none")]
4720    pub name: Option<String>,
4721    #[serde(skip_serializing_if = "Option::is_none")]
4722    pub ignore_operator: Option<String>,
4723    #[serde(skip_serializing_if = "Option::is_none")]
4724    pub is_ignore: Option<bool>,
4725    #[serde(skip_serializing_if = "Option::is_none")]
4726    pub comp_name: Option<String>,
4727    #[serde(skip_serializing_if = "Option::is_none")]
4728    pub poc_id: Option<String>,
4729    #[serde(skip_serializing_if = "Option::is_none")]
4730    pub cwe_id: Option<String>,
4731    #[serde(skip_serializing_if = "Option::is_none")]
4732    pub cnnvd_id: Option<String>,
4733}
4734
4735/// DtoActivityUsers 模型
4736#[derive(Debug, Clone, Serialize, Deserialize)]
4737pub struct DtoActivityUsers {
4738    #[serde(skip_serializing_if = "Option::is_none")]
4739    pub registry_count: Option<i64>,
4740    #[serde(skip_serializing_if = "Option::is_none")]
4741    pub verified_expire_in: Option<String>,
4742    #[serde(skip_serializing_if = "Option::is_none")]
4743    pub group_count: Option<i64>,
4744    #[serde(skip_serializing_if = "Option::is_none")]
4745    pub reward_count: Option<i64>,
4746    #[serde(skip_serializing_if = "Option::is_none")]
4747    pub follow_repo_count: Option<i64>,
4748    #[serde(skip_serializing_if = "Option::is_none")]
4749    pub locked: Option<bool>,
4750    #[serde(skip_serializing_if = "Option::is_none")]
4751    pub address: Option<String>,
4752    #[serde(skip_serializing_if = "Option::is_none")]
4753    pub gender: Option<i64>,
4754    #[serde(skip_serializing_if = "Option::is_none")]
4755    pub repo_count: Option<i64>,
4756    #[serde(skip_serializing_if = "Option::is_none")]
4757    pub wechat_mp_qrcode: Option<String>,
4758    #[serde(skip_serializing_if = "Option::is_none")]
4759    pub appreciate_status: Option<i64>,
4760    #[serde(skip_serializing_if = "Option::is_none")]
4761    pub follow_mission_count: Option<i64>,
4762    #[serde(skip_serializing_if = "Option::is_none")]
4763    pub bio: Option<String>,
4764    #[serde(skip_serializing_if = "Option::is_none")]
4765    pub stars_count: Option<i64>,
4766    #[serde(skip_serializing_if = "Option::is_none")]
4767    pub company: Option<String>,
4768    #[serde(skip_serializing_if = "Option::is_none")]
4769    pub created_at: Option<String>,
4770    #[serde(skip_serializing_if = "Option::is_none")]
4771    pub follow_count: Option<i64>,
4772    #[serde(skip_serializing_if = "Option::is_none")]
4773    pub follower_count: Option<i64>,
4774    #[serde(skip_serializing_if = "Option::is_none")]
4775    pub wechat_mp: Option<String>,
4776    #[serde(skip_serializing_if = "Option::is_none")]
4777    pub location: Option<String>,
4778    #[serde(skip_serializing_if = "Option::is_none")]
4779    pub site: Option<String>,
4780    #[serde(skip_serializing_if = "Option::is_none")]
4781    pub verified: Option<i64>,
4782    #[serde(skip_serializing_if = "Option::is_none")]
4783    pub reward_amount: Option<i64>,
4784    #[serde(skip_serializing_if = "Option::is_none")]
4785    pub r#type: Option<serde_json::Value>,
4786    #[serde(skip_serializing_if = "Option::is_none")]
4787    pub mission_count: Option<i64>,
4788    #[serde(skip_serializing_if = "Option::is_none")]
4789    pub nickname: Option<String>,
4790    #[serde(skip_serializing_if = "Option::is_none")]
4791    pub is_follow: Option<bool>,
4792    #[serde(skip_serializing_if = "Option::is_none")]
4793    pub username: Option<String>,
4794    #[serde(skip_serializing_if = "Option::is_none")]
4795    pub email: Option<String>,
4796    #[serde(skip_serializing_if = "Option::is_none")]
4797    pub id: Option<String>,
4798    #[serde(skip_serializing_if = "Option::is_none")]
4799    pub freeze: Option<bool>,
4800    #[serde(skip_serializing_if = "Option::is_none")]
4801    pub avatar: Option<String>,
4802}
4803
4804/// HandlerPullRequestReviewCommentReactionForm 模型
4805#[derive(Debug, Clone, Serialize, Deserialize)]
4806pub struct HandlerPullRequestReviewCommentReactionForm {
4807    #[serde(skip_serializing_if = "Option::is_none")]
4808    pub scene: Option<String>,
4809    #[serde(skip_serializing_if = "Option::is_none")]
4810    pub reaction: Option<String>,
4811}
4812
4813/// ApiCommitStatus 模型
4814#[derive(Debug, Clone, Serialize, Deserialize)]
4815pub struct ApiCommitStatus {
4816    #[serde(skip_serializing_if = "Option::is_none")]
4817    pub context: Option<String>,
4818    #[serde(skip_serializing_if = "Option::is_none")]
4819    pub description: Option<String>,
4820    #[serde(skip_serializing_if = "Option::is_none")]
4821    pub state: Option<String>,
4822    #[serde(skip_serializing_if = "Option::is_none")]
4823    pub target_url: Option<String>,
4824    #[serde(skip_serializing_if = "Option::is_none")]
4825    pub updated_at: Option<String>,
4826    #[serde(skip_serializing_if = "Option::is_none")]
4827    pub created_at: Option<String>,
4828}
4829
4830/// DtoUserFollowResult 模型
4831#[derive(Debug, Clone, Serialize, Deserialize)]
4832pub struct DtoUserFollowResult {
4833    #[serde(skip_serializing_if = "Option::is_none")]
4834    pub locked: Option<bool>,
4835    #[serde(skip_serializing_if = "Option::is_none")]
4836    pub nickname: Option<String>,
4837    #[serde(skip_serializing_if = "Option::is_none")]
4838    pub is_following: Option<bool>,
4839    #[serde(skip_serializing_if = "Option::is_none")]
4840    pub freeze: Option<bool>,
4841    #[serde(skip_serializing_if = "Option::is_none")]
4842    pub username: Option<String>,
4843}
4844
4845/// ApiPutPullLabelsForm 模型
4846#[derive(Debug, Clone, Serialize, Deserialize)]
4847pub struct ApiPutPullLabelsForm {
4848    #[serde(skip_serializing_if = "Option::is_none")]
4849    pub labels: Option<Vec<String>>,
4850}
4851
4852/// ConstantVisibility 模型
4853#[derive(Debug, Clone, Serialize, Deserialize)]
4854pub struct ConstantVisibility {
4855}
4856
4857/// OpenapiHeadRef 模型
4858#[derive(Debug, Clone, Serialize, Deserialize)]
4859pub struct OpenapiHeadRef {
4860    #[serde(skip_serializing_if = "Option::is_none")]
4861    pub name: Option<String>,
4862    #[serde(skip_serializing_if = "Option::is_none")]
4863    pub protected: Option<bool>,
4864}
4865
4866/// WebGroupGitQuota 模型
4867#[derive(Debug, Clone, Serialize, Deserialize)]
4868pub struct WebGroupGitQuota {
4869    #[serde(skip_serializing_if = "Option::is_none")]
4870    pub max_git_object_size_limit_in_kib: Option<String>,
4871    #[serde(skip_serializing_if = "Option::is_none")]
4872    pub git_quota_in_kib: Option<String>,
4873    #[serde(skip_serializing_if = "Option::is_none")]
4874    pub lfs_object_size_limit_in_kib: Option<String>,
4875    #[serde(skip_serializing_if = "Option::is_none")]
4876    pub lfs_quota_in_kib: Option<String>,
4877    #[serde(skip_serializing_if = "Option::is_none")]
4878    pub max_git_quota_in_kib: Option<String>,
4879    #[serde(skip_serializing_if = "Option::is_none")]
4880    pub max_lfs_object_size_limit_in_kib: Option<String>,
4881    #[serde(skip_serializing_if = "Option::is_none")]
4882    pub max_lfs_quota_in_kib: Option<String>,
4883    #[serde(skip_serializing_if = "Option::is_none")]
4884    pub git_object_size_limit_in_kib: Option<String>,
4885}
4886
4887/// DtoContainerAnnotation 模型
4888#[derive(Debug, Clone, Serialize, Deserialize)]
4889pub struct DtoContainerAnnotation {
4890    #[serde(skip_serializing_if = "Option::is_none")]
4891    pub version: Option<String>,
4892    #[serde(skip_serializing_if = "Option::is_none")]
4893    pub revision: Option<String>,
4894}
4895
4896/// DtoGetTodoDetailRsp 模型
4897#[derive(Debug, Clone, Serialize, Deserialize)]
4898pub struct DtoGetTodoDetailRsp {
4899    #[serde(skip_serializing_if = "Option::is_none")]
4900    pub todo_type: Option<String>,
4901    #[serde(skip_serializing_if = "Option::is_none")]
4902    pub issue_datas: Option<Vec<serde_json::Value>>,
4903    #[serde(skip_serializing_if = "Option::is_none")]
4904    pub pull_request_datas: Option<Vec<serde_json::Value>>,
4905}
4906
4907/// HandlerUpdateItemField 模型
4908#[derive(Debug, Clone, Serialize, Deserialize)]
4909pub struct HandlerUpdateItemField {
4910    #[serde(skip_serializing_if = "Option::is_none")]
4911    pub id: Option<String>,
4912    #[serde(skip_serializing_if = "Option::is_none")]
4913    pub value: Option<Vec<String>>,
4914}
4915
4916/// DtoPackType 模型
4917#[derive(Debug, Clone, Serialize, Deserialize)]
4918pub struct DtoPackType {
4919}
4920
4921/// WebComparedOverview 模型
4922#[derive(Debug, Clone, Serialize, Deserialize)]
4923pub struct WebComparedOverview {
4924    #[serde(skip_serializing_if = "Option::is_none")]
4925    pub straight: Option<bool>,
4926    #[serde(skip_serializing_if = "Option::is_none")]
4927    pub file_count: Option<i64>,
4928    #[serde(skip_serializing_if = "Option::is_none")]
4929    pub base_commit: Option<String>,
4930    #[serde(skip_serializing_if = "Option::is_none")]
4931    pub commit_count: Option<i64>,
4932    #[serde(skip_serializing_if = "Option::is_none")]
4933    pub head_commit: Option<String>,
4934    #[serde(skip_serializing_if = "Option::is_none")]
4935    pub merge_base_commit: Option<String>,
4936}
4937
4938/// ApiReleaseAsset 模型
4939#[derive(Debug, Clone, Serialize, Deserialize)]
4940pub struct ApiReleaseAsset {
4941    #[serde(skip_serializing_if = "Option::is_none")]
4942    pub path: Option<String>,
4943    #[serde(skip_serializing_if = "Option::is_none")]
4944    pub id: Option<String>,
4945    #[serde(skip_serializing_if = "Option::is_none")]
4946    pub size: Option<i64>,
4947    #[serde(skip_serializing_if = "Option::is_none")]
4948    pub uploader: Option<serde_json::Value>,
4949    #[serde(skip_serializing_if = "Option::is_none")]
4950    pub content_type: Option<String>,
4951    #[serde(skip_serializing_if = "Option::is_none")]
4952    pub created_at: Option<String>,
4953    #[serde(skip_serializing_if = "Option::is_none")]
4954    pub name: Option<String>,
4955    #[serde(skip_serializing_if = "Option::is_none")]
4956    pub updated_at: Option<String>,
4957}
4958
4959/// DtoMissionViewGroupCustom 模型
4960#[derive(Debug, Clone, Serialize, Deserialize)]
4961pub struct DtoMissionViewGroupCustom {
4962    #[serde(skip_serializing_if = "Option::is_none")]
4963    pub field: Option<String>,
4964    #[serde(skip_serializing_if = "Option::is_none")]
4965    pub value: Option<Vec<serde_json::Value>>,
4966}
4967
4968/// WebGpgSubkey 模型
4969#[derive(Debug, Clone, Serialize, Deserialize)]
4970pub struct WebGpgSubkey {
4971    #[serde(skip_serializing_if = "Option::is_none")]
4972    pub fingerprint: Option<String>,
4973    #[serde(skip_serializing_if = "Option::is_none")]
4974    pub key_id: Option<String>,
4975    #[serde(skip_serializing_if = "Option::is_none")]
4976    pub primary_key_id: Option<String>,
4977    #[serde(skip_serializing_if = "Option::is_none")]
4978    pub key_creation_time: Option<String>,
4979    #[serde(skip_serializing_if = "Option::is_none")]
4980    pub id: Option<String>,
4981    #[serde(skip_serializing_if = "Option::is_none")]
4982    pub is_expired: Option<bool>,
4983    #[serde(skip_serializing_if = "Option::is_none")]
4984    pub created_at: Option<String>,
4985    #[serde(skip_serializing_if = "Option::is_none")]
4986    pub expired_at: Option<String>,
4987}
4988
4989/// WebapiPatchPullRequestReviewForm 模型
4990#[derive(Debug, Clone, Serialize, Deserialize)]
4991pub struct WebapiPatchPullRequestReviewForm {
4992    #[serde(skip_serializing_if = "Option::is_none")]
4993    pub body: Option<String>,
4994}
4995
4996/// WebSignature 模型
4997#[derive(Debug, Clone, Serialize, Deserialize)]
4998pub struct WebSignature {
4999    #[serde(skip_serializing_if = "Option::is_none")]
5000    pub email: Option<String>,
5001    #[serde(skip_serializing_if = "Option::is_none")]
5002    pub name: Option<String>,
5003    #[serde(skip_serializing_if = "Option::is_none")]
5004    pub date: Option<String>,
5005}
5006
5007/// DtoTodoTotal 模型
5008#[derive(Debug, Clone, Serialize, Deserialize)]
5009pub struct DtoTodoTotal {
5010    #[serde(skip_serializing_if = "Option::is_none")]
5011    pub issue_pending_count: Option<i64>,
5012    #[serde(skip_serializing_if = "Option::is_none")]
5013    pub total: Option<i64>,
5014    #[serde(skip_serializing_if = "Option::is_none")]
5015    pub pull_request_complete_count: Option<i64>,
5016    #[serde(skip_serializing_if = "Option::is_none")]
5017    pub issue_complete_count: Option<i64>,
5018    #[serde(skip_serializing_if = "Option::is_none")]
5019    pub pull_request_pending_count: Option<i64>,
5020}
5021
5022/// DtoLogInfo 模型
5023#[derive(Debug, Clone, Serialize, Deserialize)]
5024pub struct DtoLogInfo {
5025    #[serde(skip_serializing_if = "Option::is_none")]
5026    pub build_log_url: Option<String>,
5027    #[serde(skip_serializing_if = "Option::is_none")]
5028    pub create_time: Option<String>,
5029    #[serde(skip_serializing_if = "Option::is_none")]
5030    pub freeze: Option<bool>,
5031    #[serde(skip_serializing_if = "Option::is_none")]
5032    pub labels: Option<String>,
5033    #[serde(skip_serializing_if = "Option::is_none")]
5034    pub event: Option<String>,
5035    #[serde(skip_serializing_if = "Option::is_none")]
5036    pub pipeline_total_count: Option<i64>,
5037    #[serde(skip_serializing_if = "Option::is_none")]
5038    pub source_slug: Option<String>,
5039    #[serde(skip_serializing_if = "Option::is_none")]
5040    pub group_name: Option<String>,
5041    #[serde(skip_serializing_if = "Option::is_none")]
5042    pub status: Option<String>,
5043    #[serde(skip_serializing_if = "Option::is_none")]
5044    pub user_name: Option<String>,
5045    #[serde(skip_serializing_if = "Option::is_none")]
5046    pub source_ref: Option<String>,
5047    #[serde(skip_serializing_if = "Option::is_none")]
5048    pub pipeline_success_count: Option<i64>,
5049    #[serde(skip_serializing_if = "Option::is_none")]
5050    pub slug: Option<String>,
5051    #[serde(skip_serializing_if = "Option::is_none")]
5052    pub target_ref: Option<String>,
5053    #[serde(skip_serializing_if = "Option::is_none")]
5054    pub event_url: Option<String>,
5055    #[serde(skip_serializing_if = "Option::is_none")]
5056    pub commit_title: Option<String>,
5057    #[serde(skip_serializing_if = "Option::is_none")]
5058    pub sha: Option<String>,
5059    #[serde(skip_serializing_if = "Option::is_none")]
5060    pub title: Option<String>,
5061    #[serde(skip_serializing_if = "Option::is_none")]
5062    pub sn: Option<String>,
5063    #[serde(skip_serializing_if = "Option::is_none")]
5064    pub duration: Option<i64>,
5065    #[serde(skip_serializing_if = "Option::is_none")]
5066    pub nick_name: Option<String>,
5067    #[serde(skip_serializing_if = "Option::is_none")]
5068    pub pipeline_fail_count: Option<i64>,
5069}
5070
5071/// DtoMissionView 模型
5072#[derive(Debug, Clone, Serialize, Deserialize)]
5073pub struct DtoMissionView {
5074    #[serde(skip_serializing_if = "Option::is_none")]
5075    pub name: Option<String>,
5076    #[serde(skip_serializing_if = "Option::is_none")]
5077    pub id: Option<String>,
5078    #[serde(skip_serializing_if = "Option::is_none")]
5079    pub r#type: Option<serde_json::Value>,
5080}
5081
5082/// WebTreeInfo 模型
5083#[derive(Debug, Clone, Serialize, Deserialize)]
5084pub struct WebTreeInfo {
5085    #[serde(skip_serializing_if = "Option::is_none")]
5086    pub entries: Option<Vec<serde_json::Value>>,
5087    #[serde(skip_serializing_if = "Option::is_none")]
5088    pub path: Option<String>,
5089}
5090
5091/// WebDeferredBranchesForm 模型
5092#[derive(Debug, Clone, Serialize, Deserialize)]
5093pub struct WebDeferredBranchesForm {
5094    #[serde(skip_serializing_if = "Option::is_none")]
5095    pub branches: Option<Vec<String>>,
5096}
5097
5098/// WebComparedFiles 模型
5099#[derive(Debug, Clone, Serialize, Deserialize)]
5100pub struct WebComparedFiles {
5101    #[serde(skip_serializing_if = "Option::is_none")]
5102    pub straight: Option<bool>,
5103    #[serde(skip_serializing_if = "Option::is_none")]
5104    pub base_commit: Option<String>,
5105    #[serde(skip_serializing_if = "Option::is_none")]
5106    pub diff: Option<serde_json::Value>,
5107    #[serde(skip_serializing_if = "Option::is_none")]
5108    pub head_commit: Option<String>,
5109    #[serde(skip_serializing_if = "Option::is_none")]
5110    pub merge_base_commit: Option<String>,
5111}
5112
5113/// DtoBuildResult 模型
5114#[derive(Debug, Clone, Serialize, Deserialize)]
5115pub struct DtoBuildResult {
5116    #[serde(skip_serializing_if = "Option::is_none")]
5117    pub build_log_url: Option<String>,
5118    #[serde(skip_serializing_if = "Option::is_none")]
5119    pub message: Option<String>,
5120    #[serde(skip_serializing_if = "Option::is_none")]
5121    pub sn: Option<String>,
5122}
5123
5124/// ApiIssueComment 模型
5125#[derive(Debug, Clone, Serialize, Deserialize)]
5126pub struct ApiIssueComment {
5127    #[serde(skip_serializing_if = "Option::is_none")]
5128    pub created_at: Option<String>,
5129    #[serde(skip_serializing_if = "Option::is_none")]
5130    pub author: Option<serde_json::Value>,
5131    #[serde(skip_serializing_if = "Option::is_none")]
5132    pub id: Option<String>,
5133    #[serde(skip_serializing_if = "Option::is_none")]
5134    pub body: Option<String>,
5135    #[serde(skip_serializing_if = "Option::is_none")]
5136    pub updated_at: Option<String>,
5137}
5138
5139/// ApiSignature 模型
5140#[derive(Debug, Clone, Serialize, Deserialize)]
5141pub struct ApiSignature {
5142    #[serde(skip_serializing_if = "Option::is_none")]
5143    pub name: Option<String>,
5144    #[serde(skip_serializing_if = "Option::is_none")]
5145    pub date: Option<String>,
5146    #[serde(skip_serializing_if = "Option::is_none")]
5147    pub email: Option<String>,
5148}
5149
5150/// WebFieldInfoPriorityColorOption 模型
5151#[derive(Debug, Clone, Serialize, Deserialize)]
5152pub struct WebFieldInfoPriorityColorOption {
5153    #[serde(skip_serializing_if = "Option::is_none")]
5154    pub label: Option<String>,
5155    #[serde(skip_serializing_if = "Option::is_none")]
5156    pub color: Option<String>,
5157    #[serde(skip_serializing_if = "Option::is_none")]
5158    pub value: Option<String>,
5159}
5160
5161/// WebPipelineSettings 模型
5162#[derive(Debug, Clone, Serialize, Deserialize)]
5163pub struct WebPipelineSettings {
5164    #[serde(skip_serializing_if = "Option::is_none")]
5165    pub forked_repo_auto_trigger: Option<bool>,
5166    #[serde(skip_serializing_if = "Option::is_none")]
5167    pub auto_trigger: Option<bool>,
5168}
5169
5170/// WebPullRequestResourceReviewer 模型
5171#[derive(Debug, Clone, Serialize, Deserialize)]
5172pub struct WebPullRequestResourceReviewer {
5173    #[serde(skip_serializing_if = "Option::is_none")]
5174    pub nickname: Option<String>,
5175    #[serde(skip_serializing_if = "Option::is_none")]
5176    pub review_state: Option<String>,
5177    #[serde(skip_serializing_if = "Option::is_none")]
5178    pub username: Option<String>,
5179}
5180
5181/// WebPushLimitSettings 模型
5182#[derive(Debug, Clone, Serialize, Deserialize)]
5183pub struct WebPushLimitSettings {
5184    #[serde(skip_serializing_if = "Option::is_none")]
5185    pub check_single_push_number: Option<bool>,
5186    #[serde(skip_serializing_if = "Option::is_none")]
5187    pub only_master_can_push_tag: Option<bool>,
5188    #[serde(skip_serializing_if = "Option::is_none")]
5189    pub allow_single_push_number: Option<i64>,
5190    #[serde(skip_serializing_if = "Option::is_none")]
5191    pub push_committer_must_be: Option<String>,
5192}
5193
5194/// WebapiCommentDeleteActivity 模型
5195#[derive(Debug, Clone, Serialize, Deserialize)]
5196pub struct WebapiCommentDeleteActivity {
5197    #[serde(skip_serializing_if = "Option::is_none")]
5198    pub activity_id: Option<String>,
5199}
5200
5201/// WechatLoginTicket 模型
5202#[derive(Debug, Clone, Serialize, Deserialize)]
5203pub struct WechatLoginTicket {
5204    #[serde(skip_serializing_if = "Option::is_none")]
5205    pub state: Option<String>,
5206}
5207
5208/// ApiPatchIssueCommentForm 模型
5209#[derive(Debug, Clone, Serialize, Deserialize)]
5210pub struct ApiPatchIssueCommentForm {
5211    #[serde(skip_serializing_if = "Option::is_none")]
5212    pub body: Option<String>,
5213}
5214
5215/// DtoResourceRepo 模型
5216#[derive(Debug, Clone, Serialize, Deserialize)]
5217pub struct DtoResourceRepo {
5218    #[serde(skip_serializing_if = "Option::is_none")]
5219    pub id: Option<String>,
5220    #[serde(skip_serializing_if = "Option::is_none")]
5221    pub created_at: Option<String>,
5222    #[serde(skip_serializing_if = "Option::is_none")]
5223    pub name: Option<String>,
5224    #[serde(skip_serializing_if = "Option::is_none")]
5225    pub flags: Option<serde_json::Value>,
5226    #[serde(skip_serializing_if = "Option::is_none")]
5227    pub freeze: Option<bool>,
5228    #[serde(skip_serializing_if = "Option::is_none")]
5229    pub visibility_level: Option<serde_json::Value>,
5230    #[serde(skip_serializing_if = "Option::is_none")]
5231    pub path: Option<String>,
5232    #[serde(skip_serializing_if = "Option::is_none")]
5233    pub updated_at: Option<String>,
5234    #[serde(skip_serializing_if = "Option::is_none")]
5235    pub status: Option<serde_json::Value>,
5236}
5237
5238/// DtoRepoPatch 模型
5239#[derive(Debug, Clone, Serialize, Deserialize)]
5240pub struct DtoRepoPatch {
5241    #[serde(skip_serializing_if = "Option::is_none")]
5242    pub description: Option<String>,
5243    #[serde(skip_serializing_if = "Option::is_none")]
5244    pub site: Option<String>,
5245    #[serde(skip_serializing_if = "Option::is_none")]
5246    pub topics: Option<Vec<String>>,
5247    #[serde(skip_serializing_if = "Option::is_none")]
5248    pub license: Option<String>,
5249}
5250
5251/// DtoUserEmails 模型
5252#[derive(Debug, Clone, Serialize, Deserialize)]
5253pub struct DtoUserEmails {
5254    #[serde(skip_serializing_if = "Option::is_none")]
5255    pub contact_email: Option<String>,
5256    #[serde(skip_serializing_if = "Option::is_none")]
5257    pub system_email: Option<String>,
5258    #[serde(skip_serializing_if = "Option::is_none")]
5259    pub email: Option<String>,
5260    #[serde(skip_serializing_if = "Option::is_none")]
5261    pub system_email_contact: Option<bool>,
5262    #[serde(skip_serializing_if = "Option::is_none")]
5263    pub emails: Option<Vec<String>>,
5264}
5265
5266/// WebIssueDetail 模型
5267#[derive(Debug, Clone, Serialize, Deserialize)]
5268pub struct WebIssueDetail {
5269    #[serde(skip_serializing_if = "Option::is_none")]
5270    pub assignees: Option<Vec<serde_json::Value>>,
5271    #[serde(skip_serializing_if = "Option::is_none")]
5272    pub comment_count: Option<i64>,
5273    #[serde(skip_serializing_if = "Option::is_none")]
5274    pub started_at: Option<String>,
5275    #[serde(skip_serializing_if = "Option::is_none")]
5276    pub priority: Option<String>,
5277    #[serde(skip_serializing_if = "Option::is_none")]
5278    pub last_acted_at: Option<String>,
5279    #[serde(skip_serializing_if = "Option::is_none")]
5280    pub participants: Option<Vec<serde_json::Value>>,
5281    #[serde(skip_serializing_if = "Option::is_none")]
5282    pub pin: Option<serde_json::Value>,
5283    #[serde(skip_serializing_if = "Option::is_none")]
5284    pub subscribe: Option<serde_json::Value>,
5285    #[serde(skip_serializing_if = "Option::is_none")]
5286    pub state_reason: Option<String>,
5287    #[serde(skip_serializing_if = "Option::is_none")]
5288    pub ended_at: Option<String>,
5289    #[serde(skip_serializing_if = "Option::is_none")]
5290    pub created_at: Option<String>,
5291    #[serde(skip_serializing_if = "Option::is_none")]
5292    pub title: Option<String>,
5293    #[serde(skip_serializing_if = "Option::is_none")]
5294    pub labels: Option<Vec<serde_json::Value>>,
5295    #[serde(skip_serializing_if = "Option::is_none")]
5296    pub body: Option<String>,
5297    #[serde(skip_serializing_if = "Option::is_none")]
5298    pub updated_at: Option<String>,
5299    #[serde(skip_serializing_if = "Option::is_none")]
5300    pub body_reactions: Option<Vec<serde_json::Value>>,
5301    #[serde(skip_serializing_if = "Option::is_none")]
5302    pub state: Option<String>,
5303    #[serde(skip_serializing_if = "Option::is_none")]
5304    pub closed_at: Option<String>,
5305    #[serde(skip_serializing_if = "Option::is_none")]
5306    pub author: Option<serde_json::Value>,
5307    #[serde(skip_serializing_if = "Option::is_none")]
5308    pub number: Option<String>,
5309}
5310
5311/// DtoChartTagDetail 模型
5312#[derive(Debug, Clone, Serialize, Deserialize)]
5313pub struct DtoChartTagDetail {
5314    #[serde(skip_serializing_if = "Option::is_none")]
5315    pub tag: Option<String>,
5316    #[serde(skip_serializing_if = "Option::is_none")]
5317    pub metadata: Option<serde_json::Value>,
5318    #[serde(skip_serializing_if = "Option::is_none")]
5319    pub address: Option<String>,
5320    #[serde(skip_serializing_if = "Option::is_none")]
5321    pub last_pusher: Option<serde_json::Value>,
5322    #[serde(skip_serializing_if = "Option::is_none")]
5323    pub is_deprecated: Option<bool>,
5324    #[serde(skip_serializing_if = "Option::is_none")]
5325    pub recent_pull_count: Option<i64>,
5326    #[serde(skip_serializing_if = "Option::is_none")]
5327    pub package: Option<String>,
5328    #[serde(skip_serializing_if = "Option::is_none")]
5329    pub pull_count: Option<i64>,
5330    #[serde(skip_serializing_if = "Option::is_none")]
5331    pub slug: Option<String>,
5332    #[serde(skip_serializing_if = "Option::is_none")]
5333    pub size: Option<i64>,
5334}
5335
5336/// DtoCodeRepoQuotaReq 模型
5337#[derive(Debug, Clone, Serialize, Deserialize)]
5338pub struct DtoCodeRepoQuotaReq {
5339    #[serde(skip_serializing_if = "Option::is_none")]
5340    pub docker: Option<serde_json::Value>,
5341    #[serde(skip_serializing_if = "Option::is_none")]
5342    pub docker_model: Option<serde_json::Value>,
5343    #[serde(skip_serializing_if = "Option::is_none")]
5344    pub helm: Option<serde_json::Value>,
5345}
5346
5347/// WebapiRevertCommitForm 模型
5348#[derive(Debug, Clone, Serialize, Deserialize)]
5349pub struct WebapiRevertCommitForm {
5350    #[serde(skip_serializing_if = "Option::is_none")]
5351    pub target_branch: Option<String>,
5352    #[serde(skip_serializing_if = "Option::is_none")]
5353    pub create_pr: Option<bool>,
5354}
5355
5356/// DtoQueryKnowledgeBaseReq 模型
5357#[derive(Debug, Clone, Serialize, Deserialize)]
5358pub struct DtoQueryKnowledgeBaseReq {
5359    #[serde(skip_serializing_if = "Option::is_none")]
5360    pub query: Option<String>,
5361    #[serde(skip_serializing_if = "Option::is_none")]
5362    pub top_k: Option<i64>,
5363    #[serde(skip_serializing_if = "Option::is_none")]
5364    pub score_threshold: Option<f64>,
5365}
5366
5367/// DtoRepos4UserBase 模型
5368#[derive(Debug, Clone, Serialize, Deserialize)]
5369pub struct DtoRepos4UserBase {
5370    #[serde(skip_serializing_if = "Option::is_none")]
5371    pub tags: Option<Vec<serde_json::Value>>,
5372    #[serde(skip_serializing_if = "Option::is_none")]
5373    pub visibility_level: Option<serde_json::Value>,
5374    #[serde(skip_serializing_if = "Option::is_none")]
5375    pub forked_from_repo: Option<serde_json::Value>,
5376    #[serde(skip_serializing_if = "Option::is_none")]
5377    pub last_update_username: Option<String>,
5378    #[serde(skip_serializing_if = "Option::is_none")]
5379    pub mark_count: Option<i64>,
5380    #[serde(skip_serializing_if = "Option::is_none")]
5381    pub name: Option<String>,
5382    #[serde(skip_serializing_if = "Option::is_none")]
5383    pub second_languages: Option<serde_json::Value>,
5384    #[serde(skip_serializing_if = "Option::is_none")]
5385    pub topics: Option<String>,
5386    #[serde(skip_serializing_if = "Option::is_none")]
5387    pub created_at: Option<String>,
5388    #[serde(skip_serializing_if = "Option::is_none")]
5389    pub updated_at: Option<String>,
5390    #[serde(skip_serializing_if = "Option::is_none")]
5391    pub web_url: Option<String>,
5392    #[serde(skip_serializing_if = "Option::is_none")]
5393    pub display_module: Option<serde_json::Value>,
5394    #[serde(skip_serializing_if = "Option::is_none")]
5395    pub description: Option<String>,
5396    #[serde(skip_serializing_if = "Option::is_none")]
5397    pub fork_count: Option<i64>,
5398    #[serde(skip_serializing_if = "Option::is_none")]
5399    pub license: Option<String>,
5400    #[serde(skip_serializing_if = "Option::is_none")]
5401    pub open_pull_request_count: Option<i64>,
5402    #[serde(skip_serializing_if = "Option::is_none")]
5403    pub open_issue_count: Option<i64>,
5404    #[serde(skip_serializing_if = "Option::is_none")]
5405    pub status: Option<serde_json::Value>,
5406    #[serde(skip_serializing_if = "Option::is_none")]
5407    pub id: Option<String>,
5408    #[serde(skip_serializing_if = "Option::is_none")]
5409    pub last_update_nickname: Option<String>,
5410    #[serde(skip_serializing_if = "Option::is_none")]
5411    pub star_count: Option<i64>,
5412    #[serde(skip_serializing_if = "Option::is_none")]
5413    pub languages: Option<serde_json::Value>,
5414    #[serde(skip_serializing_if = "Option::is_none")]
5415    pub language: Option<String>,
5416    #[serde(skip_serializing_if = "Option::is_none")]
5417    pub path: Option<String>,
5418    #[serde(skip_serializing_if = "Option::is_none")]
5419    pub freeze: Option<bool>,
5420    #[serde(skip_serializing_if = "Option::is_none")]
5421    pub flags: Option<serde_json::Value>,
5422    #[serde(skip_serializing_if = "Option::is_none")]
5423    pub last_updated_at: Option<serde_json::Value>,
5424    #[serde(skip_serializing_if = "Option::is_none")]
5425    pub site: Option<String>,
5426}
5427
5428/// DtoUserEmailWithTypePayload 模型
5429#[derive(Debug, Clone, Serialize, Deserialize)]
5430pub struct DtoUserEmailWithTypePayload {
5431    #[serde(skip_serializing_if = "Option::is_none")]
5432    pub email: Option<String>,
5433    #[serde(skip_serializing_if = "Option::is_none")]
5434    pub r#type: Option<serde_json::Value>,
5435}
5436
5437/// WebapiUpdateCodeSensitiveIgnoreForm 模型
5438#[derive(Debug, Clone, Serialize, Deserialize)]
5439pub struct WebapiUpdateCodeSensitiveIgnoreForm {
5440    #[serde(skip_serializing_if = "Option::is_none")]
5441    pub ignore_reason: Option<String>,
5442    #[serde(skip_serializing_if = "Option::is_none")]
5443    pub ignore: Option<bool>,
5444}
5445
5446/// DtoAccessTokenPatchPayload 模型
5447#[derive(Debug, Clone, Serialize, Deserialize)]
5448pub struct DtoAccessTokenPatchPayload {
5449    #[serde(skip_serializing_if = "Option::is_none")]
5450    pub description: Option<String>,
5451}
5452
5453/// DtoMineCreateTotal 模型
5454#[derive(Debug, Clone, Serialize, Deserialize)]
5455pub struct DtoMineCreateTotal {
5456    #[serde(skip_serializing_if = "Option::is_none")]
5457    pub issue_count: Option<i64>,
5458    #[serde(skip_serializing_if = "Option::is_none")]
5459    pub pull_request_count: Option<i64>,
5460    #[serde(skip_serializing_if = "Option::is_none")]
5461    pub total: Option<i64>,
5462}
5463
5464/// DtoTag 模型
5465#[derive(Debug, Clone, Serialize, Deserialize)]
5466pub struct DtoTag {
5467    #[serde(skip_serializing_if = "Option::is_none")]
5468    pub package: Option<String>,
5469    #[serde(skip_serializing_if = "Option::is_none")]
5470    pub composer: Option<Vec<serde_json::Value>>,
5471    #[serde(skip_serializing_if = "Option::is_none")]
5472    pub nuget: Option<Vec<serde_json::Value>>,
5473    #[serde(skip_serializing_if = "Option::is_none")]
5474    pub helm: Option<Vec<serde_json::Value>>,
5475    #[serde(skip_serializing_if = "Option::is_none")]
5476    pub docker_model: Option<Vec<serde_json::Value>>,
5477    #[serde(skip_serializing_if = "Option::is_none")]
5478    pub pypi: Option<Vec<serde_json::Value>>,
5479    #[serde(skip_serializing_if = "Option::is_none")]
5480    pub maven: Option<Vec<serde_json::Value>>,
5481    #[serde(skip_serializing_if = "Option::is_none")]
5482    pub ohpm: Option<Vec<serde_json::Value>>,
5483    #[serde(skip_serializing_if = "Option::is_none")]
5484    pub npm: Option<Vec<serde_json::Value>>,
5485    #[serde(skip_serializing_if = "Option::is_none")]
5486    pub docker: Option<Vec<serde_json::Value>>,
5487}
5488
5489/// WebFieldInfoPriority 模型
5490#[derive(Debug, Clone, Serialize, Deserialize)]
5491pub struct WebFieldInfoPriority {
5492    #[serde(skip_serializing_if = "Option::is_none")]
5493    pub html_type: Option<String>,
5494    #[serde(skip_serializing_if = "Option::is_none")]
5495    pub label: Option<String>,
5496    #[serde(skip_serializing_if = "Option::is_none")]
5497    pub name: Option<String>,
5498    #[serde(skip_serializing_if = "Option::is_none")]
5499    pub color_options: Option<Vec<serde_json::Value>>,
5500}
5501
5502/// DtoGetActivityMineDetailRsp 模型
5503#[derive(Debug, Clone, Serialize, Deserialize)]
5504pub struct DtoGetActivityMineDetailRsp {
5505    #[serde(skip_serializing_if = "Option::is_none")]
5506    pub next_offset: Option<String>,
5507    #[serde(skip_serializing_if = "Option::is_none")]
5508    pub activity_mine_datas: Option<Vec<serde_json::Value>>,
5509}
5510
5511/// ApiTag 模型
5512#[derive(Debug, Clone, Serialize, Deserialize)]
5513pub struct ApiTag {
5514    #[serde(skip_serializing_if = "Option::is_none")]
5515    pub commit: Option<serde_json::Value>,
5516    #[serde(skip_serializing_if = "Option::is_none")]
5517    pub target_type: Option<String>,
5518    #[serde(skip_serializing_if = "Option::is_none")]
5519    pub name: Option<String>,
5520    #[serde(skip_serializing_if = "Option::is_none")]
5521    pub target: Option<String>,
5522    #[serde(skip_serializing_if = "Option::is_none")]
5523    pub verification: Option<serde_json::Value>,
5524}
5525
5526/// DtoActivityCalendar 模型
5527#[derive(Debug, Clone, Serialize, Deserialize)]
5528pub struct DtoActivityCalendar {
5529}
5530
5531/// EnumsOperateMethod 模型
5532#[derive(Debug, Clone, Serialize, Deserialize)]
5533pub struct EnumsOperateMethod {
5534}
5535
5536/// ConstantUserEditable 模型
5537#[derive(Debug, Clone, Serialize, Deserialize)]
5538pub struct ConstantUserEditable {
5539}
5540
5541/// GitWoaComCnbMonorepoGitInternalAppGitServiceBffWebUserInfo 模型
5542#[derive(Debug, Clone, Serialize, Deserialize)]
5543pub struct GitWoaComCnbMonorepoGitInternalAppGitServiceBffWebUserInfo {
5544    #[serde(skip_serializing_if = "Option::is_none")]
5545    pub username: Option<String>,
5546    #[serde(skip_serializing_if = "Option::is_none")]
5547    pub nickname: Option<String>,
5548    #[serde(skip_serializing_if = "Option::is_none")]
5549    pub freeze: Option<bool>,
5550}
5551
5552/// WebapiCherryPickPullRequestForm 模型
5553#[derive(Debug, Clone, Serialize, Deserialize)]
5554pub struct WebapiCherryPickPullRequestForm {
5555    #[serde(skip_serializing_if = "Option::is_none")]
5556    pub create_pr: Option<bool>,
5557    #[serde(skip_serializing_if = "Option::is_none")]
5558    pub target_branch: Option<String>,
5559}
5560
5561/// ApiCommitRefs 模型
5562#[derive(Debug, Clone, Serialize, Deserialize)]
5563pub struct ApiCommitRefs {
5564    #[serde(skip_serializing_if = "Option::is_none")]
5565    pub refs: Option<Vec<String>>,
5566    #[serde(skip_serializing_if = "Option::is_none")]
5567    pub has_more: Option<bool>,
5568}
5569
5570/// DtoAiChatCompletionsChoice 模型
5571#[derive(Debug, Clone, Serialize, Deserialize)]
5572pub struct DtoAiChatCompletionsChoice {
5573    #[serde(skip_serializing_if = "Option::is_none")]
5574    pub index: Option<i64>,
5575    #[serde(skip_serializing_if = "Option::is_none")]
5576    pub message: Option<serde_json::Value>,
5577    #[serde(skip_serializing_if = "Option::is_none")]
5578    pub finish_reason: Option<String>,
5579}
5580
5581/// DtoActivityMineData 模型
5582#[derive(Debug, Clone, Serialize, Deserialize)]
5583pub struct DtoActivityMineData {
5584    #[serde(skip_serializing_if = "Option::is_none")]
5585    pub created_at: Option<serde_json::Value>,
5586    #[serde(skip_serializing_if = "Option::is_none")]
5587    pub repo: Option<serde_json::Value>,
5588    #[serde(skip_serializing_if = "Option::is_none")]
5589    pub activity_type: Option<serde_json::Value>,
5590    #[serde(skip_serializing_if = "Option::is_none")]
5591    pub user: Option<serde_json::Value>,
5592}
5593
5594/// DtoCreateGroupReq 模型
5595#[derive(Debug, Clone, Serialize, Deserialize)]
5596pub struct DtoCreateGroupReq {
5597    #[serde(skip_serializing_if = "Option::is_none")]
5598    pub description: Option<String>,
5599    #[serde(skip_serializing_if = "Option::is_none")]
5600    pub bind_domain: Option<String>,
5601    #[serde(skip_serializing_if = "Option::is_none")]
5602    pub path: Option<String>,
5603    #[serde(skip_serializing_if = "Option::is_none")]
5604    pub remark: Option<String>,
5605}
5606
5607/// WebapiPostPullRequestReviewReplyForm 模型
5608#[derive(Debug, Clone, Serialize, Deserialize)]
5609pub struct WebapiPostPullRequestReviewReplyForm {
5610    #[serde(skip_serializing_if = "Option::is_none")]
5611    pub reply_to_comment_id: Option<String>,
5612    #[serde(skip_serializing_if = "Option::is_none")]
5613    pub body: Option<String>,
5614}
5615
5616/// ApiPostIssueForm 模型
5617#[derive(Debug, Clone, Serialize, Deserialize)]
5618pub struct ApiPostIssueForm {
5619    #[serde(skip_serializing_if = "Option::is_none")]
5620    pub assignees: Option<Vec<String>>,
5621    #[serde(skip_serializing_if = "Option::is_none")]
5622    pub priority: Option<String>,
5623    #[serde(skip_serializing_if = "Option::is_none")]
5624    pub end_date: Option<String>,
5625    #[serde(skip_serializing_if = "Option::is_none")]
5626    pub labels: Option<Vec<String>>,
5627    #[serde(skip_serializing_if = "Option::is_none")]
5628    pub start_date: Option<String>,
5629    #[serde(skip_serializing_if = "Option::is_none")]
5630    pub body: Option<String>,
5631    #[serde(skip_serializing_if = "Option::is_none")]
5632    pub title: Option<String>,
5633}
5634
5635/// DtoCheckFollowingResponse 模型
5636#[derive(Debug, Clone, Serialize, Deserialize)]
5637pub struct DtoCheckFollowingResponse {
5638    #[serde(skip_serializing_if = "Option::is_none")]
5639    pub is_following: Option<bool>,
5640}
5641
5642/// DtoWorkspaceInfo 模型
5643#[derive(Debug, Clone, Serialize, Deserialize)]
5644pub struct DtoWorkspaceInfo {
5645    #[serde(skip_serializing_if = "Option::is_none")]
5646    pub file_list: Option<String>,
5647    #[serde(skip_serializing_if = "Option::is_none")]
5648    pub restore_id: Option<String>,
5649    #[serde(skip_serializing_if = "Option::is_none")]
5650    pub workspace: Option<String>,
5651    #[serde(skip_serializing_if = "Option::is_none")]
5652    pub duration: Option<i64>,
5653    #[serde(skip_serializing_if = "Option::is_none")]
5654    pub slug: Option<String>,
5655    #[serde(skip_serializing_if = "Option::is_none")]
5656    pub repo_url: Option<String>,
5657    #[serde(skip_serializing_if = "Option::is_none")]
5658    pub ssh: Option<bool>,
5659    #[serde(skip_serializing_if = "Option::is_none")]
5660    pub latest_sha: Option<String>,
5661    #[serde(skip_serializing_if = "Option::is_none")]
5662    pub status: Option<String>,
5663    #[serde(skip_serializing_if = "Option::is_none")]
5664    pub pipeline_id: Option<String>,
5665    #[serde(skip_serializing_if = "Option::is_none")]
5666    pub commit_count: Option<i64>,
5667    #[serde(skip_serializing_if = "Option::is_none")]
5668    pub create_time: Option<String>,
5669    #[serde(skip_serializing_if = "Option::is_none")]
5670    pub file_count: Option<i64>,
5671    #[serde(skip_serializing_if = "Option::is_none")]
5672    pub remote_stash_count: Option<i64>,
5673    #[serde(skip_serializing_if = "Option::is_none")]
5674    pub sn: Option<String>,
5675    #[serde(skip_serializing_if = "Option::is_none")]
5676    pub branch: Option<String>,
5677}
5678
5679/// ApiPullRequestComment 模型
5680#[derive(Debug, Clone, Serialize, Deserialize)]
5681pub struct ApiPullRequestComment {
5682    #[serde(skip_serializing_if = "Option::is_none")]
5683    pub created_at: Option<String>,
5684    #[serde(skip_serializing_if = "Option::is_none")]
5685    pub author: Option<serde_json::Value>,
5686    #[serde(skip_serializing_if = "Option::is_none")]
5687    pub body: Option<String>,
5688    #[serde(skip_serializing_if = "Option::is_none")]
5689    pub updated_at: Option<String>,
5690}
5691
5692/// DtoLabel 模型
5693#[derive(Debug, Clone, Serialize, Deserialize)]
5694pub struct DtoLabel {
5695    #[serde(skip_serializing_if = "Option::is_none")]
5696    pub color: Option<String>,
5697    #[serde(skip_serializing_if = "Option::is_none")]
5698    pub name: Option<String>,
5699    #[serde(skip_serializing_if = "Option::is_none")]
5700    pub description: Option<String>,
5701}
5702
5703/// WebapiCreatePullRequestCommentForm 模型
5704#[derive(Debug, Clone, Serialize, Deserialize)]
5705pub struct WebapiCreatePullRequestCommentForm {
5706    #[serde(skip_serializing_if = "Option::is_none")]
5707    pub body: Option<String>,
5708}
5709
5710/// WebPullViewedFile 模型
5711#[derive(Debug, Clone, Serialize, Deserialize)]
5712pub struct WebPullViewedFile {
5713    #[serde(skip_serializing_if = "Option::is_none")]
5714    pub head_commit_sha: Option<String>,
5715    #[serde(skip_serializing_if = "Option::is_none")]
5716    pub path: Option<String>,
5717    #[serde(skip_serializing_if = "Option::is_none")]
5718    pub is_viewed: Option<bool>,
5719}
5720
5721/// ApiPullRequestSettings 模型
5722#[derive(Debug, Clone, Serialize, Deserialize)]
5723pub struct ApiPullRequestSettings {
5724    #[serde(skip_serializing_if = "Option::is_none")]
5725    pub allow_squash_merge: Option<bool>,
5726    #[serde(skip_serializing_if = "Option::is_none")]
5727    pub merge_commit_message_style: Option<String>,
5728    #[serde(skip_serializing_if = "Option::is_none")]
5729    pub squash_commit_message_style: Option<String>,
5730    #[serde(skip_serializing_if = "Option::is_none")]
5731    pub allow_rebase_merge: Option<bool>,
5732    #[serde(skip_serializing_if = "Option::is_none")]
5733    pub master_auto_as_reviewer: Option<bool>,
5734    #[serde(skip_serializing_if = "Option::is_none")]
5735    pub allow_merge_commit_merge: Option<bool>,
5736}
5737
5738/// WebapiUpdatePullRequestForm 模型
5739#[derive(Debug, Clone, Serialize, Deserialize)]
5740pub struct WebapiUpdatePullRequestForm {
5741    #[serde(skip_serializing_if = "Option::is_none")]
5742    pub body: Option<String>,
5743    #[serde(skip_serializing_if = "Option::is_none")]
5744    pub title: Option<String>,
5745    #[serde(skip_serializing_if = "Option::is_none")]
5746    pub state: Option<String>,
5747}
5748
5749/// DtoPlatformAccessTokenItem 模型
5750#[derive(Debug, Clone, Serialize, Deserialize)]
5751pub struct DtoPlatformAccessTokenItem {
5752    #[serde(skip_serializing_if = "Option::is_none")]
5753    pub description: Option<String>,
5754    #[serde(skip_serializing_if = "Option::is_none")]
5755    pub deleted: Option<bool>,
5756    #[serde(skip_serializing_if = "Option::is_none")]
5757    pub name: Option<String>,
5758    #[serde(skip_serializing_if = "Option::is_none")]
5759    pub created_at: Option<String>,
5760    #[serde(skip_serializing_if = "Option::is_none")]
5761    pub url_data: Option<String>,
5762    #[serde(skip_serializing_if = "Option::is_none")]
5763    pub nick: Option<String>,
5764}
5765
5766/// DtoCheckStarResponse 模型
5767#[derive(Debug, Clone, Serialize, Deserialize)]
5768pub struct DtoCheckStarResponse {
5769    #[serde(skip_serializing_if = "Option::is_none")]
5770    pub is_star: Option<bool>,
5771}
5772
5773/// WebapiPostReleaseAssetForm 模型
5774#[derive(Debug, Clone, Serialize, Deserialize)]
5775pub struct WebapiPostReleaseAssetForm {
5776    #[serde(skip_serializing_if = "Option::is_none")]
5777    pub content_type: Option<String>,
5778    #[serde(skip_serializing_if = "Option::is_none")]
5779    pub path: Option<String>,
5780    #[serde(skip_serializing_if = "Option::is_none")]
5781    pub name: Option<String>,
5782    #[serde(skip_serializing_if = "Option::is_none")]
5783    pub size_in_byte: Option<i64>,
5784    #[serde(skip_serializing_if = "Option::is_none")]
5785    pub token: Option<String>,
5786}
5787
5788/// DtoStarUser 模型
5789#[derive(Debug, Clone, Serialize, Deserialize)]
5790pub struct DtoStarUser {
5791    #[serde(skip_serializing_if = "Option::is_none")]
5792    pub email: Option<String>,
5793    #[serde(skip_serializing_if = "Option::is_none")]
5794    pub locked: Option<bool>,
5795    #[serde(skip_serializing_if = "Option::is_none")]
5796    pub avatar: Option<String>,
5797    #[serde(skip_serializing_if = "Option::is_none")]
5798    pub stared_at: Option<String>,
5799    #[serde(skip_serializing_if = "Option::is_none")]
5800    pub verified: Option<i64>,
5801    #[serde(skip_serializing_if = "Option::is_none")]
5802    pub verified_expire_in: Option<String>,
5803    #[serde(skip_serializing_if = "Option::is_none")]
5804    pub created_at: Option<String>,
5805    #[serde(skip_serializing_if = "Option::is_none")]
5806    pub freeze: Option<bool>,
5807    #[serde(skip_serializing_if = "Option::is_none")]
5808    pub id: Option<String>,
5809    #[serde(skip_serializing_if = "Option::is_none")]
5810    pub r#type: Option<serde_json::Value>,
5811    #[serde(skip_serializing_if = "Option::is_none")]
5812    pub nickname: Option<String>,
5813    #[serde(skip_serializing_if = "Option::is_none")]
5814    pub username: Option<String>,
5815    #[serde(skip_serializing_if = "Option::is_none")]
5816    pub is_follow: Option<bool>,
5817}
5818
5819/// ScopeGroupItem 模型
5820#[derive(Debug, Clone, Serialize, Deserialize)]
5821pub struct ScopeGroupItem {
5822    #[serde(skip_serializing_if = "Option::is_none")]
5823    pub codes: Option<Vec<serde_json::Value>>,
5824    #[serde(skip_serializing_if = "Option::is_none")]
5825    pub group: Option<String>,
5826}
5827
5828/// WebCommitCherryPick 模型
5829#[derive(Debug, Clone, Serialize, Deserialize)]
5830pub struct WebCommitCherryPick {
5831    #[serde(skip_serializing_if = "Option::is_none")]
5832    pub cherry_pick_commit: Option<serde_json::Value>,
5833    #[serde(skip_serializing_if = "Option::is_none")]
5834    pub pull_request_number: Option<String>,
5835    #[serde(skip_serializing_if = "Option::is_none")]
5836    pub cherry_pick_ref: Option<String>,
5837    #[serde(skip_serializing_if = "Option::is_none")]
5838    pub has_conflicts: Option<bool>,
5839}
5840
5841/// DtoUserEmailWithCodePayload 模型
5842#[derive(Debug, Clone, Serialize, Deserialize)]
5843pub struct DtoUserEmailWithCodePayload {
5844    #[serde(skip_serializing_if = "Option::is_none")]
5845    pub code: Option<String>,
5846    #[serde(skip_serializing_if = "Option::is_none")]
5847    pub email: Option<String>,
5848}
5849
5850/// DtoAssetRecords 模型
5851#[derive(Debug, Clone, Serialize, Deserialize)]
5852pub struct DtoAssetRecords {
5853    #[serde(skip_serializing_if = "Option::is_none")]
5854    pub id: Option<String>,
5855    #[serde(skip_serializing_if = "Option::is_none")]
5856    pub origin_path: Option<String>,
5857    #[serde(skip_serializing_if = "Option::is_none")]
5858    pub path: Option<String>,
5859    #[serde(skip_serializing_if = "Option::is_none")]
5860    pub referer: Option<String>,
5861    #[serde(skip_serializing_if = "Option::is_none")]
5862    pub size_in_byte: Option<i64>,
5863}
5864
5865/// ApiBranchProtection 模型
5866#[derive(Debug, Clone, Serialize, Deserialize)]
5867pub struct ApiBranchProtection {
5868    #[serde(skip_serializing_if = "Option::is_none")]
5869    pub id: Option<String>,
5870    #[serde(skip_serializing_if = "Option::is_none")]
5871    pub allow_creation: Option<bool>,
5872    #[serde(skip_serializing_if = "Option::is_none")]
5873    pub allow_master_creation: Option<bool>,
5874    #[serde(skip_serializing_if = "Option::is_none")]
5875    pub required_approved_review_count: Option<i64>,
5876    #[serde(skip_serializing_if = "Option::is_none")]
5877    pub required_must_auto_merge: Option<bool>,
5878    #[serde(skip_serializing_if = "Option::is_none")]
5879    pub allow_pushes: Option<bool>,
5880    #[serde(skip_serializing_if = "Option::is_none")]
5881    pub rule: Option<String>,
5882    #[serde(skip_serializing_if = "Option::is_none")]
5883    pub allow_master_deletions: Option<bool>,
5884    #[serde(skip_serializing_if = "Option::is_none")]
5885    pub allow_master_force_pushes: Option<bool>,
5886    #[serde(skip_serializing_if = "Option::is_none")]
5887    pub required_must_push_via_pull_request: Option<bool>,
5888    #[serde(skip_serializing_if = "Option::is_none")]
5889    pub allow_deletions: Option<bool>,
5890    #[serde(skip_serializing_if = "Option::is_none")]
5891    pub allow_force_pushes: Option<bool>,
5892    #[serde(skip_serializing_if = "Option::is_none")]
5893    pub required_pull_request_reviews: Option<bool>,
5894    #[serde(skip_serializing_if = "Option::is_none")]
5895    pub required_master_approve: Option<bool>,
5896    #[serde(skip_serializing_if = "Option::is_none")]
5897    pub allow_master_pushes: Option<bool>,
5898    #[serde(skip_serializing_if = "Option::is_none")]
5899    pub required_approved_review_ratio: Option<i64>,
5900    #[serde(skip_serializing_if = "Option::is_none")]
5901    pub required_status_checks: Option<bool>,
5902    #[serde(skip_serializing_if = "Option::is_none")]
5903    pub required_linear_history: Option<bool>,
5904    #[serde(skip_serializing_if = "Option::is_none")]
5905    pub allow_master_manual_merge: Option<bool>,
5906}
5907
5908/// WebTagObject 模型
5909#[derive(Debug, Clone, Serialize, Deserialize)]
5910pub struct WebTagObject {
5911    #[serde(skip_serializing_if = "Option::is_none")]
5912    pub tagger: Option<serde_json::Value>,
5913    #[serde(skip_serializing_if = "Option::is_none")]
5914    pub message: Option<String>,
5915    #[serde(skip_serializing_if = "Option::is_none")]
5916    pub verification: Option<serde_json::Value>,
5917    #[serde(skip_serializing_if = "Option::is_none")]
5918    pub tag: Option<String>,
5919}
5920
5921/// WebapiPatchPullRequestAssigneesForm 模型
5922#[derive(Debug, Clone, Serialize, Deserialize)]
5923pub struct WebapiPatchPullRequestAssigneesForm {
5924    #[serde(skip_serializing_if = "Option::is_none")]
5925    pub assignees: Option<Vec<String>>,
5926}
5927
5928/// ApiPutIssueLabelsForm 模型
5929#[derive(Debug, Clone, Serialize, Deserialize)]
5930pub struct ApiPutIssueLabelsForm {
5931    #[serde(skip_serializing_if = "Option::is_none")]
5932    pub labels: Option<Vec<String>>,
5933}
5934
5935/// DtoUsersResultForSelf 模型
5936#[derive(Debug, Clone, Serialize, Deserialize)]
5937pub struct DtoUsersResultForSelf {
5938    #[serde(skip_serializing_if = "Option::is_none")]
5939    pub bio: Option<String>,
5940    #[serde(skip_serializing_if = "Option::is_none")]
5941    pub follower_count: Option<i64>,
5942    #[serde(skip_serializing_if = "Option::is_none")]
5943    pub company: Option<String>,
5944    #[serde(skip_serializing_if = "Option::is_none")]
5945    pub registry_count: Option<i64>,
5946    #[serde(skip_serializing_if = "Option::is_none")]
5947    pub follow_repo_count: Option<i64>,
5948    #[serde(skip_serializing_if = "Option::is_none")]
5949    pub r#type: Option<serde_json::Value>,
5950    #[serde(skip_serializing_if = "Option::is_none")]
5951    pub locked: Option<bool>,
5952    #[serde(skip_serializing_if = "Option::is_none")]
5953    pub mission_count: Option<i64>,
5954    #[serde(skip_serializing_if = "Option::is_none")]
5955    pub reward_count: Option<i64>,
5956    #[serde(skip_serializing_if = "Option::is_none")]
5957    pub nickname: Option<String>,
5958    #[serde(skip_serializing_if = "Option::is_none")]
5959    pub wechat_mp: Option<String>,
5960    #[serde(skip_serializing_if = "Option::is_none")]
5961    pub created_at: Option<String>,
5962    #[serde(skip_serializing_if = "Option::is_none")]
5963    pub language: Option<String>,
5964    #[serde(skip_serializing_if = "Option::is_none")]
5965    pub follow_count: Option<i64>,
5966    #[serde(skip_serializing_if = "Option::is_none")]
5967    pub next_updated_name_at: Option<String>,
5968    #[serde(skip_serializing_if = "Option::is_none")]
5969    pub verified: Option<i64>,
5970    #[serde(skip_serializing_if = "Option::is_none")]
5971    pub username: Option<String>,
5972    #[serde(skip_serializing_if = "Option::is_none")]
5973    pub repo_count: Option<i64>,
5974    #[serde(skip_serializing_if = "Option::is_none")]
5975    pub site: Option<String>,
5976    #[serde(skip_serializing_if = "Option::is_none")]
5977    pub gender: Option<i64>,
5978    #[serde(skip_serializing_if = "Option::is_none")]
5979    pub verified_expire_in: Option<String>,
5980    #[serde(skip_serializing_if = "Option::is_none")]
5981    pub address: Option<String>,
5982    #[serde(skip_serializing_if = "Option::is_none")]
5983    pub last_login_at: Option<String>,
5984    #[serde(skip_serializing_if = "Option::is_none")]
5985    pub email: Option<String>,
5986    #[serde(skip_serializing_if = "Option::is_none")]
5987    pub id: Option<String>,
5988    #[serde(skip_serializing_if = "Option::is_none")]
5989    pub updated_name_at: Option<String>,
5990    #[serde(skip_serializing_if = "Option::is_none")]
5991    pub avatar: Option<String>,
5992    #[serde(skip_serializing_if = "Option::is_none")]
5993    pub location: Option<String>,
5994    #[serde(skip_serializing_if = "Option::is_none")]
5995    pub updated_nick_at: Option<String>,
5996    #[serde(skip_serializing_if = "Option::is_none")]
5997    pub last_login_ip: Option<String>,
5998    #[serde(skip_serializing_if = "Option::is_none")]
5999    pub follow_mission_count: Option<i64>,
6000    #[serde(skip_serializing_if = "Option::is_none")]
6001    pub freeze: Option<bool>,
6002    #[serde(skip_serializing_if = "Option::is_none")]
6003    pub stars_count: Option<i64>,
6004    #[serde(skip_serializing_if = "Option::is_none")]
6005    pub group_count: Option<i64>,
6006    #[serde(skip_serializing_if = "Option::is_none")]
6007    pub reward_amount: Option<i64>,
6008    #[serde(skip_serializing_if = "Option::is_none")]
6009    pub appreciate_status: Option<i64>,
6010    #[serde(skip_serializing_if = "Option::is_none")]
6011    pub editable: Option<serde_json::Value>,
6012    #[serde(skip_serializing_if = "Option::is_none")]
6013    pub wechat_mp_qrcode: Option<String>,
6014}
6015
6016/// DtoWorkspaceDeleteReq 模型
6017#[derive(Debug, Clone, Serialize, Deserialize)]
6018pub struct DtoWorkspaceDeleteReq {
6019    #[serde(skip_serializing_if = "Option::is_none")]
6020    pub pipeline_id: Option<String>,
6021}
6022
6023/// WebIssueAssignee 模型
6024#[derive(Debug, Clone, Serialize, Deserialize)]
6025pub struct WebIssueAssignee {
6026    #[serde(skip_serializing_if = "Option::is_none")]
6027    pub user: Option<serde_json::Value>,
6028}
6029
6030/// WebIssueResource 模型
6031#[derive(Debug, Clone, Serialize, Deserialize)]
6032pub struct WebIssueResource {
6033    #[serde(skip_serializing_if = "Option::is_none")]
6034    pub id: Option<String>,
6035    #[serde(skip_serializing_if = "Option::is_none")]
6036    pub started_at: Option<String>,
6037    #[serde(skip_serializing_if = "Option::is_none")]
6038    pub last_acted_at: Option<String>,
6039    #[serde(skip_serializing_if = "Option::is_none")]
6040    pub state: Option<String>,
6041    #[serde(skip_serializing_if = "Option::is_none")]
6042    pub created_at: Option<String>,
6043    #[serde(skip_serializing_if = "Option::is_none")]
6044    pub customer_fields: Option<Vec<serde_json::Value>>,
6045    #[serde(skip_serializing_if = "Option::is_none")]
6046    pub ended_at: Option<String>,
6047    #[serde(skip_serializing_if = "Option::is_none")]
6048    pub state_reason: Option<String>,
6049    #[serde(skip_serializing_if = "Option::is_none")]
6050    pub labels: Option<Vec<serde_json::Value>>,
6051    #[serde(skip_serializing_if = "Option::is_none")]
6052    pub assignees: Option<Vec<serde_json::Value>>,
6053    #[serde(skip_serializing_if = "Option::is_none")]
6054    pub title: Option<String>,
6055    #[serde(skip_serializing_if = "Option::is_none")]
6056    pub comment_count: Option<i64>,
6057    #[serde(skip_serializing_if = "Option::is_none")]
6058    pub repo_slug: Option<String>,
6059    #[serde(skip_serializing_if = "Option::is_none")]
6060    pub updated_at: Option<String>,
6061    #[serde(skip_serializing_if = "Option::is_none")]
6062    pub priority: Option<String>,
6063    #[serde(skip_serializing_if = "Option::is_none")]
6064    pub author: Option<serde_json::Value>,
6065    #[serde(skip_serializing_if = "Option::is_none")]
6066    pub closed_at: Option<String>,
6067    #[serde(skip_serializing_if = "Option::is_none")]
6068    pub number: Option<String>,
6069}
6070
6071/// WebPullReviewCommentDeleteActivityPayload 模型
6072#[derive(Debug, Clone, Serialize, Deserialize)]
6073pub struct WebPullReviewCommentDeleteActivityPayload {
6074    #[serde(skip_serializing_if = "Option::is_none")]
6075    pub review_id: Option<String>,
6076    #[serde(skip_serializing_if = "Option::is_none")]
6077    pub author: Option<serde_json::Value>,
6078    #[serde(skip_serializing_if = "Option::is_none")]
6079    pub comment_id: Option<String>,
6080    #[serde(skip_serializing_if = "Option::is_none")]
6081    pub created_at: Option<String>,
6082}
6083
6084/// DtoMissionPostViewReq 模型
6085#[derive(Debug, Clone, Serialize, Deserialize)]
6086pub struct DtoMissionPostViewReq {
6087    #[serde(skip_serializing_if = "Option::is_none")]
6088    pub ids: Option<Vec<String>>,
6089}
6090
6091/// DtoPackage 模型
6092#[derive(Debug, Clone, Serialize, Deserialize)]
6093pub struct DtoPackage {
6094    #[serde(skip_serializing_if = "Option::is_none")]
6095    pub last_pusher: Option<serde_json::Value>,
6096    #[serde(skip_serializing_if = "Option::is_none")]
6097    pub recent_pull_count: Option<i64>,
6098    #[serde(skip_serializing_if = "Option::is_none")]
6099    pub name: Option<String>,
6100    #[serde(skip_serializing_if = "Option::is_none")]
6101    pub pull_count: Option<i64>,
6102    #[serde(skip_serializing_if = "Option::is_none")]
6103    pub last_artifact_name: Option<String>,
6104    #[serde(skip_serializing_if = "Option::is_none")]
6105    pub description: Option<String>,
6106    #[serde(skip_serializing_if = "Option::is_none")]
6107    pub labels: Option<Vec<String>>,
6108    #[serde(skip_serializing_if = "Option::is_none")]
6109    pub count: Option<i64>,
6110    #[serde(skip_serializing_if = "Option::is_none")]
6111    pub package: Option<String>,
6112    #[serde(skip_serializing_if = "Option::is_none")]
6113    pub package_type: Option<serde_json::Value>,
6114}
6115
6116/// WebTagList 模型
6117#[derive(Debug, Clone, Serialize, Deserialize)]
6118pub struct WebTagList {
6119    #[serde(skip_serializing_if = "Option::is_none")]
6120    pub tags: Option<Vec<serde_json::Value>>,
6121    #[serde(skip_serializing_if = "Option::is_none")]
6122    pub release_count: Option<i64>,
6123    #[serde(skip_serializing_if = "Option::is_none")]
6124    pub tag_count: Option<i64>,
6125}
6126
6127/// DtoExploreRepo 模型
6128#[derive(Debug, Clone, Serialize, Deserialize)]
6129pub struct DtoExploreRepo {
6130    #[serde(skip_serializing_if = "Option::is_none")]
6131    pub name: Option<String>,
6132    #[serde(skip_serializing_if = "Option::is_none")]
6133    pub web_url: Option<String>,
6134    #[serde(skip_serializing_if = "Option::is_none")]
6135    pub language: Option<String>,
6136    #[serde(skip_serializing_if = "Option::is_none")]
6137    pub second_languages: Option<serde_json::Value>,
6138    #[serde(skip_serializing_if = "Option::is_none")]
6139    pub freeze: Option<bool>,
6140    #[serde(skip_serializing_if = "Option::is_none")]
6141    pub site: Option<String>,
6142    #[serde(skip_serializing_if = "Option::is_none")]
6143    pub languages: Option<serde_json::Value>,
6144    #[serde(skip_serializing_if = "Option::is_none")]
6145    pub star_count: Option<i64>,
6146    #[serde(skip_serializing_if = "Option::is_none")]
6147    pub last_updated_at: Option<serde_json::Value>,
6148    #[serde(skip_serializing_if = "Option::is_none")]
6149    pub path: Option<String>,
6150    #[serde(skip_serializing_if = "Option::is_none")]
6151    pub display_module: Option<serde_json::Value>,
6152    #[serde(skip_serializing_if = "Option::is_none")]
6153    pub id: Option<String>,
6154    #[serde(skip_serializing_if = "Option::is_none")]
6155    pub last_update_username: Option<String>,
6156    #[serde(skip_serializing_if = "Option::is_none")]
6157    pub status: Option<serde_json::Value>,
6158    #[serde(skip_serializing_if = "Option::is_none")]
6159    pub updated_at: Option<String>,
6160    #[serde(skip_serializing_if = "Option::is_none")]
6161    pub flags: Option<serde_json::Value>,
6162    #[serde(skip_serializing_if = "Option::is_none")]
6163    pub created_at: Option<String>,
6164    #[serde(skip_serializing_if = "Option::is_none")]
6165    pub last_update_nickname: Option<String>,
6166    #[serde(skip_serializing_if = "Option::is_none")]
6167    pub license: Option<String>,
6168    #[serde(skip_serializing_if = "Option::is_none")]
6169    pub forked_from_repo: Option<serde_json::Value>,
6170    #[serde(skip_serializing_if = "Option::is_none")]
6171    pub stared: Option<bool>,
6172    #[serde(skip_serializing_if = "Option::is_none")]
6173    pub open_issue_count: Option<i64>,
6174    #[serde(skip_serializing_if = "Option::is_none")]
6175    pub open_pull_request_count: Option<i64>,
6176    #[serde(skip_serializing_if = "Option::is_none")]
6177    pub topics: Option<String>,
6178    #[serde(skip_serializing_if = "Option::is_none")]
6179    pub visibility_level: Option<serde_json::Value>,
6180    #[serde(skip_serializing_if = "Option::is_none")]
6181    pub fork_count: Option<i64>,
6182    #[serde(skip_serializing_if = "Option::is_none")]
6183    pub mark_count: Option<i64>,
6184    #[serde(skip_serializing_if = "Option::is_none")]
6185    pub tags: Option<Vec<serde_json::Value>>,
6186    #[serde(skip_serializing_if = "Option::is_none")]
6187    pub description: Option<String>,
6188}
6189
6190/// DtoUpdateCodeVulnerabilityIgnoreForm 模型
6191#[derive(Debug, Clone, Serialize, Deserialize)]
6192pub struct DtoUpdateCodeVulnerabilityIgnoreForm {
6193    #[serde(skip_serializing_if = "Option::is_none")]
6194    pub ignore: Option<bool>,
6195    #[serde(skip_serializing_if = "Option::is_none")]
6196    pub ignore_reason: Option<serde_json::Value>,
6197}
6198
6199/// DtoMissions4User 模型
6200#[derive(Debug, Clone, Serialize, Deserialize)]
6201pub struct DtoMissions4User {
6202    #[serde(skip_serializing_if = "Option::is_none")]
6203    pub pinned: Option<bool>,
6204    #[serde(skip_serializing_if = "Option::is_none")]
6205    pub created_at: Option<String>,
6206    #[serde(skip_serializing_if = "Option::is_none")]
6207    pub updated_at: Option<String>,
6208    #[serde(skip_serializing_if = "Option::is_none")]
6209    pub visibility_level: Option<serde_json::Value>,
6210    #[serde(skip_serializing_if = "Option::is_none")]
6211    pub access: Option<serde_json::Value>,
6212    #[serde(skip_serializing_if = "Option::is_none")]
6213    pub description: Option<String>,
6214    #[serde(skip_serializing_if = "Option::is_none")]
6215    pub stared: Option<bool>,
6216    #[serde(skip_serializing_if = "Option::is_none")]
6217    pub name: Option<String>,
6218    #[serde(skip_serializing_if = "Option::is_none")]
6219    pub star_time: Option<String>,
6220    #[serde(skip_serializing_if = "Option::is_none")]
6221    pub path: Option<String>,
6222    #[serde(skip_serializing_if = "Option::is_none")]
6223    pub id: Option<i64>,
6224    #[serde(skip_serializing_if = "Option::is_none")]
6225    pub freeze: Option<bool>,
6226    #[serde(skip_serializing_if = "Option::is_none")]
6227    pub pinned_time: Option<String>,
6228}
6229
6230/// HandlerUpdateItemFieldInBatchForm 模型
6231#[derive(Debug, Clone, Serialize, Deserialize)]
6232pub struct HandlerUpdateItemFieldInBatchForm {
6233    #[serde(skip_serializing_if = "Option::is_none")]
6234    pub r#type: Option<String>,
6235    #[serde(skip_serializing_if = "Option::is_none")]
6236    pub updated_item_fields: Option<Vec<serde_json::Value>>,
6237    #[serde(skip_serializing_if = "Option::is_none")]
6238    pub field: Option<String>,
6239}
6240
6241/// WebapiPutIssueLabelsForm 模型
6242#[derive(Debug, Clone, Serialize, Deserialize)]
6243pub struct WebapiPutIssueLabelsForm {
6244    #[serde(skip_serializing_if = "Option::is_none")]
6245    pub labels: Option<Vec<String>>,
6246}
6247
6248/// DtoTagCleanupPolicy 模型
6249#[derive(Debug, Clone, Serialize, Deserialize)]
6250pub struct DtoTagCleanupPolicy {
6251    #[serde(skip_serializing_if = "Option::is_none")]
6252    pub disabled: Option<bool>,
6253    #[serde(skip_serializing_if = "Option::is_none")]
6254    pub is_retain_pulled_in_7_days: Option<bool>,
6255    #[serde(skip_serializing_if = "Option::is_none")]
6256    pub is_retain_latest: Option<bool>,
6257    #[serde(skip_serializing_if = "Option::is_none")]
6258    pub latest_pushed_k: Option<i64>,
6259}
6260
6261/// DtoSlugs 模型
6262#[derive(Debug, Clone, Serialize, Deserialize)]
6263pub struct DtoSlugs {
6264    #[serde(skip_serializing_if = "Option::is_none")]
6265    pub root_freeze: Option<bool>,
6266    #[serde(skip_serializing_if = "Option::is_none")]
6267    pub root_id: Option<i64>,
6268    #[serde(skip_serializing_if = "Option::is_none")]
6269    pub path: Option<String>,
6270    #[serde(skip_serializing_if = "Option::is_none")]
6271    pub resource_type: Option<serde_json::Value>,
6272    #[serde(skip_serializing_if = "Option::is_none")]
6273    pub resource_id: Option<i64>,
6274    #[serde(skip_serializing_if = "Option::is_none")]
6275    pub updated_at: Option<String>,
6276    #[serde(skip_serializing_if = "Option::is_none")]
6277    pub created_at: Option<String>,
6278    #[serde(skip_serializing_if = "Option::is_none")]
6279    pub freeze: Option<bool>,
6280}
6281
6282/// OrganizationSettingValue 模型
6283#[derive(Debug, Clone, Serialize, Deserialize)]
6284pub struct OrganizationSettingValue {
6285}
6286
6287/// DtoOrganizationAccess 模型
6288#[derive(Debug, Clone, Serialize, Deserialize)]
6289pub struct DtoOrganizationAccess {
6290    #[serde(skip_serializing_if = "Option::is_none")]
6291    pub freeze: Option<bool>,
6292    #[serde(skip_serializing_if = "Option::is_none")]
6293    pub follow_count: Option<i64>,
6294    #[serde(skip_serializing_if = "Option::is_none")]
6295    pub path: Option<String>,
6296    #[serde(skip_serializing_if = "Option::is_none")]
6297    pub sub_group_count: Option<i64>,
6298    #[serde(skip_serializing_if = "Option::is_none")]
6299    pub updated_at: Option<String>,
6300    #[serde(skip_serializing_if = "Option::is_none")]
6301    pub all_sub_mission_count: Option<i64>,
6302    #[serde(skip_serializing_if = "Option::is_none")]
6303    pub id: Option<i64>,
6304    #[serde(skip_serializing_if = "Option::is_none")]
6305    pub site: Option<String>,
6306    #[serde(skip_serializing_if = "Option::is_none")]
6307    pub member_count: Option<i64>,
6308    #[serde(skip_serializing_if = "Option::is_none")]
6309    pub all_sub_registry_count: Option<i64>,
6310    #[serde(skip_serializing_if = "Option::is_none")]
6311    pub all_member_count: Option<i64>,
6312    #[serde(skip_serializing_if = "Option::is_none")]
6313    pub description: Option<String>,
6314    #[serde(skip_serializing_if = "Option::is_none")]
6315    pub all_sub_repo_count: Option<i64>,
6316    #[serde(skip_serializing_if = "Option::is_none")]
6317    pub domain: Option<String>,
6318    #[serde(skip_serializing_if = "Option::is_none")]
6319    pub created_at: Option<String>,
6320    #[serde(skip_serializing_if = "Option::is_none")]
6321    pub pinned: Option<bool>,
6322    #[serde(skip_serializing_if = "Option::is_none")]
6323    pub sub_registry_count: Option<i64>,
6324    #[serde(skip_serializing_if = "Option::is_none")]
6325    pub wechat_mp: Option<String>,
6326    #[serde(skip_serializing_if = "Option::is_none")]
6327    pub pinned_time: Option<String>,
6328    #[serde(skip_serializing_if = "Option::is_none")]
6329    pub email: Option<String>,
6330    #[serde(skip_serializing_if = "Option::is_none")]
6331    pub access_role: Option<serde_json::Value>,
6332    #[serde(skip_serializing_if = "Option::is_none")]
6333    pub has_sub_group: Option<bool>,
6334    #[serde(skip_serializing_if = "Option::is_none")]
6335    pub name: Option<String>,
6336    #[serde(skip_serializing_if = "Option::is_none")]
6337    pub all_sub_group_count: Option<i64>,
6338    #[serde(skip_serializing_if = "Option::is_none")]
6339    pub remark: Option<String>,
6340    #[serde(skip_serializing_if = "Option::is_none")]
6341    pub sub_mission_count: Option<i64>,
6342    #[serde(skip_serializing_if = "Option::is_none")]
6343    pub sub_repo_count: Option<i64>,
6344}
6345
6346/// DtoAssets 模型
6347#[derive(Debug, Clone, Serialize, Deserialize)]
6348pub struct DtoAssets {
6349    #[serde(skip_serializing_if = "Option::is_none")]
6350    pub content_type: Option<String>,
6351    #[serde(skip_serializing_if = "Option::is_none")]
6352    pub path: Option<String>,
6353    #[serde(skip_serializing_if = "Option::is_none")]
6354    pub name: Option<String>,
6355    #[serde(skip_serializing_if = "Option::is_none")]
6356    pub size: Option<i64>,
6357}
6358
6359/// ApiPatchIssueForm 模型
6360#[derive(Debug, Clone, Serialize, Deserialize)]
6361pub struct ApiPatchIssueForm {
6362    #[serde(skip_serializing_if = "Option::is_none")]
6363    pub state_reason: Option<String>,
6364    #[serde(skip_serializing_if = "Option::is_none")]
6365    pub body: Option<String>,
6366    #[serde(skip_serializing_if = "Option::is_none")]
6367    pub title: Option<String>,
6368    #[serde(skip_serializing_if = "Option::is_none")]
6369    pub start_date: Option<String>,
6370    #[serde(skip_serializing_if = "Option::is_none")]
6371    pub end_date: Option<String>,
6372    #[serde(skip_serializing_if = "Option::is_none")]
6373    pub priority: Option<String>,
6374    #[serde(skip_serializing_if = "Option::is_none")]
6375    pub state: Option<String>,
6376}
6377
6378/// WebPatchGroupGitQuoteForm 模型
6379#[derive(Debug, Clone, Serialize, Deserialize)]
6380pub struct WebPatchGroupGitQuoteForm {
6381    #[serde(skip_serializing_if = "Option::is_none")]
6382    pub git_quota_in_kib: Option<i64>,
6383    #[serde(skip_serializing_if = "Option::is_none")]
6384    pub lfs_quota_in_kib: Option<i64>,
6385    #[serde(skip_serializing_if = "Option::is_none")]
6386    pub git_object_size_limit_in_kib: Option<i64>,
6387    #[serde(skip_serializing_if = "Option::is_none")]
6388    pub lfs_object_size_limit_in_kib: Option<i64>,
6389}
6390
6391/// DtoStartWorkspaceResult 模型
6392#[derive(Debug, Clone, Serialize, Deserialize)]
6393pub struct DtoStartWorkspaceResult {
6394    #[serde(skip_serializing_if = "Option::is_none")]
6395    pub url_data: Option<String>,
6396    #[serde(skip_serializing_if = "Option::is_none")]
6397    pub build_log_url: Option<String>,
6398    #[serde(skip_serializing_if = "Option::is_none")]
6399    pub sn: Option<String>,
6400    #[serde(skip_serializing_if = "Option::is_none")]
6401    pub message: Option<String>,
6402}
6403
6404/// GitWoaComCnbMonorepoGitInternalAppVcsServiceBffWebSceneReaction 模型
6405#[derive(Debug, Clone, Serialize, Deserialize)]
6406pub struct GitWoaComCnbMonorepoGitInternalAppVcsServiceBffWebSceneReaction {
6407    #[serde(skip_serializing_if = "Option::is_none")]
6408    pub has_reacted: Option<bool>,
6409    #[serde(skip_serializing_if = "Option::is_none")]
6410    pub reaction: Option<String>,
6411    #[serde(skip_serializing_if = "Option::is_none")]
6412    pub count: Option<i64>,
6413    #[serde(skip_serializing_if = "Option::is_none")]
6414    pub top_users: Option<Vec<serde_json::Value>>,
6415}
6416
6417/// DtoAiChatCompletionsReq 模型
6418#[derive(Debug, Clone, Serialize, Deserialize)]
6419pub struct DtoAiChatCompletionsReq {
6420    #[serde(skip_serializing_if = "Option::is_none")]
6421    pub stream: Option<bool>,
6422    #[serde(skip_serializing_if = "Option::is_none")]
6423    pub messages: Option<Vec<serde_json::Value>>,
6424    #[serde(skip_serializing_if = "Option::is_none")]
6425    pub model: Option<String>,
6426}
6427
6428/// WebRepoContribSimply 模型
6429#[derive(Debug, Clone, Serialize, Deserialize)]
6430pub struct WebRepoContribSimply {
6431    #[serde(skip_serializing_if = "Option::is_none")]
6432    pub meta: Option<serde_json::Value>,
6433    #[serde(skip_serializing_if = "Option::is_none")]
6434    pub total: Option<i64>,
6435    #[serde(skip_serializing_if = "Option::is_none")]
6436    pub top_100_contrib: Option<Vec<serde_json::Value>>,
6437}
6438
6439/// WebapiPutTagAnnotation 模型
6440#[derive(Debug, Clone, Serialize, Deserialize)]
6441pub struct WebapiPutTagAnnotation {
6442    #[serde(skip_serializing_if = "Option::is_none")]
6443    pub key: Option<String>,
6444    #[serde(skip_serializing_if = "Option::is_none")]
6445    pub value: Option<String>,
6446}
6447
6448/// ApiCommitParent 模型
6449#[derive(Debug, Clone, Serialize, Deserialize)]
6450pub struct ApiCommitParent {
6451    #[serde(skip_serializing_if = "Option::is_none")]
6452    pub sha: Option<String>,
6453}
6454
6455/// ApiCommitAsset 模型
6456#[derive(Debug, Clone, Serialize, Deserialize)]
6457pub struct ApiCommitAsset {
6458    #[serde(skip_serializing_if = "Option::is_none")]
6459    pub path: Option<String>,
6460    #[serde(skip_serializing_if = "Option::is_none")]
6461    pub size_in_byte: Option<i64>,
6462    #[serde(skip_serializing_if = "Option::is_none")]
6463    pub name: Option<String>,
6464    #[serde(skip_serializing_if = "Option::is_none")]
6465    pub id: Option<String>,
6466    #[serde(skip_serializing_if = "Option::is_none")]
6467    pub updated_at: Option<String>,
6468    #[serde(skip_serializing_if = "Option::is_none")]
6469    pub content_type: Option<String>,
6470    #[serde(skip_serializing_if = "Option::is_none")]
6471    pub author: Option<serde_json::Value>,
6472    #[serde(skip_serializing_if = "Option::is_none")]
6473    pub created_at: Option<String>,
6474}
6475
6476/// DtoRegistryLevelPolicy 模型
6477#[derive(Debug, Clone, Serialize, Deserialize)]
6478pub struct DtoRegistryLevelPolicy {
6479    #[serde(skip_serializing_if = "Option::is_none")]
6480    pub common_registry: Option<serde_json::Value>,
6481    #[serde(skip_serializing_if = "Option::is_none")]
6482    pub code_repo: Option<serde_json::Value>,
6483}
6484
6485/// DtoCreateInvitationResponse 模型
6486#[derive(Debug, Clone, Serialize, Deserialize)]
6487pub struct DtoCreateInvitationResponse {
6488    #[serde(skip_serializing_if = "Option::is_none")]
6489    pub link_token: Option<String>,
6490    #[serde(skip_serializing_if = "Option::is_none")]
6491    pub resource_name: Option<String>,
6492    #[serde(skip_serializing_if = "Option::is_none")]
6493    pub resource_type: Option<serde_json::Value>,
6494    #[serde(skip_serializing_if = "Option::is_none")]
6495    pub username: Option<String>,
6496}
6497
6498/// HandlerCreateLabelForm 模型
6499#[derive(Debug, Clone, Serialize, Deserialize)]
6500pub struct HandlerCreateLabelForm {
6501    #[serde(skip_serializing_if = "Option::is_none")]
6502    pub description: Option<String>,
6503    #[serde(skip_serializing_if = "Option::is_none")]
6504    pub name: Option<String>,
6505    #[serde(skip_serializing_if = "Option::is_none")]
6506    pub color: Option<String>,
6507}
6508
6509/// WebRawAuthor 模型
6510#[derive(Debug, Clone, Serialize, Deserialize)]
6511pub struct WebRawAuthor {
6512    #[serde(skip_serializing_if = "Option::is_none")]
6513    pub author_name: Option<String>,
6514    #[serde(skip_serializing_if = "Option::is_none")]
6515    pub author_email: Option<String>,
6516}
6517
6518/// DtoStartBuildReq 模型
6519#[derive(Debug, Clone, Serialize, Deserialize)]
6520pub struct DtoStartBuildReq {
6521    #[serde(skip_serializing_if = "Option::is_none")]
6522    pub sha: Option<String>,
6523    #[serde(skip_serializing_if = "Option::is_none")]
6524    pub tag: Option<String>,
6525    #[serde(skip_serializing_if = "Option::is_none")]
6526    pub config: Option<String>,
6527    #[serde(skip_serializing_if = "Option::is_none")]
6528    pub env: Option<serde_json::Value>,
6529    #[serde(skip_serializing_if = "Option::is_none")]
6530    pub branch: Option<String>,
6531    #[serde(skip_serializing_if = "Option::is_none")]
6532    pub event: Option<String>,
6533    #[serde(skip_serializing_if = "Option::is_none")]
6534    pub sync: Option<String>,
6535}
6536
6537/// WebCodeSensitiveSummary 模型
6538#[derive(Debug, Clone, Serialize, Deserialize)]
6539pub struct WebCodeSensitiveSummary {
6540    #[serde(skip_serializing_if = "Option::is_none")]
6541    pub open: Option<i64>,
6542    #[serde(skip_serializing_if = "Option::is_none")]
6543    pub ignored: Option<i64>,
6544    #[serde(skip_serializing_if = "Option::is_none")]
6545    pub high_count: Option<i64>,
6546    #[serde(skip_serializing_if = "Option::is_none")]
6547    pub low_count: Option<i64>,
6548    #[serde(skip_serializing_if = "Option::is_none")]
6549    pub medium_count: Option<i64>,
6550}
6551
6552/// WebapiCreateBranchForm 模型
6553#[derive(Debug, Clone, Serialize, Deserialize)]
6554pub struct WebapiCreateBranchForm {
6555    #[serde(skip_serializing_if = "Option::is_none")]
6556    pub start_point: Option<String>,
6557    #[serde(skip_serializing_if = "Option::is_none")]
6558    pub new_branch_name: Option<String>,
6559}
6560
6561/// WebBranchListItem 模型
6562#[derive(Debug, Clone, Serialize, Deserialize)]
6563pub struct WebBranchListItem {
6564    #[serde(skip_serializing_if = "Option::is_none")]
6565    pub dev_meta: Option<Vec<i64>>,
6566    #[serde(skip_serializing_if = "Option::is_none")]
6567    pub associated_pull_request: Option<serde_json::Value>,
6568    #[serde(skip_serializing_if = "Option::is_none")]
6569    pub ahead: Option<i64>,
6570    #[serde(skip_serializing_if = "Option::is_none")]
6571    pub ahead_behind: Option<serde_json::Value>,
6572    #[serde(skip_serializing_if = "Option::is_none")]
6573    pub name: Option<String>,
6574    #[serde(skip_serializing_if = "Option::is_none")]
6575    pub is_head: Option<bool>,
6576    #[serde(skip_serializing_if = "Option::is_none")]
6577    pub is_protected: Option<bool>,
6578    #[serde(skip_serializing_if = "Option::is_none")]
6579    pub behind: Option<i64>,
6580    #[serde(skip_serializing_if = "Option::is_none")]
6581    pub commit: Option<serde_json::Value>,
6582}
6583
6584/// DtoCommonRegistryOverwritePolicy 模型
6585#[derive(Debug, Clone, Serialize, Deserialize)]
6586pub struct DtoCommonRegistryOverwritePolicy {
6587    #[serde(skip_serializing_if = "Option::is_none")]
6588    pub overwrite_policy: Option<serde_json::Value>,
6589}
6590
6591/// WebIssueComment 模型
6592#[derive(Debug, Clone, Serialize, Deserialize)]
6593pub struct WebIssueComment {
6594    #[serde(skip_serializing_if = "Option::is_none")]
6595    pub created_at: Option<String>,
6596    #[serde(skip_serializing_if = "Option::is_none")]
6597    pub author: Option<serde_json::Value>,
6598    #[serde(skip_serializing_if = "Option::is_none")]
6599    pub reactions: Option<Vec<serde_json::Value>>,
6600    #[serde(skip_serializing_if = "Option::is_none")]
6601    pub body: Option<String>,
6602    #[serde(skip_serializing_if = "Option::is_none")]
6603    pub updated_at: Option<String>,
6604    #[serde(skip_serializing_if = "Option::is_none")]
6605    pub author_meta: Option<Vec<i64>>,
6606    #[serde(skip_serializing_if = "Option::is_none")]
6607    pub comment_id: Option<String>,
6608}
6609
6610/// WebCommitStatuses 模型
6611#[derive(Debug, Clone, Serialize, Deserialize)]
6612pub struct WebCommitStatuses {
6613    #[serde(skip_serializing_if = "Option::is_none")]
6614    pub sha: Option<String>,
6615    #[serde(skip_serializing_if = "Option::is_none")]
6616    pub state: Option<String>,
6617    #[serde(skip_serializing_if = "Option::is_none")]
6618    pub statuses: Option<Vec<serde_json::Value>>,
6619}
6620
6621/// WebPreloadFile 模型
6622#[derive(Debug, Clone, Serialize, Deserialize)]
6623pub struct WebPreloadFile {
6624    #[serde(skip_serializing_if = "Option::is_none")]
6625    pub name: Option<String>,
6626    #[serde(skip_serializing_if = "Option::is_none")]
6627    pub file_stat: Option<serde_json::Value>,
6628    #[serde(skip_serializing_if = "Option::is_none")]
6629    pub content: Option<String>,
6630    #[serde(skip_serializing_if = "Option::is_none")]
6631    pub encoding: Option<String>,
6632}
6633
6634/// ConstantSearchResourceType 模型
6635#[derive(Debug, Clone, Serialize, Deserialize)]
6636pub struct ConstantSearchResourceType {
6637}
6638
6639/// ConstantRepoDisplayModule 模型
6640#[derive(Debug, Clone, Serialize, Deserialize)]
6641pub struct ConstantRepoDisplayModule {
6642}
6643
6644/// DtoMemberAccessLevel 模型
6645#[derive(Debug, Clone, Serialize, Deserialize)]
6646pub struct DtoMemberAccessLevel {
6647    #[serde(skip_serializing_if = "Option::is_none")]
6648    pub path: Option<String>,
6649    #[serde(skip_serializing_if = "Option::is_none")]
6650    pub access_level: Option<serde_json::Value>,
6651}
6652
6653/// OpenapiPostReleaseAssetUploadUrlForm 模型
6654#[derive(Debug, Clone, Serialize, Deserialize)]
6655pub struct OpenapiPostReleaseAssetUploadUrlForm {
6656    #[serde(skip_serializing_if = "Option::is_none")]
6657    pub size: Option<i64>,
6658    #[serde(skip_serializing_if = "Option::is_none")]
6659    pub overwrite: Option<bool>,
6660    #[serde(skip_serializing_if = "Option::is_none")]
6661    pub asset_name: Option<String>,
6662}
6663
6664/// WebapiCherryPickCommitForm 模型
6665#[derive(Debug, Clone, Serialize, Deserialize)]
6666pub struct WebapiCherryPickCommitForm {
6667    #[serde(skip_serializing_if = "Option::is_none")]
6668    pub create_pr: Option<bool>,
6669    #[serde(skip_serializing_if = "Option::is_none")]
6670    pub target_branch: Option<String>,
6671}
6672
6673/// DtoCodeRepoQuotaRsp 模型
6674#[derive(Debug, Clone, Serialize, Deserialize)]
6675pub struct DtoCodeRepoQuotaRsp {
6676    #[serde(skip_serializing_if = "Option::is_none")]
6677    pub docker: Option<serde_json::Value>,
6678    #[serde(skip_serializing_if = "Option::is_none")]
6679    pub helm: Option<serde_json::Value>,
6680    #[serde(skip_serializing_if = "Option::is_none")]
6681    pub docker_model: Option<serde_json::Value>,
6682}
6683
6684/// DtoOrganizationSettingWithParent 模型
6685#[derive(Debug, Clone, Serialize, Deserialize)]
6686pub struct DtoOrganizationSettingWithParent {
6687    #[serde(skip_serializing_if = "Option::is_none")]
6688    pub can_show_members: Option<bool>,
6689    #[serde(skip_serializing_if = "Option::is_none")]
6690    pub show_private_repo_watermark: Option<i64>,
6691    #[serde(skip_serializing_if = "Option::is_none")]
6692    pub hide_members: Option<i64>,
6693    #[serde(skip_serializing_if = "Option::is_none")]
6694    pub values: Option<serde_json::Value>,
6695    #[serde(skip_serializing_if = "Option::is_none")]
6696    pub email_verification: Option<String>,
6697    #[serde(skip_serializing_if = "Option::is_none")]
6698    pub can_show_sub_groups: Option<bool>,
6699    #[serde(skip_serializing_if = "Option::is_none")]
6700    pub root_email_verification: Option<String>,
6701    #[serde(skip_serializing_if = "Option::is_none")]
6702    pub root_values: Option<serde_json::Value>,
6703    #[serde(skip_serializing_if = "Option::is_none")]
6704    pub hide_sub_groups: Option<i64>,
6705    #[serde(skip_serializing_if = "Option::is_none")]
6706    pub can_show_watermark: Option<bool>,
6707    #[serde(skip_serializing_if = "Option::is_none")]
6708    pub group_protection: Option<i64>,
6709    #[serde(skip_serializing_if = "Option::is_none")]
6710    pub root_group_protection: Option<bool>,
6711}
6712
6713/// DtoCnbRegistry 模型
6714#[derive(Debug, Clone, Serialize, Deserialize)]
6715pub struct DtoCnbRegistry {
6716    #[serde(skip_serializing_if = "Option::is_none")]
6717    pub visibility_level: Option<serde_json::Value>,
6718    #[serde(skip_serializing_if = "Option::is_none")]
6719    pub last_push_user: Option<serde_json::Value>,
6720    #[serde(skip_serializing_if = "Option::is_none")]
6721    pub description: Option<String>,
6722    #[serde(skip_serializing_if = "Option::is_none")]
6723    pub overwrite_policy: Option<String>,
6724    #[serde(skip_serializing_if = "Option::is_none")]
6725    pub last_push_time: Option<String>,
6726    #[serde(skip_serializing_if = "Option::is_none")]
6727    pub pkg_count: Option<i64>,
6728    #[serde(skip_serializing_if = "Option::is_none")]
6729    pub kind: Option<String>,
6730    #[serde(skip_serializing_if = "Option::is_none")]
6731    pub updated_at: Option<String>,
6732    #[serde(skip_serializing_if = "Option::is_none")]
6733    pub artifact_policy: Option<String>,
6734    #[serde(skip_serializing_if = "Option::is_none")]
6735    pub freeze: Option<bool>,
6736    #[serde(skip_serializing_if = "Option::is_none")]
6737    pub id: Option<String>,
6738    #[serde(skip_serializing_if = "Option::is_none")]
6739    pub name: Option<String>,
6740    #[serde(skip_serializing_if = "Option::is_none")]
6741    pub created_at: Option<String>,
6742    #[serde(skip_serializing_if = "Option::is_none")]
6743    pub used_size: Option<i64>,
6744}
6745
6746/// EnumsCvssRank 模型
6747#[derive(Debug, Clone, Serialize, Deserialize)]
6748pub struct EnumsCvssRank {
6749}
6750
6751/// DtoUsersIdentity 模型
6752#[derive(Debug, Clone, Serialize, Deserialize)]
6753pub struct DtoUsersIdentity {
6754    #[serde(skip_serializing_if = "Option::is_none")]
6755    pub phone: Option<String>,
6756}
6757
6758/// DtoIssueData 模型
6759#[derive(Debug, Clone, Serialize, Deserialize)]
6760pub struct DtoIssueData {
6761    #[serde(skip_serializing_if = "Option::is_none")]
6762    pub associated_pull_request_counts: Option<i64>,
6763    #[serde(skip_serializing_if = "Option::is_none")]
6764    pub pinned: Option<bool>,
6765    #[serde(skip_serializing_if = "Option::is_none")]
6766    pub labels: Option<Vec<serde_json::Value>>,
6767    #[serde(skip_serializing_if = "Option::is_none")]
6768    pub slug: Option<String>,
6769    #[serde(skip_serializing_if = "Option::is_none")]
6770    pub todo_id: Option<String>,
6771    #[serde(skip_serializing_if = "Option::is_none")]
6772    pub updated_time: Option<String>,
6773    #[serde(skip_serializing_if = "Option::is_none")]
6774    pub priority: Option<String>,
6775    #[serde(skip_serializing_if = "Option::is_none")]
6776    pub title: Option<String>,
6777    #[serde(skip_serializing_if = "Option::is_none")]
6778    pub state: Option<String>,
6779    #[serde(skip_serializing_if = "Option::is_none")]
6780    pub created_time: Option<String>,
6781    #[serde(skip_serializing_if = "Option::is_none")]
6782    pub comment_count: Option<i64>,
6783    #[serde(skip_serializing_if = "Option::is_none")]
6784    pub number: Option<i64>,
6785    #[serde(skip_serializing_if = "Option::is_none")]
6786    pub slug_freeze: Option<bool>,
6787    #[serde(skip_serializing_if = "Option::is_none")]
6788    pub creator: Option<serde_json::Value>,
6789}
6790
6791/// HandlerLogoutRes 模型
6792#[derive(Debug, Clone, Serialize, Deserialize)]
6793pub struct HandlerLogoutRes {
6794    #[serde(skip_serializing_if = "Option::is_none")]
6795    pub url_data: Option<String>,
6796}
6797
6798/// Dtostorage 模型
6799#[derive(Debug, Clone, Serialize, Deserialize)]
6800pub struct Dtostorage {
6801    #[serde(skip_serializing_if = "Option::is_none")]
6802    pub storage: Option<i64>,
6803}
6804
6805/// DieWebError 模型
6806#[derive(Debug, Clone, Serialize, Deserialize)]
6807pub struct DieWebError {
6808    #[serde(skip_serializing_if = "Option::is_none")]
6809    pub errcode: Option<i64>,
6810    #[serde(skip_serializing_if = "Option::is_none")]
6811    pub errmsg: Option<String>,
6812    #[serde(skip_serializing_if = "Option::is_none")]
6813    pub errparam: Option<serde_json::Value>,
6814}
6815
6816/// DtoWorkspaceDetailResult 模型
6817#[derive(Debug, Clone, Serialize, Deserialize)]
6818pub struct DtoWorkspaceDetailResult {
6819    #[serde(skip_serializing_if = "Option::is_none")]
6820    pub cursor: Option<String>,
6821    #[serde(skip_serializing_if = "Option::is_none")]
6822    pub webide: Option<String>,
6823    #[serde(skip_serializing_if = "Option::is_none")]
6824    pub vscode: Option<String>,
6825}
6826
6827/// WebCustomerField 模型
6828#[derive(Debug, Clone, Serialize, Deserialize)]
6829pub struct WebCustomerField {
6830    #[serde(skip_serializing_if = "Option::is_none")]
6831    pub r#type: Option<String>,
6832    #[serde(skip_serializing_if = "Option::is_none")]
6833    pub value: Option<String>,
6834    #[serde(skip_serializing_if = "Option::is_none")]
6835    pub name: Option<String>,
6836}
6837
6838/// DtoHandoverMemberRequest 模型
6839#[derive(Debug, Clone, Serialize, Deserialize)]
6840pub struct DtoHandoverMemberRequest {
6841    #[serde(skip_serializing_if = "Option::is_none")]
6842    pub after: Option<String>,
6843    #[serde(skip_serializing_if = "Option::is_none")]
6844    pub before: Option<String>,
6845}
6846
6847/// WebResource 模型
6848#[derive(Debug, Clone, Serialize, Deserialize)]
6849pub struct WebResource {
6850    #[serde(skip_serializing_if = "Option::is_none")]
6851    pub r#type: Option<String>,
6852}
6853
6854/// DtoResTypeSummary 模型
6855#[derive(Debug, Clone, Serialize, Deserialize)]
6856pub struct DtoResTypeSummary {
6857    #[serde(skip_serializing_if = "Option::is_none")]
6858    pub avg_vol: Option<i64>,
6859    #[serde(skip_serializing_if = "Option::is_none")]
6860    pub vol_in_base_unit: Option<i64>,
6861    #[serde(skip_serializing_if = "Option::is_none")]
6862    pub fee_vol: Option<i64>,
6863}
6864
6865/// DtoSlugMemberCount 模型
6866#[derive(Debug, Clone, Serialize, Deserialize)]
6867pub struct DtoSlugMemberCount {
6868    #[serde(skip_serializing_if = "Option::is_none")]
6869    pub inherited_member_count: Option<i64>,
6870    #[serde(skip_serializing_if = "Option::is_none")]
6871    pub member_count: Option<i64>,
6872    #[serde(skip_serializing_if = "Option::is_none")]
6873    pub outside_collaborator_count: Option<i64>,
6874}
6875
6876/// DtoUserBindInfo 模型
6877#[derive(Debug, Clone, Serialize, Deserialize)]
6878pub struct DtoUserBindInfo {
6879    #[serde(skip_serializing_if = "Option::is_none")]
6880    pub code: Option<String>,
6881    #[serde(skip_serializing_if = "Option::is_none")]
6882    pub name: Option<String>,
6883    #[serde(skip_serializing_if = "Option::is_none")]
6884    pub user: Option<String>,
6885    #[serde(skip_serializing_if = "Option::is_none")]
6886    pub url_data: Option<String>,
6887    #[serde(skip_serializing_if = "Option::is_none")]
6888    pub nick: Option<String>,
6889    #[serde(skip_serializing_if = "Option::is_none")]
6890    pub expire_at: Option<String>,
6891}
6892
6893/// HandlerCreateIssueForm 模型
6894#[derive(Debug, Clone, Serialize, Deserialize)]
6895pub struct HandlerCreateIssueForm {
6896    #[serde(skip_serializing_if = "Option::is_none")]
6897    pub title: Option<String>,
6898    #[serde(skip_serializing_if = "Option::is_none")]
6899    pub body: Option<String>,
6900    #[serde(skip_serializing_if = "Option::is_none")]
6901    pub assignees: Option<Vec<String>>,
6902    #[serde(skip_serializing_if = "Option::is_none")]
6903    pub start_date: Option<String>,
6904    #[serde(skip_serializing_if = "Option::is_none")]
6905    pub end_date: Option<String>,
6906    #[serde(skip_serializing_if = "Option::is_none")]
6907    pub priority: Option<String>,
6908    #[serde(skip_serializing_if = "Option::is_none")]
6909    pub labels: Option<Vec<String>>,
6910    #[serde(skip_serializing_if = "Option::is_none")]
6911    pub template_path: Option<String>,
6912}
6913
6914/// WebUserContributorSimply 模型
6915#[derive(Debug, Clone, Serialize, Deserialize)]
6916pub struct WebUserContributorSimply {
6917    #[serde(skip_serializing_if = "Option::is_none")]
6918    pub user_name: Option<String>,
6919    #[serde(skip_serializing_if = "Option::is_none")]
6920    pub email: Option<String>,
6921    #[serde(skip_serializing_if = "Option::is_none")]
6922    pub commit_count: Option<i64>,
6923}
6924
6925/// WebPullRequestFileComments 模型
6926#[derive(Debug, Clone, Serialize, Deserialize)]
6927pub struct WebPullRequestFileComments {
6928    #[serde(skip_serializing_if = "Option::is_none")]
6929    pub comments: Option<Vec<serde_json::Value>>,
6930    #[serde(skip_serializing_if = "Option::is_none")]
6931    pub total_comment: Option<i64>,
6932    #[serde(skip_serializing_if = "Option::is_none")]
6933    pub path: Option<String>,
6934}
6935
6936/// DtoMessage 模型
6937#[derive(Debug, Clone, Serialize, Deserialize)]
6938pub struct DtoMessage {
6939    #[serde(skip_serializing_if = "Option::is_none")]
6940    pub role: Option<String>,
6941    #[serde(skip_serializing_if = "Option::is_none")]
6942    pub content: Option<String>,
6943}
6944
6945/// WebReleaseNotes 模型
6946#[derive(Debug, Clone, Serialize, Deserialize)]
6947pub struct WebReleaseNotes {
6948    #[serde(skip_serializing_if = "Option::is_none")]
6949    pub is_semver_tag: Option<bool>,
6950    #[serde(skip_serializing_if = "Option::is_none")]
6951    pub compare_head_tag: Option<String>,
6952    #[serde(skip_serializing_if = "Option::is_none")]
6953    pub commit_notes: Option<Vec<serde_json::Value>>,
6954    #[serde(skip_serializing_if = "Option::is_none")]
6955    pub compare_base_tag: Option<String>,
6956}
6957
6958/// MapConstantSlugTypeInt64 模型
6959#[derive(Debug, Clone, Serialize, Deserialize)]
6960pub struct MapConstantSlugTypeInt64 {
6961}
6962
6963/// DtoRepos4User 模型
6964#[derive(Debug, Clone, Serialize, Deserialize)]
6965pub struct DtoRepos4User {
6966    #[serde(skip_serializing_if = "Option::is_none")]
6967    pub languages: Option<serde_json::Value>,
6968    #[serde(skip_serializing_if = "Option::is_none")]
6969    pub stared: Option<bool>,
6970    #[serde(skip_serializing_if = "Option::is_none")]
6971    pub open_issue_count: Option<i64>,
6972    #[serde(skip_serializing_if = "Option::is_none")]
6973    pub license: Option<String>,
6974    #[serde(skip_serializing_if = "Option::is_none")]
6975    pub open_pull_request_count: Option<i64>,
6976    #[serde(skip_serializing_if = "Option::is_none")]
6977    pub last_update_username: Option<String>,
6978    #[serde(skip_serializing_if = "Option::is_none")]
6979    pub star_count: Option<i64>,
6980    #[serde(skip_serializing_if = "Option::is_none")]
6981    pub updated_at: Option<String>,
6982    #[serde(skip_serializing_if = "Option::is_none")]
6983    pub freeze: Option<bool>,
6984    #[serde(skip_serializing_if = "Option::is_none")]
6985    pub access: Option<serde_json::Value>,
6986    #[serde(skip_serializing_if = "Option::is_none")]
6987    pub topics: Option<String>,
6988    #[serde(skip_serializing_if = "Option::is_none")]
6989    pub name: Option<String>,
6990    #[serde(skip_serializing_if = "Option::is_none")]
6991    pub forked_from_repo: Option<serde_json::Value>,
6992    #[serde(skip_serializing_if = "Option::is_none")]
6993    pub pinned: Option<bool>,
6994    #[serde(skip_serializing_if = "Option::is_none")]
6995    pub pinned_time: Option<String>,
6996    #[serde(skip_serializing_if = "Option::is_none")]
6997    pub tags: Option<Vec<serde_json::Value>>,
6998    #[serde(skip_serializing_if = "Option::is_none")]
6999    pub visibility_level: Option<serde_json::Value>,
7000    #[serde(skip_serializing_if = "Option::is_none")]
7001    pub language: Option<String>,
7002    #[serde(skip_serializing_if = "Option::is_none")]
7003    pub fork_count: Option<i64>,
7004    #[serde(skip_serializing_if = "Option::is_none")]
7005    pub mark_count: Option<i64>,
7006    #[serde(skip_serializing_if = "Option::is_none")]
7007    pub flags: Option<serde_json::Value>,
7008    #[serde(skip_serializing_if = "Option::is_none")]
7009    pub description: Option<String>,
7010    #[serde(skip_serializing_if = "Option::is_none")]
7011    pub path: Option<String>,
7012    #[serde(skip_serializing_if = "Option::is_none")]
7013    pub site: Option<String>,
7014    #[serde(skip_serializing_if = "Option::is_none")]
7015    pub status: Option<serde_json::Value>,
7016    #[serde(skip_serializing_if = "Option::is_none")]
7017    pub second_languages: Option<serde_json::Value>,
7018    #[serde(skip_serializing_if = "Option::is_none")]
7019    pub display_module: Option<serde_json::Value>,
7020    #[serde(skip_serializing_if = "Option::is_none")]
7021    pub star_time: Option<String>,
7022    #[serde(skip_serializing_if = "Option::is_none")]
7023    pub last_updated_at: Option<serde_json::Value>,
7024    #[serde(skip_serializing_if = "Option::is_none")]
7025    pub id: Option<String>,
7026    #[serde(skip_serializing_if = "Option::is_none")]
7027    pub last_update_nickname: Option<String>,
7028    #[serde(skip_serializing_if = "Option::is_none")]
7029    pub created_at: Option<String>,
7030    #[serde(skip_serializing_if = "Option::is_none")]
7031    pub web_url: Option<String>,
7032}
7033
7034/// DtoAiChatCompletionsResult 模型
7035#[derive(Debug, Clone, Serialize, Deserialize)]
7036pub struct DtoAiChatCompletionsResult {
7037    #[serde(skip_serializing_if = "Option::is_none")]
7038    pub object: Option<String>,
7039    #[serde(skip_serializing_if = "Option::is_none")]
7040    pub id: Option<String>,
7041    #[serde(skip_serializing_if = "Option::is_none")]
7042    pub model: Option<String>,
7043    #[serde(skip_serializing_if = "Option::is_none")]
7044    pub choices: Option<Vec<serde_json::Value>>,
7045    #[serde(skip_serializing_if = "Option::is_none")]
7046    pub created: Option<i64>,
7047}
7048
7049/// DtoPackageType 模型
7050#[derive(Debug, Clone, Serialize, Deserialize)]
7051pub struct DtoPackageType {
7052}
7053
7054/// WebPullRequestReview 模型
7055#[derive(Debug, Clone, Serialize, Deserialize)]
7056pub struct WebPullRequestReview {
7057    #[serde(skip_serializing_if = "Option::is_none")]
7058    pub author: Option<serde_json::Value>,
7059    #[serde(skip_serializing_if = "Option::is_none")]
7060    pub created_at: Option<String>,
7061    #[serde(skip_serializing_if = "Option::is_none")]
7062    pub updated_at: Option<String>,
7063    #[serde(skip_serializing_if = "Option::is_none")]
7064    pub comments: Option<Vec<serde_json::Value>>,
7065    #[serde(skip_serializing_if = "Option::is_none")]
7066    pub author_meta: Option<Vec<i64>>,
7067    #[serde(skip_serializing_if = "Option::is_none")]
7068    pub reactions: Option<Vec<serde_json::Value>>,
7069    #[serde(skip_serializing_if = "Option::is_none")]
7070    pub review_id: Option<String>,
7071    #[serde(skip_serializing_if = "Option::is_none")]
7072    pub body: Option<String>,
7073    #[serde(skip_serializing_if = "Option::is_none")]
7074    pub state: Option<String>,
7075}
7076
7077/// DtoUpdateMembersRequest 模型
7078#[derive(Debug, Clone, Serialize, Deserialize)]
7079pub struct DtoUpdateMembersRequest {
7080    #[serde(skip_serializing_if = "Option::is_none")]
7081    pub access_level: Option<String>,
7082    #[serde(skip_serializing_if = "Option::is_none")]
7083    pub is_outside_collaborator: Option<bool>,
7084}
7085
7086/// DtoMetaData 模型
7087#[derive(Debug, Clone, Serialize, Deserialize)]
7088pub struct DtoMetaData {
7089    #[serde(skip_serializing_if = "Option::is_none")]
7090    pub home_page: Option<String>,
7091    #[serde(skip_serializing_if = "Option::is_none")]
7092    pub minimum_stability: Option<String>,
7093    #[serde(skip_serializing_if = "Option::is_none")]
7094    pub package_tag: Option<String>,
7095    #[serde(skip_serializing_if = "Option::is_none")]
7096    pub package_name: Option<String>,
7097    #[serde(skip_serializing_if = "Option::is_none")]
7098    pub package_type: Option<String>,
7099    #[serde(skip_serializing_if = "Option::is_none")]
7100    pub readme: Option<String>,
7101    #[serde(skip_serializing_if = "Option::is_none")]
7102    pub license_url: Option<String>,
7103    #[serde(skip_serializing_if = "Option::is_none")]
7104    pub author: Option<String>,
7105    #[serde(skip_serializing_if = "Option::is_none")]
7106    pub repository_url: Option<String>,
7107}
7108
7109/// WebBranchPullRequest 模型
7110#[derive(Debug, Clone, Serialize, Deserialize)]
7111pub struct WebBranchPullRequest {
7112    #[serde(skip_serializing_if = "Option::is_none")]
7113    pub number: Option<String>,
7114    #[serde(skip_serializing_if = "Option::is_none")]
7115    pub state: Option<String>,
7116    #[serde(skip_serializing_if = "Option::is_none")]
7117    pub is_merged: Option<bool>,
7118    #[serde(skip_serializing_if = "Option::is_none")]
7119    pub mergeable_state: Option<String>,
7120}
7121
7122/// WebapiCommitAssetId 模型
7123#[derive(Debug, Clone, Serialize, Deserialize)]
7124pub struct WebapiCommitAssetId {
7125    #[serde(skip_serializing_if = "Option::is_none")]
7126    pub asset_id: Option<String>,
7127}
7128
7129/// WebapiReleaseAssetId 模型
7130#[derive(Debug, Clone, Serialize, Deserialize)]
7131pub struct WebapiReleaseAssetId {
7132    #[serde(skip_serializing_if = "Option::is_none")]
7133    pub asset_id: Option<String>,
7134}
7135
7136/// ApiPullCommentCreationForm 模型
7137#[derive(Debug, Clone, Serialize, Deserialize)]
7138pub struct ApiPullCommentCreationForm {
7139    #[serde(skip_serializing_if = "Option::is_none")]
7140    pub body: Option<String>,
7141}
7142
7143/// ApiDeletePullAssigneesForm 模型
7144#[derive(Debug, Clone, Serialize, Deserialize)]
7145pub struct ApiDeletePullAssigneesForm {
7146    #[serde(skip_serializing_if = "Option::is_none")]
7147    pub assignees: Option<Vec<String>>,
7148}
7149
7150/// DtoContainerImageLayer 模型
7151#[derive(Debug, Clone, Serialize, Deserialize)]
7152pub struct DtoContainerImageLayer {
7153    #[serde(skip_serializing_if = "Option::is_none")]
7154    pub size: Option<i64>,
7155    #[serde(skip_serializing_if = "Option::is_none")]
7156    pub instruction: Option<String>,
7157}
7158
7159/// WebReferTapd 模型
7160#[derive(Debug, Clone, Serialize, Deserialize)]
7161pub struct WebReferTapd {
7162    #[serde(skip_serializing_if = "Option::is_none")]
7163    pub owner: Option<String>,
7164    #[serde(skip_serializing_if = "Option::is_none")]
7165    pub id: Option<String>,
7166    #[serde(skip_serializing_if = "Option::is_none")]
7167    pub created: Option<String>,
7168    #[serde(skip_serializing_if = "Option::is_none")]
7169    pub priority: Option<String>,
7170    #[serde(skip_serializing_if = "Option::is_none")]
7171    pub workspace_id: Option<String>,
7172    #[serde(skip_serializing_if = "Option::is_none")]
7173    pub due: Option<String>,
7174    #[serde(skip_serializing_if = "Option::is_none")]
7175    pub r#type: Option<String>,
7176    #[serde(skip_serializing_if = "Option::is_none")]
7177    pub name: Option<String>,
7178    #[serde(skip_serializing_if = "Option::is_none")]
7179    pub status: Option<String>,
7180    #[serde(skip_serializing_if = "Option::is_none")]
7181    pub view_link: Option<String>,
7182}
7183
7184/// ApiPostIssueAssigneesForm 模型
7185#[derive(Debug, Clone, Serialize, Deserialize)]
7186pub struct ApiPostIssueAssigneesForm {
7187    #[serde(skip_serializing_if = "Option::is_none")]
7188    pub assignees: Option<Vec<String>>,
7189}
7190
7191/// DtoCleanPolicyStatus 模型
7192#[derive(Debug, Clone, Serialize, Deserialize)]
7193pub struct DtoCleanPolicyStatus {
7194}
7195
7196/// WebapiPullRequestNumber 模型
7197#[derive(Debug, Clone, Serialize, Deserialize)]
7198pub struct WebapiPullRequestNumber {
7199    #[serde(skip_serializing_if = "Option::is_none")]
7200    pub number: Option<String>,
7201}
7202
7203/// WebFileStat 模型
7204#[derive(Debug, Clone, Serialize, Deserialize)]
7205pub struct WebFileStat {
7206    #[serde(skip_serializing_if = "Option::is_none")]
7207    pub mime_type: Option<serde_json::Value>,
7208}
7209
7210/// WebapiInitRepositoryForm 模型
7211#[derive(Debug, Clone, Serialize, Deserialize)]
7212pub struct WebapiInitRepositoryForm {
7213    #[serde(skip_serializing_if = "Option::is_none")]
7214    pub is_auto_readme: Option<bool>,
7215    #[serde(skip_serializing_if = "Option::is_none")]
7216    pub gitignore_template: Option<String>,
7217    #[serde(skip_serializing_if = "Option::is_none")]
7218    pub license_template: Option<String>,
7219}
7220
7221/// WebGitHead 模型
7222#[derive(Debug, Clone, Serialize, Deserialize)]
7223pub struct WebGitHead {
7224    #[serde(skip_serializing_if = "Option::is_none")]
7225    pub branch: Option<String>,
7226}
7227
7228/// WebDiffSection 模型
7229#[derive(Debug, Clone, Serialize, Deserialize)]
7230pub struct WebDiffSection {
7231    #[serde(skip_serializing_if = "Option::is_none")]
7232    pub lines: Option<Vec<serde_json::Value>>,
7233}
7234
7235/// DtoDockerModelTag 模型
7236#[derive(Debug, Clone, Serialize, Deserialize)]
7237pub struct DtoDockerModelTag {
7238    #[serde(skip_serializing_if = "Option::is_none")]
7239    pub last_pusher: Option<serde_json::Value>,
7240    #[serde(skip_serializing_if = "Option::is_none")]
7241    pub name: Option<String>,
7242    #[serde(skip_serializing_if = "Option::is_none")]
7243    pub pull_count: Option<i64>,
7244    #[serde(skip_serializing_if = "Option::is_none")]
7245    pub recent_pull_count: Option<i64>,
7246    #[serde(skip_serializing_if = "Option::is_none")]
7247    pub docker_model_config: Option<serde_json::Value>,
7248    #[serde(skip_serializing_if = "Option::is_none")]
7249    pub docker_model_descriptor: Option<serde_json::Value>,
7250    #[serde(skip_serializing_if = "Option::is_none")]
7251    pub address: Option<String>,
7252}
7253
7254/// ApiPostIssueLabelsForm 模型
7255#[derive(Debug, Clone, Serialize, Deserialize)]
7256pub struct ApiPostIssueLabelsForm {
7257    #[serde(skip_serializing_if = "Option::is_none")]
7258    pub labels: Option<Vec<String>>,
7259}
7260
7261/// DtoBudgetItemPrice 模型
7262#[derive(Debug, Clone, Serialize, Deserialize)]
7263pub struct DtoBudgetItemPrice {
7264    #[serde(skip_serializing_if = "Option::is_none")]
7265    pub vol: Option<f64>,
7266    #[serde(skip_serializing_if = "Option::is_none")]
7267    pub price: Option<f64>,
7268}
7269
7270/// ApiTagObjectVerification 模型
7271#[derive(Debug, Clone, Serialize, Deserialize)]
7272pub struct ApiTagObjectVerification {
7273    #[serde(skip_serializing_if = "Option::is_none")]
7274    pub payload: Option<String>,
7275    #[serde(skip_serializing_if = "Option::is_none")]
7276    pub signature: Option<String>,
7277    #[serde(skip_serializing_if = "Option::is_none")]
7278    pub verified_at: Option<String>,
7279    #[serde(skip_serializing_if = "Option::is_none")]
7280    pub reason: Option<String>,
7281    #[serde(skip_serializing_if = "Option::is_none")]
7282    pub verified: Option<bool>,
7283}
7284
7285/// DtoCommitStatus 模型
7286#[derive(Debug, Clone, Serialize, Deserialize)]
7287pub struct DtoCommitStatus {
7288    #[serde(skip_serializing_if = "Option::is_none")]
7289    pub state: Option<String>,
7290    #[serde(skip_serializing_if = "Option::is_none")]
7291    pub statuses: Option<Vec<serde_json::Value>>,
7292    #[serde(skip_serializing_if = "Option::is_none")]
7293    pub sha: Option<String>,
7294}
7295
7296/// WebIssueActivity 模型
7297#[derive(Debug, Clone, Serialize, Deserialize)]
7298pub struct WebIssueActivity {
7299    #[serde(skip_serializing_if = "Option::is_none")]
7300    pub actor_meta: Option<Vec<i64>>,
7301    #[serde(skip_serializing_if = "Option::is_none")]
7302    pub actor_access_role: Option<String>,
7303    #[serde(skip_serializing_if = "Option::is_none")]
7304    pub r#type: Option<String>,
7305    #[serde(skip_serializing_if = "Option::is_none")]
7306    pub id: Option<String>,
7307    #[serde(skip_serializing_if = "Option::is_none")]
7308    pub submitted_at: Option<String>,
7309    #[serde(skip_serializing_if = "Option::is_none")]
7310    pub actor: Option<serde_json::Value>,
7311    #[serde(skip_serializing_if = "Option::is_none")]
7312    pub created_at: Option<String>,
7313    #[serde(skip_serializing_if = "Option::is_none")]
7314    pub payload: Option<serde_json::Value>,
7315}
7316
7317/// WebIssueTemplate 模型
7318#[derive(Debug, Clone, Serialize, Deserialize)]
7319pub struct WebIssueTemplate {
7320    #[serde(skip_serializing_if = "Option::is_none")]
7321    pub encoding: Option<String>,
7322    #[serde(skip_serializing_if = "Option::is_none")]
7323    pub content: Option<String>,
7324    #[serde(skip_serializing_if = "Option::is_none")]
7325    pub path: Option<String>,
7326    #[serde(skip_serializing_if = "Option::is_none")]
7327    pub name: Option<String>,
7328}
7329
7330/// WechatLoginState 模型
7331#[derive(Debug, Clone, Serialize, Deserialize)]
7332pub struct WechatLoginState {
7333    #[serde(skip_serializing_if = "Option::is_none")]
7334    pub confirmed: Option<bool>,
7335    #[serde(skip_serializing_if = "Option::is_none")]
7336    pub is_expired: Option<bool>,
7337    #[serde(skip_serializing_if = "Option::is_none")]
7338    pub nick_name: Option<String>,
7339    #[serde(skip_serializing_if = "Option::is_none")]
7340    pub avatar: Option<String>,
7341}
7342
7343/// WebLfsFile 模型
7344#[derive(Debug, Clone, Serialize, Deserialize)]
7345pub struct WebLfsFile {
7346    #[serde(skip_serializing_if = "Option::is_none")]
7347    pub sha: Option<String>,
7348    #[serde(skip_serializing_if = "Option::is_none")]
7349    pub size: Option<String>,
7350}
7351
7352/// WebapiPatchPullRequestReviewCommentForm 模型
7353#[derive(Debug, Clone, Serialize, Deserialize)]
7354pub struct WebapiPatchPullRequestReviewCommentForm {
7355    #[serde(skip_serializing_if = "Option::is_none")]
7356    pub body: Option<String>,
7357}
7358
7359/// ApiPullRequestInfo 模型
7360#[derive(Debug, Clone, Serialize, Deserialize)]
7361pub struct ApiPullRequestInfo {
7362    #[serde(skip_serializing_if = "Option::is_none")]
7363    pub blocked_on: Option<String>,
7364    #[serde(skip_serializing_if = "Option::is_none")]
7365    pub last_acted_at: Option<String>,
7366    #[serde(skip_serializing_if = "Option::is_none")]
7367    pub number: Option<String>,
7368    #[serde(skip_serializing_if = "Option::is_none")]
7369    pub assignees: Option<Vec<serde_json::Value>>,
7370    #[serde(skip_serializing_if = "Option::is_none")]
7371    pub reviewers: Option<Vec<serde_json::Value>>,
7372    #[serde(skip_serializing_if = "Option::is_none")]
7373    pub state: Option<String>,
7374    #[serde(skip_serializing_if = "Option::is_none")]
7375    pub updated_at: Option<String>,
7376    #[serde(skip_serializing_if = "Option::is_none")]
7377    pub created_at: Option<String>,
7378    #[serde(skip_serializing_if = "Option::is_none")]
7379    pub mergeable_state: Option<String>,
7380    #[serde(skip_serializing_if = "Option::is_none")]
7381    pub author: Option<serde_json::Value>,
7382    #[serde(skip_serializing_if = "Option::is_none")]
7383    pub title: Option<String>,
7384    #[serde(skip_serializing_if = "Option::is_none")]
7385    pub head: Option<serde_json::Value>,
7386    #[serde(skip_serializing_if = "Option::is_none")]
7387    pub repo: Option<serde_json::Value>,
7388    #[serde(skip_serializing_if = "Option::is_none")]
7389    pub merged_by: Option<serde_json::Value>,
7390    #[serde(skip_serializing_if = "Option::is_none")]
7391    pub base: Option<serde_json::Value>,
7392}
7393
7394/// WebCommitAnnotationInBatch 模型
7395#[derive(Debug, Clone, Serialize, Deserialize)]
7396pub struct WebCommitAnnotationInBatch {
7397    #[serde(skip_serializing_if = "Option::is_none")]
7398    pub annotations: Option<Vec<serde_json::Value>>,
7399    #[serde(skip_serializing_if = "Option::is_none")]
7400    pub commit_hash: Option<String>,
7401}
7402
7403/// WebCsDetail 模型
7404#[derive(Debug, Clone, Serialize, Deserialize)]
7405pub struct WebCsDetail {
7406    #[serde(skip_serializing_if = "Option::is_none")]
7407    pub value: Option<String>,
7408    #[serde(skip_serializing_if = "Option::is_none")]
7409    pub display_name: Option<String>,
7410    #[serde(skip_serializing_if = "Option::is_none")]
7411    pub field: Option<String>,
7412}
7413
7414/// GitWoaComCnbMonorepoGitInternalAppGitServiceBffApiUserInfo 模型
7415#[derive(Debug, Clone, Serialize, Deserialize)]
7416pub struct GitWoaComCnbMonorepoGitInternalAppGitServiceBffApiUserInfo {
7417    #[serde(skip_serializing_if = "Option::is_none")]
7418    pub freeze: Option<bool>,
7419    #[serde(skip_serializing_if = "Option::is_none")]
7420    pub username: Option<String>,
7421    #[serde(skip_serializing_if = "Option::is_none")]
7422    pub nickname: Option<String>,
7423}
7424
7425/// ApiDiffLine 模型
7426#[derive(Debug, Clone, Serialize, Deserialize)]
7427pub struct ApiDiffLine {
7428    #[serde(skip_serializing_if = "Option::is_none")]
7429    pub left_line_number: Option<i64>,
7430    #[serde(skip_serializing_if = "Option::is_none")]
7431    pub prefix: Option<String>,
7432    #[serde(skip_serializing_if = "Option::is_none")]
7433    pub right_line_number: Option<i64>,
7434    #[serde(skip_serializing_if = "Option::is_none")]
7435    pub r#type: Option<String>,
7436    #[serde(skip_serializing_if = "Option::is_none")]
7437    pub content: Option<String>,
7438}
7439
7440/// WebapiPutCommitAnnotation 模型
7441#[derive(Debug, Clone, Serialize, Deserialize)]
7442pub struct WebapiPutCommitAnnotation {
7443    #[serde(skip_serializing_if = "Option::is_none")]
7444    pub key: Option<String>,
7445    #[serde(skip_serializing_if = "Option::is_none")]
7446    pub value: Option<String>,
7447}
7448
7449/// WebCodeSensitiveInfo 模型
7450#[derive(Debug, Clone, Serialize, Deserialize)]
7451pub struct WebCodeSensitiveInfo {
7452    #[serde(skip_serializing_if = "Option::is_none")]
7453    pub file_path: Option<String>,
7454    #[serde(skip_serializing_if = "Option::is_none")]
7455    pub id: Option<String>,
7456    #[serde(skip_serializing_if = "Option::is_none")]
7457    pub revision: Option<String>,
7458    #[serde(skip_serializing_if = "Option::is_none")]
7459    pub raw_author: Option<serde_json::Value>,
7460    #[serde(skip_serializing_if = "Option::is_none")]
7461    pub risk_level: Option<String>,
7462    #[serde(skip_serializing_if = "Option::is_none")]
7463    pub tool: Option<String>,
7464    #[serde(skip_serializing_if = "Option::is_none")]
7465    pub issue_type: Option<String>,
7466    #[serde(skip_serializing_if = "Option::is_none")]
7467    pub owner: Option<serde_json::Value>,
7468    #[serde(skip_serializing_if = "Option::is_none")]
7469    pub file_name: Option<String>,
7470    #[serde(skip_serializing_if = "Option::is_none")]
7471    pub created_at: Option<String>,
7472    #[serde(skip_serializing_if = "Option::is_none")]
7473    pub repo_id: Option<String>,
7474    #[serde(skip_serializing_if = "Option::is_none")]
7475    pub state: Option<String>,
7476    #[serde(skip_serializing_if = "Option::is_none")]
7477    pub occur_version: Option<String>,
7478}
7479
7480/// ApiPatchIssueAssigneesForm 模型
7481#[derive(Debug, Clone, Serialize, Deserialize)]
7482pub struct ApiPatchIssueAssigneesForm {
7483    #[serde(skip_serializing_if = "Option::is_none")]
7484    pub assignees: Option<Vec<String>>,
7485}
7486
7487/// WebForceMergeState 模型
7488#[derive(Debug, Clone, Serialize, Deserialize)]
7489pub struct WebForceMergeState {
7490    #[serde(skip_serializing_if = "Option::is_none")]
7491    pub message: Option<String>,
7492    #[serde(skip_serializing_if = "Option::is_none")]
7493    pub ok: Option<bool>,
7494}
7495
7496/// DtoTagDetail 模型
7497#[derive(Debug, Clone, Serialize, Deserialize)]
7498pub struct DtoTagDetail {
7499    #[serde(skip_serializing_if = "Option::is_none")]
7500    pub docker: Option<serde_json::Value>,
7501    #[serde(skip_serializing_if = "Option::is_none")]
7502    pub pypi: Option<serde_json::Value>,
7503    #[serde(skip_serializing_if = "Option::is_none")]
7504    pub helm: Option<serde_json::Value>,
7505    #[serde(skip_serializing_if = "Option::is_none")]
7506    pub npm: Option<serde_json::Value>,
7507    #[serde(skip_serializing_if = "Option::is_none")]
7508    pub maven: Option<serde_json::Value>,
7509    #[serde(skip_serializing_if = "Option::is_none")]
7510    pub nuget: Option<serde_json::Value>,
7511    #[serde(skip_serializing_if = "Option::is_none")]
7512    pub ohpm: Option<serde_json::Value>,
7513    #[serde(skip_serializing_if = "Option::is_none")]
7514    pub docker_model: Option<serde_json::Value>,
7515    #[serde(skip_serializing_if = "Option::is_none")]
7516    pub composer: Option<serde_json::Value>,
7517}
7518
7519/// EnumsVulStatus 模型
7520#[derive(Debug, Clone, Serialize, Deserialize)]
7521pub struct EnumsVulStatus {
7522}
7523
7524/// HandlerIssueCommentReactionForm 模型
7525#[derive(Debug, Clone, Serialize, Deserialize)]
7526pub struct HandlerIssueCommentReactionForm {
7527    #[serde(skip_serializing_if = "Option::is_none")]
7528    pub reaction: Option<String>,
7529    #[serde(skip_serializing_if = "Option::is_none")]
7530    pub scene: Option<String>,
7531}
7532
7533/// DtoUserForSelf 模型
7534#[derive(Debug, Clone, Serialize, Deserialize)]
7535pub struct DtoUserForSelf {
7536    #[serde(skip_serializing_if = "Option::is_none")]
7537    pub locked: Option<bool>,
7538    #[serde(skip_serializing_if = "Option::is_none")]
7539    pub id: Option<String>,
7540    #[serde(skip_serializing_if = "Option::is_none")]
7541    pub updated_name_at: Option<String>,
7542    #[serde(skip_serializing_if = "Option::is_none")]
7543    pub created_at: Option<String>,
7544    #[serde(skip_serializing_if = "Option::is_none")]
7545    pub verified: Option<i64>,
7546    #[serde(skip_serializing_if = "Option::is_none")]
7547    pub next_updated_name_at: Option<String>,
7548    #[serde(skip_serializing_if = "Option::is_none")]
7549    pub verified_expire_in: Option<String>,
7550    #[serde(skip_serializing_if = "Option::is_none")]
7551    pub username: Option<String>,
7552    #[serde(skip_serializing_if = "Option::is_none")]
7553    pub r#type: Option<serde_json::Value>,
7554    #[serde(skip_serializing_if = "Option::is_none")]
7555    pub email: Option<String>,
7556    #[serde(skip_serializing_if = "Option::is_none")]
7557    pub editable: Option<serde_json::Value>,
7558    #[serde(skip_serializing_if = "Option::is_none")]
7559    pub freeze: Option<bool>,
7560    #[serde(skip_serializing_if = "Option::is_none")]
7561    pub nickname: Option<String>,
7562    #[serde(skip_serializing_if = "Option::is_none")]
7563    pub language: Option<String>,
7564    #[serde(skip_serializing_if = "Option::is_none")]
7565    pub updated_nick_at: Option<String>,
7566    #[serde(skip_serializing_if = "Option::is_none")]
7567    pub avatar: Option<String>,
7568}
7569
7570/// DtoActivityRepoDetail 模型
7571#[derive(Debug, Clone, Serialize, Deserialize)]
7572pub struct DtoActivityRepoDetail {
7573    #[serde(skip_serializing_if = "Option::is_none")]
7574    pub exposed_repo_path: Option<String>,
7575    #[serde(skip_serializing_if = "Option::is_none")]
7576    pub visibility_level: Option<serde_json::Value>,
7577    #[serde(skip_serializing_if = "Option::is_none")]
7578    pub detail: Option<serde_json::Value>,
7579    #[serde(skip_serializing_if = "Option::is_none")]
7580    pub freeze: Option<bool>,
7581    #[serde(skip_serializing_if = "Option::is_none")]
7582    pub time: Option<f64>,
7583    #[serde(skip_serializing_if = "Option::is_none")]
7584    pub repo_unaccessible: Option<bool>,
7585}
7586
7587/// ApiPullReviewCreationForm 模型
7588#[derive(Debug, Clone, Serialize, Deserialize)]
7589pub struct ApiPullReviewCreationForm {
7590    #[serde(skip_serializing_if = "Option::is_none")]
7591    pub comments: Option<Vec<serde_json::Value>>,
7592    #[serde(skip_serializing_if = "Option::is_none")]
7593    pub body: Option<String>,
7594    #[serde(skip_serializing_if = "Option::is_none")]
7595    pub event: Option<String>,
7596}
7597
7598/// WebPullRequestReviewer 模型
7599#[derive(Debug, Clone, Serialize, Deserialize)]
7600pub struct WebPullRequestReviewer {
7601    #[serde(skip_serializing_if = "Option::is_none")]
7602    pub review_state: Option<String>,
7603    #[serde(skip_serializing_if = "Option::is_none")]
7604    pub user: Option<serde_json::Value>,
7605    #[serde(skip_serializing_if = "Option::is_none")]
7606    pub access_level: Option<i64>,
7607}
7608
7609/// DtoHarborRepository 模型
7610#[derive(Debug, Clone, Serialize, Deserialize)]
7611pub struct DtoHarborRepository {
7612    #[serde(skip_serializing_if = "Option::is_none")]
7613    pub recent_pull_count: Option<i64>,
7614    #[serde(skip_serializing_if = "Option::is_none")]
7615    pub pusher_id: Option<i64>,
7616    #[serde(skip_serializing_if = "Option::is_none")]
7617    pub labels: Option<Vec<String>>,
7618    #[serde(skip_serializing_if = "Option::is_none")]
7619    pub push_time: Option<String>,
7620    #[serde(skip_serializing_if = "Option::is_none")]
7621    pub description: Option<String>,
7622}
7623
7624/// ApiCommitObject 模型
7625#[derive(Debug, Clone, Serialize, Deserialize)]
7626pub struct ApiCommitObject {
7627    #[serde(skip_serializing_if = "Option::is_none")]
7628    pub message: Option<String>,
7629    #[serde(skip_serializing_if = "Option::is_none")]
7630    pub comment_count: Option<i64>,
7631    #[serde(skip_serializing_if = "Option::is_none")]
7632    pub committer: Option<serde_json::Value>,
7633    #[serde(skip_serializing_if = "Option::is_none")]
7634    pub tree: Option<serde_json::Value>,
7635    #[serde(skip_serializing_if = "Option::is_none")]
7636    pub verification: Option<serde_json::Value>,
7637    #[serde(skip_serializing_if = "Option::is_none")]
7638    pub author: Option<serde_json::Value>,
7639}
7640
7641/// HandlerReleaseReactionForm 模型
7642#[derive(Debug, Clone, Serialize, Deserialize)]
7643pub struct HandlerReleaseReactionForm {
7644    #[serde(skip_serializing_if = "Option::is_none")]
7645    pub reaction: Option<String>,
7646    #[serde(skip_serializing_if = "Option::is_none")]
7647    pub scene: Option<String>,
7648}
7649
7650/// ApiPostLabelForm 模型
7651#[derive(Debug, Clone, Serialize, Deserialize)]
7652pub struct ApiPostLabelForm {
7653    #[serde(skip_serializing_if = "Option::is_none")]
7654    pub name: Option<String>,
7655    #[serde(skip_serializing_if = "Option::is_none")]
7656    pub color: Option<String>,
7657    #[serde(skip_serializing_if = "Option::is_none")]
7658    pub description: Option<String>,
7659}
7660
7661/// WebUpdatePullViewedFileForm 模型
7662#[derive(Debug, Clone, Serialize, Deserialize)]
7663pub struct WebUpdatePullViewedFileForm {
7664    #[serde(skip_serializing_if = "Option::is_none")]
7665    pub path: Option<String>,
7666}
7667
7668/// WebapiPutTagAnnotationsForm 模型
7669#[derive(Debug, Clone, Serialize, Deserialize)]
7670pub struct WebapiPutTagAnnotationsForm {
7671    #[serde(skip_serializing_if = "Option::is_none")]
7672    pub annotations: Option<Vec<serde_json::Value>>,
7673}
7674
7675/// DtoDockerModelTagDetail 模型
7676#[derive(Debug, Clone, Serialize, Deserialize)]
7677pub struct DtoDockerModelTagDetail {
7678    #[serde(skip_serializing_if = "Option::is_none")]
7679    pub last_pusher: Option<serde_json::Value>,
7680    #[serde(skip_serializing_if = "Option::is_none")]
7681    pub docker_model_descriptor: Option<serde_json::Value>,
7682    #[serde(skip_serializing_if = "Option::is_none")]
7683    pub tag: Option<String>,
7684    #[serde(skip_serializing_if = "Option::is_none")]
7685    pub recent_pull_count: Option<i64>,
7686    #[serde(skip_serializing_if = "Option::is_none")]
7687    pub package: Option<String>,
7688    #[serde(skip_serializing_if = "Option::is_none")]
7689    pub pull_count: Option<i64>,
7690    #[serde(skip_serializing_if = "Option::is_none")]
7691    pub slug: Option<String>,
7692    #[serde(skip_serializing_if = "Option::is_none")]
7693    pub address: Option<String>,
7694}
7695
7696/// DtoSpecialAmount 模型
7697#[derive(Debug, Clone, Serialize, Deserialize)]
7698pub struct DtoSpecialAmount {
7699    #[serde(skip_serializing_if = "Option::is_none")]
7700    pub compute_develop_expire: Option<String>,
7701    #[serde(skip_serializing_if = "Option::is_none")]
7702    pub compute_develop_gpu_expire: Option<String>,
7703    #[serde(skip_serializing_if = "Option::is_none")]
7704    pub compute_develop_desc: Option<String>,
7705    #[serde(skip_serializing_if = "Option::is_none")]
7706    pub storage_git_gib: Option<i64>,
7707    #[serde(skip_serializing_if = "Option::is_none")]
7708    pub storage_git_desc: Option<String>,
7709    #[serde(skip_serializing_if = "Option::is_none")]
7710    pub compute_develop_gpu_desc: Option<String>,
7711    #[serde(skip_serializing_if = "Option::is_none")]
7712    pub storage_git_expire: Option<String>,
7713    #[serde(skip_serializing_if = "Option::is_none")]
7714    pub storage_object_gib: Option<i64>,
7715    #[serde(skip_serializing_if = "Option::is_none")]
7716    pub compute_develop_corehour: Option<i64>,
7717    #[serde(skip_serializing_if = "Option::is_none")]
7718    pub storage_object_expire: Option<String>,
7719    #[serde(skip_serializing_if = "Option::is_none")]
7720    pub compute_build_desc: Option<String>,
7721    #[serde(skip_serializing_if = "Option::is_none")]
7722    pub compute_build_gpu_corehour: Option<i64>,
7723    #[serde(skip_serializing_if = "Option::is_none")]
7724    pub storage_object_desc: Option<String>,
7725    #[serde(skip_serializing_if = "Option::is_none")]
7726    pub compute_build_gpu_expire: Option<String>,
7727    #[serde(skip_serializing_if = "Option::is_none")]
7728    pub compute_build_expire: Option<String>,
7729    #[serde(skip_serializing_if = "Option::is_none")]
7730    pub compute_build_gpu_desc: Option<String>,
7731    #[serde(skip_serializing_if = "Option::is_none")]
7732    pub compute_build_corehour: Option<i64>,
7733    #[serde(skip_serializing_if = "Option::is_none")]
7734    pub compute_develop_gpu_corehour: Option<i64>,
7735}
7736
7737/// DtoInvitationWithEmail 模型
7738#[derive(Debug, Clone, Serialize, Deserialize)]
7739pub struct DtoInvitationWithEmail {
7740    #[serde(skip_serializing_if = "Option::is_none")]
7741    pub email_match: Option<bool>,
7742    #[serde(skip_serializing_if = "Option::is_none")]
7743    pub root_domain: Option<String>,
7744    #[serde(skip_serializing_if = "Option::is_none")]
7745    pub creator: Option<String>,
7746    #[serde(skip_serializing_if = "Option::is_none")]
7747    pub resource: Option<serde_json::Value>,
7748    #[serde(skip_serializing_if = "Option::is_none")]
7749    pub count: Option<i64>,
7750    #[serde(skip_serializing_if = "Option::is_none")]
7751    pub creator_id: Option<String>,
7752    #[serde(skip_serializing_if = "Option::is_none")]
7753    pub expire: Option<i64>,
7754    #[serde(skip_serializing_if = "Option::is_none")]
7755    pub role: Option<serde_json::Value>,
7756    #[serde(skip_serializing_if = "Option::is_none")]
7757    pub is_outside_collaborator: Option<bool>,
7758    #[serde(skip_serializing_if = "Option::is_none")]
7759    pub status: Option<String>,
7760    #[serde(skip_serializing_if = "Option::is_none")]
7761    pub email: Option<String>,
7762}
7763
7764/// DtoCountResponse 模型
7765#[derive(Debug, Clone, Serialize, Deserialize)]
7766pub struct DtoCountResponse {
7767    #[serde(skip_serializing_if = "Option::is_none")]
7768    pub user: Option<i64>,
7769    #[serde(skip_serializing_if = "Option::is_none")]
7770    pub group: Option<i64>,
7771    #[serde(skip_serializing_if = "Option::is_none")]
7772    pub repo: Option<i64>,
7773}
7774
7775/// DtoCleanPolicy 模型
7776#[derive(Debug, Clone, Serialize, Deserialize)]
7777pub struct DtoCleanPolicy {
7778}
7779
7780/// DtoCreator 模型
7781#[derive(Debug, Clone, Serialize, Deserialize)]
7782pub struct DtoCreator {
7783    #[serde(skip_serializing_if = "Option::is_none")]
7784    pub nickname: Option<String>,
7785    #[serde(skip_serializing_if = "Option::is_none")]
7786    pub username: Option<String>,
7787    #[serde(skip_serializing_if = "Option::is_none")]
7788    pub locked: Option<bool>,
7789    #[serde(skip_serializing_if = "Option::is_none")]
7790    pub freeze: Option<bool>,
7791}
7792
7793/// WebAheadBehind 模型
7794#[derive(Debug, Clone, Serialize, Deserialize)]
7795pub struct WebAheadBehind {
7796    #[serde(skip_serializing_if = "Option::is_none")]
7797    pub behind: Option<i64>,
7798    #[serde(skip_serializing_if = "Option::is_none")]
7799    pub local_oid: Option<String>,
7800    #[serde(skip_serializing_if = "Option::is_none")]
7801    pub upstream_oid: Option<String>,
7802    #[serde(skip_serializing_if = "Option::is_none")]
7803    pub ahead: Option<i64>,
7804    #[serde(skip_serializing_if = "Option::is_none")]
7805    pub state: Option<String>,
7806}
7807
7808/// DtoDockerModelDescriptor 模型
7809#[derive(Debug, Clone, Serialize, Deserialize)]
7810pub struct DtoDockerModelDescriptor {
7811    #[serde(skip_serializing_if = "Option::is_none")]
7812    pub created_at: Option<String>,
7813}
7814
7815/// WebMissionResources 模型
7816#[derive(Debug, Clone, Serialize, Deserialize)]
7817pub struct WebMissionResources {
7818    #[serde(skip_serializing_if = "Option::is_none")]
7819    pub issues: Option<Vec<serde_json::Value>>,
7820    #[serde(skip_serializing_if = "Option::is_none")]
7821    pub total: Option<i64>,
7822    #[serde(skip_serializing_if = "Option::is_none")]
7823    pub pull_requests: Option<Vec<serde_json::Value>>,
7824}
7825
7826/// DieWebErr 模型
7827#[derive(Debug, Clone, Serialize, Deserialize)]
7828pub struct DieWebErr {
7829    #[serde(skip_serializing_if = "Option::is_none")]
7830    pub errcode: Option<i64>,
7831    #[serde(skip_serializing_if = "Option::is_none")]
7832    pub errmsg: Option<String>,
7833    #[serde(skip_serializing_if = "Option::is_none")]
7834    pub errparam: Option<serde_json::Value>,
7835}
7836
7837/// WebapiPostPullRequestReviewCommentForm 模型
7838#[derive(Debug, Clone, Serialize, Deserialize)]
7839pub struct WebapiPostPullRequestReviewCommentForm {
7840    #[serde(skip_serializing_if = "Option::is_none")]
7841    pub path: Option<String>,
7842    #[serde(skip_serializing_if = "Option::is_none")]
7843    pub end_side: Option<String>,
7844    #[serde(skip_serializing_if = "Option::is_none")]
7845    pub body: Option<String>,
7846    #[serde(skip_serializing_if = "Option::is_none")]
7847    pub subject_type: Option<String>,
7848    #[serde(skip_serializing_if = "Option::is_none")]
7849    pub start_line: Option<i64>,
7850    #[serde(skip_serializing_if = "Option::is_none")]
7851    pub end_line: Option<i64>,
7852    #[serde(skip_serializing_if = "Option::is_none")]
7853    pub start_side: Option<String>,
7854}
7855
7856/// ConstantUserType 模型
7857#[derive(Debug, Clone, Serialize, Deserialize)]
7858pub struct ConstantUserType {
7859}
7860
7861/// DtoBuildStageResult 模型
7862#[derive(Debug, Clone, Serialize, Deserialize)]
7863pub struct DtoBuildStageResult {
7864    #[serde(skip_serializing_if = "Option::is_none")]
7865    pub id: Option<String>,
7866    #[serde(skip_serializing_if = "Option::is_none")]
7867    pub duration: Option<i64>,
7868    #[serde(skip_serializing_if = "Option::is_none")]
7869    pub content: Option<Vec<String>>,
7870    #[serde(skip_serializing_if = "Option::is_none")]
7871    pub name: Option<String>,
7872    #[serde(skip_serializing_if = "Option::is_none")]
7873    pub error: Option<String>,
7874    #[serde(skip_serializing_if = "Option::is_none")]
7875    pub start_time: Option<i64>,
7876    #[serde(skip_serializing_if = "Option::is_none")]
7877    pub end_time: Option<i64>,
7878    #[serde(skip_serializing_if = "Option::is_none")]
7879    pub status: Option<String>,
7880}
7881
7882/// WebapiCreateTagForm 模型
7883#[derive(Debug, Clone, Serialize, Deserialize)]
7884pub struct WebapiCreateTagForm {
7885    #[serde(skip_serializing_if = "Option::is_none")]
7886    pub target: Option<String>,
7887    #[serde(skip_serializing_if = "Option::is_none")]
7888    pub message: Option<String>,
7889    #[serde(skip_serializing_if = "Option::is_none")]
7890    pub name: Option<String>,
7891}
7892
7893/// WebCodeSensitiveDetail 模型
7894#[derive(Debug, Clone, Serialize, Deserialize)]
7895pub struct WebCodeSensitiveDetail {
7896    #[serde(skip_serializing_if = "Option::is_none")]
7897    pub cs_sub_type: Option<serde_json::Value>,
7898    #[serde(skip_serializing_if = "Option::is_none")]
7899    pub cs_type: Option<serde_json::Value>,
7900    #[serde(skip_serializing_if = "Option::is_none")]
7901    pub raw_author: Option<serde_json::Value>,
7902    #[serde(skip_serializing_if = "Option::is_none")]
7903    pub file_name: Option<String>,
7904    #[serde(skip_serializing_if = "Option::is_none")]
7905    pub file_path: Option<String>,
7906    #[serde(skip_serializing_if = "Option::is_none")]
7907    pub revision: Option<String>,
7908    #[serde(skip_serializing_if = "Option::is_none")]
7909    pub tool: Option<String>,
7910    #[serde(skip_serializing_if = "Option::is_none")]
7911    pub ignore_reason: Option<String>,
7912    #[serde(skip_serializing_if = "Option::is_none")]
7913    pub risk_level: Option<String>,
7914    #[serde(skip_serializing_if = "Option::is_none")]
7915    pub state: Option<String>,
7916    #[serde(skip_serializing_if = "Option::is_none")]
7917    pub reopen_handler: Option<serde_json::Value>,
7918    #[serde(skip_serializing_if = "Option::is_none")]
7919    pub issue_detail: Option<Vec<serde_json::Value>>,
7920    #[serde(skip_serializing_if = "Option::is_none")]
7921    pub reopen_at: Option<String>,
7922    #[serde(skip_serializing_if = "Option::is_none")]
7923    pub id: Option<String>,
7924    #[serde(skip_serializing_if = "Option::is_none")]
7925    pub created_at: Option<String>,
7926    #[serde(skip_serializing_if = "Option::is_none")]
7927    pub occur_version: Option<String>,
7928    #[serde(skip_serializing_if = "Option::is_none")]
7929    pub handler: Option<serde_json::Value>,
7930    #[serde(skip_serializing_if = "Option::is_none")]
7931    pub ignored_at: Option<String>,
7932    #[serde(skip_serializing_if = "Option::is_none")]
7933    pub line_no: Option<Vec<i64>>,
7934    #[serde(skip_serializing_if = "Option::is_none")]
7935    pub owner: Option<serde_json::Value>,
7936}
7937
7938/// OpenapiPutCommitAnnotationsForm 模型
7939#[derive(Debug, Clone, Serialize, Deserialize)]
7940pub struct OpenapiPutCommitAnnotationsForm {
7941    #[serde(skip_serializing_if = "Option::is_none")]
7942    pub annotations: Option<Vec<serde_json::Value>>,
7943}
7944
7945/// WebPullRawDiff 模型
7946#[derive(Debug, Clone, Serialize, Deserialize)]
7947pub struct WebPullRawDiff {
7948    #[serde(skip_serializing_if = "Option::is_none")]
7949    pub base_commit: Option<String>,
7950    #[serde(skip_serializing_if = "Option::is_none")]
7951    pub diff: Option<String>,
7952    #[serde(skip_serializing_if = "Option::is_none")]
7953    pub merge_base_commit: Option<String>,
7954    #[serde(skip_serializing_if = "Option::is_none")]
7955    pub head_commit: Option<String>,
7956}
7957
7958/// DtoMissionViewSelector 模型
7959#[derive(Debug, Clone, Serialize, Deserialize)]
7960pub struct DtoMissionViewSelector {
7961    #[serde(skip_serializing_if = "Option::is_none")]
7962    pub value: Option<Vec<String>>,
7963    #[serde(skip_serializing_if = "Option::is_none")]
7964    pub field: Option<String>,
7965    #[serde(skip_serializing_if = "Option::is_none")]
7966    pub operator: Option<serde_json::Value>,
7967}
7968
7969/// WebSubEntry 模型
7970#[derive(Debug, Clone, Serialize, Deserialize)]
7971pub struct WebSubEntry {
7972    #[serde(skip_serializing_if = "Option::is_none")]
7973    pub r#type: Option<String>,
7974    #[serde(skip_serializing_if = "Option::is_none")]
7975    pub path: Option<String>,
7976    #[serde(skip_serializing_if = "Option::is_none")]
7977    pub name: Option<String>,
7978    #[serde(skip_serializing_if = "Option::is_none")]
7979    pub sha: Option<String>,
7980}
7981
7982/// WebapiPutCommitAnnotationsForm 模型
7983#[derive(Debug, Clone, Serialize, Deserialize)]
7984pub struct WebapiPutCommitAnnotationsForm {
7985    #[serde(skip_serializing_if = "Option::is_none")]
7986    pub annotations: Option<Vec<serde_json::Value>>,
7987}
7988
7989/// WebRecommendBranchNameResponse 模型
7990#[derive(Debug, Clone, Serialize, Deserialize)]
7991pub struct WebRecommendBranchNameResponse {
7992    #[serde(skip_serializing_if = "Option::is_none")]
7993    pub name: Option<String>,
7994}
7995
7996/// WebComparedRawDiff 模型
7997#[derive(Debug, Clone, Serialize, Deserialize)]
7998pub struct WebComparedRawDiff {
7999    #[serde(skip_serializing_if = "Option::is_none")]
8000    pub diff: Option<String>,
8001    #[serde(skip_serializing_if = "Option::is_none")]
8002    pub straight: Option<bool>,
8003    #[serde(skip_serializing_if = "Option::is_none")]
8004    pub base_commit: Option<String>,
8005    #[serde(skip_serializing_if = "Option::is_none")]
8006    pub head_commit: Option<String>,
8007    #[serde(skip_serializing_if = "Option::is_none")]
8008    pub merge_base_commit: Option<String>,
8009}
8010
8011/// ApiContent 模型
8012#[derive(Debug, Clone, Serialize, Deserialize)]
8013pub struct ApiContent {
8014    #[serde(skip_serializing_if = "Option::is_none")]
8015    pub encoding: Option<String>,
8016    #[serde(skip_serializing_if = "Option::is_none")]
8017    pub entries: Option<Vec<serde_json::Value>>,
8018    #[serde(skip_serializing_if = "Option::is_none")]
8019    pub path: Option<String>,
8020    #[serde(skip_serializing_if = "Option::is_none")]
8021    pub r#type: Option<String>,
8022    #[serde(skip_serializing_if = "Option::is_none")]
8023    pub size: Option<i64>,
8024    #[serde(skip_serializing_if = "Option::is_none")]
8025    pub name: Option<String>,
8026    #[serde(skip_serializing_if = "Option::is_none")]
8027    pub content: Option<String>,
8028    #[serde(skip_serializing_if = "Option::is_none")]
8029    pub sha: Option<String>,
8030    #[serde(skip_serializing_if = "Option::is_none")]
8031    pub lfs_download_url: Option<String>,
8032}
8033
8034/// DtoOrganizationUnion 模型
8035#[derive(Debug, Clone, Serialize, Deserialize)]
8036pub struct DtoOrganizationUnion {
8037    #[serde(skip_serializing_if = "Option::is_none")]
8038    pub path: Option<String>,
8039    #[serde(skip_serializing_if = "Option::is_none")]
8040    pub email: Option<String>,
8041    #[serde(skip_serializing_if = "Option::is_none")]
8042    pub id: Option<i64>,
8043    #[serde(skip_serializing_if = "Option::is_none")]
8044    pub sub_group_count: Option<i64>,
8045    #[serde(skip_serializing_if = "Option::is_none")]
8046    pub sub_mission_count: Option<i64>,
8047    #[serde(skip_serializing_if = "Option::is_none")]
8048    pub all_sub_group_count: Option<i64>,
8049    #[serde(skip_serializing_if = "Option::is_none")]
8050    pub all_sub_registry_count: Option<i64>,
8051    #[serde(skip_serializing_if = "Option::is_none")]
8052    pub all_sub_mission_count: Option<i64>,
8053    #[serde(skip_serializing_if = "Option::is_none")]
8054    pub wechat_mp: Option<String>,
8055    #[serde(skip_serializing_if = "Option::is_none")]
8056    pub all_member_count: Option<i64>,
8057    #[serde(skip_serializing_if = "Option::is_none")]
8058    pub all_sub_repo_count: Option<i64>,
8059    #[serde(skip_serializing_if = "Option::is_none")]
8060    pub member_count: Option<i64>,
8061    #[serde(skip_serializing_if = "Option::is_none")]
8062    pub has_sub_group: Option<bool>,
8063    #[serde(skip_serializing_if = "Option::is_none")]
8064    pub follow_count: Option<i64>,
8065    #[serde(skip_serializing_if = "Option::is_none")]
8066    pub site: Option<String>,
8067    #[serde(skip_serializing_if = "Option::is_none")]
8068    pub sub_repo_count: Option<i64>,
8069    #[serde(skip_serializing_if = "Option::is_none")]
8070    pub description: Option<String>,
8071    #[serde(skip_serializing_if = "Option::is_none")]
8072    pub domain: Option<String>,
8073    #[serde(skip_serializing_if = "Option::is_none")]
8074    pub freeze: Option<bool>,
8075    #[serde(skip_serializing_if = "Option::is_none")]
8076    pub name: Option<String>,
8077    #[serde(skip_serializing_if = "Option::is_none")]
8078    pub updated_at: Option<String>,
8079    #[serde(skip_serializing_if = "Option::is_none")]
8080    pub remark: Option<String>,
8081    #[serde(skip_serializing_if = "Option::is_none")]
8082    pub sub_registry_count: Option<i64>,
8083    #[serde(skip_serializing_if = "Option::is_none")]
8084    pub created_at: Option<String>,
8085}
8086
8087/// WebGitGcStat 模型
8088#[derive(Debug, Clone, Serialize, Deserialize)]
8089pub struct WebGitGcStat {
8090    #[serde(skip_serializing_if = "Option::is_none")]
8091    pub gc_stat: Option<String>,
8092}
8093
8094/// WebCommitAsset 模型
8095#[derive(Debug, Clone, Serialize, Deserialize)]
8096pub struct WebCommitAsset {
8097    #[serde(skip_serializing_if = "Option::is_none")]
8098    pub updated_at: Option<String>,
8099    #[serde(skip_serializing_if = "Option::is_none")]
8100    pub name: Option<String>,
8101    #[serde(skip_serializing_if = "Option::is_none")]
8102    pub created_at: Option<String>,
8103    #[serde(skip_serializing_if = "Option::is_none")]
8104    pub size_in_byte: Option<i64>,
8105    #[serde(skip_serializing_if = "Option::is_none")]
8106    pub path: Option<String>,
8107    #[serde(skip_serializing_if = "Option::is_none")]
8108    pub content_type: Option<String>,
8109    #[serde(skip_serializing_if = "Option::is_none")]
8110    pub author: Option<serde_json::Value>,
8111    #[serde(skip_serializing_if = "Option::is_none")]
8112    pub id: Option<String>,
8113}
8114
8115/// DtoResourceBindInfo 模型
8116#[derive(Debug, Clone, Serialize, Deserialize)]
8117pub struct DtoResourceBindInfo {
8118    #[serde(skip_serializing_if = "Option::is_none")]
8119    pub nick: Option<String>,
8120    #[serde(skip_serializing_if = "Option::is_none")]
8121    pub code: Option<String>,
8122    #[serde(skip_serializing_if = "Option::is_none")]
8123    pub expire_at: Option<String>,
8124    #[serde(skip_serializing_if = "Option::is_none")]
8125    pub slug: Option<String>,
8126    #[serde(skip_serializing_if = "Option::is_none")]
8127    pub name: Option<String>,
8128    #[serde(skip_serializing_if = "Option::is_none")]
8129    pub url_data: Option<String>,
8130}
8131
8132/// DtoCodeVulnerabilityCompVersion 模型
8133#[derive(Debug, Clone, Serialize, Deserialize)]
8134pub struct DtoCodeVulnerabilityCompVersion {
8135    #[serde(skip_serializing_if = "Option::is_none")]
8136    pub file_path: Option<String>,
8137    #[serde(skip_serializing_if = "Option::is_none")]
8138    pub purl_namespace: Option<String>,
8139    #[serde(skip_serializing_if = "Option::is_none")]
8140    pub id: Option<String>,
8141    #[serde(skip_serializing_if = "Option::is_none")]
8142    pub commit_id: Option<String>,
8143    #[serde(skip_serializing_if = "Option::is_none")]
8144    pub comp_name: Option<String>,
8145    #[serde(skip_serializing_if = "Option::is_none")]
8146    pub created_at: Option<String>,
8147    #[serde(skip_serializing_if = "Option::is_none")]
8148    pub vul_id: Option<String>,
8149    #[serde(skip_serializing_if = "Option::is_none")]
8150    pub comp_version: Option<String>,
8151}
8152
8153/// WebPullRequestRepository 模型
8154#[derive(Debug, Clone, Serialize, Deserialize)]
8155pub struct WebPullRequestRepository {
8156    #[serde(skip_serializing_if = "Option::is_none")]
8157    pub r#ref: Option<String>,
8158    #[serde(skip_serializing_if = "Option::is_none")]
8159    pub access_role: Option<i64>,
8160    #[serde(skip_serializing_if = "Option::is_none")]
8161    pub usage: Option<serde_json::Value>,
8162    #[serde(skip_serializing_if = "Option::is_none")]
8163    pub slug: Option<String>,
8164    #[serde(skip_serializing_if = "Option::is_none")]
8165    pub deleted: Option<bool>,
8166}
8167
8168/// ApiBranch 模型
8169#[derive(Debug, Clone, Serialize, Deserialize)]
8170pub struct ApiBranch {
8171    #[serde(skip_serializing_if = "Option::is_none")]
8172    pub protected: Option<bool>,
8173    #[serde(skip_serializing_if = "Option::is_none")]
8174    pub name: Option<String>,
8175    #[serde(skip_serializing_if = "Option::is_none")]
8176    pub commit: Option<serde_json::Value>,
8177}
8178
8179/// WebFieldInfo 模型
8180#[derive(Debug, Clone, Serialize, Deserialize)]
8181pub struct WebFieldInfo {
8182    #[serde(skip_serializing_if = "Option::is_none")]
8183    pub status: Option<serde_json::Value>,
8184    #[serde(skip_serializing_if = "Option::is_none")]
8185    pub priority: Option<serde_json::Value>,
8186}
8187
8188/// WebGitUsage 模型
8189#[derive(Debug, Clone, Serialize, Deserialize)]
8190pub struct WebGitUsage {
8191    #[serde(skip_serializing_if = "Option::is_none")]
8192    pub lfs_limit_in_kib: Option<String>,
8193    #[serde(skip_serializing_if = "Option::is_none")]
8194    pub used_in_kib: Option<String>,
8195    #[serde(skip_serializing_if = "Option::is_none")]
8196    pub git_quota_in_kib: Option<String>,
8197    #[serde(skip_serializing_if = "Option::is_none")]
8198    pub lfs_object_size_limit_in_kib: Option<String>,
8199    #[serde(skip_serializing_if = "Option::is_none")]
8200    pub git_object_size_limit_in_kib: Option<String>,
8201    #[serde(skip_serializing_if = "Option::is_none")]
8202    pub physical_lfs_used_in_kib: Option<String>,
8203    #[serde(skip_serializing_if = "Option::is_none")]
8204    pub lfs_used_in_kib: Option<String>,
8205    #[serde(skip_serializing_if = "Option::is_none")]
8206    pub git_used_in_kib: Option<String>,
8207    #[serde(skip_serializing_if = "Option::is_none")]
8208    pub max_git_object_size_limit_in_kib: Option<String>,
8209    #[serde(skip_serializing_if = "Option::is_none")]
8210    pub lfs_quota_in_kib: Option<String>,
8211    #[serde(skip_serializing_if = "Option::is_none")]
8212    pub limit_in_kib: Option<String>,
8213    #[serde(skip_serializing_if = "Option::is_none")]
8214    pub logical_lfs_used_in_kib: Option<String>,
8215    #[serde(skip_serializing_if = "Option::is_none")]
8216    pub max_lfs_object_size_limit_in_kib: Option<String>,
8217}
8218
8219/// DtoUsersResult 模型
8220#[derive(Debug, Clone, Serialize, Deserialize)]
8221pub struct DtoUsersResult {
8222    #[serde(skip_serializing_if = "Option::is_none")]
8223    pub is_following: Option<bool>,
8224    #[serde(skip_serializing_if = "Option::is_none")]
8225    pub locked: Option<bool>,
8226    #[serde(skip_serializing_if = "Option::is_none")]
8227    pub gender: Option<i64>,
8228    #[serde(skip_serializing_if = "Option::is_none")]
8229    pub verified: Option<i64>,
8230    #[serde(skip_serializing_if = "Option::is_none")]
8231    pub username: Option<String>,
8232    #[serde(skip_serializing_if = "Option::is_none")]
8233    pub company: Option<String>,
8234    #[serde(skip_serializing_if = "Option::is_none")]
8235    pub wechat_mp_qrcode: Option<String>,
8236    #[serde(skip_serializing_if = "Option::is_none")]
8237    pub repo_count: Option<i64>,
8238    #[serde(skip_serializing_if = "Option::is_none")]
8239    pub verified_expire_in: Option<String>,
8240    #[serde(skip_serializing_if = "Option::is_none")]
8241    pub r#type: Option<serde_json::Value>,
8242    #[serde(skip_serializing_if = "Option::is_none")]
8243    pub reward_amount: Option<i64>,
8244    #[serde(skip_serializing_if = "Option::is_none")]
8245    pub site: Option<String>,
8246    #[serde(skip_serializing_if = "Option::is_none")]
8247    pub registry_count: Option<i64>,
8248    #[serde(skip_serializing_if = "Option::is_none")]
8249    pub avatar: Option<String>,
8250    #[serde(skip_serializing_if = "Option::is_none")]
8251    pub follow_mission_count: Option<i64>,
8252    #[serde(skip_serializing_if = "Option::is_none")]
8253    pub stars_count: Option<i64>,
8254    #[serde(skip_serializing_if = "Option::is_none")]
8255    pub follower_count: Option<i64>,
8256    #[serde(skip_serializing_if = "Option::is_none")]
8257    pub email: Option<String>,
8258    #[serde(skip_serializing_if = "Option::is_none")]
8259    pub appreciate_status: Option<i64>,
8260    #[serde(skip_serializing_if = "Option::is_none")]
8261    pub mission_count: Option<i64>,
8262    #[serde(skip_serializing_if = "Option::is_none")]
8263    pub location: Option<String>,
8264    #[serde(skip_serializing_if = "Option::is_none")]
8265    pub nickname: Option<String>,
8266    #[serde(skip_serializing_if = "Option::is_none")]
8267    pub id: Option<String>,
8268    #[serde(skip_serializing_if = "Option::is_none")]
8269    pub follow_repo_count: Option<i64>,
8270    #[serde(skip_serializing_if = "Option::is_none")]
8271    pub address: Option<String>,
8272    #[serde(skip_serializing_if = "Option::is_none")]
8273    pub follow_count: Option<i64>,
8274    #[serde(skip_serializing_if = "Option::is_none")]
8275    pub reward_count: Option<i64>,
8276    #[serde(skip_serializing_if = "Option::is_none")]
8277    pub wechat_mp: Option<String>,
8278    #[serde(skip_serializing_if = "Option::is_none")]
8279    pub bio: Option<String>,
8280    #[serde(skip_serializing_if = "Option::is_none")]
8281    pub created_at: Option<String>,
8282    #[serde(skip_serializing_if = "Option::is_none")]
8283    pub freeze: Option<bool>,
8284    #[serde(skip_serializing_if = "Option::is_none")]
8285    pub group_count: Option<i64>,
8286}
8287
8288/// DtoForks 模型
8289#[derive(Debug, Clone, Serialize, Deserialize)]
8290pub struct DtoForks {
8291    #[serde(skip_serializing_if = "Option::is_none")]
8292    pub path: Option<String>,
8293    #[serde(skip_serializing_if = "Option::is_none")]
8294    pub created_at: Option<String>,
8295    #[serde(skip_serializing_if = "Option::is_none")]
8296    pub freeze: Option<bool>,
8297    #[serde(skip_serializing_if = "Option::is_none")]
8298    pub username: Option<String>,
8299    #[serde(skip_serializing_if = "Option::is_none")]
8300    pub user_freeze: Option<bool>,
8301    #[serde(skip_serializing_if = "Option::is_none")]
8302    pub fork_count: Option<i64>,
8303    #[serde(skip_serializing_if = "Option::is_none")]
8304    pub nickname: Option<String>,
8305    #[serde(skip_serializing_if = "Option::is_none")]
8306    pub user_lock: Option<bool>,
8307}
8308
8309/// DtoQuota 模型
8310#[derive(Debug, Clone, Serialize, Deserialize)]
8311pub struct DtoQuota {
8312    #[serde(skip_serializing_if = "Option::is_none")]
8313    pub hard: Option<serde_json::Value>,
8314}
8315
8316/// EnumsCodeScanIgnoreReason 模型
8317#[derive(Debug, Clone, Serialize, Deserialize)]
8318pub struct EnumsCodeScanIgnoreReason {
8319}
8320
8321/// WebIssueTemplates 模型
8322#[derive(Debug, Clone, Serialize, Deserialize)]
8323pub struct WebIssueTemplates {
8324    #[serde(skip_serializing_if = "Option::is_none")]
8325    pub templates: Option<Vec<serde_json::Value>>,
8326}
8327
8328/// DtoThreshold 模型
8329#[derive(Debug, Clone, Serialize, Deserialize)]
8330pub struct DtoThreshold {
8331}
8332
8333/// DtoCommonRegistryCleanDetail 模型
8334#[derive(Debug, Clone, Serialize, Deserialize)]
8335pub struct DtoCommonRegistryCleanDetail {
8336    #[serde(skip_serializing_if = "Option::is_none")]
8337    pub clean_policy: Option<serde_json::Value>,
8338    #[serde(skip_serializing_if = "Option::is_none")]
8339    pub artifact_num: Option<i64>,
8340    #[serde(skip_serializing_if = "Option::is_none")]
8341    pub status: Option<serde_json::Value>,
8342}
8343
8344/// GitWoaComCnbMonorepoGitInternalDtoWebUserInfo 模型
8345#[derive(Debug, Clone, Serialize, Deserialize)]
8346pub struct GitWoaComCnbMonorepoGitInternalDtoWebUserInfo {
8347    #[serde(skip_serializing_if = "Option::is_none")]
8348    pub nickname: Option<String>,
8349    #[serde(skip_serializing_if = "Option::is_none")]
8350    pub freeze: Option<bool>,
8351    #[serde(skip_serializing_if = "Option::is_none")]
8352    pub username: Option<String>,
8353}
8354
8355/// WebRepoLicense 模型
8356#[derive(Debug, Clone, Serialize, Deserialize)]
8357pub struct WebRepoLicense {
8358    #[serde(skip_serializing_if = "Option::is_none")]
8359    pub file_name: Option<String>,
8360    #[serde(skip_serializing_if = "Option::is_none")]
8361    pub license: Option<String>,
8362}
8363
8364/// WebCommitFiles 模型
8365#[derive(Debug, Clone, Serialize, Deserialize)]
8366pub struct WebCommitFiles {
8367    #[serde(skip_serializing_if = "Option::is_none")]
8368    pub base_commit: Option<String>,
8369    #[serde(skip_serializing_if = "Option::is_none")]
8370    pub diff: Option<serde_json::Value>,
8371    #[serde(skip_serializing_if = "Option::is_none")]
8372    pub straight: Option<bool>,
8373    #[serde(skip_serializing_if = "Option::is_none")]
8374    pub head_commit: Option<String>,
8375}
8376
8377/// DtoMember4GetAllMembersByRoot 模型
8378#[derive(Debug, Clone, Serialize, Deserialize)]
8379pub struct DtoMember4GetAllMembersByRoot {
8380    #[serde(skip_serializing_if = "Option::is_none")]
8381    pub id: Option<String>,
8382    #[serde(skip_serializing_if = "Option::is_none")]
8383    pub nickname: Option<String>,
8384    #[serde(skip_serializing_if = "Option::is_none")]
8385    pub email: Option<String>,
8386    #[serde(skip_serializing_if = "Option::is_none")]
8387    pub freeze: Option<bool>,
8388    #[serde(skip_serializing_if = "Option::is_none")]
8389    pub join_time: Option<String>,
8390    #[serde(skip_serializing_if = "Option::is_none")]
8391    pub access_level: Option<serde_json::Value>,
8392    #[serde(skip_serializing_if = "Option::is_none")]
8393    pub inviter: Option<serde_json::Value>,
8394    #[serde(skip_serializing_if = "Option::is_none")]
8395    pub avatar: Option<String>,
8396    #[serde(skip_serializing_if = "Option::is_none")]
8397    pub path: Option<String>,
8398    #[serde(skip_serializing_if = "Option::is_none")]
8399    pub locked: Option<bool>,
8400    #[serde(skip_serializing_if = "Option::is_none")]
8401    pub verified: Option<i64>,
8402    #[serde(skip_serializing_if = "Option::is_none")]
8403    pub created_at: Option<String>,
8404    #[serde(skip_serializing_if = "Option::is_none")]
8405    pub verified_expire_in: Option<String>,
8406    #[serde(skip_serializing_if = "Option::is_none")]
8407    pub r#type: Option<serde_json::Value>,
8408    #[serde(skip_serializing_if = "Option::is_none")]
8409    pub username: Option<String>,
8410    #[serde(skip_serializing_if = "Option::is_none")]
8411    pub user_freeze: Option<bool>,
8412}
8413
8414/// WebBranch 模型
8415#[derive(Debug, Clone, Serialize, Deserialize)]
8416pub struct WebBranch {
8417    #[serde(skip_serializing_if = "Option::is_none")]
8418    pub name: Option<String>,
8419    #[serde(skip_serializing_if = "Option::is_none")]
8420    pub commit: Option<serde_json::Value>,
8421    #[serde(skip_serializing_if = "Option::is_none")]
8422    pub is_protected: Option<bool>,
8423}
8424
8425/// WebDeferredBranch 模型
8426#[derive(Debug, Clone, Serialize, Deserialize)]
8427pub struct WebDeferredBranch {
8428    #[serde(skip_serializing_if = "Option::is_none")]
8429    pub ahead_behind: Option<serde_json::Value>,
8430    #[serde(skip_serializing_if = "Option::is_none")]
8431    pub oid: Option<String>,
8432}
8433
8434/// DtoRegistryPatch 模型
8435#[derive(Debug, Clone, Serialize, Deserialize)]
8436pub struct DtoRegistryPatch {
8437    #[serde(skip_serializing_if = "Option::is_none")]
8438    pub description: Option<String>,
8439}
8440
8441/// DtoMissionViewSortOrder 模型
8442#[derive(Debug, Clone, Serialize, Deserialize)]
8443pub struct DtoMissionViewSortOrder {
8444}
8445
8446/// WebPullRequestActivity 模型
8447#[derive(Debug, Clone, Serialize, Deserialize)]
8448pub struct WebPullRequestActivity {
8449    #[serde(skip_serializing_if = "Option::is_none")]
8450    pub id: Option<String>,
8451    #[serde(skip_serializing_if = "Option::is_none")]
8452    pub created_at: Option<String>,
8453    #[serde(skip_serializing_if = "Option::is_none")]
8454    pub actor_meta: Option<Vec<i64>>,
8455    #[serde(skip_serializing_if = "Option::is_none")]
8456    pub payload: Option<serde_json::Value>,
8457    #[serde(skip_serializing_if = "Option::is_none")]
8458    pub r#type: Option<String>,
8459    #[serde(skip_serializing_if = "Option::is_none")]
8460    pub actor: Option<serde_json::Value>,
8461    #[serde(skip_serializing_if = "Option::is_none")]
8462    pub actor_access_role: Option<String>,
8463    #[serde(skip_serializing_if = "Option::is_none")]
8464    pub submitted_at: Option<String>,
8465}
8466
8467/// DtoFile 模型
8468#[derive(Debug, Clone, Serialize, Deserialize)]
8469pub struct DtoFile {
8470    #[serde(skip_serializing_if = "Option::is_none")]
8471    pub name: Option<String>,
8472    #[serde(skip_serializing_if = "Option::is_none")]
8473    pub size: Option<i64>,
8474}
8475
8476/// WebExpandBlob 模型
8477#[derive(Debug, Clone, Serialize, Deserialize)]
8478pub struct WebExpandBlob {
8479    #[serde(skip_serializing_if = "Option::is_none")]
8480    pub lines: Option<Vec<String>>,
8481}
8482
8483/// DtoExploreList 模型
8484#[derive(Debug, Clone, Serialize, Deserialize)]
8485pub struct DtoExploreList {
8486    #[serde(skip_serializing_if = "Option::is_none")]
8487    pub explore_type: Option<String>,
8488    #[serde(skip_serializing_if = "Option::is_none")]
8489    pub explore_repos: Option<Vec<serde_json::Value>>,
8490    #[serde(skip_serializing_if = "Option::is_none")]
8491    pub explore_users: Option<Vec<serde_json::Value>>,
8492}
8493
8494/// WebCommitRevert 模型
8495#[derive(Debug, Clone, Serialize, Deserialize)]
8496pub struct WebCommitRevert {
8497    #[serde(skip_serializing_if = "Option::is_none")]
8498    pub revert_commit: Option<serde_json::Value>,
8499    #[serde(skip_serializing_if = "Option::is_none")]
8500    pub has_conflicts: Option<bool>,
8501    #[serde(skip_serializing_if = "Option::is_none")]
8502    pub pull_request_number: Option<String>,
8503    #[serde(skip_serializing_if = "Option::is_none")]
8504    pub revert_ref: Option<String>,
8505}
8506
8507/// WebTreeInfoEntry 模型
8508#[derive(Debug, Clone, Serialize, Deserialize)]
8509pub struct WebTreeInfoEntry {
8510    #[serde(skip_serializing_if = "Option::is_none")]
8511    pub name: Option<String>,
8512    #[serde(skip_serializing_if = "Option::is_none")]
8513    pub path: Option<String>,
8514    #[serde(skip_serializing_if = "Option::is_none")]
8515    pub last_commit: Option<serde_json::Value>,
8516}
8517
8518/// WebDeferredCommit 模型
8519#[derive(Debug, Clone, Serialize, Deserialize)]
8520pub struct WebDeferredCommit {
8521    #[serde(skip_serializing_if = "Option::is_none")]
8522    pub status_check_statuses: Option<serde_json::Value>,
8523    #[serde(skip_serializing_if = "Option::is_none")]
8524    pub signature_information: Option<serde_json::Value>,
8525    #[serde(skip_serializing_if = "Option::is_none")]
8526    pub verified_status: Option<String>,
8527    #[serde(skip_serializing_if = "Option::is_none")]
8528    pub oid: Option<String>,
8529}
8530
8531/// DtoWorkspaceListResult 模型
8532#[derive(Debug, Clone, Serialize, Deserialize)]
8533pub struct DtoWorkspaceListResult {
8534    #[serde(skip_serializing_if = "Option::is_none")]
8535    pub list: Option<Vec<serde_json::Value>>,
8536    #[serde(skip_serializing_if = "Option::is_none")]
8537    pub has_more: Option<bool>,
8538    #[serde(skip_serializing_if = "Option::is_none")]
8539    pub total: Option<i64>,
8540    #[serde(skip_serializing_if = "Option::is_none")]
8541    pub page_info: Option<serde_json::Value>,
8542}
8543
8544/// DtoContainerImage 模型
8545#[derive(Debug, Clone, Serialize, Deserialize)]
8546pub struct DtoContainerImage {
8547    #[serde(skip_serializing_if = "Option::is_none")]
8548    pub arch: Option<String>,
8549    #[serde(skip_serializing_if = "Option::is_none")]
8550    pub os: Option<String>,
8551    #[serde(skip_serializing_if = "Option::is_none")]
8552    pub layers: Option<Vec<serde_json::Value>>,
8553    #[serde(skip_serializing_if = "Option::is_none")]
8554    pub size: Option<i64>,
8555    #[serde(skip_serializing_if = "Option::is_none")]
8556    pub digest: Option<String>,
8557}
8558
8559/// DtoDashboardStar 模型
8560#[derive(Debug, Clone, Serialize, Deserialize)]
8561pub struct DtoDashboardStar {
8562    #[serde(skip_serializing_if = "Option::is_none")]
8563    pub resource_type: Option<serde_json::Value>,
8564    #[serde(skip_serializing_if = "Option::is_none")]
8565    pub group: Option<serde_json::Value>,
8566    #[serde(skip_serializing_if = "Option::is_none")]
8567    pub mission: Option<serde_json::Value>,
8568    #[serde(skip_serializing_if = "Option::is_none")]
8569    pub repo: Option<serde_json::Value>,
8570}
8571
8572/// WebLabelWithCount 模型
8573#[derive(Debug, Clone, Serialize, Deserialize)]
8574pub struct WebLabelWithCount {
8575    #[serde(skip_serializing_if = "Option::is_none")]
8576    pub description: Option<String>,
8577    #[serde(skip_serializing_if = "Option::is_none")]
8578    pub id: Option<String>,
8579    #[serde(skip_serializing_if = "Option::is_none")]
8580    pub pull_request_count: Option<i64>,
8581    #[serde(skip_serializing_if = "Option::is_none")]
8582    pub updated_at: Option<String>,
8583    #[serde(skip_serializing_if = "Option::is_none")]
8584    pub color: Option<String>,
8585    #[serde(skip_serializing_if = "Option::is_none")]
8586    pub created_at: Option<String>,
8587    #[serde(skip_serializing_if = "Option::is_none")]
8588    pub issue_count: Option<i64>,
8589    #[serde(skip_serializing_if = "Option::is_none")]
8590    pub name: Option<String>,
8591}
8592
8593/// WebRepository 模型
8594#[derive(Debug, Clone, Serialize, Deserialize)]
8595pub struct WebRepository {
8596    #[serde(skip_serializing_if = "Option::is_none")]
8597    pub slug: Option<String>,
8598    #[serde(skip_serializing_if = "Option::is_none")]
8599    pub ssh_clone_url: Option<String>,
8600    #[serde(skip_serializing_if = "Option::is_none")]
8601    pub head_ref: Option<String>,
8602    #[serde(skip_serializing_if = "Option::is_none")]
8603    pub usage: Option<serde_json::Value>,
8604    #[serde(skip_serializing_if = "Option::is_none")]
8605    pub http_clone_url: Option<String>,
8606}
8607
8608/// ApiLabel 模型
8609#[derive(Debug, Clone, Serialize, Deserialize)]
8610pub struct ApiLabel {
8611    #[serde(skip_serializing_if = "Option::is_none")]
8612    pub description: Option<String>,
8613    #[serde(skip_serializing_if = "Option::is_none")]
8614    pub name: Option<String>,
8615    #[serde(skip_serializing_if = "Option::is_none")]
8616    pub color: Option<String>,
8617    #[serde(skip_serializing_if = "Option::is_none")]
8618    pub id: Option<String>,
8619}
8620
8621/// DtoDockerModelPackageDetail 模型
8622#[derive(Debug, Clone, Serialize, Deserialize)]
8623pub struct DtoDockerModelPackageDetail {
8624    #[serde(skip_serializing_if = "Option::is_none")]
8625    pub tags: Option<Vec<serde_json::Value>>,
8626    #[serde(skip_serializing_if = "Option::is_none")]
8627    pub slug: Option<String>,
8628    #[serde(skip_serializing_if = "Option::is_none")]
8629    pub tag_total: Option<i64>,
8630    #[serde(skip_serializing_if = "Option::is_none")]
8631    pub pull_count: Option<i64>,
8632    #[serde(skip_serializing_if = "Option::is_none")]
8633    pub last_pusher: Option<serde_json::Value>,
8634    #[serde(skip_serializing_if = "Option::is_none")]
8635    pub recent_pull_count: Option<i64>,
8636    #[serde(skip_serializing_if = "Option::is_none")]
8637    pub address: Option<String>,
8638    #[serde(skip_serializing_if = "Option::is_none")]
8639    pub package: Option<String>,
8640    #[serde(skip_serializing_if = "Option::is_none")]
8641    pub desc: Option<String>,
8642}
8643
8644/// WebSignatureInformation 模型
8645#[derive(Debug, Clone, Serialize, Deserialize)]
8646pub struct WebSignatureInformation {
8647    #[serde(skip_serializing_if = "Option::is_none")]
8648    pub has_signature: Option<bool>,
8649    #[serde(skip_serializing_if = "Option::is_none")]
8650    pub verified: Option<bool>,
8651    #[serde(skip_serializing_if = "Option::is_none")]
8652    pub signature_verification_reason: Option<String>,
8653    #[serde(skip_serializing_if = "Option::is_none")]
8654    pub verified_at: Option<String>,
8655    #[serde(skip_serializing_if = "Option::is_none")]
8656    pub signed_by_cnb: Option<bool>,
8657    #[serde(skip_serializing_if = "Option::is_none")]
8658    pub signer: Option<serde_json::Value>,
8659    #[serde(skip_serializing_if = "Option::is_none")]
8660    pub key_expired: Option<bool>,
8661    #[serde(skip_serializing_if = "Option::is_none")]
8662    pub key_id: Option<String>,
8663    #[serde(skip_serializing_if = "Option::is_none")]
8664    pub signature_type: Option<String>,
8665}
8666
8667/// WebTagAnnotation 模型
8668#[derive(Debug, Clone, Serialize, Deserialize)]
8669pub struct WebTagAnnotation {
8670    #[serde(skip_serializing_if = "Option::is_none")]
8671    pub meta: Option<serde_json::Value>,
8672    #[serde(skip_serializing_if = "Option::is_none")]
8673    pub key: Option<String>,
8674    #[serde(skip_serializing_if = "Option::is_none")]
8675    pub value: Option<String>,
8676}
8677
8678/// WebapiCreatePullRequestForm 模型
8679#[derive(Debug, Clone, Serialize, Deserialize)]
8680pub struct WebapiCreatePullRequestForm {
8681    #[serde(skip_serializing_if = "Option::is_none")]
8682    pub assignees: Option<Vec<String>>,
8683    #[serde(skip_serializing_if = "Option::is_none")]
8684    pub title: Option<String>,
8685    #[serde(skip_serializing_if = "Option::is_none")]
8686    pub reviewers: Option<Vec<String>>,
8687    #[serde(skip_serializing_if = "Option::is_none")]
8688    pub head_repo_slug: Option<String>,
8689    #[serde(skip_serializing_if = "Option::is_none")]
8690    pub base_branch: Option<String>,
8691    #[serde(skip_serializing_if = "Option::is_none")]
8692    pub labels: Option<Vec<String>>,
8693    #[serde(skip_serializing_if = "Option::is_none")]
8694    pub body: Option<String>,
8695    #[serde(skip_serializing_if = "Option::is_none")]
8696    pub head_branch: Option<String>,
8697}
8698
8699/// WebapiPatchIssueAssigneesForm 模型
8700#[derive(Debug, Clone, Serialize, Deserialize)]
8701pub struct WebapiPatchIssueAssigneesForm {
8702    #[serde(skip_serializing_if = "Option::is_none")]
8703    pub assignees: Option<Vec<String>>,
8704}
8705
8706/// DtoPipelineLabel 模型
8707#[derive(Debug, Clone, Serialize, Deserialize)]
8708pub struct DtoPipelineLabel {
8709    #[serde(skip_serializing_if = "Option::is_none")]
8710    pub value: Option<Vec<String>>,
8711    #[serde(skip_serializing_if = "Option::is_none")]
8712    pub key: Option<String>,
8713}
8714
8715/// HandlerIssueNumber 模型
8716#[derive(Debug, Clone, Serialize, Deserialize)]
8717pub struct HandlerIssueNumber {
8718    #[serde(skip_serializing_if = "Option::is_none")]
8719    pub number: Option<String>,
8720}
8721
8722/// WebapiPostCommitForm 模型
8723#[derive(Debug, Clone, Serialize, Deserialize)]
8724pub struct WebapiPostCommitForm {
8725    #[serde(skip_serializing_if = "Option::is_none")]
8726    pub message: Option<String>,
8727    #[serde(skip_serializing_if = "Option::is_none")]
8728    pub files: Option<Vec<serde_json::Value>>,
8729    #[serde(skip_serializing_if = "Option::is_none")]
8730    pub new_branch: Option<String>,
8731    #[serde(skip_serializing_if = "Option::is_none")]
8732    pub parent_commit_sha: Option<String>,
8733    #[serde(skip_serializing_if = "Option::is_none")]
8734    pub base_branch: Option<String>,
8735}
8736