1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TextContent {
17 #[serde(rename = "type")]
18 pub r#type: Type,
19 #[serde(rename = "text")]
20 pub text: String,
21 #[serde(rename = "language")]
22 pub language: Language,
23}
24
25impl TextContent {
26 pub fn new(r#type: Type, text: String, language: Language) -> TextContent {
27 TextContent {
28 r#type,
29 text,
30 language,
31 }
32 }
33}
34#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
36pub enum Type {
37 #[serde(rename = "text")]
38 Text,
39}
40
41impl Default for Type {
42 fn default() -> Type {
43 Self::Text
44 }
45}
46#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
48pub enum Language {
49 #[serde(rename = "aa")]
50 Aa,
51 #[serde(rename = "ab")]
52 Ab,
53 #[serde(rename = "ae")]
54 Ae,
55 #[serde(rename = "af")]
56 Af,
57 #[serde(rename = "ak")]
58 Ak,
59 #[serde(rename = "am")]
60 Am,
61 #[serde(rename = "an")]
62 An,
63 #[serde(rename = "ar")]
64 Ar,
65 #[serde(rename = "as")]
66 As,
67 #[serde(rename = "av")]
68 Av,
69 #[serde(rename = "ay")]
70 Ay,
71 #[serde(rename = "az")]
72 Az,
73 #[serde(rename = "ba")]
74 Ba,
75 #[serde(rename = "be")]
76 Be,
77 #[serde(rename = "bg")]
78 Bg,
79 #[serde(rename = "bh")]
80 Bh,
81 #[serde(rename = "bi")]
82 Bi,
83 #[serde(rename = "bm")]
84 Bm,
85 #[serde(rename = "bn")]
86 Bn,
87 #[serde(rename = "bo")]
88 Bo,
89 #[serde(rename = "br")]
90 Br,
91 #[serde(rename = "bs")]
92 Bs,
93 #[serde(rename = "ca")]
94 Ca,
95 #[serde(rename = "ce")]
96 Ce,
97 #[serde(rename = "ch")]
98 Ch,
99 #[serde(rename = "co")]
100 Co,
101 #[serde(rename = "cr")]
102 Cr,
103 #[serde(rename = "cs")]
104 Cs,
105 #[serde(rename = "cu")]
106 Cu,
107 #[serde(rename = "cv")]
108 Cv,
109 #[serde(rename = "cy")]
110 Cy,
111 #[serde(rename = "da")]
112 Da,
113 #[serde(rename = "de")]
114 De,
115 #[serde(rename = "dv")]
116 Dv,
117 #[serde(rename = "dz")]
118 Dz,
119 #[serde(rename = "ee")]
120 Ee,
121 #[serde(rename = "el")]
122 El,
123 #[serde(rename = "en")]
124 En,
125 #[serde(rename = "eo")]
126 Eo,
127 #[serde(rename = "es")]
128 Es,
129 #[serde(rename = "et")]
130 Et,
131 #[serde(rename = "eu")]
132 Eu,
133 #[serde(rename = "fa")]
134 Fa,
135 #[serde(rename = "ff")]
136 Ff,
137 #[serde(rename = "fi")]
138 Fi,
139 #[serde(rename = "fj")]
140 Fj,
141 #[serde(rename = "fo")]
142 Fo,
143 #[serde(rename = "fr")]
144 Fr,
145 #[serde(rename = "fy")]
146 Fy,
147 #[serde(rename = "ga")]
148 Ga,
149 #[serde(rename = "gd")]
150 Gd,
151 #[serde(rename = "gl")]
152 Gl,
153 #[serde(rename = "gn")]
154 Gn,
155 #[serde(rename = "gu")]
156 Gu,
157 #[serde(rename = "gv")]
158 Gv,
159 #[serde(rename = "ha")]
160 Ha,
161 #[serde(rename = "he")]
162 He,
163 #[serde(rename = "hi")]
164 Hi,
165 #[serde(rename = "ho")]
166 Ho,
167 #[serde(rename = "hr")]
168 Hr,
169 #[serde(rename = "ht")]
170 Ht,
171 #[serde(rename = "hu")]
172 Hu,
173 #[serde(rename = "hy")]
174 Hy,
175 #[serde(rename = "hz")]
176 Hz,
177 #[serde(rename = "ia")]
178 Ia,
179 #[serde(rename = "id")]
180 Id,
181 #[serde(rename = "ie")]
182 Ie,
183 #[serde(rename = "ig")]
184 Ig,
185 #[serde(rename = "ii")]
186 Ii,
187 #[serde(rename = "ik")]
188 Ik,
189 #[serde(rename = "io")]
190 Io,
191 #[serde(rename = "is")]
192 Is,
193 #[serde(rename = "it")]
194 It,
195 #[serde(rename = "iu")]
196 Iu,
197 #[serde(rename = "ja")]
198 Ja,
199 #[serde(rename = "jv")]
200 Jv,
201 #[serde(rename = "ka")]
202 Ka,
203 #[serde(rename = "kg")]
204 Kg,
205 #[serde(rename = "ki")]
206 Ki,
207 #[serde(rename = "kj")]
208 Kj,
209 #[serde(rename = "kk")]
210 Kk,
211 #[serde(rename = "kl")]
212 Kl,
213 #[serde(rename = "km")]
214 Km,
215 #[serde(rename = "kn")]
216 Kn,
217 #[serde(rename = "ko")]
218 Ko,
219 #[serde(rename = "kr")]
220 Kr,
221 #[serde(rename = "ks")]
222 Ks,
223 #[serde(rename = "ku")]
224 Ku,
225 #[serde(rename = "kv")]
226 Kv,
227 #[serde(rename = "kw")]
228 Kw,
229 #[serde(rename = "ky")]
230 Ky,
231 #[serde(rename = "la")]
232 La,
233 #[serde(rename = "lb")]
234 Lb,
235 #[serde(rename = "lg")]
236 Lg,
237 #[serde(rename = "li")]
238 Li,
239 #[serde(rename = "ln")]
240 Ln,
241 #[serde(rename = "lo")]
242 Lo,
243 #[serde(rename = "lt")]
244 Lt,
245 #[serde(rename = "lu")]
246 Lu,
247 #[serde(rename = "lv")]
248 Lv,
249 #[serde(rename = "mg")]
250 Mg,
251 #[serde(rename = "mh")]
252 Mh,
253 #[serde(rename = "mi")]
254 Mi,
255 #[serde(rename = "mk")]
256 Mk,
257 #[serde(rename = "ml")]
258 Ml,
259 #[serde(rename = "mn")]
260 Mn,
261 #[serde(rename = "mr")]
262 Mr,
263 #[serde(rename = "ms")]
264 Ms,
265 #[serde(rename = "mt")]
266 Mt,
267 #[serde(rename = "my")]
268 My,
269 #[serde(rename = "na")]
270 Na,
271 #[serde(rename = "nb")]
272 Nb,
273 #[serde(rename = "nd")]
274 Nd,
275 #[serde(rename = "ne")]
276 Ne,
277 #[serde(rename = "ng")]
278 Ng,
279 #[serde(rename = "nl")]
280 Nl,
281 #[serde(rename = "nn")]
282 Nn,
283 #[serde(rename = "no")]
284 No,
285 #[serde(rename = "nr")]
286 Nr,
287 #[serde(rename = "nv")]
288 Nv,
289 #[serde(rename = "ny")]
290 Ny,
291 #[serde(rename = "oc")]
292 Oc,
293 #[serde(rename = "oj")]
294 Oj,
295 #[serde(rename = "om")]
296 Om,
297 #[serde(rename = "or")]
298 Or,
299 #[serde(rename = "os")]
300 Os,
301 #[serde(rename = "pa")]
302 Pa,
303 #[serde(rename = "pi")]
304 Pi,
305 #[serde(rename = "pl")]
306 Pl,
307 #[serde(rename = "ps")]
308 Ps,
309 #[serde(rename = "pt")]
310 Pt,
311 #[serde(rename = "qu")]
312 Qu,
313 #[serde(rename = "rm")]
314 Rm,
315 #[serde(rename = "rn")]
316 Rn,
317 #[serde(rename = "ro")]
318 Ro,
319 #[serde(rename = "ru")]
320 Ru,
321 #[serde(rename = "rw")]
322 Rw,
323 #[serde(rename = "sa")]
324 Sa,
325 #[serde(rename = "sc")]
326 Sc,
327 #[serde(rename = "sd")]
328 Sd,
329 #[serde(rename = "se")]
330 Se,
331 #[serde(rename = "sg")]
332 Sg,
333 #[serde(rename = "si")]
334 Si,
335 #[serde(rename = "sk")]
336 Sk,
337 #[serde(rename = "sl")]
338 Sl,
339 #[serde(rename = "sm")]
340 Sm,
341 #[serde(rename = "sn")]
342 Sn,
343 #[serde(rename = "so")]
344 So,
345 #[serde(rename = "sq")]
346 Sq,
347 #[serde(rename = "sr")]
348 Sr,
349 #[serde(rename = "ss")]
350 Ss,
351 #[serde(rename = "st")]
352 St,
353 #[serde(rename = "su")]
354 Su,
355 #[serde(rename = "sv")]
356 Sv,
357 #[serde(rename = "sw")]
358 Sw,
359 #[serde(rename = "ta")]
360 Ta,
361 #[serde(rename = "te")]
362 Te,
363 #[serde(rename = "tg")]
364 Tg,
365 #[serde(rename = "th")]
366 Th,
367 #[serde(rename = "ti")]
368 Ti,
369 #[serde(rename = "tk")]
370 Tk,
371 #[serde(rename = "tl")]
372 Tl,
373 #[serde(rename = "tn")]
374 Tn,
375 #[serde(rename = "to")]
376 To,
377 #[serde(rename = "tr")]
378 Tr,
379 #[serde(rename = "ts")]
380 Ts,
381 #[serde(rename = "tt")]
382 Tt,
383 #[serde(rename = "tw")]
384 Tw,
385 #[serde(rename = "ty")]
386 Ty,
387 #[serde(rename = "ug")]
388 Ug,
389 #[serde(rename = "uk")]
390 Uk,
391 #[serde(rename = "ur")]
392 Ur,
393 #[serde(rename = "uz")]
394 Uz,
395 #[serde(rename = "ve")]
396 Ve,
397 #[serde(rename = "vi")]
398 Vi,
399 #[serde(rename = "vo")]
400 Vo,
401 #[serde(rename = "wa")]
402 Wa,
403 #[serde(rename = "wo")]
404 Wo,
405 #[serde(rename = "xh")]
406 Xh,
407 #[serde(rename = "yi")]
408 Yi,
409 #[serde(rename = "yue")]
410 Yue,
411 #[serde(rename = "yo")]
412 Yo,
413 #[serde(rename = "za")]
414 Za,
415 #[serde(rename = "zh")]
416 Zh,
417 #[serde(rename = "zu")]
418 Zu,
419}
420
421impl Default for Language {
422 fn default() -> Language {
423 Self::Aa
424 }
425}