1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct FallbackSpeechmaticsTranscriber {
16 #[serde(rename = "provider")]
18 pub provider: ProviderTrue,
19 #[serde(rename = "model", skip_serializing_if = "Option::is_none")]
21 pub model: Option<ModelTrue>,
22 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
23 pub language: Option<LanguageTrue>,
24}
25
26impl FallbackSpeechmaticsTranscriber {
27 pub fn new(provider: ProviderTrue) -> FallbackSpeechmaticsTranscriber {
28 FallbackSpeechmaticsTranscriber {
29 provider,
30 model: None,
31 language: None,
32 }
33 }
34}
35#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
37pub enum ProviderTrue {
38 #[serde(rename = "speechmatics")]
39 Speechmatics,
40}
41
42impl Default for ProviderTrue {
43 fn default() -> ProviderTrue {
44 Self::Speechmatics
45 }
46}
47#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
49pub enum ModelTrue {
50 #[serde(rename = "default")]
51 Default,
52}
53
54impl Default for ModelTrue {
55 fn default() -> ModelTrue {
56 Self::Default
57 }
58}
59#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
61pub enum LanguageTrue {
62 #[serde(rename = "auto")]
63 Auto,
64 #[serde(rename = "ar")]
65 Ar,
66 #[serde(rename = "ba")]
67 Ba,
68 #[serde(rename = "eu")]
69 Eu,
70 #[serde(rename = "be")]
71 Be,
72 #[serde(rename = "bn")]
73 Bn,
74 #[serde(rename = "bg")]
75 Bg,
76 #[serde(rename = "yue")]
77 Yue,
78 #[serde(rename = "ca")]
79 Ca,
80 #[serde(rename = "hr")]
81 Hr,
82 #[serde(rename = "cs")]
83 Cs,
84 #[serde(rename = "da")]
85 Da,
86 #[serde(rename = "nl")]
87 Nl,
88 #[serde(rename = "en")]
89 En,
90 #[serde(rename = "eo")]
91 Eo,
92 #[serde(rename = "et")]
93 Et,
94 #[serde(rename = "fi")]
95 Fi,
96 #[serde(rename = "fr")]
97 Fr,
98 #[serde(rename = "gl")]
99 Gl,
100 #[serde(rename = "de")]
101 De,
102 #[serde(rename = "el")]
103 El,
104 #[serde(rename = "he")]
105 He,
106 #[serde(rename = "hi")]
107 Hi,
108 #[serde(rename = "hu")]
109 Hu,
110 #[serde(rename = "id")]
111 Id,
112 #[serde(rename = "ia")]
113 Ia,
114 #[serde(rename = "ga")]
115 Ga,
116 #[serde(rename = "it")]
117 It,
118 #[serde(rename = "ja")]
119 Ja,
120 #[serde(rename = "ko")]
121 Ko,
122 #[serde(rename = "lv")]
123 Lv,
124 #[serde(rename = "lt")]
125 Lt,
126 #[serde(rename = "ms")]
127 Ms,
128 #[serde(rename = "mt")]
129 Mt,
130 #[serde(rename = "cmn")]
131 Cmn,
132 #[serde(rename = "mr")]
133 Mr,
134 #[serde(rename = "mn")]
135 Mn,
136 #[serde(rename = "no")]
137 No,
138 #[serde(rename = "fa")]
139 Fa,
140 #[serde(rename = "pl")]
141 Pl,
142 #[serde(rename = "pt")]
143 Pt,
144 #[serde(rename = "ro")]
145 Ro,
146 #[serde(rename = "ru")]
147 Ru,
148 #[serde(rename = "sk")]
149 Sk,
150 #[serde(rename = "sl")]
151 Sl,
152 #[serde(rename = "es")]
153 Es,
154 #[serde(rename = "sw")]
155 Sw,
156 #[serde(rename = "sv")]
157 Sv,
158 #[serde(rename = "ta")]
159 Ta,
160 #[serde(rename = "th")]
161 Th,
162 #[serde(rename = "tr")]
163 Tr,
164 #[serde(rename = "uk")]
165 Uk,
166 #[serde(rename = "ur")]
167 Ur,
168 #[serde(rename = "ug")]
169 Ug,
170 #[serde(rename = "vi")]
171 Vi,
172 #[serde(rename = "cy")]
173 Cy,
174}
175
176impl Default for LanguageTrue {
177 fn default() -> LanguageTrue {
178 Self::Auto
179 }
180}