Skip to main content

box_open_sdk/models/schemas/
skills.rs

1// Code generated by box-gantry 0.1.0 (spec 3fb3510fe12f2f80) for Box API 2024.0. DO NOT EDIT.
2
3use super::*;
4
5#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
6pub struct KeywordSkillCard {
7    #[serde(default, skip_serializing_if = "Option::is_none")]
8    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
9    pub r#type: KeywordSkillCardType,
10    pub skill_card_type: KeywordSkillCardSkillCardType,
11    #[serde(default, skip_serializing_if = "Option::is_none")]
12    pub skill_card_title: Option<KeywordSkillCardSkillCardTitle>,
13    pub skill: KeywordSkillCardSkill,
14    pub invocation: KeywordSkillCardInvocation,
15    pub entries: Vec<KeywordSkillCardEntries>,
16}
17
18#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
19#[serde(transparent)]
20pub struct SkillCard(pub serde_json::Value);
21
22#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
23pub struct SkillCardsMetadata {
24    #[serde(rename = "$canEdit", default, skip_serializing_if = "Option::is_none")]
25    pub can_edit: Option<bool>,
26    #[serde(rename = "$id", default, skip_serializing_if = "Option::is_none")]
27    pub id: Option<String>,
28    #[serde(rename = "$parent", default, skip_serializing_if = "Option::is_none")]
29    pub parent: Option<String>,
30    #[serde(rename = "$scope", default, skip_serializing_if = "Option::is_none")]
31    pub scope: Option<String>,
32    #[serde(rename = "$template", default, skip_serializing_if = "Option::is_none")]
33    pub template: Option<String>,
34    #[serde(rename = "$type", default, skip_serializing_if = "Option::is_none")]
35    pub r#type: Option<String>,
36    #[serde(
37        rename = "$typeVersion",
38        default,
39        skip_serializing_if = "Option::is_none"
40    )]
41    pub type_version: Option<i64>,
42    #[serde(rename = "$version", default, skip_serializing_if = "Option::is_none")]
43    pub version: Option<i64>,
44    #[serde(default, skip_serializing_if = "Option::is_none")]
45    pub cards: Option<Vec<SkillCard>>,
46}
47
48#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
49pub struct StatusSkillCard {
50    #[serde(default, skip_serializing_if = "Option::is_none")]
51    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
52    pub r#type: KeywordSkillCardType,
53    pub skill_card_type: StatusSkillCardSkillCardType,
54    #[serde(default, skip_serializing_if = "Option::is_none")]
55    pub skill_card_title: Option<KeywordSkillCardSkillCardTitle>,
56    pub status: StatusSkillCardStatus,
57    pub skill: KeywordSkillCardSkill,
58    pub invocation: KeywordSkillCardInvocation,
59}
60
61#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
62pub struct TimelineSkillCard {
63    #[serde(default, skip_serializing_if = "Option::is_none")]
64    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
65    pub r#type: KeywordSkillCardType,
66    pub skill_card_type: TimelineSkillCardSkillCardType,
67    #[serde(default, skip_serializing_if = "Option::is_none")]
68    pub skill_card_title: Option<KeywordSkillCardSkillCardTitle>,
69    pub skill: KeywordSkillCardSkill,
70    pub invocation: KeywordSkillCardInvocation,
71    #[serde(default, skip_serializing_if = "Option::is_none")]
72    pub duration: Option<i64>,
73    pub entries: Vec<TimelineSkillCardEntries>,
74}
75
76#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
77pub struct TranscriptSkillCard {
78    #[serde(default, skip_serializing_if = "Option::is_none")]
79    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
80    pub r#type: KeywordSkillCardType,
81    pub skill_card_type: TranscriptSkillCardSkillCardType,
82    #[serde(default, skip_serializing_if = "Option::is_none")]
83    pub skill_card_title: Option<KeywordSkillCardSkillCardTitle>,
84    pub skill: KeywordSkillCardSkill,
85    pub invocation: KeywordSkillCardInvocation,
86    #[serde(default, skip_serializing_if = "Option::is_none")]
87    pub duration: Option<i64>,
88    pub entries: Vec<TranscriptSkillCardEntries>,
89}
90
91#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
92#[serde(transparent)]
93pub struct KeywordSkillCardType(pub String);
94
95impl KeywordSkillCardType {
96    pub const SKILL_CARD: &'static str = "skill_card";
97}
98
99#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
100#[serde(transparent)]
101pub struct KeywordSkillCardSkillCardType(pub String);
102
103impl KeywordSkillCardSkillCardType {
104    pub const KEYWORD: &'static str = "keyword";
105}
106
107#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
108pub struct KeywordSkillCardSkillCardTitle {
109    #[serde(default, skip_serializing_if = "Option::is_none")]
110    pub code: Option<String>,
111    pub message: String,
112}
113
114#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
115#[serde(transparent)]
116pub struct SkillType(pub String);
117
118impl SkillType {
119    pub const SERVICE: &'static str = "service";
120}
121
122#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
123pub struct KeywordSkillCardSkill {
124    pub r#type: SkillType,
125    pub id: String,
126}
127
128#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
129#[serde(transparent)]
130pub struct InvocationType(pub String);
131
132impl InvocationType {
133    pub const SKILL_INVOCATION: &'static str = "skill_invocation";
134}
135
136#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
137pub struct KeywordSkillCardInvocation {
138    pub r#type: InvocationType,
139    pub id: String,
140}
141
142#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
143pub struct KeywordSkillCardEntries {
144    #[serde(default, skip_serializing_if = "Option::is_none")]
145    pub text: Option<String>,
146}
147
148#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
149#[serde(transparent)]
150pub struct StatusSkillCardSkillCardType(pub String);
151
152impl StatusSkillCardSkillCardType {
153    pub const STATUS: &'static str = "status";
154}
155
156#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
157#[serde(transparent)]
158pub struct StatusCode(pub String);
159
160impl StatusCode {
161    pub const INVOKED: &'static str = "invoked";
162    pub const PROCESSING: &'static str = "processing";
163    pub const SUCCESS: &'static str = "success";
164    pub const TRANSIENT_FAILURE: &'static str = "transient_failure";
165    pub const PERMANENT_FAILURE: &'static str = "permanent_failure";
166}
167
168#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
169pub struct StatusSkillCardStatus {
170    pub code: StatusCode,
171    #[serde(default, skip_serializing_if = "Option::is_none")]
172    pub message: Option<String>,
173}
174
175#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
176#[serde(transparent)]
177pub struct TimelineSkillCardSkillCardType(pub String);
178
179impl TimelineSkillCardSkillCardType {
180    pub const TIMELINE: &'static str = "timeline";
181}
182
183#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
184pub struct EntriesAppears {
185    #[serde(default, skip_serializing_if = "Option::is_none")]
186    pub start: Option<i64>,
187    #[serde(default, skip_serializing_if = "Option::is_none")]
188    pub end: Option<i64>,
189}
190
191#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
192pub struct TimelineSkillCardEntries {
193    #[serde(default, skip_serializing_if = "Option::is_none")]
194    pub text: Option<String>,
195    #[serde(default, skip_serializing_if = "Option::is_none")]
196    pub appears: Option<Vec<EntriesAppears>>,
197    #[serde(default, skip_serializing_if = "Option::is_none")]
198    pub image_url: Option<String>,
199}
200
201#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
202#[serde(transparent)]
203pub struct TranscriptSkillCardSkillCardType(pub String);
204
205impl TranscriptSkillCardSkillCardType {
206    pub const TRANSCRIPT: &'static str = "transcript";
207}
208
209#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
210pub struct TranscriptSkillCardEntriesAppears {
211    #[serde(default, skip_serializing_if = "Option::is_none")]
212    pub start: Option<i64>,
213}
214
215#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
216pub struct TranscriptSkillCardEntries {
217    #[serde(default, skip_serializing_if = "Option::is_none")]
218    pub text: Option<String>,
219    #[serde(default, skip_serializing_if = "Option::is_none")]
220    pub appears: Option<Vec<TranscriptSkillCardEntriesAppears>>,
221}
222
223#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
224pub struct UpdateSkillRequest {
225    #[serde(default, skip_serializing_if = "Option::is_none")]
226    pub op: Option<PutOp>,
227    #[serde(default, skip_serializing_if = "Option::is_none")]
228    pub path: Option<String>,
229    #[serde(default, skip_serializing_if = "Option::is_none")]
230    pub value: Option<SkillCard>,
231}
232
233#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
234pub struct CreateSkillRequest {
235    pub cards: Vec<SkillCard>,
236}
237
238#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
239pub struct PutSkillInvocationIdMetadata {
240    #[serde(default, skip_serializing_if = "Option::is_none")]
241    pub cards: Option<Vec<SkillCard>>,
242}
243
244#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
245pub struct PutSkillInvocationIdFileVersion {
246    #[serde(default, skip_serializing_if = "Option::is_none")]
247    pub r#type: Option<FileVersionType>,
248    #[serde(default, skip_serializing_if = "Option::is_none")]
249    pub id: Option<String>,
250}
251
252#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
253pub struct PutSkillInvocationIdUsage {
254    #[serde(default, skip_serializing_if = "Option::is_none")]
255    pub unit: Option<String>,
256    #[serde(default, skip_serializing_if = "Option::is_none")]
257    pub value: Option<f64>,
258}
259
260#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
261pub struct UpdateSkillInvocationRequest {
262    pub status: StatusCode,
263    pub metadata: PutSkillInvocationIdMetadata,
264    pub file: PutSkillInvocationIdFile,
265    #[serde(default, skip_serializing_if = "Option::is_none")]
266    pub file_version: Option<PutSkillInvocationIdFileVersion>,
267    #[serde(default, skip_serializing_if = "Option::is_none")]
268    pub usage: Option<PutSkillInvocationIdUsage>,
269}