rust_tdlib/types/
check_sticker_set_name_result.rs1use crate::errors::Result;
2use crate::types::*;
3use uuid::Uuid;
4
5use std::fmt::Debug;
6
7pub trait TDCheckStickerSetNameResult: Debug + RObject {}
9
10#[derive(Debug, Clone, Deserialize, Serialize, Default)]
12#[serde(tag = "@type")]
13pub enum CheckStickerSetNameResult {
14 #[doc(hidden)]
15 #[default]
16 _Default,
17 #[serde(rename = "checkStickerSetName")]
19 CheckStickerSetName(CheckStickerSetName),
20 #[serde(rename = "checkStickerSetNameResultNameInvalid")]
22 NameInvalid(CheckStickerSetNameResultNameInvalid),
23 #[serde(rename = "checkStickerSetNameResultNameOccupied")]
25 NameOccupied(CheckStickerSetNameResultNameOccupied),
26 #[serde(rename = "checkStickerSetNameResultOk")]
28 Ok(CheckStickerSetNameResultOk),
29}
30
31impl RObject for CheckStickerSetNameResult {
32 #[doc(hidden)]
33 fn extra(&self) -> Option<&str> {
34 match self {
35 CheckStickerSetNameResult::CheckStickerSetName(t) => t.extra(),
36 CheckStickerSetNameResult::NameInvalid(t) => t.extra(),
37 CheckStickerSetNameResult::NameOccupied(t) => t.extra(),
38 CheckStickerSetNameResult::Ok(t) => t.extra(),
39
40 _ => None,
41 }
42 }
43 #[doc(hidden)]
44 fn client_id(&self) -> Option<i32> {
45 match self {
46 CheckStickerSetNameResult::CheckStickerSetName(t) => t.client_id(),
47 CheckStickerSetNameResult::NameInvalid(t) => t.client_id(),
48 CheckStickerSetNameResult::NameOccupied(t) => t.client_id(),
49 CheckStickerSetNameResult::Ok(t) => t.client_id(),
50
51 _ => None,
52 }
53 }
54}
55
56impl CheckStickerSetNameResult {
57 pub fn from_json<S: AsRef<str>>(json: S) -> Result<Self> {
58 Ok(serde_json::from_str(json.as_ref())?)
59 }
60 #[doc(hidden)]
61 pub fn _is_default(&self) -> bool {
62 matches!(self, CheckStickerSetNameResult::_Default)
63 }
64}
65
66impl AsRef<CheckStickerSetNameResult> for CheckStickerSetNameResult {
67 fn as_ref(&self) -> &CheckStickerSetNameResult {
68 self
69 }
70}
71
72#[derive(Debug, Clone, Default, Serialize, Deserialize)]
74pub struct CheckStickerSetNameResultNameInvalid {
75 #[doc(hidden)]
76 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
77 extra: Option<String>,
78 #[serde(rename(serialize = "@client_id", deserialize = "@client_id"))]
79 client_id: Option<i32>,
80}
81
82impl RObject for CheckStickerSetNameResultNameInvalid {
83 #[doc(hidden)]
84 fn extra(&self) -> Option<&str> {
85 self.extra.as_deref()
86 }
87 #[doc(hidden)]
88 fn client_id(&self) -> Option<i32> {
89 self.client_id
90 }
91}
92
93impl TDCheckStickerSetNameResult for CheckStickerSetNameResultNameInvalid {}
94
95impl CheckStickerSetNameResultNameInvalid {
96 pub fn from_json<S: AsRef<str>>(json: S) -> Result<Self> {
97 Ok(serde_json::from_str(json.as_ref())?)
98 }
99 pub fn builder() -> CheckStickerSetNameResultNameInvalidBuilder {
100 let mut inner = CheckStickerSetNameResultNameInvalid::default();
101 inner.extra = Some(Uuid::new_v4().to_string());
102
103 CheckStickerSetNameResultNameInvalidBuilder { inner }
104 }
105}
106
107#[doc(hidden)]
108pub struct CheckStickerSetNameResultNameInvalidBuilder {
109 inner: CheckStickerSetNameResultNameInvalid,
110}
111
112#[deprecated]
113pub type RTDCheckStickerSetNameResultNameInvalidBuilder =
114 CheckStickerSetNameResultNameInvalidBuilder;
115
116impl CheckStickerSetNameResultNameInvalidBuilder {
117 pub fn build(&self) -> CheckStickerSetNameResultNameInvalid {
118 self.inner.clone()
119 }
120}
121
122impl AsRef<CheckStickerSetNameResultNameInvalid> for CheckStickerSetNameResultNameInvalid {
123 fn as_ref(&self) -> &CheckStickerSetNameResultNameInvalid {
124 self
125 }
126}
127
128impl AsRef<CheckStickerSetNameResultNameInvalid> for CheckStickerSetNameResultNameInvalidBuilder {
129 fn as_ref(&self) -> &CheckStickerSetNameResultNameInvalid {
130 &self.inner
131 }
132}
133
134#[derive(Debug, Clone, Default, Serialize, Deserialize)]
136pub struct CheckStickerSetNameResultNameOccupied {
137 #[doc(hidden)]
138 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
139 extra: Option<String>,
140 #[serde(rename(serialize = "@client_id", deserialize = "@client_id"))]
141 client_id: Option<i32>,
142}
143
144impl RObject for CheckStickerSetNameResultNameOccupied {
145 #[doc(hidden)]
146 fn extra(&self) -> Option<&str> {
147 self.extra.as_deref()
148 }
149 #[doc(hidden)]
150 fn client_id(&self) -> Option<i32> {
151 self.client_id
152 }
153}
154
155impl TDCheckStickerSetNameResult for CheckStickerSetNameResultNameOccupied {}
156
157impl CheckStickerSetNameResultNameOccupied {
158 pub fn from_json<S: AsRef<str>>(json: S) -> Result<Self> {
159 Ok(serde_json::from_str(json.as_ref())?)
160 }
161 pub fn builder() -> CheckStickerSetNameResultNameOccupiedBuilder {
162 let mut inner = CheckStickerSetNameResultNameOccupied::default();
163 inner.extra = Some(Uuid::new_v4().to_string());
164
165 CheckStickerSetNameResultNameOccupiedBuilder { inner }
166 }
167}
168
169#[doc(hidden)]
170pub struct CheckStickerSetNameResultNameOccupiedBuilder {
171 inner: CheckStickerSetNameResultNameOccupied,
172}
173
174#[deprecated]
175pub type RTDCheckStickerSetNameResultNameOccupiedBuilder =
176 CheckStickerSetNameResultNameOccupiedBuilder;
177
178impl CheckStickerSetNameResultNameOccupiedBuilder {
179 pub fn build(&self) -> CheckStickerSetNameResultNameOccupied {
180 self.inner.clone()
181 }
182}
183
184impl AsRef<CheckStickerSetNameResultNameOccupied> for CheckStickerSetNameResultNameOccupied {
185 fn as_ref(&self) -> &CheckStickerSetNameResultNameOccupied {
186 self
187 }
188}
189
190impl AsRef<CheckStickerSetNameResultNameOccupied> for CheckStickerSetNameResultNameOccupiedBuilder {
191 fn as_ref(&self) -> &CheckStickerSetNameResultNameOccupied {
192 &self.inner
193 }
194}
195
196#[derive(Debug, Clone, Default, Serialize, Deserialize)]
198pub struct CheckStickerSetNameResultOk {
199 #[doc(hidden)]
200 #[serde(rename(serialize = "@extra", deserialize = "@extra"))]
201 extra: Option<String>,
202 #[serde(rename(serialize = "@client_id", deserialize = "@client_id"))]
203 client_id: Option<i32>,
204}
205
206impl RObject for CheckStickerSetNameResultOk {
207 #[doc(hidden)]
208 fn extra(&self) -> Option<&str> {
209 self.extra.as_deref()
210 }
211 #[doc(hidden)]
212 fn client_id(&self) -> Option<i32> {
213 self.client_id
214 }
215}
216
217impl TDCheckStickerSetNameResult for CheckStickerSetNameResultOk {}
218
219impl CheckStickerSetNameResultOk {
220 pub fn from_json<S: AsRef<str>>(json: S) -> Result<Self> {
221 Ok(serde_json::from_str(json.as_ref())?)
222 }
223 pub fn builder() -> CheckStickerSetNameResultOkBuilder {
224 let mut inner = CheckStickerSetNameResultOk::default();
225 inner.extra = Some(Uuid::new_v4().to_string());
226
227 CheckStickerSetNameResultOkBuilder { inner }
228 }
229}
230
231#[doc(hidden)]
232pub struct CheckStickerSetNameResultOkBuilder {
233 inner: CheckStickerSetNameResultOk,
234}
235
236#[deprecated]
237pub type RTDCheckStickerSetNameResultOkBuilder = CheckStickerSetNameResultOkBuilder;
238
239impl CheckStickerSetNameResultOkBuilder {
240 pub fn build(&self) -> CheckStickerSetNameResultOk {
241 self.inner.clone()
242 }
243}
244
245impl AsRef<CheckStickerSetNameResultOk> for CheckStickerSetNameResultOk {
246 fn as_ref(&self) -> &CheckStickerSetNameResultOk {
247 self
248 }
249}
250
251impl AsRef<CheckStickerSetNameResultOk> for CheckStickerSetNameResultOkBuilder {
252 fn as_ref(&self) -> &CheckStickerSetNameResultOk {
253 &self.inner
254 }
255}