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