1
2use crate::types::*;
3use crate::errors::*;
4use uuid::Uuid;
5
6
7
8
9use std::fmt::Debug;
10use serde::de::{Deserialize, Deserializer};
11
12
13
14pub trait TDInputPassportElementErrorSource: Debug + RObject {}
16
17#[derive(Debug, Clone, Serialize)]
19#[serde(untagged)]
20pub enum InputPassportElementErrorSource {
21 #[doc(hidden)] _Default(()),
22 DataField(InputPassportElementErrorSourceDataField),
24 File(InputPassportElementErrorSourceFile),
26 Files(InputPassportElementErrorSourceFiles),
28 FrontSide(InputPassportElementErrorSourceFrontSide),
30 ReverseSide(InputPassportElementErrorSourceReverseSide),
32 Selfie(InputPassportElementErrorSourceSelfie),
34 TranslationFile(InputPassportElementErrorSourceTranslationFile),
36 TranslationFiles(InputPassportElementErrorSourceTranslationFiles),
38 Unspecified(InputPassportElementErrorSourceUnspecified),
40
41}
42
43impl Default for InputPassportElementErrorSource {
44 fn default() -> Self { InputPassportElementErrorSource::_Default(()) }
45}
46
47impl<'de> Deserialize<'de> for InputPassportElementErrorSource {
48 fn deserialize<D>(deserializer: D) -> Result<InputPassportElementErrorSource, D::Error> where D: Deserializer<'de> {
49 use serde::de::Error;
50 rtd_enum_deserialize!(
51 InputPassportElementErrorSource,
52 (inputPassportElementErrorSourceDataField, DataField);
53 (inputPassportElementErrorSourceFile, File);
54 (inputPassportElementErrorSourceFiles, Files);
55 (inputPassportElementErrorSourceFrontSide, FrontSide);
56 (inputPassportElementErrorSourceReverseSide, ReverseSide);
57 (inputPassportElementErrorSourceSelfie, Selfie);
58 (inputPassportElementErrorSourceTranslationFile, TranslationFile);
59 (inputPassportElementErrorSourceTranslationFiles, TranslationFiles);
60 (inputPassportElementErrorSourceUnspecified, Unspecified);
61
62 )(deserializer)
63 }
64}
65
66impl RObject for InputPassportElementErrorSource {
67 #[doc(hidden)] fn td_name(&self) -> &'static str {
68 match self {
69 InputPassportElementErrorSource::DataField(t) => t.td_name(),
70 InputPassportElementErrorSource::File(t) => t.td_name(),
71 InputPassportElementErrorSource::Files(t) => t.td_name(),
72 InputPassportElementErrorSource::FrontSide(t) => t.td_name(),
73 InputPassportElementErrorSource::ReverseSide(t) => t.td_name(),
74 InputPassportElementErrorSource::Selfie(t) => t.td_name(),
75 InputPassportElementErrorSource::TranslationFile(t) => t.td_name(),
76 InputPassportElementErrorSource::TranslationFiles(t) => t.td_name(),
77 InputPassportElementErrorSource::Unspecified(t) => t.td_name(),
78
79 _ => "-1",
80 }
81 }
82 #[doc(hidden)] fn extra(&self) -> Option<String> {
83 match self {
84 InputPassportElementErrorSource::DataField(t) => t.extra(),
85 InputPassportElementErrorSource::File(t) => t.extra(),
86 InputPassportElementErrorSource::Files(t) => t.extra(),
87 InputPassportElementErrorSource::FrontSide(t) => t.extra(),
88 InputPassportElementErrorSource::ReverseSide(t) => t.extra(),
89 InputPassportElementErrorSource::Selfie(t) => t.extra(),
90 InputPassportElementErrorSource::TranslationFile(t) => t.extra(),
91 InputPassportElementErrorSource::TranslationFiles(t) => t.extra(),
92 InputPassportElementErrorSource::Unspecified(t) => t.extra(),
93
94 _ => None,
95 }
96 }
97 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
98}
99
100impl InputPassportElementErrorSource {
101 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
102 #[doc(hidden)] pub fn _is_default(&self) -> bool { if let InputPassportElementErrorSource::_Default(_) = self { true } else { false } }
103
104 pub fn is_data_field(&self) -> bool { if let InputPassportElementErrorSource::DataField(_) = self { true } else { false } }
105 pub fn is_file(&self) -> bool { if let InputPassportElementErrorSource::File(_) = self { true } else { false } }
106 pub fn is_files(&self) -> bool { if let InputPassportElementErrorSource::Files(_) = self { true } else { false } }
107 pub fn is_front_side(&self) -> bool { if let InputPassportElementErrorSource::FrontSide(_) = self { true } else { false } }
108 pub fn is_reverse_side(&self) -> bool { if let InputPassportElementErrorSource::ReverseSide(_) = self { true } else { false } }
109 pub fn is_selfie(&self) -> bool { if let InputPassportElementErrorSource::Selfie(_) = self { true } else { false } }
110 pub fn is_translation_file(&self) -> bool { if let InputPassportElementErrorSource::TranslationFile(_) = self { true } else { false } }
111 pub fn is_translation_files(&self) -> bool { if let InputPassportElementErrorSource::TranslationFiles(_) = self { true } else { false } }
112 pub fn is_unspecified(&self) -> bool { if let InputPassportElementErrorSource::Unspecified(_) = self { true } else { false } }
113
114 pub fn on_data_field<F: FnOnce(&InputPassportElementErrorSourceDataField)>(&self, fnc: F) -> &Self { if let InputPassportElementErrorSource::DataField(t) = self { fnc(t) }; self }
115 pub fn on_file<F: FnOnce(&InputPassportElementErrorSourceFile)>(&self, fnc: F) -> &Self { if let InputPassportElementErrorSource::File(t) = self { fnc(t) }; self }
116 pub fn on_files<F: FnOnce(&InputPassportElementErrorSourceFiles)>(&self, fnc: F) -> &Self { if let InputPassportElementErrorSource::Files(t) = self { fnc(t) }; self }
117 pub fn on_front_side<F: FnOnce(&InputPassportElementErrorSourceFrontSide)>(&self, fnc: F) -> &Self { if let InputPassportElementErrorSource::FrontSide(t) = self { fnc(t) }; self }
118 pub fn on_reverse_side<F: FnOnce(&InputPassportElementErrorSourceReverseSide)>(&self, fnc: F) -> &Self { if let InputPassportElementErrorSource::ReverseSide(t) = self { fnc(t) }; self }
119 pub fn on_selfie<F: FnOnce(&InputPassportElementErrorSourceSelfie)>(&self, fnc: F) -> &Self { if let InputPassportElementErrorSource::Selfie(t) = self { fnc(t) }; self }
120 pub fn on_translation_file<F: FnOnce(&InputPassportElementErrorSourceTranslationFile)>(&self, fnc: F) -> &Self { if let InputPassportElementErrorSource::TranslationFile(t) = self { fnc(t) }; self }
121 pub fn on_translation_files<F: FnOnce(&InputPassportElementErrorSourceTranslationFiles)>(&self, fnc: F) -> &Self { if let InputPassportElementErrorSource::TranslationFiles(t) = self { fnc(t) }; self }
122 pub fn on_unspecified<F: FnOnce(&InputPassportElementErrorSourceUnspecified)>(&self, fnc: F) -> &Self { if let InputPassportElementErrorSource::Unspecified(t) = self { fnc(t) }; self }
123
124 pub fn as_data_field(&self) -> Option<&InputPassportElementErrorSourceDataField> { if let InputPassportElementErrorSource::DataField(t) = self { return Some(t) } None }
125 pub fn as_file(&self) -> Option<&InputPassportElementErrorSourceFile> { if let InputPassportElementErrorSource::File(t) = self { return Some(t) } None }
126 pub fn as_files(&self) -> Option<&InputPassportElementErrorSourceFiles> { if let InputPassportElementErrorSource::Files(t) = self { return Some(t) } None }
127 pub fn as_front_side(&self) -> Option<&InputPassportElementErrorSourceFrontSide> { if let InputPassportElementErrorSource::FrontSide(t) = self { return Some(t) } None }
128 pub fn as_reverse_side(&self) -> Option<&InputPassportElementErrorSourceReverseSide> { if let InputPassportElementErrorSource::ReverseSide(t) = self { return Some(t) } None }
129 pub fn as_selfie(&self) -> Option<&InputPassportElementErrorSourceSelfie> { if let InputPassportElementErrorSource::Selfie(t) = self { return Some(t) } None }
130 pub fn as_translation_file(&self) -> Option<&InputPassportElementErrorSourceTranslationFile> { if let InputPassportElementErrorSource::TranslationFile(t) = self { return Some(t) } None }
131 pub fn as_translation_files(&self) -> Option<&InputPassportElementErrorSourceTranslationFiles> { if let InputPassportElementErrorSource::TranslationFiles(t) = self { return Some(t) } None }
132 pub fn as_unspecified(&self) -> Option<&InputPassportElementErrorSourceUnspecified> { if let InputPassportElementErrorSource::Unspecified(t) = self { return Some(t) } None }
133
134
135
136 pub fn data_field<T: AsRef<InputPassportElementErrorSourceDataField>>(t: T) -> Self { InputPassportElementErrorSource::DataField(t.as_ref().clone()) }
137
138 pub fn file<T: AsRef<InputPassportElementErrorSourceFile>>(t: T) -> Self { InputPassportElementErrorSource::File(t.as_ref().clone()) }
139
140 pub fn files<T: AsRef<InputPassportElementErrorSourceFiles>>(t: T) -> Self { InputPassportElementErrorSource::Files(t.as_ref().clone()) }
141
142 pub fn front_side<T: AsRef<InputPassportElementErrorSourceFrontSide>>(t: T) -> Self { InputPassportElementErrorSource::FrontSide(t.as_ref().clone()) }
143
144 pub fn reverse_side<T: AsRef<InputPassportElementErrorSourceReverseSide>>(t: T) -> Self { InputPassportElementErrorSource::ReverseSide(t.as_ref().clone()) }
145
146 pub fn selfie<T: AsRef<InputPassportElementErrorSourceSelfie>>(t: T) -> Self { InputPassportElementErrorSource::Selfie(t.as_ref().clone()) }
147
148 pub fn translation_file<T: AsRef<InputPassportElementErrorSourceTranslationFile>>(t: T) -> Self { InputPassportElementErrorSource::TranslationFile(t.as_ref().clone()) }
149
150 pub fn translation_files<T: AsRef<InputPassportElementErrorSourceTranslationFiles>>(t: T) -> Self { InputPassportElementErrorSource::TranslationFiles(t.as_ref().clone()) }
151
152 pub fn unspecified<T: AsRef<InputPassportElementErrorSourceUnspecified>>(t: T) -> Self { InputPassportElementErrorSource::Unspecified(t.as_ref().clone()) }
153
154}
155
156impl AsRef<InputPassportElementErrorSource> for InputPassportElementErrorSource {
157 fn as_ref(&self) -> &InputPassportElementErrorSource { self }
158}
159
160
161
162
163
164
165
166#[derive(Debug, Clone, Default, Serialize, Deserialize)]
168pub struct InputPassportElementErrorSourceDataField {
169 #[doc(hidden)]
170 #[serde(rename(serialize = "@type", deserialize = "@type"))]
171 td_name: String,
172 #[doc(hidden)]
173 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
174 extra: Option<String>,
175 field_name: String,
177 data_hash: String,
179
180}
181
182impl RObject for InputPassportElementErrorSourceDataField {
183 #[doc(hidden)] fn td_name(&self) -> &'static str { "inputPassportElementErrorSourceDataField" }
184 #[doc(hidden)] fn extra(&self) -> Option<String> { self.extra.clone() }
185 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
186}
187
188
189impl TDInputPassportElementErrorSource for InputPassportElementErrorSourceDataField {}
190
191
192
193impl InputPassportElementErrorSourceDataField {
194 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
195 pub fn builder() -> RTDInputPassportElementErrorSourceDataFieldBuilder {
196 let mut inner = InputPassportElementErrorSourceDataField::default();
197 inner.td_name = "inputPassportElementErrorSourceDataField".to_string();
198 inner.extra = Some(Uuid::new_v4().to_string());
199 RTDInputPassportElementErrorSourceDataFieldBuilder { inner }
200 }
201
202 pub fn field_name(&self) -> &String { &self.field_name }
203
204 pub fn data_hash(&self) -> &String { &self.data_hash }
205
206}
207
208#[doc(hidden)]
209pub struct RTDInputPassportElementErrorSourceDataFieldBuilder {
210 inner: InputPassportElementErrorSourceDataField
211}
212
213impl RTDInputPassportElementErrorSourceDataFieldBuilder {
214 pub fn build(&self) -> InputPassportElementErrorSourceDataField { self.inner.clone() }
215
216
217 pub fn field_name<T: AsRef<str>>(&mut self, field_name: T) -> &mut Self {
218 self.inner.field_name = field_name.as_ref().to_string();
219 self
220 }
221
222
223 pub fn data_hash<T: AsRef<str>>(&mut self, data_hash: T) -> &mut Self {
224 self.inner.data_hash = data_hash.as_ref().to_string();
225 self
226 }
227
228}
229
230impl AsRef<InputPassportElementErrorSourceDataField> for InputPassportElementErrorSourceDataField {
231 fn as_ref(&self) -> &InputPassportElementErrorSourceDataField { self }
232}
233
234impl AsRef<InputPassportElementErrorSourceDataField> for RTDInputPassportElementErrorSourceDataFieldBuilder {
235 fn as_ref(&self) -> &InputPassportElementErrorSourceDataField { &self.inner }
236}
237
238
239
240
241
242
243
244#[derive(Debug, Clone, Default, Serialize, Deserialize)]
246pub struct InputPassportElementErrorSourceFile {
247 #[doc(hidden)]
248 #[serde(rename(serialize = "@type", deserialize = "@type"))]
249 td_name: String,
250 #[doc(hidden)]
251 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
252 extra: Option<String>,
253 file_hash: String,
255
256}
257
258impl RObject for InputPassportElementErrorSourceFile {
259 #[doc(hidden)] fn td_name(&self) -> &'static str { "inputPassportElementErrorSourceFile" }
260 #[doc(hidden)] fn extra(&self) -> Option<String> { self.extra.clone() }
261 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
262}
263
264
265impl TDInputPassportElementErrorSource for InputPassportElementErrorSourceFile {}
266
267
268
269impl InputPassportElementErrorSourceFile {
270 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
271 pub fn builder() -> RTDInputPassportElementErrorSourceFileBuilder {
272 let mut inner = InputPassportElementErrorSourceFile::default();
273 inner.td_name = "inputPassportElementErrorSourceFile".to_string();
274 inner.extra = Some(Uuid::new_v4().to_string());
275 RTDInputPassportElementErrorSourceFileBuilder { inner }
276 }
277
278 pub fn file_hash(&self) -> &String { &self.file_hash }
279
280}
281
282#[doc(hidden)]
283pub struct RTDInputPassportElementErrorSourceFileBuilder {
284 inner: InputPassportElementErrorSourceFile
285}
286
287impl RTDInputPassportElementErrorSourceFileBuilder {
288 pub fn build(&self) -> InputPassportElementErrorSourceFile { self.inner.clone() }
289
290
291 pub fn file_hash<T: AsRef<str>>(&mut self, file_hash: T) -> &mut Self {
292 self.inner.file_hash = file_hash.as_ref().to_string();
293 self
294 }
295
296}
297
298impl AsRef<InputPassportElementErrorSourceFile> for InputPassportElementErrorSourceFile {
299 fn as_ref(&self) -> &InputPassportElementErrorSourceFile { self }
300}
301
302impl AsRef<InputPassportElementErrorSourceFile> for RTDInputPassportElementErrorSourceFileBuilder {
303 fn as_ref(&self) -> &InputPassportElementErrorSourceFile { &self.inner }
304}
305
306
307
308
309
310
311
312#[derive(Debug, Clone, Default, Serialize, Deserialize)]
314pub struct InputPassportElementErrorSourceFiles {
315 #[doc(hidden)]
316 #[serde(rename(serialize = "@type", deserialize = "@type"))]
317 td_name: String,
318 #[doc(hidden)]
319 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
320 extra: Option<String>,
321 file_hashes: Vec<String>,
323
324}
325
326impl RObject for InputPassportElementErrorSourceFiles {
327 #[doc(hidden)] fn td_name(&self) -> &'static str { "inputPassportElementErrorSourceFiles" }
328 #[doc(hidden)] fn extra(&self) -> Option<String> { self.extra.clone() }
329 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
330}
331
332
333impl TDInputPassportElementErrorSource for InputPassportElementErrorSourceFiles {}
334
335
336
337impl InputPassportElementErrorSourceFiles {
338 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
339 pub fn builder() -> RTDInputPassportElementErrorSourceFilesBuilder {
340 let mut inner = InputPassportElementErrorSourceFiles::default();
341 inner.td_name = "inputPassportElementErrorSourceFiles".to_string();
342 inner.extra = Some(Uuid::new_v4().to_string());
343 RTDInputPassportElementErrorSourceFilesBuilder { inner }
344 }
345
346 pub fn file_hashes(&self) -> &Vec<String> { &self.file_hashes }
347
348}
349
350#[doc(hidden)]
351pub struct RTDInputPassportElementErrorSourceFilesBuilder {
352 inner: InputPassportElementErrorSourceFiles
353}
354
355impl RTDInputPassportElementErrorSourceFilesBuilder {
356 pub fn build(&self) -> InputPassportElementErrorSourceFiles { self.inner.clone() }
357
358
359 pub fn file_hashes(&mut self, file_hashes: Vec<String>) -> &mut Self {
360 self.inner.file_hashes = file_hashes;
361 self
362 }
363
364}
365
366impl AsRef<InputPassportElementErrorSourceFiles> for InputPassportElementErrorSourceFiles {
367 fn as_ref(&self) -> &InputPassportElementErrorSourceFiles { self }
368}
369
370impl AsRef<InputPassportElementErrorSourceFiles> for RTDInputPassportElementErrorSourceFilesBuilder {
371 fn as_ref(&self) -> &InputPassportElementErrorSourceFiles { &self.inner }
372}
373
374
375
376
377
378
379
380#[derive(Debug, Clone, Default, Serialize, Deserialize)]
382pub struct InputPassportElementErrorSourceFrontSide {
383 #[doc(hidden)]
384 #[serde(rename(serialize = "@type", deserialize = "@type"))]
385 td_name: String,
386 #[doc(hidden)]
387 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
388 extra: Option<String>,
389 file_hash: String,
391
392}
393
394impl RObject for InputPassportElementErrorSourceFrontSide {
395 #[doc(hidden)] fn td_name(&self) -> &'static str { "inputPassportElementErrorSourceFrontSide" }
396 #[doc(hidden)] fn extra(&self) -> Option<String> { self.extra.clone() }
397 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
398}
399
400
401impl TDInputPassportElementErrorSource for InputPassportElementErrorSourceFrontSide {}
402
403
404
405impl InputPassportElementErrorSourceFrontSide {
406 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
407 pub fn builder() -> RTDInputPassportElementErrorSourceFrontSideBuilder {
408 let mut inner = InputPassportElementErrorSourceFrontSide::default();
409 inner.td_name = "inputPassportElementErrorSourceFrontSide".to_string();
410 inner.extra = Some(Uuid::new_v4().to_string());
411 RTDInputPassportElementErrorSourceFrontSideBuilder { inner }
412 }
413
414 pub fn file_hash(&self) -> &String { &self.file_hash }
415
416}
417
418#[doc(hidden)]
419pub struct RTDInputPassportElementErrorSourceFrontSideBuilder {
420 inner: InputPassportElementErrorSourceFrontSide
421}
422
423impl RTDInputPassportElementErrorSourceFrontSideBuilder {
424 pub fn build(&self) -> InputPassportElementErrorSourceFrontSide { self.inner.clone() }
425
426
427 pub fn file_hash<T: AsRef<str>>(&mut self, file_hash: T) -> &mut Self {
428 self.inner.file_hash = file_hash.as_ref().to_string();
429 self
430 }
431
432}
433
434impl AsRef<InputPassportElementErrorSourceFrontSide> for InputPassportElementErrorSourceFrontSide {
435 fn as_ref(&self) -> &InputPassportElementErrorSourceFrontSide { self }
436}
437
438impl AsRef<InputPassportElementErrorSourceFrontSide> for RTDInputPassportElementErrorSourceFrontSideBuilder {
439 fn as_ref(&self) -> &InputPassportElementErrorSourceFrontSide { &self.inner }
440}
441
442
443
444
445
446
447
448#[derive(Debug, Clone, Default, Serialize, Deserialize)]
450pub struct InputPassportElementErrorSourceReverseSide {
451 #[doc(hidden)]
452 #[serde(rename(serialize = "@type", deserialize = "@type"))]
453 td_name: String,
454 #[doc(hidden)]
455 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
456 extra: Option<String>,
457 file_hash: String,
459
460}
461
462impl RObject for InputPassportElementErrorSourceReverseSide {
463 #[doc(hidden)] fn td_name(&self) -> &'static str { "inputPassportElementErrorSourceReverseSide" }
464 #[doc(hidden)] fn extra(&self) -> Option<String> { self.extra.clone() }
465 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
466}
467
468
469impl TDInputPassportElementErrorSource for InputPassportElementErrorSourceReverseSide {}
470
471
472
473impl InputPassportElementErrorSourceReverseSide {
474 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
475 pub fn builder() -> RTDInputPassportElementErrorSourceReverseSideBuilder {
476 let mut inner = InputPassportElementErrorSourceReverseSide::default();
477 inner.td_name = "inputPassportElementErrorSourceReverseSide".to_string();
478 inner.extra = Some(Uuid::new_v4().to_string());
479 RTDInputPassportElementErrorSourceReverseSideBuilder { inner }
480 }
481
482 pub fn file_hash(&self) -> &String { &self.file_hash }
483
484}
485
486#[doc(hidden)]
487pub struct RTDInputPassportElementErrorSourceReverseSideBuilder {
488 inner: InputPassportElementErrorSourceReverseSide
489}
490
491impl RTDInputPassportElementErrorSourceReverseSideBuilder {
492 pub fn build(&self) -> InputPassportElementErrorSourceReverseSide { self.inner.clone() }
493
494
495 pub fn file_hash<T: AsRef<str>>(&mut self, file_hash: T) -> &mut Self {
496 self.inner.file_hash = file_hash.as_ref().to_string();
497 self
498 }
499
500}
501
502impl AsRef<InputPassportElementErrorSourceReverseSide> for InputPassportElementErrorSourceReverseSide {
503 fn as_ref(&self) -> &InputPassportElementErrorSourceReverseSide { self }
504}
505
506impl AsRef<InputPassportElementErrorSourceReverseSide> for RTDInputPassportElementErrorSourceReverseSideBuilder {
507 fn as_ref(&self) -> &InputPassportElementErrorSourceReverseSide { &self.inner }
508}
509
510
511
512
513
514
515
516#[derive(Debug, Clone, Default, Serialize, Deserialize)]
518pub struct InputPassportElementErrorSourceSelfie {
519 #[doc(hidden)]
520 #[serde(rename(serialize = "@type", deserialize = "@type"))]
521 td_name: String,
522 #[doc(hidden)]
523 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
524 extra: Option<String>,
525 file_hash: String,
527
528}
529
530impl RObject for InputPassportElementErrorSourceSelfie {
531 #[doc(hidden)] fn td_name(&self) -> &'static str { "inputPassportElementErrorSourceSelfie" }
532 #[doc(hidden)] fn extra(&self) -> Option<String> { self.extra.clone() }
533 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
534}
535
536
537impl TDInputPassportElementErrorSource for InputPassportElementErrorSourceSelfie {}
538
539
540
541impl InputPassportElementErrorSourceSelfie {
542 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
543 pub fn builder() -> RTDInputPassportElementErrorSourceSelfieBuilder {
544 let mut inner = InputPassportElementErrorSourceSelfie::default();
545 inner.td_name = "inputPassportElementErrorSourceSelfie".to_string();
546 inner.extra = Some(Uuid::new_v4().to_string());
547 RTDInputPassportElementErrorSourceSelfieBuilder { inner }
548 }
549
550 pub fn file_hash(&self) -> &String { &self.file_hash }
551
552}
553
554#[doc(hidden)]
555pub struct RTDInputPassportElementErrorSourceSelfieBuilder {
556 inner: InputPassportElementErrorSourceSelfie
557}
558
559impl RTDInputPassportElementErrorSourceSelfieBuilder {
560 pub fn build(&self) -> InputPassportElementErrorSourceSelfie { self.inner.clone() }
561
562
563 pub fn file_hash<T: AsRef<str>>(&mut self, file_hash: T) -> &mut Self {
564 self.inner.file_hash = file_hash.as_ref().to_string();
565 self
566 }
567
568}
569
570impl AsRef<InputPassportElementErrorSourceSelfie> for InputPassportElementErrorSourceSelfie {
571 fn as_ref(&self) -> &InputPassportElementErrorSourceSelfie { self }
572}
573
574impl AsRef<InputPassportElementErrorSourceSelfie> for RTDInputPassportElementErrorSourceSelfieBuilder {
575 fn as_ref(&self) -> &InputPassportElementErrorSourceSelfie { &self.inner }
576}
577
578
579
580
581
582
583
584#[derive(Debug, Clone, Default, Serialize, Deserialize)]
586pub struct InputPassportElementErrorSourceTranslationFile {
587 #[doc(hidden)]
588 #[serde(rename(serialize = "@type", deserialize = "@type"))]
589 td_name: String,
590 #[doc(hidden)]
591 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
592 extra: Option<String>,
593 file_hash: String,
595
596}
597
598impl RObject for InputPassportElementErrorSourceTranslationFile {
599 #[doc(hidden)] fn td_name(&self) -> &'static str { "inputPassportElementErrorSourceTranslationFile" }
600 #[doc(hidden)] fn extra(&self) -> Option<String> { self.extra.clone() }
601 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
602}
603
604
605impl TDInputPassportElementErrorSource for InputPassportElementErrorSourceTranslationFile {}
606
607
608
609impl InputPassportElementErrorSourceTranslationFile {
610 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
611 pub fn builder() -> RTDInputPassportElementErrorSourceTranslationFileBuilder {
612 let mut inner = InputPassportElementErrorSourceTranslationFile::default();
613 inner.td_name = "inputPassportElementErrorSourceTranslationFile".to_string();
614 inner.extra = Some(Uuid::new_v4().to_string());
615 RTDInputPassportElementErrorSourceTranslationFileBuilder { inner }
616 }
617
618 pub fn file_hash(&self) -> &String { &self.file_hash }
619
620}
621
622#[doc(hidden)]
623pub struct RTDInputPassportElementErrorSourceTranslationFileBuilder {
624 inner: InputPassportElementErrorSourceTranslationFile
625}
626
627impl RTDInputPassportElementErrorSourceTranslationFileBuilder {
628 pub fn build(&self) -> InputPassportElementErrorSourceTranslationFile { self.inner.clone() }
629
630
631 pub fn file_hash<T: AsRef<str>>(&mut self, file_hash: T) -> &mut Self {
632 self.inner.file_hash = file_hash.as_ref().to_string();
633 self
634 }
635
636}
637
638impl AsRef<InputPassportElementErrorSourceTranslationFile> for InputPassportElementErrorSourceTranslationFile {
639 fn as_ref(&self) -> &InputPassportElementErrorSourceTranslationFile { self }
640}
641
642impl AsRef<InputPassportElementErrorSourceTranslationFile> for RTDInputPassportElementErrorSourceTranslationFileBuilder {
643 fn as_ref(&self) -> &InputPassportElementErrorSourceTranslationFile { &self.inner }
644}
645
646
647
648
649
650
651
652#[derive(Debug, Clone, Default, Serialize, Deserialize)]
654pub struct InputPassportElementErrorSourceTranslationFiles {
655 #[doc(hidden)]
656 #[serde(rename(serialize = "@type", deserialize = "@type"))]
657 td_name: String,
658 #[doc(hidden)]
659 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
660 extra: Option<String>,
661 file_hashes: Vec<String>,
663
664}
665
666impl RObject for InputPassportElementErrorSourceTranslationFiles {
667 #[doc(hidden)] fn td_name(&self) -> &'static str { "inputPassportElementErrorSourceTranslationFiles" }
668 #[doc(hidden)] fn extra(&self) -> Option<String> { self.extra.clone() }
669 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
670}
671
672
673impl TDInputPassportElementErrorSource for InputPassportElementErrorSourceTranslationFiles {}
674
675
676
677impl InputPassportElementErrorSourceTranslationFiles {
678 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
679 pub fn builder() -> RTDInputPassportElementErrorSourceTranslationFilesBuilder {
680 let mut inner = InputPassportElementErrorSourceTranslationFiles::default();
681 inner.td_name = "inputPassportElementErrorSourceTranslationFiles".to_string();
682 inner.extra = Some(Uuid::new_v4().to_string());
683 RTDInputPassportElementErrorSourceTranslationFilesBuilder { inner }
684 }
685
686 pub fn file_hashes(&self) -> &Vec<String> { &self.file_hashes }
687
688}
689
690#[doc(hidden)]
691pub struct RTDInputPassportElementErrorSourceTranslationFilesBuilder {
692 inner: InputPassportElementErrorSourceTranslationFiles
693}
694
695impl RTDInputPassportElementErrorSourceTranslationFilesBuilder {
696 pub fn build(&self) -> InputPassportElementErrorSourceTranslationFiles { self.inner.clone() }
697
698
699 pub fn file_hashes(&mut self, file_hashes: Vec<String>) -> &mut Self {
700 self.inner.file_hashes = file_hashes;
701 self
702 }
703
704}
705
706impl AsRef<InputPassportElementErrorSourceTranslationFiles> for InputPassportElementErrorSourceTranslationFiles {
707 fn as_ref(&self) -> &InputPassportElementErrorSourceTranslationFiles { self }
708}
709
710impl AsRef<InputPassportElementErrorSourceTranslationFiles> for RTDInputPassportElementErrorSourceTranslationFilesBuilder {
711 fn as_ref(&self) -> &InputPassportElementErrorSourceTranslationFiles { &self.inner }
712}
713
714
715
716
717
718
719
720#[derive(Debug, Clone, Default, Serialize, Deserialize)]
722pub struct InputPassportElementErrorSourceUnspecified {
723 #[doc(hidden)]
724 #[serde(rename(serialize = "@type", deserialize = "@type"))]
725 td_name: String,
726 #[doc(hidden)]
727 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
728 extra: Option<String>,
729 element_hash: String,
731
732}
733
734impl RObject for InputPassportElementErrorSourceUnspecified {
735 #[doc(hidden)] fn td_name(&self) -> &'static str { "inputPassportElementErrorSourceUnspecified" }
736 #[doc(hidden)] fn extra(&self) -> Option<String> { self.extra.clone() }
737 fn to_json(&self) -> RTDResult<String> { Ok(serde_json::to_string(self)?) }
738}
739
740
741impl TDInputPassportElementErrorSource for InputPassportElementErrorSourceUnspecified {}
742
743
744
745impl InputPassportElementErrorSourceUnspecified {
746 pub fn from_json<S: AsRef<str>>(json: S) -> RTDResult<Self> { Ok(serde_json::from_str(json.as_ref())?) }
747 pub fn builder() -> RTDInputPassportElementErrorSourceUnspecifiedBuilder {
748 let mut inner = InputPassportElementErrorSourceUnspecified::default();
749 inner.td_name = "inputPassportElementErrorSourceUnspecified".to_string();
750 inner.extra = Some(Uuid::new_v4().to_string());
751 RTDInputPassportElementErrorSourceUnspecifiedBuilder { inner }
752 }
753
754 pub fn element_hash(&self) -> &String { &self.element_hash }
755
756}
757
758#[doc(hidden)]
759pub struct RTDInputPassportElementErrorSourceUnspecifiedBuilder {
760 inner: InputPassportElementErrorSourceUnspecified
761}
762
763impl RTDInputPassportElementErrorSourceUnspecifiedBuilder {
764 pub fn build(&self) -> InputPassportElementErrorSourceUnspecified { self.inner.clone() }
765
766
767 pub fn element_hash<T: AsRef<str>>(&mut self, element_hash: T) -> &mut Self {
768 self.inner.element_hash = element_hash.as_ref().to_string();
769 self
770 }
771
772}
773
774impl AsRef<InputPassportElementErrorSourceUnspecified> for InputPassportElementErrorSourceUnspecified {
775 fn as_ref(&self) -> &InputPassportElementErrorSourceUnspecified { self }
776}
777
778impl AsRef<InputPassportElementErrorSourceUnspecified> for RTDInputPassportElementErrorSourceUnspecifiedBuilder {
779 fn as_ref(&self) -> &InputPassportElementErrorSourceUnspecified { &self.inner }
780}
781
782
783