1use schemars::JsonSchema;
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
6pub struct Blocks {
7 #[serde(
8 default,
9 skip_serializing_if = "String::is_empty",
10 deserialize_with = "crate::utils::deserialize_null_string::deserialize",
11 rename = "type"
12 )]
13 pub type_: String,
14}
15
16#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
17pub struct Fields {}
18
19#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
20pub struct Icons {
21 #[serde(
22 default,
23 skip_serializing_if = "String::is_empty",
24 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
25 )]
26 pub image_36: String,
27 #[serde(
28 default,
29 skip_serializing_if = "String::is_empty",
30 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
31 )]
32 pub image_48: String,
33 #[serde(
34 default,
35 skip_serializing_if = "String::is_empty",
36 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
37 )]
38 pub image_72: String,
39}
40
41#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
42pub struct ObjsBotProfile {
43 #[serde(
44 default,
45 skip_serializing_if = "String::is_empty",
46 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
47 )]
48 pub app_id: String,
49 #[serde(
50 default,
51 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
52 )]
53 pub deleted: bool,
54 pub icons: Icons,
55 #[serde(
56 default,
57 skip_serializing_if = "String::is_empty",
58 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
59 )]
60 pub id: String,
61 #[serde(
62 default,
63 skip_serializing_if = "String::is_empty",
64 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
65 )]
66 pub name: String,
67 #[serde(
68 default,
69 skip_serializing_if = "String::is_empty",
70 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
71 )]
72 pub team_id: String,
73 #[serde(
74 default,
75 skip_serializing_if = "crate::utils::zero_i64",
76 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
77 )]
78 pub updated: i64,
79}
80
81#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
87pub struct LatestAnyOf {
88 #[serde(flatten)]
89 pub objs_message: ObjsMessage,
90 #[serde(flatten)]
91 pub value: serde_json::Value,
92}
93
94#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
95pub struct Topic {
96 #[serde(
97 default,
98 skip_serializing_if = "String::is_empty",
99 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
100 )]
101 pub creator: String,
102 #[serde(
103 default,
104 skip_serializing_if = "crate::utils::zero_i64",
105 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
106 )]
107 pub last_set: i64,
108 #[serde(
109 default,
110 skip_serializing_if = "String::is_empty",
111 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
112 )]
113 pub value: String,
114}
115
116#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
117pub struct ObjsChannel {
118 #[serde(
119 default,
120 skip_serializing_if = "String::is_empty",
121 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
122 )]
123 pub accepted_user: String,
124 #[serde(
125 default,
126 skip_serializing_if = "crate::utils::zero_i64",
127 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
128 )]
129 pub created: i64,
130 #[serde(
131 default,
132 skip_serializing_if = "String::is_empty",
133 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
134 )]
135 pub creator: String,
136 #[serde(
137 default,
138 skip_serializing_if = "String::is_empty",
139 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
140 )]
141 pub id: String,
142 #[serde(
143 default,
144 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
145 )]
146 pub is_archived: bool,
147 #[serde(
148 default,
149 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
150 )]
151 pub is_channel: bool,
152 #[serde(
153 default,
154 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
155 )]
156 pub is_frozen: bool,
157 #[serde(
158 default,
159 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
160 )]
161 pub is_general: bool,
162 #[serde(
163 default,
164 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
165 )]
166 pub is_member: bool,
167 #[serde(
168 default,
169 skip_serializing_if = "crate::utils::zero_i64",
170 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
171 )]
172 pub is_moved: i64,
173 #[serde(
174 default,
175 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
176 )]
177 pub is_mpim: bool,
178 #[serde(
179 default,
180 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
181 )]
182 pub is_non_threadable: bool,
183 #[serde(
184 default,
185 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
186 )]
187 pub is_org_shared: bool,
188 #[serde(
189 default,
190 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
191 )]
192 pub is_pending_ext_shared: bool,
193 #[serde(
194 default,
195 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
196 )]
197 pub is_private: bool,
198 #[serde(
199 default,
200 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
201 )]
202 pub is_read_only: bool,
203 #[serde(
204 default,
205 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
206 )]
207 pub is_shared: bool,
208 #[serde(
209 default,
210 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
211 )]
212 pub is_thread_only: bool,
213 #[serde(
214 default,
215 skip_serializing_if = "String::is_empty",
216 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
217 )]
218 pub last_read: String,
219 #[serde(
220 default,
221 skip_serializing_if = "Vec::is_empty",
222 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
223 )]
224 pub latest: Vec<LatestAnyOf>,
225 #[serde(
226 default,
227 skip_serializing_if = "Vec::is_empty",
228 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
229 )]
230 pub members: Vec<String>,
231 #[serde(
232 default,
233 skip_serializing_if = "String::is_empty",
234 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
235 )]
236 pub name: String,
237 #[serde(
238 default,
239 skip_serializing_if = "String::is_empty",
240 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
241 )]
242 pub name_normalized: String,
243 #[serde(
244 default,
245 skip_serializing_if = "crate::utils::zero_i64",
246 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
247 )]
248 pub num_members: i64,
249 #[serde(
250 default,
251 skip_serializing_if = "Vec::is_empty",
252 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
253 )]
254 pub pending_shared: Vec<String>,
255 #[serde(
256 default,
257 skip_serializing_if = "Vec::is_empty",
258 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
259 )]
260 pub previous_names: Vec<String>,
261 #[serde(
262 default,
263 skip_serializing_if = "crate::utils::zero_f64",
264 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
265 )]
266 pub priority: f64,
267 pub purpose: Topic,
268 pub topic: Topic,
269 #[serde(
270 default,
271 skip_serializing_if = "crate::utils::zero_i64",
272 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
273 )]
274 pub unlinked: i64,
275 #[serde(
276 default,
277 skip_serializing_if = "crate::utils::zero_i64",
278 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
279 )]
280 pub unread_count: i64,
281 #[serde(
282 default,
283 skip_serializing_if = "crate::utils::zero_i64",
284 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
285 )]
286 pub unread_count_display: i64,
287}
288
289#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
290pub struct ObjsComment {
291 #[serde(
292 default,
293 skip_serializing_if = "String::is_empty",
294 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
295 )]
296 pub comment: String,
297 #[serde(
298 default,
299 skip_serializing_if = "crate::utils::zero_i64",
300 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
301 )]
302 pub created: i64,
303 #[serde(
304 default,
305 skip_serializing_if = "String::is_empty",
306 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
307 )]
308 pub id: String,
309 #[serde(
310 default,
311 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
312 )]
313 pub is_intro: bool,
314 #[serde(
315 default,
316 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
317 )]
318 pub is_starred: bool,
319 #[serde(
320 default,
321 skip_serializing_if = "crate::utils::zero_i64",
322 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
323 )]
324 pub num_stars: i64,
325 #[serde(default, skip_serializing_if = "Option::is_none")]
326 pub pinned_info: Option<Fields>,
327 #[serde(
328 default,
329 skip_serializing_if = "Vec::is_empty",
330 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
331 )]
332 pub pinned_to: Vec<String>,
333 #[serde(
334 default,
335 skip_serializing_if = "Vec::is_empty",
336 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
337 )]
338 pub reactions: Vec<ObjsReaction>,
339 #[serde(
340 default,
341 skip_serializing_if = "crate::utils::zero_i64",
342 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
343 )]
344 pub timestamp: i64,
345 #[serde(
346 default,
347 skip_serializing_if = "String::is_empty",
348 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
349 )]
350 pub user: String,
351}
352
353#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
354pub struct DisplayCounts {
355 #[serde(
356 default,
357 skip_serializing_if = "crate::utils::zero_i64",
358 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
359 )]
360 pub display_counts: i64,
361 #[serde(
362 default,
363 skip_serializing_if = "crate::utils::zero_i64",
364 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
365 )]
366 pub guest_counts: i64,
367}
368
369#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
375pub struct ParentConversationAnyOf {
376 #[serde(flatten)]
377 pub string: String,
378 #[serde(flatten)]
379 pub value: serde_json::Value,
380}
381
382#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
383pub struct Shares {
384 #[serde(
385 default,
386 skip_serializing_if = "String::is_empty",
387 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
388 )]
389 pub accepted_user: String,
390 #[serde(
391 default,
392 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
393 )]
394 pub is_active: bool,
395 pub team: ObjsTeam,
396 #[serde(
397 default,
398 skip_serializing_if = "String::is_empty",
399 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
400 )]
401 pub user: String,
402}
403
404#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
405pub struct ObjsConversation {
406 #[serde(
407 default,
408 skip_serializing_if = "String::is_empty",
409 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
410 )]
411 pub accepted_user: String,
412 #[serde(
413 default,
414 skip_serializing_if = "Vec::is_empty",
415 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
416 )]
417 pub connected_team_ids: Vec<String>,
418 #[serde(
419 default,
420 skip_serializing_if = "String::is_empty",
421 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
422 )]
423 pub conversation_host_id: String,
424 #[serde(
425 default,
426 skip_serializing_if = "crate::utils::zero_i64",
427 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
428 )]
429 pub created: i64,
430 #[serde(
431 default,
432 skip_serializing_if = "String::is_empty",
433 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
434 )]
435 pub creator: String,
436 #[serde(default, skip_serializing_if = "Option::is_none")]
437 pub display_counts: Option<DisplayCounts>,
438 #[serde(
439 default,
440 skip_serializing_if = "String::is_empty",
441 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
442 )]
443 pub enterprise_id: String,
444 #[serde(
445 default,
446 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
447 )]
448 pub has_pins: bool,
449 #[serde(
450 default,
451 skip_serializing_if = "String::is_empty",
452 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
453 )]
454 pub id: String,
455 #[serde(
456 default,
457 skip_serializing_if = "Vec::is_empty",
458 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
459 )]
460 pub internal_team_ids: Vec<String>,
461 #[serde(
462 default,
463 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
464 )]
465 pub is_archived: bool,
466 #[serde(
467 default,
468 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
469 )]
470 pub is_channel: bool,
471 #[serde(
472 default,
473 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
474 )]
475 pub is_ext_shared: bool,
476 #[serde(
477 default,
478 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
479 )]
480 pub is_frozen: bool,
481 #[serde(
482 default,
483 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
484 )]
485 pub is_general: bool,
486 #[serde(
487 default,
488 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
489 )]
490 pub is_global_shared: bool,
491 #[serde(
492 default,
493 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
494 )]
495 pub is_group: bool,
496 #[serde(
497 default,
498 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
499 )]
500 pub is_im: bool,
501 #[serde(
502 default,
503 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
504 )]
505 pub is_member: bool,
506 #[serde(
507 default,
508 skip_serializing_if = "crate::utils::zero_i64",
509 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
510 )]
511 pub is_moved: i64,
512 #[serde(
513 default,
514 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
515 )]
516 pub is_mpim: bool,
517 #[serde(
518 default,
519 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
520 )]
521 pub is_non_threadable: bool,
522 #[serde(
523 default,
524 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
525 )]
526 pub is_open: bool,
527 #[serde(
528 default,
529 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
530 )]
531 pub is_org_default: bool,
532 #[serde(
533 default,
534 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
535 )]
536 pub is_org_mandatory: bool,
537 #[serde(
538 default,
539 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
540 )]
541 pub is_org_shared: bool,
542 #[serde(
543 default,
544 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
545 )]
546 pub is_pending_ext_shared: bool,
547 #[serde(
548 default,
549 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
550 )]
551 pub is_private: bool,
552 #[serde(
553 default,
554 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
555 )]
556 pub is_read_only: bool,
557 #[serde(
558 default,
559 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
560 )]
561 pub is_shared: bool,
562 #[serde(
563 default,
564 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
565 )]
566 pub is_starred: bool,
567 #[serde(
568 default,
569 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
570 )]
571 pub is_thread_only: bool,
572 #[serde(
573 default,
574 skip_serializing_if = "String::is_empty",
575 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
576 )]
577 pub last_read: String,
578 #[serde(
579 default,
580 skip_serializing_if = "Vec::is_empty",
581 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
582 )]
583 pub latest: Vec<LatestAnyOf>,
584 #[serde(
585 default,
586 skip_serializing_if = "Vec::is_empty",
587 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
588 )]
589 pub members: Vec<String>,
590 #[serde(
591 default,
592 skip_serializing_if = "String::is_empty",
593 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
594 )]
595 pub name: String,
596 #[serde(
597 default,
598 skip_serializing_if = "String::is_empty",
599 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
600 )]
601 pub name_normalized: String,
602 #[serde(
603 default,
604 skip_serializing_if = "crate::utils::zero_i64",
605 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
606 )]
607 pub num_members: i64,
608 #[serde(
609 default,
610 skip_serializing_if = "Vec::is_empty",
611 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
612 )]
613 pub parent_conversation: Vec<ParentConversationAnyOf>,
614 #[serde(
615 default,
616 skip_serializing_if = "Vec::is_empty",
617 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
618 )]
619 pub pending_connected_team_ids: Vec<String>,
620 #[serde(
621 default,
622 skip_serializing_if = "Vec::is_empty",
623 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
624 )]
625 pub pending_shared: Vec<String>,
626 #[serde(
627 default,
628 skip_serializing_if = "crate::utils::zero_i64",
629 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
630 )]
631 pub pin_count: i64,
632 #[serde(
633 default,
634 skip_serializing_if = "Vec::is_empty",
635 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
636 )]
637 pub previous_names: Vec<String>,
638 #[serde(
639 default,
640 skip_serializing_if = "crate::utils::zero_f64",
641 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
642 )]
643 pub priority: f64,
644 pub purpose: Topic,
645 #[serde(
646 default,
647 skip_serializing_if = "Vec::is_empty",
648 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
649 )]
650 pub shared_team_ids: Vec<String>,
651 #[serde(
652 default,
653 skip_serializing_if = "Vec::is_empty",
654 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
655 )]
656 pub shares: Vec<Shares>,
657 #[serde(
658 default,
659 skip_serializing_if = "crate::utils::zero_i64",
660 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
661 )]
662 pub timezone_count: i64,
663 pub topic: Topic,
664 #[serde(
665 default,
666 skip_serializing_if = "crate::utils::zero_i64",
667 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
668 )]
669 pub unlinked: i64,
670 #[serde(
671 default,
672 skip_serializing_if = "crate::utils::zero_i64",
673 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
674 )]
675 pub unread_count: i64,
676 #[serde(
677 default,
678 skip_serializing_if = "crate::utils::zero_i64",
679 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
680 )]
681 pub unread_count_display: i64,
682 #[serde(
683 default,
684 skip_serializing_if = "String::is_empty",
685 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
686 )]
687 pub use_case: String,
688 #[serde(
689 default,
690 skip_serializing_if = "String::is_empty",
691 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
692 )]
693 pub user: String,
694 #[serde(
695 default,
696 skip_serializing_if = "crate::utils::zero_i64",
697 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
698 )]
699 pub version: i64,
700}
701
702#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
703pub struct ConversationMpimObject {
704 #[serde(
705 default,
706 skip_serializing_if = "String::is_empty",
707 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
708 )]
709 pub accepted_user: String,
710 #[serde(
711 default,
712 skip_serializing_if = "Vec::is_empty",
713 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
714 )]
715 pub connected_team_ids: Vec<String>,
716 #[serde(
717 default,
718 skip_serializing_if = "String::is_empty",
719 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
720 )]
721 pub conversation_host_id: String,
722 #[serde(
723 default,
724 skip_serializing_if = "crate::utils::zero_i64",
725 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
726 )]
727 pub created: i64,
728 #[serde(
729 default,
730 skip_serializing_if = "String::is_empty",
731 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
732 )]
733 pub creator: String,
734 #[serde(default, skip_serializing_if = "Option::is_none")]
735 pub display_counts: Option<DisplayCounts>,
736 #[serde(
737 default,
738 skip_serializing_if = "String::is_empty",
739 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
740 )]
741 pub id: String,
742 #[serde(
743 default,
744 skip_serializing_if = "Vec::is_empty",
745 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
746 )]
747 pub internal_team_ids: Vec<String>,
748 #[serde(
749 default,
750 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
751 )]
752 pub is_archived: bool,
753 #[serde(
754 default,
755 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
756 )]
757 pub is_channel: bool,
758 #[serde(
759 default,
760 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
761 )]
762 pub is_ext_shared: bool,
763 #[serde(
764 default,
765 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
766 )]
767 pub is_frozen: bool,
768 #[serde(
769 default,
770 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
771 )]
772 pub is_general: bool,
773 #[serde(
774 default,
775 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
776 )]
777 pub is_group: bool,
778 #[serde(
779 default,
780 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
781 )]
782 pub is_im: bool,
783 #[serde(
784 default,
785 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
786 )]
787 pub is_member: bool,
788 #[serde(
789 default,
790 skip_serializing_if = "crate::utils::zero_i64",
791 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
792 )]
793 pub is_moved: i64,
794 #[serde(
795 default,
796 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
797 )]
798 pub is_mpim: bool,
799 #[serde(
800 default,
801 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
802 )]
803 pub is_non_threadable: bool,
804 #[serde(
805 default,
806 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
807 )]
808 pub is_open: bool,
809 #[serde(
810 default,
811 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
812 )]
813 pub is_org_shared: bool,
814 #[serde(
815 default,
816 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
817 )]
818 pub is_pending_ext_shared: bool,
819 #[serde(
820 default,
821 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
822 )]
823 pub is_private: bool,
824 #[serde(
825 default,
826 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
827 )]
828 pub is_read_only: bool,
829 #[serde(
830 default,
831 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
832 )]
833 pub is_shared: bool,
834 #[serde(
835 default,
836 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
837 )]
838 pub is_starred: bool,
839 #[serde(
840 default,
841 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
842 )]
843 pub is_thread_only: bool,
844 #[serde(
845 default,
846 skip_serializing_if = "String::is_empty",
847 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
848 )]
849 pub last_read: String,
850 #[serde(
851 default,
852 skip_serializing_if = "Vec::is_empty",
853 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
854 )]
855 pub latest: Vec<LatestAnyOf>,
856 #[serde(
857 default,
858 skip_serializing_if = "Vec::is_empty",
859 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
860 )]
861 pub members: Vec<String>,
862 #[serde(
863 default,
864 skip_serializing_if = "String::is_empty",
865 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
866 )]
867 pub name: String,
868 #[serde(
869 default,
870 skip_serializing_if = "String::is_empty",
871 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
872 )]
873 pub name_normalized: String,
874 #[serde(
875 default,
876 skip_serializing_if = "crate::utils::zero_i64",
877 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
878 )]
879 pub num_members: i64,
880 #[serde(
881 default,
882 skip_serializing_if = "Vec::is_empty",
883 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
884 )]
885 pub parent_conversation: Vec<ParentConversationAnyOf>,
886 #[serde(
887 default,
888 skip_serializing_if = "Vec::is_empty",
889 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
890 )]
891 pub pending_connected_team_ids: Vec<String>,
892 #[serde(
893 default,
894 skip_serializing_if = "Vec::is_empty",
895 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
896 )]
897 pub pending_shared: Vec<String>,
898 #[serde(
899 default,
900 skip_serializing_if = "crate::utils::zero_i64",
901 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
902 )]
903 pub pin_count: i64,
904 #[serde(
905 default,
906 skip_serializing_if = "Vec::is_empty",
907 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
908 )]
909 pub previous_names: Vec<String>,
910 #[serde(
911 default,
912 skip_serializing_if = "crate::utils::zero_f64",
913 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
914 )]
915 pub priority: f64,
916 pub purpose: Topic,
917 #[serde(
918 default,
919 skip_serializing_if = "Vec::is_empty",
920 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
921 )]
922 pub shared_team_ids: Vec<String>,
923 #[serde(
924 default,
925 skip_serializing_if = "Vec::is_empty",
926 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
927 )]
928 pub shares: Vec<Shares>,
929 #[serde(
930 default,
931 skip_serializing_if = "crate::utils::zero_i64",
932 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
933 )]
934 pub timezone_count: i64,
935 pub topic: Topic,
936 #[serde(
937 default,
938 skip_serializing_if = "crate::utils::zero_i64",
939 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
940 )]
941 pub unlinked: i64,
942 #[serde(
943 default,
944 skip_serializing_if = "crate::utils::zero_i64",
945 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
946 )]
947 pub unread_count: i64,
948 #[serde(
949 default,
950 skip_serializing_if = "crate::utils::zero_i64",
951 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
952 )]
953 pub unread_count_display: i64,
954 #[serde(
955 default,
956 skip_serializing_if = "String::is_empty",
957 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
958 )]
959 pub user: String,
960 #[serde(
961 default,
962 skip_serializing_if = "crate::utils::zero_i64",
963 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
964 )]
965 pub version: i64,
966}
967
968#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
969pub struct ConversationImChannelObjectFromConversationsMethodsShares {
970 #[serde(
971 default,
972 skip_serializing_if = "crate::utils::zero_i64",
973 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
974 )]
975 pub date_create: i64,
976 #[serde(
977 default,
978 skip_serializing_if = "String::is_empty",
979 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
980 )]
981 pub id: String,
982 #[serde(
983 default,
984 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
985 )]
986 pub is_active: bool,
987 #[serde(
988 default,
989 skip_serializing_if = "String::is_empty",
990 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
991 )]
992 pub name: String,
993 pub team: ObjsTeam,
994}
995
996#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
997pub struct ConversationImChannelObjectFromConversationsMethods {
998 #[serde(
999 default,
1000 skip_serializing_if = "crate::utils::zero_i64",
1001 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1002 )]
1003 pub created: i64,
1004 #[serde(
1005 default,
1006 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1007 )]
1008 pub has_pins: bool,
1009 #[serde(
1010 default,
1011 skip_serializing_if = "String::is_empty",
1012 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1013 )]
1014 pub id: String,
1015 #[serde(
1016 default,
1017 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1018 )]
1019 pub is_archived: bool,
1020 #[serde(
1021 default,
1022 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1023 )]
1024 pub is_ext_shared: bool,
1025 #[serde(
1026 default,
1027 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1028 )]
1029 pub is_frozen: bool,
1030 #[serde(
1031 default,
1032 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1033 )]
1034 pub is_im: bool,
1035 #[serde(
1036 default,
1037 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1038 )]
1039 pub is_open: bool,
1040 #[serde(
1041 default,
1042 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1043 )]
1044 pub is_org_shared: bool,
1045 #[serde(
1046 default,
1047 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1048 )]
1049 pub is_shared: bool,
1050 #[serde(
1051 default,
1052 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1053 )]
1054 pub is_starred: bool,
1055 #[serde(
1056 default,
1057 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1058 )]
1059 pub is_user_deleted: bool,
1060 #[serde(
1061 default,
1062 skip_serializing_if = "String::is_empty",
1063 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1064 )]
1065 pub last_read: String,
1066 #[serde(
1067 default,
1068 skip_serializing_if = "Vec::is_empty",
1069 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1070 )]
1071 pub latest: Vec<LatestAnyOf>,
1072 #[serde(
1073 default,
1074 skip_serializing_if = "Vec::is_empty",
1075 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1076 )]
1077 pub parent_conversation: Vec<ParentConversationAnyOf>,
1078 #[serde(
1079 default,
1080 skip_serializing_if = "crate::utils::zero_i64",
1081 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1082 )]
1083 pub pin_count: i64,
1084 #[serde(
1085 default,
1086 skip_serializing_if = "crate::utils::zero_f64",
1087 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
1088 )]
1089 pub priority: f64,
1090 #[serde(
1091 default,
1092 skip_serializing_if = "Vec::is_empty",
1093 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1094 )]
1095 pub shares: Vec<ConversationImChannelObjectFromConversationsMethodsShares>,
1096 #[serde(
1097 default,
1098 skip_serializing_if = "crate::utils::zero_i64",
1099 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1100 )]
1101 pub unread_count: i64,
1102 #[serde(
1103 default,
1104 skip_serializing_if = "crate::utils::zero_i64",
1105 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1106 )]
1107 pub unread_count_display: i64,
1108 #[serde(
1109 default,
1110 skip_serializing_if = "String::is_empty",
1111 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1112 )]
1113 pub user: String,
1114 #[serde(
1115 default,
1116 skip_serializing_if = "crate::utils::zero_i64",
1117 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1118 )]
1119 pub version: i64,
1120}
1121
1122#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1129pub struct ObjsConversationAnyOf {
1130 #[serde(flatten)]
1131 pub objs_conversation: ObjsConversation,
1132 #[serde(flatten)]
1133 pub conversation_mpim_object: ConversationMpimObject,
1134 #[serde(flatten)]
1135 pub conversation_im_channel_object_from_conversations_methods:
1136 ConversationImChannelObjectFromConversationsMethods,
1137}
1138
1139#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1140pub struct ObjsEnterpriseUser {
1141 #[serde(
1142 default,
1143 skip_serializing_if = "String::is_empty",
1144 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1145 )]
1146 pub enterprise_id: String,
1147 #[serde(
1148 default,
1149 skip_serializing_if = "String::is_empty",
1150 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1151 )]
1152 pub enterprise_name: String,
1153 #[serde(
1154 default,
1155 skip_serializing_if = "String::is_empty",
1156 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1157 )]
1158 pub id: String,
1159 #[serde(
1160 default,
1161 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1162 )]
1163 pub is_admin: bool,
1164 #[serde(
1165 default,
1166 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1167 )]
1168 pub is_owner: bool,
1169 #[serde(
1170 default,
1171 skip_serializing_if = "Vec::is_empty",
1172 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1173 )]
1174 pub teams: Vec<String>,
1175}
1176
1177#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1178pub struct Current {
1179 #[serde(
1180 default,
1181 skip_serializing_if = "crate::utils::zero_i64",
1182 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1183 )]
1184 pub date_started: i64,
1185 #[serde(
1186 default,
1187 skip_serializing_if = "String::is_empty",
1188 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1189 )]
1190 pub team_id: String,
1191}
1192
1193#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1194pub struct ExternalOrgMigrations {
1195 #[serde(
1196 default,
1197 skip_serializing_if = "Vec::is_empty",
1198 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1199 )]
1200 pub current: Vec<Current>,
1201 #[serde(
1202 default,
1203 skip_serializing_if = "crate::utils::zero_i64",
1204 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1205 )]
1206 pub date_updated: i64,
1207}
1208
1209#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1210pub struct ObjsFileShares {
1211 #[serde(default, skip_serializing_if = "Option::is_none")]
1212 pub private: Option<serde_json::Value>,
1213 #[serde(default, skip_serializing_if = "Option::is_none")]
1214 pub public: Option<serde_json::Value>,
1215}
1216
1217#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1218pub struct ObjsFile {
1219 #[serde(
1220 default,
1221 skip_serializing_if = "Vec::is_empty",
1222 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1223 )]
1224 pub channels: Vec<String>,
1225 #[serde(
1226 default,
1227 skip_serializing_if = "crate::utils::zero_i64",
1228 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1229 )]
1230 pub comments_count: i64,
1231 #[serde(
1232 default,
1233 skip_serializing_if = "crate::utils::zero_i64",
1234 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1235 )]
1236 pub created: i64,
1237 #[serde(
1238 default,
1239 skip_serializing_if = "crate::utils::zero_i64",
1240 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1241 )]
1242 pub date_delete: i64,
1243 #[serde(
1244 default,
1245 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1246 )]
1247 pub display_as_bot: bool,
1248 #[serde(
1249 default,
1250 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1251 )]
1252 pub editable: bool,
1253 #[serde(
1254 default,
1255 skip_serializing_if = "String::is_empty",
1256 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1257 )]
1258 pub editor: String,
1259 #[serde(
1260 default,
1261 skip_serializing_if = "String::is_empty",
1262 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1263 )]
1264 pub external_id: String,
1265 #[serde(
1266 default,
1267 skip_serializing_if = "String::is_empty",
1268 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1269 )]
1270 pub external_type: String,
1271 #[serde(
1272 default,
1273 skip_serializing_if = "String::is_empty",
1274 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1275 )]
1276 pub external_url: String,
1277 #[serde(
1278 default,
1279 skip_serializing_if = "String::is_empty",
1280 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1281 )]
1282 pub filetype: String,
1283 #[serde(
1284 default,
1285 skip_serializing_if = "Vec::is_empty",
1286 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1287 )]
1288 pub groups: Vec<String>,
1289 #[serde(
1290 default,
1291 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1292 )]
1293 pub has_rich_preview: bool,
1294 #[serde(
1295 default,
1296 skip_serializing_if = "String::is_empty",
1297 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1298 )]
1299 pub id: String,
1300 #[serde(
1301 default,
1302 skip_serializing_if = "crate::utils::zero_i64",
1303 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1304 )]
1305 pub image_exif_rotation: i64,
1306 #[serde(
1307 default,
1308 skip_serializing_if = "Vec::is_empty",
1309 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1310 )]
1311 pub ims: Vec<String>,
1312 #[serde(
1313 default,
1314 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1315 )]
1316 pub is_external: bool,
1317 #[serde(
1318 default,
1319 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1320 )]
1321 pub is_public: bool,
1322 #[serde(
1323 default,
1324 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1325 )]
1326 pub is_starred: bool,
1327 #[serde(
1328 default,
1329 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1330 )]
1331 pub is_tombstoned: bool,
1332 #[serde(
1333 default,
1334 skip_serializing_if = "String::is_empty",
1335 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1336 )]
1337 pub last_editor: String,
1338 #[serde(
1339 default,
1340 skip_serializing_if = "String::is_empty",
1341 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1342 )]
1343 pub mimetype: String,
1344 #[serde(
1345 default,
1346 skip_serializing_if = "String::is_empty",
1347 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1348 )]
1349 pub mode: String,
1350 #[serde(
1351 default,
1352 skip_serializing_if = "String::is_empty",
1353 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1354 )]
1355 pub name: String,
1356 #[serde(
1357 default,
1358 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1359 )]
1360 pub non_owner_editable: bool,
1361 #[serde(
1362 default,
1363 skip_serializing_if = "crate::utils::zero_i64",
1364 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1365 )]
1366 pub num_stars: i64,
1367 #[serde(
1368 default,
1369 skip_serializing_if = "crate::utils::zero_i64",
1370 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1371 )]
1372 pub original_h: i64,
1373 #[serde(
1374 default,
1375 skip_serializing_if = "crate::utils::zero_i64",
1376 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1377 )]
1378 pub original_w: i64,
1379 #[serde(
1380 default,
1381 skip_serializing_if = "String::is_empty",
1382 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1383 )]
1384 pub permalink: String,
1385 #[serde(
1386 default,
1387 skip_serializing_if = "String::is_empty",
1388 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1389 )]
1390 pub permalink_public: String,
1391 #[serde(default, skip_serializing_if = "Option::is_none")]
1392 pub pinned_info: Option<Fields>,
1393 #[serde(
1394 default,
1395 skip_serializing_if = "Vec::is_empty",
1396 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1397 )]
1398 pub pinned_to: Vec<String>,
1399 #[serde(
1400 default,
1401 skip_serializing_if = "String::is_empty",
1402 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1403 )]
1404 pub pretty_type: String,
1405 #[serde(
1406 default,
1407 skip_serializing_if = "String::is_empty",
1408 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1409 )]
1410 pub preview: String,
1411 #[serde(
1412 default,
1413 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1414 )]
1415 pub public_url_shared: bool,
1416 #[serde(
1417 default,
1418 skip_serializing_if = "Vec::is_empty",
1419 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1420 )]
1421 pub reactions: Vec<ObjsReaction>,
1422 #[serde(default, skip_serializing_if = "Option::is_none")]
1423 pub shares: Option<ObjsFileShares>,
1424 #[serde(
1425 default,
1426 skip_serializing_if = "crate::utils::zero_i64",
1427 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1428 )]
1429 pub size: i64,
1430 #[serde(
1431 default,
1432 skip_serializing_if = "String::is_empty",
1433 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1434 )]
1435 pub source_team: String,
1436 #[serde(
1437 default,
1438 skip_serializing_if = "String::is_empty",
1439 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1440 )]
1441 pub state: String,
1442 #[serde(
1443 default,
1444 skip_serializing_if = "String::is_empty",
1445 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1446 )]
1447 pub thumb_1024: String,
1448 #[serde(
1449 default,
1450 skip_serializing_if = "crate::utils::zero_i64",
1451 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1452 )]
1453 pub thumb_1024_h: i64,
1454 #[serde(
1455 default,
1456 skip_serializing_if = "crate::utils::zero_i64",
1457 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1458 )]
1459 pub thumb_1024_w: i64,
1460 #[serde(
1461 default,
1462 skip_serializing_if = "String::is_empty",
1463 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1464 )]
1465 pub thumb_160: String,
1466 #[serde(
1467 default,
1468 skip_serializing_if = "String::is_empty",
1469 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1470 )]
1471 pub thumb_360: String,
1472 #[serde(
1473 default,
1474 skip_serializing_if = "crate::utils::zero_i64",
1475 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1476 )]
1477 pub thumb_360_h: i64,
1478 #[serde(
1479 default,
1480 skip_serializing_if = "crate::utils::zero_i64",
1481 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1482 )]
1483 pub thumb_360_w: i64,
1484 #[serde(
1485 default,
1486 skip_serializing_if = "String::is_empty",
1487 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1488 )]
1489 pub thumb_480: String,
1490 #[serde(
1491 default,
1492 skip_serializing_if = "crate::utils::zero_i64",
1493 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1494 )]
1495 pub thumb_480_h: i64,
1496 #[serde(
1497 default,
1498 skip_serializing_if = "crate::utils::zero_i64",
1499 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1500 )]
1501 pub thumb_480_w: i64,
1502 #[serde(
1503 default,
1504 skip_serializing_if = "String::is_empty",
1505 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1506 )]
1507 pub thumb_64: String,
1508 #[serde(
1509 default,
1510 skip_serializing_if = "String::is_empty",
1511 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1512 )]
1513 pub thumb_720: String,
1514 #[serde(
1515 default,
1516 skip_serializing_if = "crate::utils::zero_i64",
1517 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1518 )]
1519 pub thumb_720_h: i64,
1520 #[serde(
1521 default,
1522 skip_serializing_if = "crate::utils::zero_i64",
1523 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1524 )]
1525 pub thumb_720_w: i64,
1526 #[serde(
1527 default,
1528 skip_serializing_if = "String::is_empty",
1529 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1530 )]
1531 pub thumb_80: String,
1532 #[serde(
1533 default,
1534 skip_serializing_if = "String::is_empty",
1535 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1536 )]
1537 pub thumb_800: String,
1538 #[serde(
1539 default,
1540 skip_serializing_if = "crate::utils::zero_i64",
1541 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1542 )]
1543 pub thumb_800_h: i64,
1544 #[serde(
1545 default,
1546 skip_serializing_if = "crate::utils::zero_i64",
1547 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1548 )]
1549 pub thumb_800_w: i64,
1550 #[serde(
1551 default,
1552 skip_serializing_if = "String::is_empty",
1553 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1554 )]
1555 pub thumb_960: String,
1556 #[serde(
1557 default,
1558 skip_serializing_if = "crate::utils::zero_i64",
1559 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1560 )]
1561 pub thumb_960_h: i64,
1562 #[serde(
1563 default,
1564 skip_serializing_if = "crate::utils::zero_i64",
1565 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1566 )]
1567 pub thumb_960_w: i64,
1568 #[serde(
1569 default,
1570 skip_serializing_if = "String::is_empty",
1571 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1572 )]
1573 pub thumb_tiny: String,
1574 #[serde(
1575 default,
1576 skip_serializing_if = "crate::utils::zero_i64",
1577 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1578 )]
1579 pub timestamp: i64,
1580 #[serde(
1581 default,
1582 skip_serializing_if = "String::is_empty",
1583 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1584 )]
1585 pub title: String,
1586 #[serde(
1587 default,
1588 skip_serializing_if = "crate::utils::zero_i64",
1589 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1590 )]
1591 pub updated: i64,
1592 #[serde(
1593 default,
1594 skip_serializing_if = "String::is_empty",
1595 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1596 )]
1597 pub url_private: String,
1598 #[serde(
1599 default,
1600 skip_serializing_if = "String::is_empty",
1601 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1602 )]
1603 pub url_private_download: String,
1604 #[serde(
1605 default,
1606 skip_serializing_if = "String::is_empty",
1607 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1608 )]
1609 pub user: String,
1610 #[serde(
1611 default,
1612 skip_serializing_if = "String::is_empty",
1613 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1614 )]
1615 pub user_team: String,
1616 #[serde(
1617 default,
1618 skip_serializing_if = "String::is_empty",
1619 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1620 )]
1621 pub username: String,
1622}
1623
1624#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1625pub struct ObjsIcon {
1626 #[serde(
1627 default,
1628 skip_serializing_if = "String::is_empty",
1629 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1630 )]
1631 pub image_102: String,
1632 #[serde(
1633 default,
1634 skip_serializing_if = "String::is_empty",
1635 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1636 )]
1637 pub image_132: String,
1638 #[serde(
1639 default,
1640 skip_serializing_if = "String::is_empty",
1641 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1642 )]
1643 pub image_230: String,
1644 #[serde(
1645 default,
1646 skip_serializing_if = "String::is_empty",
1647 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1648 )]
1649 pub image_34: String,
1650 #[serde(
1651 default,
1652 skip_serializing_if = "String::is_empty",
1653 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1654 )]
1655 pub image_44: String,
1656 #[serde(
1657 default,
1658 skip_serializing_if = "String::is_empty",
1659 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1660 )]
1661 pub image_68: String,
1662 #[serde(
1663 default,
1664 skip_serializing_if = "String::is_empty",
1665 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1666 )]
1667 pub image_88: String,
1668 #[serde(
1669 default,
1670 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1671 )]
1672 pub image_default: bool,
1673}
1674
1675#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1676pub struct Attachments {
1677 #[serde(
1678 default,
1679 skip_serializing_if = "String::is_empty",
1680 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1681 )]
1682 pub fallback: String,
1683 #[serde(
1684 default,
1685 skip_serializing_if = "crate::utils::zero_i64",
1686 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1687 )]
1688 pub id: i64,
1689 #[serde(
1690 default,
1691 skip_serializing_if = "crate::utils::zero_i64",
1692 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1693 )]
1694 pub image_bytes: i64,
1695 #[serde(
1696 default,
1697 skip_serializing_if = "crate::utils::zero_i64",
1698 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1699 )]
1700 pub image_height: i64,
1701 #[serde(
1702 default,
1703 skip_serializing_if = "String::is_empty",
1704 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1705 )]
1706 pub image_url: String,
1707 #[serde(
1708 default,
1709 skip_serializing_if = "crate::utils::zero_i64",
1710 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1711 )]
1712 pub image_width: i64,
1713}
1714
1715#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1721pub struct BotAnyOf {
1722 #[serde(flatten)]
1723 pub string: String,
1724 #[serde(flatten)]
1725 pub value: serde_json::Value,
1726}
1727
1728#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1729pub struct ObjsMessageIcons {
1730 #[serde(
1731 default,
1732 skip_serializing_if = "String::is_empty",
1733 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1734 )]
1735 pub emoji: String,
1736 #[serde(
1737 default,
1738 skip_serializing_if = "String::is_empty",
1739 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1740 )]
1741 pub image_64: String,
1742}
1743
1744#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1745pub struct ObjsMessage {
1746 #[serde(
1747 default,
1748 skip_serializing_if = "Vec::is_empty",
1749 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1750 )]
1751 pub attachments: Vec<Attachments>,
1752 #[serde(
1753 default,
1754 skip_serializing_if = "Vec::is_empty",
1755 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1756 )]
1757 pub blocks: Vec<Blocks>,
1758 #[serde(
1759 default,
1760 skip_serializing_if = "Vec::is_empty",
1761 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1762 )]
1763 pub bot_id: Vec<BotAnyOf>,
1764 #[serde(default, skip_serializing_if = "Option::is_none")]
1765 pub bot_profile: Option<ObjsBotProfile>,
1766 #[serde(
1767 default,
1768 skip_serializing_if = "String::is_empty",
1769 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1770 )]
1771 pub client_msg_id: String,
1772 #[serde(default, skip_serializing_if = "Option::is_none")]
1773 pub comment: Option<ObjsComment>,
1774 #[serde(
1775 default,
1776 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1777 )]
1778 pub display_as_bot: bool,
1779 #[serde(default, skip_serializing_if = "Option::is_none")]
1780 pub file: Option<ObjsFile>,
1781 #[serde(
1782 default,
1783 skip_serializing_if = "Vec::is_empty",
1784 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1785 )]
1786 pub files: Vec<ObjsFile>,
1787 #[serde(default, skip_serializing_if = "Option::is_none")]
1788 pub icons: Option<ObjsMessageIcons>,
1789 #[serde(
1790 default,
1791 skip_serializing_if = "String::is_empty",
1792 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1793 )]
1794 pub inviter: String,
1795 #[serde(
1796 default,
1797 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1798 )]
1799 pub is_delayed_message: bool,
1800 #[serde(
1801 default,
1802 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1803 )]
1804 pub is_intro: bool,
1805 #[serde(
1806 default,
1807 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1808 )]
1809 pub is_starred: bool,
1810 #[serde(
1811 default,
1812 skip_serializing_if = "String::is_empty",
1813 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1814 )]
1815 pub last_read: String,
1816 #[serde(
1817 default,
1818 skip_serializing_if = "String::is_empty",
1819 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1820 )]
1821 pub latest_reply: String,
1822 #[serde(
1823 default,
1824 skip_serializing_if = "String::is_empty",
1825 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1826 )]
1827 pub name: String,
1828 #[serde(
1829 default,
1830 skip_serializing_if = "String::is_empty",
1831 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1832 )]
1833 pub old_name: String,
1834 #[serde(
1835 default,
1836 skip_serializing_if = "String::is_empty",
1837 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1838 )]
1839 pub parent_user_id: String,
1840 #[serde(
1841 default,
1842 skip_serializing_if = "String::is_empty",
1843 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1844 )]
1845 pub permalink: String,
1846 #[serde(
1847 default,
1848 skip_serializing_if = "Vec::is_empty",
1849 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1850 )]
1851 pub pinned_to: Vec<String>,
1852 #[serde(
1853 default,
1854 skip_serializing_if = "String::is_empty",
1855 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1856 )]
1857 pub purpose: String,
1858 #[serde(
1859 default,
1860 skip_serializing_if = "Vec::is_empty",
1861 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1862 )]
1863 pub reactions: Vec<ObjsReaction>,
1864 #[serde(
1865 default,
1866 skip_serializing_if = "crate::utils::zero_i64",
1867 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1868 )]
1869 pub reply_count: i64,
1870 #[serde(
1871 default,
1872 skip_serializing_if = "Vec::is_empty",
1873 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
1874 )]
1875 pub reply_users: Vec<String>,
1876 #[serde(
1877 default,
1878 skip_serializing_if = "crate::utils::zero_i64",
1879 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1880 )]
1881 pub reply_users_count: i64,
1882 #[serde(
1883 default,
1884 skip_serializing_if = "String::is_empty",
1885 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1886 )]
1887 pub source_team: String,
1888 #[serde(
1889 default,
1890 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1891 )]
1892 pub subscribed: bool,
1893 #[serde(
1894 default,
1895 skip_serializing_if = "String::is_empty",
1896 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1897 )]
1898 pub subtype: String,
1899 #[serde(
1900 default,
1901 skip_serializing_if = "String::is_empty",
1902 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1903 )]
1904 pub team: String,
1905 #[serde(
1906 default,
1907 skip_serializing_if = "String::is_empty",
1908 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1909 )]
1910 pub text: String,
1911 #[serde(
1912 default,
1913 skip_serializing_if = "String::is_empty",
1914 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1915 )]
1916 pub thread_ts: String,
1917 #[serde(
1918 default,
1919 skip_serializing_if = "String::is_empty",
1920 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1921 )]
1922 pub topic: String,
1923 #[serde(
1924 default,
1925 skip_serializing_if = "String::is_empty",
1926 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1927 )]
1928 pub ts: String,
1929 #[serde(
1930 default,
1931 skip_serializing_if = "String::is_empty",
1932 deserialize_with = "crate::utils::deserialize_null_string::deserialize",
1933 rename = "type"
1934 )]
1935 pub type_: String,
1936 #[serde(
1937 default,
1938 skip_serializing_if = "crate::utils::zero_i64",
1939 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1940 )]
1941 pub unread_count: i64,
1942 #[serde(
1943 default,
1944 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
1945 )]
1946 pub upload: bool,
1947 #[serde(
1948 default,
1949 skip_serializing_if = "String::is_empty",
1950 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1951 )]
1952 pub user: String,
1953 #[serde(default, skip_serializing_if = "Option::is_none")]
1954 pub user_profile: Option<ObjsUserProfileShort>,
1955 #[serde(
1956 default,
1957 skip_serializing_if = "String::is_empty",
1958 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1959 )]
1960 pub user_team: String,
1961 #[serde(
1962 default,
1963 skip_serializing_if = "String::is_empty",
1964 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
1965 )]
1966 pub username: String,
1967}
1968
1969#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
1970pub struct ObjsPaging {
1971 #[serde(
1972 default,
1973 skip_serializing_if = "crate::utils::zero_i64",
1974 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1975 )]
1976 pub count: i64,
1977 #[serde(
1978 default,
1979 skip_serializing_if = "crate::utils::zero_i64",
1980 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1981 )]
1982 pub page: i64,
1983 #[serde(
1984 default,
1985 skip_serializing_if = "crate::utils::zero_i64",
1986 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1987 )]
1988 pub pages: i64,
1989 #[serde(
1990 default,
1991 skip_serializing_if = "crate::utils::zero_i64",
1992 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1993 )]
1994 pub per_page: i64,
1995 #[serde(
1996 default,
1997 skip_serializing_if = "crate::utils::zero_i64",
1998 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
1999 )]
2000 pub spill: i64,
2001 #[serde(
2002 default,
2003 skip_serializing_if = "crate::utils::zero_i64",
2004 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2005 )]
2006 pub total: i64,
2007}
2008
2009#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2010pub struct ObjsPrimaryOwner {
2011 #[serde(
2012 default,
2013 skip_serializing_if = "String::is_empty",
2014 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2015 )]
2016 pub email: String,
2017 #[serde(
2018 default,
2019 skip_serializing_if = "String::is_empty",
2020 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2021 )]
2022 pub id: String,
2023}
2024
2025#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2026pub struct ObjsReaction {
2027 #[serde(
2028 default,
2029 skip_serializing_if = "crate::utils::zero_i64",
2030 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2031 )]
2032 pub count: i64,
2033 #[serde(
2034 default,
2035 skip_serializing_if = "String::is_empty",
2036 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2037 )]
2038 pub name: String,
2039 #[serde(
2040 default,
2041 skip_serializing_if = "Vec::is_empty",
2042 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2043 )]
2044 pub users: Vec<String>,
2045}
2046
2047#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2048pub struct ObjsReminder {
2049 #[serde(
2050 default,
2051 skip_serializing_if = "crate::utils::zero_i64",
2052 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2053 )]
2054 pub complete_ts: i64,
2055 #[serde(
2056 default,
2057 skip_serializing_if = "String::is_empty",
2058 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2059 )]
2060 pub creator: String,
2061 #[serde(
2062 default,
2063 skip_serializing_if = "String::is_empty",
2064 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2065 )]
2066 pub id: String,
2067 #[serde(
2068 default,
2069 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2070 )]
2071 pub recurring: bool,
2072 #[serde(
2073 default,
2074 skip_serializing_if = "String::is_empty",
2075 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2076 )]
2077 pub text: String,
2078 #[serde(
2079 default,
2080 skip_serializing_if = "crate::utils::zero_i64",
2081 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2082 )]
2083 pub time: i64,
2084 #[serde(
2085 default,
2086 skip_serializing_if = "String::is_empty",
2087 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2088 )]
2089 pub user: String,
2090}
2091
2092#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2093pub struct ObjsResources {
2094 #[serde(
2095 default,
2096 skip_serializing_if = "Vec::is_empty",
2097 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2098 )]
2099 pub excluded_ids: Vec<String>,
2100 #[serde(
2101 default,
2102 skip_serializing_if = "Vec::is_empty",
2103 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2104 )]
2105 pub ids: Vec<String>,
2106 #[serde(
2107 default,
2108 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2109 )]
2110 pub wildcard: bool,
2111}
2112
2113#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2114pub struct NewPagingStyle {
2115 #[serde(
2116 default,
2117 skip_serializing_if = "String::is_empty",
2118 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2119 )]
2120 pub next_cursor: String,
2121}
2122
2123#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema, Default)]
2124pub enum Warnings {
2125 #[serde(rename = "method_deprecated")]
2126 MethodDeprecated,
2127 #[serde(rename = "")]
2128 #[default]
2129 Noop,
2130 #[serde(other)]
2131 FallthroughString,
2132}
2133
2134impl std::fmt::Display for Warnings {
2135 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2136 match self {
2137 Warnings::MethodDeprecated => "method_deprecated",
2138 Warnings::Noop => "",
2139 Warnings::FallthroughString => "*",
2140 }
2141 .fmt(f)
2142 }
2143}
2144
2145impl Warnings {
2146 pub fn is_noop(&self) -> bool {
2147 matches!(self, Warnings::Noop)
2148 }
2149}
2150
2151#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2152pub struct DeprecationWarning {
2153 #[serde(
2154 default,
2155 skip_serializing_if = "Vec::is_empty",
2156 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2157 )]
2158 pub messages: Vec<String>,
2159 #[serde(
2160 default,
2161 skip_serializing_if = "Vec::is_empty",
2162 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2163 )]
2164 pub warnings: Vec<Warnings>,
2165}
2166
2167#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2168pub struct ObjsResponseMetadata {
2169 #[serde(
2170 default,
2171 skip_serializing_if = "Vec::is_empty",
2172 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2173 )]
2174 pub messages: Vec<String>,
2175 #[serde(
2176 default,
2177 skip_serializing_if = "String::is_empty",
2178 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2179 )]
2180 pub next_cursor: String,
2181 #[serde(
2182 default,
2183 skip_serializing_if = "Vec::is_empty",
2184 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2185 )]
2186 pub warnings: Vec<Warnings>,
2187}
2188
2189#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2196pub struct ObjsResponseMetadataAnyOf {
2197 #[serde(flatten)]
2198 pub new_paging_style: NewPagingStyle,
2199 #[serde(flatten)]
2200 pub deprecation_warning: DeprecationWarning,
2201 #[serde(flatten)]
2202 pub objs_response_metadata: ObjsResponseMetadata,
2203}
2204
2205#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema, Default)]
2206pub enum AutoType {
2207 #[serde(rename = "admin")]
2208 Admin,
2209 #[serde(rename = "owner")]
2210 Owner,
2211 #[serde(rename = "")]
2212 #[default]
2213 Noop,
2214 #[serde(other)]
2215 FallthroughString,
2216}
2217
2218impl std::fmt::Display for AutoType {
2219 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2220 match self {
2221 AutoType::Admin => "admin",
2222 AutoType::Owner => "owner",
2223 AutoType::Noop => "",
2224 AutoType::FallthroughString => "*",
2225 }
2226 .fmt(f)
2227 }
2228}
2229
2230impl AutoType {
2231 pub fn is_noop(&self) -> bool {
2232 matches!(self, AutoType::Noop)
2233 }
2234}
2235
2236#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2242pub struct AutoTypeAnyOf {
2243 #[serde(flatten)]
2244 pub value: serde_json::Value,
2245 #[serde(flatten)]
2246 pub auto_type: AutoType,
2247}
2248
2249#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2255pub struct DeletedByAnyOf {
2256 #[serde(flatten)]
2257 pub string: String,
2258 #[serde(flatten)]
2259 pub value: serde_json::Value,
2260}
2261
2262#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2263pub struct Prefs {
2264 #[serde(
2265 default,
2266 skip_serializing_if = "Vec::is_empty",
2267 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2268 )]
2269 pub channels: Vec<String>,
2270 #[serde(
2271 default,
2272 skip_serializing_if = "Vec::is_empty",
2273 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2274 )]
2275 pub groups: Vec<String>,
2276}
2277
2278#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2279pub struct ObjsSubteam {
2280 #[serde(
2281 default,
2282 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2283 )]
2284 pub auto_provision: bool,
2285 #[serde(
2286 default,
2287 skip_serializing_if = "Vec::is_empty",
2288 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2289 )]
2290 pub auto_type: Vec<AutoTypeAnyOf>,
2291 #[serde(
2292 default,
2293 skip_serializing_if = "crate::utils::zero_i64",
2294 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2295 )]
2296 pub channel_count: i64,
2297 #[serde(
2298 default,
2299 skip_serializing_if = "String::is_empty",
2300 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2301 )]
2302 pub created_by: String,
2303 #[serde(
2304 default,
2305 skip_serializing_if = "crate::utils::zero_i64",
2306 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2307 )]
2308 pub date_create: i64,
2309 #[serde(
2310 default,
2311 skip_serializing_if = "crate::utils::zero_i64",
2312 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2313 )]
2314 pub date_delete: i64,
2315 #[serde(
2316 default,
2317 skip_serializing_if = "crate::utils::zero_i64",
2318 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2319 )]
2320 pub date_update: i64,
2321 #[serde(
2322 default,
2323 skip_serializing_if = "Vec::is_empty",
2324 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2325 )]
2326 pub deleted_by: Vec<DeletedByAnyOf>,
2327 #[serde(
2328 default,
2329 skip_serializing_if = "String::is_empty",
2330 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2331 )]
2332 pub description: String,
2333 #[serde(
2334 default,
2335 skip_serializing_if = "String::is_empty",
2336 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2337 )]
2338 pub enterprise_subteam_id: String,
2339 #[serde(
2340 default,
2341 skip_serializing_if = "String::is_empty",
2342 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2343 )]
2344 pub handle: String,
2345 #[serde(
2346 default,
2347 skip_serializing_if = "String::is_empty",
2348 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2349 )]
2350 pub id: String,
2351 #[serde(
2352 default,
2353 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2354 )]
2355 pub is_external: bool,
2356 #[serde(
2357 default,
2358 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2359 )]
2360 pub is_subteam: bool,
2361 #[serde(
2362 default,
2363 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2364 )]
2365 pub is_usergroup: bool,
2366 #[serde(
2367 default,
2368 skip_serializing_if = "String::is_empty",
2369 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2370 )]
2371 pub name: String,
2372 pub prefs: Prefs,
2373 #[serde(
2374 default,
2375 skip_serializing_if = "String::is_empty",
2376 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2377 )]
2378 pub team_id: String,
2379 #[serde(
2380 default,
2381 skip_serializing_if = "String::is_empty",
2382 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2383 )]
2384 pub updated_by: String,
2385 #[serde(
2386 default,
2387 skip_serializing_if = "crate::utils::zero_i64",
2388 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2389 )]
2390 pub user_count: i64,
2391 #[serde(
2392 default,
2393 skip_serializing_if = "Vec::is_empty",
2394 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2395 )]
2396 pub users: Vec<String>,
2397}
2398
2399#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2405pub struct TzAnyOf {
2406 #[serde(flatten)]
2407 pub string: String,
2408 #[serde(flatten)]
2409 pub value: serde_json::Value,
2410}
2411
2412#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema, Default)]
2413pub enum Plan {
2414 #[serde(rename = "compliance")]
2415 Compliance,
2416 #[serde(rename = "enterprise")]
2417 Enterprise,
2418 #[serde(rename = "plus")]
2419 Plus,
2420 #[serde(rename = "std")]
2421 Std,
2422 #[serde(rename = "")]
2423 #[default]
2424 Noop,
2425 #[serde(other)]
2426 FallthroughString,
2427}
2428
2429impl std::fmt::Display for Plan {
2430 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2431 match self {
2432 Plan::Compliance => "compliance",
2433 Plan::Enterprise => "enterprise",
2434 Plan::Plus => "plus",
2435 Plan::Std => "std",
2436 Plan::Noop => "",
2437 Plan::FallthroughString => "*",
2438 }
2439 .fmt(f)
2440 }
2441}
2442
2443impl Plan {
2444 pub fn is_noop(&self) -> bool {
2445 matches!(self, Plan::Noop)
2446 }
2447}
2448
2449#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2450pub struct SsoProvider {
2451 #[serde(
2452 default,
2453 skip_serializing_if = "String::is_empty",
2454 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2455 )]
2456 pub label: String,
2457 #[serde(
2458 default,
2459 skip_serializing_if = "String::is_empty",
2460 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2461 )]
2462 pub name: String,
2463 #[serde(
2464 default,
2465 skip_serializing_if = "String::is_empty",
2466 deserialize_with = "crate::utils::deserialize_null_string::deserialize",
2467 rename = "type"
2468 )]
2469 pub type_: String,
2470}
2471
2472#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2473pub struct ObjsTeam {
2474 #[serde(
2475 default,
2476 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2477 )]
2478 pub archived: bool,
2479 #[serde(
2480 default,
2481 skip_serializing_if = "String::is_empty",
2482 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2483 )]
2484 pub avatar_base_url: String,
2485 #[serde(
2486 default,
2487 skip_serializing_if = "crate::utils::zero_i64",
2488 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2489 )]
2490 pub created: i64,
2491 #[serde(
2492 default,
2493 skip_serializing_if = "crate::utils::zero_i64",
2494 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2495 )]
2496 pub date_create: i64,
2497 #[serde(
2498 default,
2499 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2500 )]
2501 pub deleted: bool,
2502 #[serde(
2503 default,
2504 skip_serializing_if = "String::is_empty",
2505 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2506 )]
2507 pub description: String,
2508 #[serde(
2509 default,
2510 skip_serializing_if = "Vec::is_empty",
2511 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2512 )]
2513 pub discoverable: Vec<TzAnyOf>,
2514 #[serde(
2515 default,
2516 skip_serializing_if = "String::is_empty",
2517 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2518 )]
2519 pub domain: String,
2520 #[serde(
2521 default,
2522 skip_serializing_if = "String::is_empty",
2523 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2524 )]
2525 pub email_domain: String,
2526 #[serde(
2527 default,
2528 skip_serializing_if = "String::is_empty",
2529 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2530 )]
2531 pub enterprise_id: String,
2532 #[serde(
2533 default,
2534 skip_serializing_if = "String::is_empty",
2535 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2536 )]
2537 pub enterprise_name: String,
2538 #[serde(default, skip_serializing_if = "Option::is_none")]
2539 pub external_org_migrations: Option<ExternalOrgMigrations>,
2540 #[serde(
2541 default,
2542 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2543 )]
2544 pub has_compliance_export: bool,
2545 pub icon: ObjsIcon,
2546 #[serde(
2547 default,
2548 skip_serializing_if = "String::is_empty",
2549 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2550 )]
2551 pub id: String,
2552 #[serde(
2553 default,
2554 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2555 )]
2556 pub is_assigned: bool,
2557 #[serde(
2558 default,
2559 skip_serializing_if = "crate::utils::zero_i64",
2560 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2561 )]
2562 pub is_enterprise: i64,
2563 #[serde(
2564 default,
2565 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2566 )]
2567 pub is_over_storage_limit: bool,
2568 #[serde(
2569 default,
2570 skip_serializing_if = "crate::utils::zero_i64",
2571 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2572 )]
2573 pub limit_ts: i64,
2574 #[serde(
2575 default,
2576 skip_serializing_if = "String::is_empty",
2577 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2578 )]
2579 pub locale: String,
2580 #[serde(
2581 default,
2582 skip_serializing_if = "crate::utils::zero_i64",
2583 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2584 )]
2585 pub messages_count: i64,
2586 #[serde(
2587 default,
2588 skip_serializing_if = "crate::utils::zero_i64",
2589 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
2590 )]
2591 pub msg_edit_window_mins: i64,
2592 #[serde(
2593 default,
2594 skip_serializing_if = "String::is_empty",
2595 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2596 )]
2597 pub name: String,
2598 #[serde(
2599 default,
2600 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2601 )]
2602 pub over_integrations_limit: bool,
2603 #[serde(
2604 default,
2605 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2606 )]
2607 pub over_storage_limit: bool,
2608 #[serde(
2609 default,
2610 skip_serializing_if = "String::is_empty",
2611 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2612 )]
2613 pub pay_prod_cur: String,
2614 #[serde(default, skip_serializing_if = "Option::is_none")]
2615 pub plan: Option<Plan>,
2616 #[serde(default, skip_serializing_if = "Option::is_none")]
2617 pub primary_owner: Option<ObjsPrimaryOwner>,
2618 #[serde(default, skip_serializing_if = "Option::is_none")]
2619 pub sso_provider: Option<SsoProvider>,
2620}
2621
2622#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2628pub struct OptionsAnyOf {
2629 #[serde(flatten)]
2630 pub value: serde_json::Value,
2631 #[serde(flatten)]
2632 pub objs_team_profile_field_option: ObjsTeamProfileFieldOption,
2633}
2634
2635#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema, Default)]
2636pub enum Type {
2637 #[serde(rename = "date")]
2638 Date,
2639 #[serde(rename = "link")]
2640 Link,
2641 #[serde(rename = "mailto")]
2642 Mailto,
2643 #[serde(rename = "options_list")]
2644 OptionsList,
2645 #[serde(rename = "text")]
2646 Text,
2647 #[serde(rename = "user")]
2648 User,
2649 #[serde(rename = "")]
2650 #[default]
2651 Noop,
2652 #[serde(other)]
2653 FallthroughString,
2654}
2655
2656impl std::fmt::Display for Type {
2657 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2658 match self {
2659 Type::Date => "date",
2660 Type::Link => "link",
2661 Type::Mailto => "mailto",
2662 Type::OptionsList => "options_list",
2663 Type::Text => "text",
2664 Type::User => "user",
2665 Type::Noop => "",
2666 Type::FallthroughString => "*",
2667 }
2668 .fmt(f)
2669 }
2670}
2671
2672impl Type {
2673 pub fn is_noop(&self) -> bool {
2674 matches!(self, Type::Noop)
2675 }
2676}
2677
2678#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2679pub struct ObjsTeamProfileField {
2680 #[serde(
2681 default,
2682 skip_serializing_if = "String::is_empty",
2683 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2684 )]
2685 pub field_name: String,
2686 #[serde(
2687 default,
2688 skip_serializing_if = "String::is_empty",
2689 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2690 )]
2691 pub hint: String,
2692 #[serde(
2693 default,
2694 skip_serializing_if = "String::is_empty",
2695 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2696 )]
2697 pub id: String,
2698 #[serde(
2699 default,
2700 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2701 )]
2702 pub is_hidden: bool,
2703 #[serde(
2704 default,
2705 skip_serializing_if = "String::is_empty",
2706 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2707 )]
2708 pub label: String,
2709 #[serde(
2710 default,
2711 skip_serializing_if = "Vec::is_empty",
2712 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2713 )]
2714 pub options: Vec<OptionsAnyOf>,
2715 #[serde(
2716 default,
2717 skip_serializing_if = "crate::utils::zero_f64",
2718 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
2719 )]
2720 pub ordering: f64,
2721 #[serde(
2722 default,
2723 skip_serializing_if = "Vec::is_empty",
2724 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2725 )]
2726 pub possible_values: Vec<String>,
2727 #[serde(default, skip_serializing_if = "Type::is_noop", rename = "type")]
2728 pub type_: Type,
2729}
2730
2731#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2732pub struct ObjsTeamProfileFieldOption {
2733 #[serde(
2734 default,
2735 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2736 )]
2737 pub is_custom: bool,
2738 #[serde(
2739 default,
2740 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2741 )]
2742 pub is_multiple_entry: bool,
2743 #[serde(
2744 default,
2745 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2746 )]
2747 pub is_protected: bool,
2748 #[serde(
2749 default,
2750 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2751 )]
2752 pub is_scim: bool,
2753}
2754
2755#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2756pub struct Profile {
2757 #[serde(
2758 default,
2759 skip_serializing_if = "Vec::is_empty",
2760 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2761 )]
2762 pub fields: Vec<ObjsTeamProfileField>,
2763}
2764
2765#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2767pub struct ObjsUser {
2768 #[serde(
2772 default,
2773 skip_serializing_if = "String::is_empty",
2774 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2775 )]
2776 pub color: String,
2777 #[serde(
2781 default,
2782 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2783 )]
2784 pub deleted: bool,
2785 #[serde(default, skip_serializing_if = "Option::is_none")]
2789 pub enterprise_user: Option<ObjsEnterpriseUser>,
2790 #[serde(
2794 default,
2795 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2796 )]
2797 pub has_2fa: bool,
2798 #[serde(
2799 default,
2800 skip_serializing_if = "String::is_empty",
2801 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2802 )]
2803 pub id: String,
2804 #[serde(
2808 default,
2809 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2810 )]
2811 pub is_admin: bool,
2812 #[serde(
2813 default,
2814 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2815 )]
2816 pub is_app_user: bool,
2817 #[serde(
2818 default,
2819 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2820 )]
2821 pub is_bot: bool,
2822 #[serde(
2826 default,
2827 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2828 )]
2829 pub is_external: bool,
2830 #[serde(
2834 default,
2835 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2836 )]
2837 pub is_forgotten: bool,
2838 #[serde(
2842 default,
2843 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2844 )]
2845 pub is_invited_user: bool,
2846 #[serde(
2850 default,
2851 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2852 )]
2853 pub is_owner: bool,
2854 #[serde(
2858 default,
2859 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2860 )]
2861 pub is_primary_owner: bool,
2862 #[serde(
2866 default,
2867 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2868 )]
2869 pub is_restricted: bool,
2870 #[serde(
2874 default,
2875 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2876 )]
2877 pub is_stranger: bool,
2878 #[serde(
2882 default,
2883 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
2884 )]
2885 pub is_ultra_restricted: bool,
2886 #[serde(
2890 default,
2891 skip_serializing_if = "String::is_empty",
2892 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2893 )]
2894 pub locale: String,
2895 #[serde(
2896 default,
2897 skip_serializing_if = "String::is_empty",
2898 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2899 )]
2900 pub name: String,
2901 #[serde(
2905 default,
2906 skip_serializing_if = "String::is_empty",
2907 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2908 )]
2909 pub presence: String,
2910 pub profile: ObjsUserProfile,
2911 #[serde(
2915 default,
2916 skip_serializing_if = "String::is_empty",
2917 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2918 )]
2919 pub real_name: String,
2920 #[serde(
2924 default,
2925 skip_serializing_if = "String::is_empty",
2926 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2927 )]
2928 pub team: String,
2929 #[serde(
2933 default,
2934 skip_serializing_if = "String::is_empty",
2935 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2936 )]
2937 pub team_id: String,
2938 #[serde(default, skip_serializing_if = "Option::is_none")]
2942 pub team_profile: Option<Profile>,
2943 #[serde(
2947 default,
2948 skip_serializing_if = "String::is_empty",
2949 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2950 )]
2951 pub two_factor_type: String,
2952 #[serde(
2956 default,
2957 skip_serializing_if = "Vec::is_empty",
2958 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
2959 )]
2960 pub tz: Vec<TzAnyOf>,
2961 #[serde(
2965 default,
2966 skip_serializing_if = "String::is_empty",
2967 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2968 )]
2969 pub tz_label: String,
2970 #[serde(
2974 default,
2975 skip_serializing_if = "crate::utils::zero_f64",
2976 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
2977 )]
2978 pub tz_offset: f64,
2979 #[serde(
2980 default,
2981 skip_serializing_if = "crate::utils::zero_f64",
2982 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
2983 )]
2984 pub updated: f64,
2985}
2986
2987#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
2989pub struct ObjsUserData {
2990 #[serde(
2994 default,
2995 skip_serializing_if = "String::is_empty",
2996 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
2997 )]
2998 pub color: String,
2999 #[serde(
3003 default,
3004 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3005 )]
3006 pub deleted: bool,
3007 #[serde(default, skip_serializing_if = "Option::is_none")]
3011 pub enterprise_user: Option<ObjsEnterpriseUser>,
3012 #[serde(
3016 default,
3017 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3018 )]
3019 pub has_2fa: bool,
3020 #[serde(
3021 default,
3022 skip_serializing_if = "String::is_empty",
3023 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3024 )]
3025 pub id: String,
3026 #[serde(
3030 default,
3031 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3032 )]
3033 pub is_admin: bool,
3034 #[serde(
3035 default,
3036 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3037 )]
3038 pub is_app_user: bool,
3039 #[serde(
3040 default,
3041 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3042 )]
3043 pub is_bot: bool,
3044 #[serde(
3048 default,
3049 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3050 )]
3051 pub is_external: bool,
3052 #[serde(
3056 default,
3057 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3058 )]
3059 pub is_forgotten: bool,
3060 #[serde(
3064 default,
3065 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3066 )]
3067 pub is_owner: bool,
3068 #[serde(
3072 default,
3073 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3074 )]
3075 pub is_primary_owner: bool,
3076 #[serde(
3080 default,
3081 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3082 )]
3083 pub is_restricted: bool,
3084 #[serde(
3088 default,
3089 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3090 )]
3091 pub is_stranger: bool,
3092 #[serde(
3096 default,
3097 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3098 )]
3099 pub is_ultra_restricted: bool,
3100 #[serde(
3104 default,
3105 skip_serializing_if = "String::is_empty",
3106 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3107 )]
3108 pub locale: String,
3109 #[serde(
3110 default,
3111 skip_serializing_if = "String::is_empty",
3112 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3113 )]
3114 pub name: String,
3115 #[serde(
3119 default,
3120 skip_serializing_if = "String::is_empty",
3121 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3122 )]
3123 pub presence: String,
3124 pub profile: ObjsUserProfile,
3125 #[serde(
3129 default,
3130 skip_serializing_if = "String::is_empty",
3131 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3132 )]
3133 pub real_name: String,
3134 #[serde(
3138 default,
3139 skip_serializing_if = "String::is_empty",
3140 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3141 )]
3142 pub team_id: String,
3143 #[serde(default, skip_serializing_if = "Option::is_none")]
3147 pub team_profile: Option<Profile>,
3148 #[serde(
3152 default,
3153 skip_serializing_if = "Vec::is_empty",
3154 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3155 )]
3156 pub teams: Vec<String>,
3157 #[serde(
3161 default,
3162 skip_serializing_if = "String::is_empty",
3163 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3164 )]
3165 pub two_factor_type: String,
3166 #[serde(
3170 default,
3171 skip_serializing_if = "Vec::is_empty",
3172 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3173 )]
3174 pub tz: Vec<TzAnyOf>,
3175 #[serde(
3179 default,
3180 skip_serializing_if = "String::is_empty",
3181 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3182 )]
3183 pub tz_label: String,
3184 #[serde(
3188 default,
3189 skip_serializing_if = "crate::utils::zero_f64",
3190 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
3191 )]
3192 pub tz_offset: f64,
3193 #[serde(
3194 default,
3195 skip_serializing_if = "crate::utils::zero_f64",
3196 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
3197 )]
3198 pub updated: f64,
3199}
3200
3201#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3207pub struct ObjsUserAnyOf {
3208 #[serde(flatten)]
3212 pub objs_user: ObjsUser,
3213 #[serde(flatten)]
3217 pub objs_user_data: ObjsUserData,
3218}
3219
3220#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3228#[serde(untagged)]
3229pub enum FieldsOneOf {
3230 Fields(Fields),
3231 StringVector(Vec<String>),
3232}
3233
3234impl FieldsOneOf {
3235 pub fn fields(&self) -> Option<&Fields> {
3236 if let FieldsOneOf::Fields(ref_) = self {
3237 return Some(ref_);
3238 }
3239 None
3240 }
3241
3242 pub fn vec_string(&self) -> Option<&Vec<String>> {
3243 if let FieldsOneOf::StringVector(ref_) = self {
3244 return Some(ref_);
3245 }
3246 None
3247 }
3248}
3249
3250impl std::convert::From<Vec<String>> for FieldsOneOf {
3251 fn from(f: Vec<String>) -> Self {
3252 FieldsOneOf::StringVector(f)
3253 }
3254}
3255
3256impl std::convert::From<FieldsOneOf> for Vec<String> {
3257 fn from(f: FieldsOneOf) -> Self {
3258 f.vec_string().unwrap().clone()
3259 }
3260}
3261
3262#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3263pub struct ObjsUserProfile {
3264 #[serde(
3265 default,
3266 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3267 )]
3268 pub always_active: bool,
3269 #[serde(
3270 default,
3271 skip_serializing_if = "String::is_empty",
3272 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3273 )]
3274 pub api_app_id: String,
3275 #[serde(
3276 default,
3277 skip_serializing_if = "String::is_empty",
3278 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3279 )]
3280 pub avatar_hash: String,
3281 #[serde(
3282 default,
3283 skip_serializing_if = "String::is_empty",
3284 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3285 )]
3286 pub bot_id: String,
3287 #[serde(
3288 default,
3289 skip_serializing_if = "String::is_empty",
3290 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3291 )]
3292 pub display_name: String,
3293 #[serde(
3294 default,
3295 skip_serializing_if = "String::is_empty",
3296 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3297 )]
3298 pub display_name_normalized: String,
3299 #[serde(
3300 default,
3301 skip_serializing_if = "String::is_empty",
3302 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3303 )]
3304 pub email: String,
3305 pub fields: FieldsOneOf,
3306 #[serde(
3307 default,
3308 skip_serializing_if = "String::is_empty",
3309 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3310 )]
3311 pub first_name: String,
3312 #[serde(
3313 default,
3314 skip_serializing_if = "crate::utils::zero_i64",
3315 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
3316 )]
3317 pub guest_expiration_ts: i64,
3318 #[serde(
3319 default,
3320 skip_serializing_if = "String::is_empty",
3321 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3322 )]
3323 pub guest_invited_by: String,
3324 #[serde(
3325 default,
3326 skip_serializing_if = "String::is_empty",
3327 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3328 )]
3329 pub image_1024: String,
3330 #[serde(
3331 default,
3332 skip_serializing_if = "String::is_empty",
3333 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3334 )]
3335 pub image_192: String,
3336 #[serde(
3337 default,
3338 skip_serializing_if = "String::is_empty",
3339 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3340 )]
3341 pub image_24: String,
3342 #[serde(
3343 default,
3344 skip_serializing_if = "String::is_empty",
3345 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3346 )]
3347 pub image_32: String,
3348 #[serde(
3349 default,
3350 skip_serializing_if = "String::is_empty",
3351 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3352 )]
3353 pub image_48: String,
3354 #[serde(
3355 default,
3356 skip_serializing_if = "String::is_empty",
3357 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3358 )]
3359 pub image_512: String,
3360 #[serde(
3361 default,
3362 skip_serializing_if = "String::is_empty",
3363 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3364 )]
3365 pub image_72: String,
3366 #[serde(
3367 default,
3368 skip_serializing_if = "String::is_empty",
3369 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3370 )]
3371 pub image_original: String,
3372 #[serde(
3373 default,
3374 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3375 )]
3376 pub is_app_user: bool,
3377 #[serde(
3378 default,
3379 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3380 )]
3381 pub is_custom_image: bool,
3382 #[serde(
3383 default,
3384 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3385 )]
3386 pub is_restricted: bool,
3387 #[serde(
3388 default,
3389 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3390 )]
3391 pub is_ultra_restricted: bool,
3392 #[serde(
3393 default,
3394 skip_serializing_if = "String::is_empty",
3395 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3396 )]
3397 pub last_avatar_image_hash: String,
3398 #[serde(
3399 default,
3400 skip_serializing_if = "String::is_empty",
3401 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3402 )]
3403 pub last_name: String,
3404 #[serde(
3405 default,
3406 skip_serializing_if = "crate::utils::zero_i64",
3407 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
3408 )]
3409 pub memberships_count: i64,
3410 #[serde(
3411 default,
3412 skip_serializing_if = "String::is_empty",
3413 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3414 )]
3415 pub name: String,
3416 #[serde(
3417 default,
3418 skip_serializing_if = "String::is_empty",
3419 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3420 )]
3421 pub phone: String,
3422 #[serde(
3423 default,
3424 skip_serializing_if = "String::is_empty",
3425 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3426 )]
3427 pub pronouns: String,
3428 #[serde(
3429 default,
3430 skip_serializing_if = "String::is_empty",
3431 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3432 )]
3433 pub real_name: String,
3434 #[serde(
3435 default,
3436 skip_serializing_if = "String::is_empty",
3437 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3438 )]
3439 pub real_name_normalized: String,
3440 #[serde(
3441 default,
3442 skip_serializing_if = "String::is_empty",
3443 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3444 )]
3445 pub skype: String,
3446 #[serde(
3447 default,
3448 skip_serializing_if = "String::is_empty",
3449 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3450 )]
3451 pub status_default_emoji: String,
3452 #[serde(
3453 default,
3454 skip_serializing_if = "String::is_empty",
3455 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3456 )]
3457 pub status_default_text: String,
3458 #[serde(
3459 default,
3460 skip_serializing_if = "String::is_empty",
3461 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3462 )]
3463 pub status_default_text_canonical: String,
3464 #[serde(
3465 default,
3466 skip_serializing_if = "String::is_empty",
3467 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3468 )]
3469 pub status_emoji: String,
3470 #[serde(
3471 default,
3472 skip_serializing_if = "crate::utils::zero_i64",
3473 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
3474 )]
3475 pub status_expiration: i64,
3476 #[serde(
3477 default,
3478 skip_serializing_if = "String::is_empty",
3479 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3480 )]
3481 pub status_text: String,
3482 #[serde(
3483 default,
3484 skip_serializing_if = "String::is_empty",
3485 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3486 )]
3487 pub status_text_canonical: String,
3488 #[serde(
3489 default,
3490 skip_serializing_if = "String::is_empty",
3491 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3492 )]
3493 pub team: String,
3494 #[serde(
3495 default,
3496 skip_serializing_if = "String::is_empty",
3497 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3498 )]
3499 pub title: String,
3500 #[serde(
3501 default,
3502 skip_serializing_if = "crate::utils::zero_i64",
3503 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
3504 )]
3505 pub updated: i64,
3506 #[serde(
3507 default,
3508 skip_serializing_if = "String::is_empty",
3509 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3510 )]
3511 pub user_id: String,
3512 #[serde(
3513 default,
3514 skip_serializing_if = "String::is_empty",
3515 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3516 )]
3517 pub username: String,
3518}
3519
3520#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3521pub struct ObjsUserProfileShort {
3522 #[serde(
3523 default,
3524 skip_serializing_if = "String::is_empty",
3525 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3526 )]
3527 pub avatar_hash: String,
3528 #[serde(
3529 default,
3530 skip_serializing_if = "String::is_empty",
3531 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3532 )]
3533 pub display_name: String,
3534 #[serde(
3535 default,
3536 skip_serializing_if = "String::is_empty",
3537 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3538 )]
3539 pub display_name_normalized: String,
3540 #[serde(
3541 default,
3542 skip_serializing_if = "String::is_empty",
3543 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3544 )]
3545 pub first_name: String,
3546 #[serde(
3547 default,
3548 skip_serializing_if = "String::is_empty",
3549 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3550 )]
3551 pub image_72: String,
3552 #[serde(
3553 default,
3554 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3555 )]
3556 pub is_restricted: bool,
3557 #[serde(
3558 default,
3559 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3560 )]
3561 pub is_ultra_restricted: bool,
3562 #[serde(
3563 default,
3564 skip_serializing_if = "String::is_empty",
3565 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3566 )]
3567 pub name: String,
3568 #[serde(
3569 default,
3570 skip_serializing_if = "String::is_empty",
3571 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3572 )]
3573 pub real_name: String,
3574 #[serde(
3575 default,
3576 skip_serializing_if = "String::is_empty",
3577 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3578 )]
3579 pub real_name_normalized: String,
3580 #[serde(
3581 default,
3582 skip_serializing_if = "String::is_empty",
3583 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3584 )]
3585 pub team: String,
3586}
3587
3588#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3589pub struct AdminInviteRequestsApproveRequest {
3590 #[serde(
3591 default,
3592 skip_serializing_if = "String::is_empty",
3593 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3594 )]
3595 pub invite_request_id: String,
3596 #[serde(
3597 default,
3598 skip_serializing_if = "String::is_empty",
3599 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3600 )]
3601 pub team_id: String,
3602}
3603
3604#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3606pub struct DndEndSchema {
3607 #[serde(
3608 default,
3609 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3610 )]
3611 pub ok: bool,
3612}
3613
3614#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3616pub struct AdminConversationsCreateSchema {
3617 #[serde(
3621 default,
3622 skip_serializing_if = "String::is_empty",
3623 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3624 )]
3625 pub channel_id: String,
3626 #[serde(
3627 default,
3628 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3629 )]
3630 pub ok: bool,
3631}
3632
3633#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3634pub struct CanThread {
3635 #[serde(
3636 default,
3637 skip_serializing_if = "Vec::is_empty",
3638 deserialize_with = "crate::utils::deserialize_null_vector::deserialize",
3639 rename = "type"
3640 )]
3641 pub type_: Vec<String>,
3642 #[serde(
3643 default,
3644 skip_serializing_if = "Vec::is_empty",
3645 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3646 )]
3647 pub user: Vec<String>,
3648}
3649
3650#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3651pub struct AdminConversationsGetConversationPrefsSchema {
3652 #[serde(default, skip_serializing_if = "Option::is_none")]
3653 pub can_thread: Option<CanThread>,
3654 #[serde(default, skip_serializing_if = "Option::is_none")]
3655 pub who_can_post: Option<CanThread>,
3656}
3657
3658#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3660pub struct AdminConversationsGetConversationPrefsSchemaData {
3661 #[serde(
3662 default,
3663 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3664 )]
3665 pub ok: bool,
3666 #[serde(default, skip_serializing_if = "Option::is_none")]
3670 pub prefs: Option<AdminConversationsGetConversationPrefsSchema>,
3671}
3672
3673#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3675pub struct AdminConversationsGetTeamsSchema {
3676 #[serde(
3677 default,
3678 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3679 )]
3680 pub ok: bool,
3681 #[serde(default, skip_serializing_if = "Option::is_none")]
3685 pub response_metadata: Option<NewPagingStyle>,
3686 #[serde(
3687 default,
3688 skip_serializing_if = "Vec::is_empty",
3689 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3690 )]
3691 pub team_ids: Vec<String>,
3692}
3693
3694#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3696pub struct AdminConversationsSearchSchema {
3697 #[serde(
3698 default,
3699 skip_serializing_if = "Vec::is_empty",
3700 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3701 )]
3702 pub channels: Vec<ObjsChannel>,
3703 #[serde(
3704 default,
3705 skip_serializing_if = "String::is_empty",
3706 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3707 )]
3708 pub next_cursor: String,
3709}
3710
3711#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3712pub struct Im {
3713 #[serde(default, skip_serializing_if = "Option::is_none")]
3714 pub resources: Option<ObjsResources>,
3715 #[serde(
3716 default,
3717 skip_serializing_if = "Vec::is_empty",
3718 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3719 )]
3720 pub scopes: Vec<String>,
3721}
3722
3723#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3724pub struct Team {
3725 pub resources: ObjsResources,
3726 #[serde(
3727 default,
3728 skip_serializing_if = "Vec::is_empty",
3729 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3730 )]
3731 pub scopes: Vec<String>,
3732}
3733
3734#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3735pub struct Info {
3736 pub app_home: Im,
3737 pub channel: Im,
3738 pub group: Im,
3739 pub im: Im,
3740 pub mpim: Im,
3741 pub team: Team,
3742}
3743
3744#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3746pub struct AppsPermissionsInfoSchema {
3747 pub info: Info,
3748 #[serde(
3749 default,
3750 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3751 )]
3752 pub ok: bool,
3753}
3754
3755#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3756pub struct Resources {
3757 #[serde(
3758 default,
3759 skip_serializing_if = "String::is_empty",
3760 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3761 )]
3762 pub id: String,
3763 #[serde(
3764 default,
3765 skip_serializing_if = "String::is_empty",
3766 deserialize_with = "crate::utils::deserialize_null_string::deserialize",
3767 rename = "type"
3768 )]
3769 pub type_: String,
3770}
3771
3772#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3774pub struct AppsPermissionsResourcesListSuccessSchema {
3775 #[serde(
3776 default,
3777 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3778 )]
3779 pub ok: bool,
3780 #[serde(
3781 default,
3782 skip_serializing_if = "Vec::is_empty",
3783 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3784 )]
3785 pub resources: Vec<Resources>,
3786 #[serde(default, skip_serializing_if = "Option::is_none")]
3790 pub response_metadata: Option<NewPagingStyle>,
3791}
3792
3793#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3794pub struct Scopes {
3795 #[serde(
3796 default,
3797 skip_serializing_if = "Vec::is_empty",
3798 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3799 )]
3800 pub app_home: Vec<String>,
3801 #[serde(
3802 default,
3803 skip_serializing_if = "Vec::is_empty",
3804 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3805 )]
3806 pub channel: Vec<String>,
3807 #[serde(
3808 default,
3809 skip_serializing_if = "Vec::is_empty",
3810 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3811 )]
3812 pub group: Vec<String>,
3813 #[serde(
3814 default,
3815 skip_serializing_if = "Vec::is_empty",
3816 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3817 )]
3818 pub im: Vec<String>,
3819 #[serde(
3820 default,
3821 skip_serializing_if = "Vec::is_empty",
3822 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3823 )]
3824 pub mpim: Vec<String>,
3825 #[serde(
3826 default,
3827 skip_serializing_if = "Vec::is_empty",
3828 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3829 )]
3830 pub team: Vec<String>,
3831 #[serde(
3832 default,
3833 skip_serializing_if = "Vec::is_empty",
3834 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
3835 )]
3836 pub user: Vec<String>,
3837}
3838
3839#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3841pub struct ApiPermissionsScopesListSuccessSchema {
3842 #[serde(
3843 default,
3844 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3845 )]
3846 pub ok: bool,
3847 pub scopes: Scopes,
3848}
3849
3850#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3852pub struct AuthRevokeSchema {
3853 #[serde(
3854 default,
3855 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3856 )]
3857 pub ok: bool,
3858 #[serde(
3859 default,
3860 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3861 )]
3862 pub revoked: bool,
3863}
3864
3865#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3867pub struct AuthTestSuccessSchema {
3868 #[serde(
3872 default,
3873 skip_serializing_if = "String::is_empty",
3874 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3875 )]
3876 pub bot_id: String,
3877 #[serde(
3881 default,
3882 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3883 )]
3884 pub is_enterprise_install: bool,
3885 #[serde(
3886 default,
3887 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3888 )]
3889 pub ok: bool,
3890 #[serde(
3891 default,
3892 skip_serializing_if = "String::is_empty",
3893 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3894 )]
3895 pub team: String,
3896 #[serde(
3897 default,
3898 skip_serializing_if = "String::is_empty",
3899 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3900 )]
3901 pub team_id: String,
3902 #[serde(
3903 default,
3904 skip_serializing_if = "String::is_empty",
3905 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3906 )]
3907 pub url: String,
3908 #[serde(
3909 default,
3910 skip_serializing_if = "String::is_empty",
3911 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3912 )]
3913 pub user: String,
3914 #[serde(
3915 default,
3916 skip_serializing_if = "String::is_empty",
3917 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3918 )]
3919 pub user_id: String,
3920}
3921
3922#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3923pub struct Bot {
3924 #[serde(
3925 default,
3926 skip_serializing_if = "String::is_empty",
3927 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3928 )]
3929 pub app_id: String,
3930 #[serde(
3931 default,
3932 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3933 )]
3934 pub deleted: bool,
3935 pub icons: Icons,
3936 #[serde(
3937 default,
3938 skip_serializing_if = "String::is_empty",
3939 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3940 )]
3941 pub id: String,
3942 #[serde(
3943 default,
3944 skip_serializing_if = "String::is_empty",
3945 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3946 )]
3947 pub name: String,
3948 #[serde(
3949 default,
3950 skip_serializing_if = "crate::utils::zero_i64",
3951 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
3952 )]
3953 pub updated: i64,
3954 #[serde(
3955 default,
3956 skip_serializing_if = "String::is_empty",
3957 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3958 )]
3959 pub user_id: String,
3960}
3961
3962#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3964pub struct BotsInfoSchema {
3965 pub bot: Bot,
3966 #[serde(
3967 default,
3968 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3969 )]
3970 pub ok: bool,
3971}
3972
3973#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3975pub struct ChatDeleteSuccessSchema {
3976 #[serde(
3977 default,
3978 skip_serializing_if = "String::is_empty",
3979 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3980 )]
3981 pub channel: String,
3982 #[serde(
3983 default,
3984 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
3985 )]
3986 pub ok: bool,
3987 #[serde(
3988 default,
3989 skip_serializing_if = "String::is_empty",
3990 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
3991 )]
3992 pub ts: String,
3993}
3994
3995#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
3997pub struct ChatGetPermalinkSuccessSchema {
3998 #[serde(
3999 default,
4000 skip_serializing_if = "String::is_empty",
4001 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4002 )]
4003 pub channel: String,
4004 #[serde(
4005 default,
4006 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4007 )]
4008 pub ok: bool,
4009 #[serde(
4010 default,
4011 skip_serializing_if = "String::is_empty",
4012 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4013 )]
4014 pub permalink: String,
4015}
4016
4017#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4019pub struct ChatMeMessageSchema {
4020 #[serde(
4024 default,
4025 skip_serializing_if = "String::is_empty",
4026 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4027 )]
4028 pub channel: String,
4029 #[serde(
4030 default,
4031 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4032 )]
4033 pub ok: bool,
4034 #[serde(
4038 default,
4039 skip_serializing_if = "String::is_empty",
4040 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4041 )]
4042 pub ts: String,
4043}
4044
4045#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4047pub struct ChatPostEphemeralSuccessSchema {
4048 #[serde(
4049 default,
4050 skip_serializing_if = "String::is_empty",
4051 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4052 )]
4053 pub message_ts: String,
4054 #[serde(
4055 default,
4056 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4057 )]
4058 pub ok: bool,
4059}
4060
4061#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4063pub struct ChatPostMessageSuccessSchema {
4064 #[serde(
4065 default,
4066 skip_serializing_if = "String::is_empty",
4067 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4068 )]
4069 pub channel: String,
4070 pub message: ObjsMessage,
4071 #[serde(
4072 default,
4073 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4074 )]
4075 pub ok: bool,
4076 #[serde(
4077 default,
4078 skip_serializing_if = "String::is_empty",
4079 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4080 )]
4081 pub ts: String,
4082}
4083
4084#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4085pub struct Message {
4086 #[serde(
4087 default,
4088 skip_serializing_if = "String::is_empty",
4089 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4090 )]
4091 pub bot_id: String,
4092 #[serde(default, skip_serializing_if = "Option::is_none")]
4093 pub bot_profile: Option<ObjsBotProfile>,
4094 #[serde(
4095 default,
4096 skip_serializing_if = "String::is_empty",
4097 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4098 )]
4099 pub team: String,
4100 #[serde(
4101 default,
4102 skip_serializing_if = "String::is_empty",
4103 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4104 )]
4105 pub text: String,
4106 #[serde(
4107 default,
4108 skip_serializing_if = "String::is_empty",
4109 deserialize_with = "crate::utils::deserialize_null_string::deserialize",
4110 rename = "type"
4111 )]
4112 pub type_: String,
4113 #[serde(
4114 default,
4115 skip_serializing_if = "String::is_empty",
4116 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4117 )]
4118 pub user: String,
4119 #[serde(
4120 default,
4121 skip_serializing_if = "String::is_empty",
4122 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4123 )]
4124 pub username: String,
4125}
4126
4127#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4129pub struct ChatScheduleMessageSuccessSchema {
4130 #[serde(
4131 default,
4132 skip_serializing_if = "String::is_empty",
4133 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4134 )]
4135 pub channel: String,
4136 pub message: Message,
4137 #[serde(
4138 default,
4139 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4140 )]
4141 pub ok: bool,
4142 #[serde(
4143 default,
4144 skip_serializing_if = "crate::utils::zero_i64",
4145 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4146 )]
4147 pub post_at: i64,
4148 #[serde(
4149 default,
4150 skip_serializing_if = "String::is_empty",
4151 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4152 )]
4153 pub scheduled_message_id: String,
4154}
4155
4156#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4157pub struct ScheduledMessages {
4158 #[serde(
4159 default,
4160 skip_serializing_if = "String::is_empty",
4161 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4162 )]
4163 pub channel_id: String,
4164 #[serde(
4165 default,
4166 skip_serializing_if = "crate::utils::zero_i64",
4167 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4168 )]
4169 pub date_created: i64,
4170 #[serde(
4171 default,
4172 skip_serializing_if = "String::is_empty",
4173 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4174 )]
4175 pub id: String,
4176 #[serde(
4177 default,
4178 skip_serializing_if = "crate::utils::zero_i64",
4179 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4180 )]
4181 pub post_at: i64,
4182 #[serde(
4183 default,
4184 skip_serializing_if = "String::is_empty",
4185 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4186 )]
4187 pub text: String,
4188}
4189
4190#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4192pub struct ChatScheduledMessagesListSchema {
4193 #[serde(
4194 default,
4195 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4196 )]
4197 pub ok: bool,
4198 pub response_metadata: NewPagingStyle,
4199 #[serde(
4200 default,
4201 skip_serializing_if = "Vec::is_empty",
4202 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4203 )]
4204 pub scheduled_messages: Vec<ScheduledMessages>,
4205}
4206
4207#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4208pub struct MessageObject {
4209 #[serde(
4210 default,
4211 skip_serializing_if = "Vec::is_empty",
4212 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4213 )]
4214 pub attachments: Vec<Fields>,
4215 #[serde(default, skip_serializing_if = "Option::is_none")]
4216 pub blocks: Option<Fields>,
4217 #[serde(
4218 default,
4219 skip_serializing_if = "String::is_empty",
4220 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4221 )]
4222 pub text: String,
4223}
4224
4225#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4227pub struct ChatUpdateSuccessSchema {
4228 #[serde(
4229 default,
4230 skip_serializing_if = "String::is_empty",
4231 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4232 )]
4233 pub channel: String,
4234 pub message: MessageObject,
4235 #[serde(
4236 default,
4237 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4238 )]
4239 pub ok: bool,
4240 #[serde(
4241 default,
4242 skip_serializing_if = "String::is_empty",
4243 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4244 )]
4245 pub text: String,
4246 #[serde(
4247 default,
4248 skip_serializing_if = "String::is_empty",
4249 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4250 )]
4251 pub ts: String,
4252}
4253
4254#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4256pub struct ConversationsCloseSuccessSchema {
4257 #[serde(
4261 default,
4262 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4263 )]
4264 pub already_closed: bool,
4265 #[serde(
4269 default,
4270 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4271 )]
4272 pub no_op: bool,
4273 #[serde(
4274 default,
4275 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4276 )]
4277 pub ok: bool,
4278}
4279
4280#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4282pub struct ConversationsInfoSuccessSchema {
4283 #[serde(
4284 default,
4285 skip_serializing_if = "Vec::is_empty",
4286 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4287 )]
4288 pub channel: Vec<ObjsConversationAnyOf>,
4289 #[serde(
4290 default,
4291 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4292 )]
4293 pub ok: bool,
4294}
4295
4296#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4302pub struct ChannelActionsTsAnyOf {
4303 #[serde(flatten)]
4304 pub i64: i64,
4305 #[serde(flatten)]
4306 pub value: serde_json::Value,
4307}
4308
4309#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4311pub struct ConversationsHistorySuccessSchema {
4312 #[serde(
4313 default,
4314 skip_serializing_if = "crate::utils::zero_i64",
4315 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4316 )]
4317 pub channel_actions_count: i64,
4318 #[serde(
4319 default,
4320 skip_serializing_if = "Vec::is_empty",
4321 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4322 )]
4323 pub channel_actions_ts: Vec<ChannelActionsTsAnyOf>,
4324 #[serde(
4325 default,
4326 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4327 )]
4328 pub has_more: bool,
4329 #[serde(
4330 default,
4331 skip_serializing_if = "Vec::is_empty",
4332 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4333 )]
4334 pub messages: Vec<ObjsMessage>,
4335 #[serde(
4336 default,
4337 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4338 )]
4339 pub ok: bool,
4340 #[serde(
4341 default,
4342 skip_serializing_if = "crate::utils::zero_i64",
4343 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4344 )]
4345 pub pin_count: i64,
4346}
4347
4348#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4349pub struct ResponseMetadata {
4350 #[serde(
4351 default,
4352 skip_serializing_if = "Vec::is_empty",
4353 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4354 )]
4355 pub warnings: Vec<String>,
4356}
4357
4358#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4360pub struct ConversationsJoinSuccessSchema {
4361 #[serde(
4362 default,
4363 skip_serializing_if = "Vec::is_empty",
4364 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4365 )]
4366 pub channel: Vec<ObjsConversationAnyOf>,
4367 #[serde(
4368 default,
4369 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4370 )]
4371 pub ok: bool,
4372 #[serde(default, skip_serializing_if = "Option::is_none")]
4376 pub response_metadata: Option<ResponseMetadata>,
4377 #[serde(
4381 default,
4382 skip_serializing_if = "String::is_empty",
4383 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4384 )]
4385 pub warning: String,
4386}
4387
4388#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4390pub struct ConversationsLeaveSuccessSchema {
4391 #[serde(
4395 default,
4396 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4397 )]
4398 pub not_in_channel: bool,
4399 #[serde(
4400 default,
4401 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4402 )]
4403 pub ok: bool,
4404}
4405
4406#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4408pub struct ConversationsListSuccessSchema {
4409 #[serde(
4410 default,
4411 skip_serializing_if = "Vec::is_empty",
4412 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4413 )]
4414 pub channels: Vec<Vec<ObjsConversationAnyOf>>,
4415 #[serde(
4416 default,
4417 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4418 )]
4419 pub ok: bool,
4420 #[serde(default, skip_serializing_if = "Option::is_none")]
4424 pub response_metadata: Option<NewPagingStyle>,
4425}
4426
4427#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4429pub struct ConversationsMembersSuccessSchema {
4430 #[serde(
4431 default,
4432 skip_serializing_if = "Vec::is_empty",
4433 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4434 )]
4435 pub members: Vec<String>,
4436 #[serde(
4437 default,
4438 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4439 )]
4440 pub ok: bool,
4441 pub response_metadata: NewPagingStyle,
4442}
4443
4444#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4445pub struct ChannelData {
4446 #[serde(
4447 default,
4448 skip_serializing_if = "String::is_empty",
4449 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4450 )]
4451 pub created: String,
4452 #[serde(
4453 default,
4454 skip_serializing_if = "String::is_empty",
4455 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4456 )]
4457 pub id: String,
4458 #[serde(
4459 default,
4460 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4461 )]
4462 pub is_im: bool,
4463 #[serde(
4464 default,
4465 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4466 )]
4467 pub is_open: bool,
4468 #[serde(
4469 default,
4470 skip_serializing_if = "String::is_empty",
4471 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4472 )]
4473 pub last_read: String,
4474 #[serde(default, skip_serializing_if = "Option::is_none")]
4475 pub latest: Option<ObjsMessage>,
4476 #[serde(
4477 default,
4478 skip_serializing_if = "crate::utils::zero_f64",
4479 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
4480 )]
4481 pub unread_count: f64,
4482 #[serde(
4483 default,
4484 skip_serializing_if = "crate::utils::zero_f64",
4485 deserialize_with = "crate::utils::deserialize_null_f64::deserialize"
4486 )]
4487 pub unread_count_display: f64,
4488 #[serde(
4489 default,
4490 skip_serializing_if = "String::is_empty",
4491 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4492 )]
4493 pub user: String,
4494}
4495
4496#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4502pub struct ChannelAnyOf {
4503 #[serde(flatten)]
4504 pub objs_conversation_any_of_vector: Vec<ObjsConversationAnyOf>,
4505 #[serde(flatten)]
4506 pub channel_data: ChannelData,
4507}
4508
4509#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4511pub struct ConversationsOpenSuccessSchema {
4512 #[serde(
4516 default,
4517 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4518 )]
4519 pub already_open: bool,
4520 #[serde(
4521 default,
4522 skip_serializing_if = "Vec::is_empty",
4523 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4524 )]
4525 pub channel: Vec<ChannelAnyOf>,
4526 #[serde(
4530 default,
4531 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4532 )]
4533 pub no_op: bool,
4534 #[serde(
4535 default,
4536 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4537 )]
4538 pub ok: bool,
4539}
4540
4541#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4543pub struct ConversationsRepliesSuccessSchema {
4544 #[serde(
4548 default,
4549 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4550 )]
4551 pub has_more: bool,
4552 #[serde(
4553 default,
4554 skip_serializing_if = "Vec::is_empty",
4555 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4556 )]
4557 pub messages: Vec<String>,
4558 #[serde(
4559 default,
4560 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4561 )]
4562 pub ok: bool,
4563}
4564
4565#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4567pub struct DndEndSnoozeSchema {
4568 #[serde(
4569 default,
4570 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4571 )]
4572 pub dnd_enabled: bool,
4573 #[serde(
4574 default,
4575 skip_serializing_if = "crate::utils::zero_i64",
4576 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4577 )]
4578 pub next_dnd_end_ts: i64,
4579 #[serde(
4580 default,
4581 skip_serializing_if = "crate::utils::zero_i64",
4582 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4583 )]
4584 pub next_dnd_start_ts: i64,
4585 #[serde(
4586 default,
4587 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4588 )]
4589 pub ok: bool,
4590 #[serde(
4591 default,
4592 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4593 )]
4594 pub snooze_enabled: bool,
4595}
4596
4597#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4599pub struct DndInfoSchema {
4600 #[serde(
4601 default,
4602 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4603 )]
4604 pub dnd_enabled: bool,
4605 #[serde(
4606 default,
4607 skip_serializing_if = "crate::utils::zero_i64",
4608 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4609 )]
4610 pub next_dnd_end_ts: i64,
4611 #[serde(
4612 default,
4613 skip_serializing_if = "crate::utils::zero_i64",
4614 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4615 )]
4616 pub next_dnd_start_ts: i64,
4617 #[serde(
4618 default,
4619 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4620 )]
4621 pub ok: bool,
4622 #[serde(
4626 default,
4627 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4628 )]
4629 pub snooze_enabled: bool,
4630 #[serde(
4634 default,
4635 skip_serializing_if = "crate::utils::zero_i64",
4636 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4637 )]
4638 pub snooze_endtime: i64,
4639 #[serde(
4643 default,
4644 skip_serializing_if = "crate::utils::zero_i64",
4645 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4646 )]
4647 pub snooze_remaining: i64,
4648}
4649
4650#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4652pub struct DndSetSnoozeSchema {
4653 #[serde(
4654 default,
4655 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4656 )]
4657 pub ok: bool,
4658 #[serde(
4659 default,
4660 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4661 )]
4662 pub snooze_enabled: bool,
4663 #[serde(
4664 default,
4665 skip_serializing_if = "crate::utils::zero_i64",
4666 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4667 )]
4668 pub snooze_endtime: i64,
4669 #[serde(
4670 default,
4671 skip_serializing_if = "crate::utils::zero_i64",
4672 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4673 )]
4674 pub snooze_remaining: i64,
4675}
4676
4677#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4679pub struct FilesInfoSchema {
4680 #[serde(
4681 default,
4682 skip_serializing_if = "Vec::is_empty",
4683 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4684 )]
4685 pub comments: Vec<String>,
4686 #[serde(default, skip_serializing_if = "Option::is_none")]
4687 pub content_html: Option<serde_json::Value>,
4688 #[serde(
4692 default,
4693 skip_serializing_if = "String::is_empty",
4694 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4695 )]
4696 pub editor: String,
4697 pub file: ObjsFile,
4698 #[serde(
4699 default,
4700 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4701 )]
4702 pub ok: bool,
4703 #[serde(default, skip_serializing_if = "Option::is_none")]
4707 pub paging: Option<ObjsPaging>,
4708 #[serde(
4712 default,
4713 skip_serializing_if = "Vec::is_empty",
4714 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4715 )]
4716 pub response_metadata: Vec<ObjsResponseMetadataAnyOf>,
4717}
4718
4719#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4721pub struct FilesListSchema {
4722 #[serde(
4723 default,
4724 skip_serializing_if = "Vec::is_empty",
4725 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4726 )]
4727 pub files: Vec<ObjsFile>,
4728 #[serde(
4729 default,
4730 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4731 )]
4732 pub ok: bool,
4733 pub paging: ObjsPaging,
4734}
4735
4736#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4738pub struct FilesUploadSchema {
4739 pub file: ObjsFile,
4740 #[serde(
4741 default,
4742 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4743 )]
4744 pub ok: bool,
4745}
4746
4747#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4749pub struct MigrationExchangeSuccessSchema {
4750 #[serde(
4751 default,
4752 skip_serializing_if = "String::is_empty",
4753 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4754 )]
4755 pub enterprise_id: String,
4756 #[serde(
4760 default,
4761 skip_serializing_if = "Vec::is_empty",
4762 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4763 )]
4764 pub invalid_user_ids: Vec<String>,
4765 #[serde(
4766 default,
4767 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4768 )]
4769 pub ok: bool,
4770 #[serde(
4771 default,
4772 skip_serializing_if = "String::is_empty",
4773 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4774 )]
4775 pub team_id: String,
4776 #[serde(default, skip_serializing_if = "Option::is_none")]
4780 pub user_id_map: Option<Fields>,
4781}
4782
4783#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema, Default)]
4784pub enum ItemsType {
4785 #[serde(rename = "file")]
4786 File,
4787 #[serde(rename = "")]
4788 #[default]
4789 Noop,
4790 #[serde(other)]
4791 FallthroughString,
4792}
4793
4794impl std::fmt::Display for ItemsType {
4795 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4796 match self {
4797 ItemsType::File => "file",
4798 ItemsType::Noop => "",
4799 ItemsType::FallthroughString => "*",
4800 }
4801 .fmt(f)
4802 }
4803}
4804
4805impl ItemsType {
4806 pub fn is_noop(&self) -> bool {
4807 matches!(self, ItemsType::Noop)
4808 }
4809}
4810
4811#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4812pub struct Items {
4813 #[serde(
4814 default,
4815 skip_serializing_if = "crate::utils::zero_i64",
4816 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4817 )]
4818 pub created: i64,
4819 #[serde(
4820 default,
4821 skip_serializing_if = "String::is_empty",
4822 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4823 )]
4824 pub created_by: String,
4825 #[serde(default, skip_serializing_if = "Option::is_none")]
4826 pub file: Option<ObjsFile>,
4827 #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
4828 pub type_: Option<ItemsType>,
4829}
4830
4831#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema, Default)]
4832pub enum MessagePinType {
4833 #[serde(rename = "message")]
4834 Message,
4835 #[serde(rename = "")]
4836 #[default]
4837 Noop,
4838 #[serde(other)]
4839 FallthroughString,
4840}
4841
4842impl std::fmt::Display for MessagePinType {
4843 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4844 match self {
4845 MessagePinType::Message => "message",
4846 MessagePinType::Noop => "",
4847 MessagePinType::FallthroughString => "*",
4848 }
4849 .fmt(f)
4850 }
4851}
4852
4853impl MessagePinType {
4854 pub fn is_noop(&self) -> bool {
4855 matches!(self, MessagePinType::Noop)
4856 }
4857}
4858
4859#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4860pub struct MessagePin {
4861 #[serde(
4862 default,
4863 skip_serializing_if = "String::is_empty",
4864 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4865 )]
4866 pub channel: String,
4867 #[serde(
4868 default,
4869 skip_serializing_if = "crate::utils::zero_i64",
4870 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4871 )]
4872 pub created: i64,
4873 #[serde(
4874 default,
4875 skip_serializing_if = "String::is_empty",
4876 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
4877 )]
4878 pub created_by: String,
4879 #[serde(default, skip_serializing_if = "Option::is_none")]
4880 pub message: Option<ObjsMessage>,
4881 #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
4882 pub type_: Option<MessagePinType>,
4883}
4884
4885#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4891pub struct ItemsAnyOf {
4892 #[serde(flatten)]
4893 pub items: Items,
4894 #[serde(flatten)]
4895 pub message_pin: MessagePin,
4896}
4897
4898#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4899pub struct PinsListResponse {
4900 #[serde(
4901 default,
4902 skip_serializing_if = "Vec::is_empty",
4903 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4904 )]
4905 pub items: Vec<ItemsAnyOf>,
4906 #[serde(
4907 default,
4908 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4909 )]
4910 pub ok: bool,
4911}
4912
4913#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4914pub struct PinsListResponseData {
4915 #[serde(
4916 default,
4917 skip_serializing_if = "crate::utils::zero_i64",
4918 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
4919 )]
4920 pub count: i64,
4921 #[serde(
4922 default,
4923 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4924 )]
4925 pub ok: bool,
4926}
4927
4928#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4934pub struct PinsListResponseAnyOf {
4935 #[serde(flatten)]
4936 pub pins_list_response: PinsListResponse,
4937 #[serde(flatten)]
4938 pub pins_list_response_data: PinsListResponseData,
4939}
4940
4941#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4943pub struct ReactionsListSchema {
4944 #[serde(
4945 default,
4946 skip_serializing_if = "Vec::is_empty",
4947 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4948 )]
4949 pub items: Vec<String>,
4950 #[serde(
4951 default,
4952 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4953 )]
4954 pub ok: bool,
4955 #[serde(default, skip_serializing_if = "Option::is_none")]
4959 pub paging: Option<ObjsPaging>,
4960 #[serde(
4964 default,
4965 skip_serializing_if = "Vec::is_empty",
4966 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4967 )]
4968 pub response_metadata: Vec<ObjsResponseMetadataAnyOf>,
4969}
4970
4971#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4973pub struct RemindersAddSchema {
4974 #[serde(
4975 default,
4976 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4977 )]
4978 pub ok: bool,
4979 pub reminder: ObjsReminder,
4980}
4981
4982#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4984pub struct RemindersListSchema {
4985 #[serde(
4986 default,
4987 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
4988 )]
4989 pub ok: bool,
4990 #[serde(
4991 default,
4992 skip_serializing_if = "Vec::is_empty",
4993 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
4994 )]
4995 pub reminders: Vec<ObjsReminder>,
4996}
4997
4998#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
4999pub struct SelfData {
5000 #[serde(
5001 default,
5002 skip_serializing_if = "String::is_empty",
5003 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5004 )]
5005 pub id: String,
5006 #[serde(
5007 default,
5008 skip_serializing_if = "String::is_empty",
5009 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5010 )]
5011 pub name: String,
5012}
5013
5014#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5015pub struct RtmConnectSchemaTeam {
5016 #[serde(
5017 default,
5018 skip_serializing_if = "String::is_empty",
5019 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5020 )]
5021 pub domain: String,
5022 #[serde(
5023 default,
5024 skip_serializing_if = "String::is_empty",
5025 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5026 )]
5027 pub id: String,
5028 #[serde(
5029 default,
5030 skip_serializing_if = "String::is_empty",
5031 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5032 )]
5033 pub name: String,
5034}
5035
5036#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5038pub struct RtmConnectSchema {
5039 #[serde(
5040 default,
5041 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5042 )]
5043 pub ok: bool,
5044 #[serde(rename = "self")]
5045 pub self_: SelfData,
5046 pub team: RtmConnectSchemaTeam,
5047 #[serde(
5048 default,
5049 skip_serializing_if = "String::is_empty",
5050 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5051 )]
5052 pub url: String,
5053}
5054
5055#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5057pub struct StarsListSchema {
5058 #[serde(
5059 default,
5060 skip_serializing_if = "Vec::is_empty",
5061 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
5062 )]
5063 pub items: Vec<String>,
5064 #[serde(
5065 default,
5066 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5067 )]
5068 pub ok: bool,
5069 #[serde(default, skip_serializing_if = "Option::is_none")]
5073 pub paging: Option<ObjsPaging>,
5074}
5075
5076#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5077pub struct Logins {
5078 #[serde(
5079 default,
5080 skip_serializing_if = "crate::utils::zero_i64",
5081 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
5082 )]
5083 pub count: i64,
5084 #[serde(
5085 default,
5086 skip_serializing_if = "String::is_empty",
5087 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5088 )]
5089 pub country: String,
5090 #[serde(
5091 default,
5092 skip_serializing_if = "crate::utils::zero_i64",
5093 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
5094 )]
5095 pub date_first: i64,
5096 #[serde(
5097 default,
5098 skip_serializing_if = "crate::utils::zero_i64",
5099 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
5100 )]
5101 pub date_last: i64,
5102 #[serde(
5103 default,
5104 skip_serializing_if = "String::is_empty",
5105 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5106 )]
5107 pub ip: String,
5108 #[serde(
5109 default,
5110 skip_serializing_if = "String::is_empty",
5111 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5112 )]
5113 pub isp: String,
5114 #[serde(
5115 default,
5116 skip_serializing_if = "String::is_empty",
5117 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5118 )]
5119 pub region: String,
5120 #[serde(
5121 default,
5122 skip_serializing_if = "String::is_empty",
5123 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5124 )]
5125 pub user_agent: String,
5126 #[serde(
5127 default,
5128 skip_serializing_if = "String::is_empty",
5129 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5130 )]
5131 pub user_id: String,
5132 #[serde(
5133 default,
5134 skip_serializing_if = "String::is_empty",
5135 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5136 )]
5137 pub username: String,
5138}
5139
5140#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5142pub struct TeamAccessLogsSchema {
5143 #[serde(
5144 default,
5145 skip_serializing_if = "Vec::is_empty",
5146 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
5147 )]
5148 pub logins: Vec<Logins>,
5149 #[serde(
5150 default,
5151 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5152 )]
5153 pub ok: bool,
5154 pub paging: ObjsPaging,
5155}
5156
5157#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5159pub struct TeamInfoSchema {
5160 #[serde(
5161 default,
5162 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5163 )]
5164 pub ok: bool,
5165 pub team: ObjsTeam,
5166}
5167
5168#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5169pub struct Logs {
5170 #[serde(
5171 default,
5172 skip_serializing_if = "String::is_empty",
5173 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5174 )]
5175 pub admin_app_id: String,
5176 #[serde(
5177 default,
5178 skip_serializing_if = "String::is_empty",
5179 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5180 )]
5181 pub app_id: String,
5182 #[serde(
5183 default,
5184 skip_serializing_if = "String::is_empty",
5185 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5186 )]
5187 pub app_type: String,
5188 #[serde(
5189 default,
5190 skip_serializing_if = "String::is_empty",
5191 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5192 )]
5193 pub change_type: String,
5194 #[serde(
5195 default,
5196 skip_serializing_if = "String::is_empty",
5197 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5198 )]
5199 pub channel: String,
5200 #[serde(
5201 default,
5202 skip_serializing_if = "String::is_empty",
5203 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5204 )]
5205 pub date: String,
5206 #[serde(
5207 default,
5208 skip_serializing_if = "String::is_empty",
5209 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5210 )]
5211 pub scope: String,
5212 #[serde(
5213 default,
5214 skip_serializing_if = "String::is_empty",
5215 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5216 )]
5217 pub service_id: String,
5218 #[serde(
5219 default,
5220 skip_serializing_if = "String::is_empty",
5221 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5222 )]
5223 pub service_type: String,
5224 #[serde(
5225 default,
5226 skip_serializing_if = "String::is_empty",
5227 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5228 )]
5229 pub user_id: String,
5230 #[serde(
5231 default,
5232 skip_serializing_if = "String::is_empty",
5233 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5234 )]
5235 pub user_name: String,
5236}
5237
5238#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5240pub struct TeamIntegrationLogsSchema {
5241 #[serde(
5242 default,
5243 skip_serializing_if = "Vec::is_empty",
5244 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
5245 )]
5246 pub logs: Vec<Logs>,
5247 #[serde(
5248 default,
5249 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5250 )]
5251 pub ok: bool,
5252 pub paging: ObjsPaging,
5253}
5254
5255#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5257pub struct TeamProfileGetSuccessSchema {
5258 #[serde(
5259 default,
5260 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5261 )]
5262 pub ok: bool,
5263 pub profile: Profile,
5264}
5265
5266#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5268pub struct UsergroupsCreateSchema {
5269 #[serde(
5270 default,
5271 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5272 )]
5273 pub ok: bool,
5274 pub usergroup: ObjsSubteam,
5275}
5276
5277#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5279pub struct UsergroupsListSchema {
5280 #[serde(
5281 default,
5282 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5283 )]
5284 pub ok: bool,
5285 #[serde(
5286 default,
5287 skip_serializing_if = "Vec::is_empty",
5288 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
5289 )]
5290 pub usergroups: Vec<ObjsSubteam>,
5291}
5292
5293#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5295pub struct UsergroupsUsersListSchema {
5296 #[serde(
5297 default,
5298 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5299 )]
5300 pub ok: bool,
5301 #[serde(
5302 default,
5303 skip_serializing_if = "Vec::is_empty",
5304 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
5305 )]
5306 pub users: Vec<String>,
5307}
5308
5309#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5311pub struct UsersConversationsSuccessSchema {
5312 #[serde(
5313 default,
5314 skip_serializing_if = "Vec::is_empty",
5315 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
5316 )]
5317 pub channels: Vec<Vec<ObjsConversationAnyOf>>,
5318 #[serde(
5319 default,
5320 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5321 )]
5322 pub ok: bool,
5323 #[serde(default, skip_serializing_if = "Option::is_none")]
5327 pub response_metadata: Option<NewPagingStyle>,
5328}
5329
5330#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5332pub struct ApiMethodUsersGetPresence {
5333 #[serde(
5337 default,
5338 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5339 )]
5340 pub auto_away: bool,
5341 #[serde(
5345 default,
5346 skip_serializing_if = "crate::utils::zero_i64",
5347 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
5348 )]
5349 pub connection_count: i64,
5350 #[serde(
5354 default,
5355 skip_serializing_if = "crate::utils::zero_i64",
5356 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
5357 )]
5358 pub last_activity: i64,
5359 #[serde(
5363 default,
5364 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5365 )]
5366 pub manual_away: bool,
5367 #[serde(
5368 default,
5369 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5370 )]
5371 pub ok: bool,
5372 #[serde(
5376 default,
5377 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5378 )]
5379 pub online: bool,
5380 #[serde(
5381 default,
5382 skip_serializing_if = "String::is_empty",
5383 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5384 )]
5385 pub presence: String,
5386}
5387
5388#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5389pub struct UsersIdentityResponseTeam {
5390 #[serde(
5391 default,
5392 skip_serializing_if = "String::is_empty",
5393 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5394 )]
5395 pub id: String,
5396}
5397
5398#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5400pub struct UsersIdentityResponse {
5401 #[serde(
5402 default,
5403 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5404 )]
5405 pub ok: bool,
5406 pub team: UsersIdentityResponseTeam,
5407 pub user: SelfData,
5408}
5409
5410#[derive(Serialize, Default, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5411pub struct User {
5412 #[serde(
5413 default,
5414 skip_serializing_if = "String::is_empty",
5415 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5416 )]
5417 pub email: String,
5418 #[serde(
5419 default,
5420 skip_serializing_if = "String::is_empty",
5421 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5422 )]
5423 pub id: String,
5424 #[serde(
5425 default,
5426 skip_serializing_if = "String::is_empty",
5427 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5428 )]
5429 pub name: String,
5430}
5431
5432#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5434pub struct UsersIdentityResponseData {
5435 #[serde(
5436 default,
5437 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5438 )]
5439 pub ok: bool,
5440 pub team: UsersIdentityResponseTeam,
5441 pub user: User,
5442}
5443
5444#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5445pub struct UsersIdentityResponseUser {
5446 #[serde(
5447 default,
5448 skip_serializing_if = "String::is_empty",
5449 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5450 )]
5451 pub id: String,
5452 #[serde(
5453 default,
5454 skip_serializing_if = "String::is_empty",
5455 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5456 )]
5457 pub image_192: String,
5458 #[serde(
5459 default,
5460 skip_serializing_if = "String::is_empty",
5461 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5462 )]
5463 pub image_24: String,
5464 #[serde(
5465 default,
5466 skip_serializing_if = "String::is_empty",
5467 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5468 )]
5469 pub image_32: String,
5470 #[serde(
5471 default,
5472 skip_serializing_if = "String::is_empty",
5473 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5474 )]
5475 pub image_48: String,
5476 #[serde(
5477 default,
5478 skip_serializing_if = "String::is_empty",
5479 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5480 )]
5481 pub image_512: String,
5482 #[serde(
5483 default,
5484 skip_serializing_if = "String::is_empty",
5485 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5486 )]
5487 pub image_72: String,
5488 #[serde(
5489 default,
5490 skip_serializing_if = "String::is_empty",
5491 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5492 )]
5493 pub name: String,
5494}
5495
5496#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5498pub struct UsersIdentityResponseDataType {
5499 #[serde(
5500 default,
5501 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5502 )]
5503 pub ok: bool,
5504 pub team: UsersIdentityResponseTeam,
5505 pub user: UsersIdentityResponseUser,
5506}
5507
5508#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5509pub struct UsersIdentityResponseTeamData {
5510 #[serde(
5511 default,
5512 skip_serializing_if = "String::is_empty",
5513 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5514 )]
5515 pub domain: String,
5516 #[serde(
5517 default,
5518 skip_serializing_if = "String::is_empty",
5519 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5520 )]
5521 pub id: String,
5522 #[serde(
5523 default,
5524 skip_serializing_if = "String::is_empty",
5525 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5526 )]
5527 pub image_102: String,
5528 #[serde(
5529 default,
5530 skip_serializing_if = "String::is_empty",
5531 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5532 )]
5533 pub image_132: String,
5534 #[serde(
5535 default,
5536 skip_serializing_if = "String::is_empty",
5537 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5538 )]
5539 pub image_230: String,
5540 #[serde(
5541 default,
5542 skip_serializing_if = "String::is_empty",
5543 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5544 )]
5545 pub image_34: String,
5546 #[serde(
5547 default,
5548 skip_serializing_if = "String::is_empty",
5549 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5550 )]
5551 pub image_44: String,
5552 #[serde(
5553 default,
5554 skip_serializing_if = "String::is_empty",
5555 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5556 )]
5557 pub image_68: String,
5558 #[serde(
5559 default,
5560 skip_serializing_if = "String::is_empty",
5561 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5562 )]
5563 pub image_88: String,
5564 #[serde(
5565 default,
5566 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5567 )]
5568 pub image_default: bool,
5569 #[serde(
5570 default,
5571 skip_serializing_if = "String::is_empty",
5572 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5573 )]
5574 pub name: String,
5575}
5576
5577#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5579pub struct UsersIdentityResponseDataTypeLinks {
5580 #[serde(
5581 default,
5582 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5583 )]
5584 pub ok: bool,
5585 pub team: UsersIdentityResponseTeamData,
5586 pub user: SelfData,
5587}
5588
5589#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5597pub struct UsersIdentityResponseAnyOf {
5598 #[serde(flatten)]
5602 pub users_identity_response: UsersIdentityResponse,
5603 #[serde(flatten)]
5607 pub users_identity_response_data: UsersIdentityResponseData,
5608 #[serde(flatten)]
5612 pub users_identity_response_data_type: UsersIdentityResponseDataType,
5613 #[serde(flatten)]
5617 pub users_identity_response_data_type_links: UsersIdentityResponseDataTypeLinks,
5618}
5619
5620#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5622pub struct UsersInfoSuccessSchema {
5623 #[serde(
5624 default,
5625 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5626 )]
5627 pub ok: bool,
5628 #[serde(
5629 default,
5630 skip_serializing_if = "Vec::is_empty",
5631 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
5632 )]
5633 pub user: Vec<ObjsUserAnyOf>,
5634}
5635
5636#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5638pub struct UsersListSchema {
5639 #[serde(
5640 default,
5641 skip_serializing_if = "crate::utils::zero_i64",
5642 deserialize_with = "crate::utils::deserialize_null_i64::deserialize"
5643 )]
5644 pub cache_ts: i64,
5645 #[serde(
5646 default,
5647 skip_serializing_if = "Vec::is_empty",
5648 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
5649 )]
5650 pub members: Vec<Vec<ObjsUserAnyOf>>,
5651 #[serde(
5652 default,
5653 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5654 )]
5655 pub ok: bool,
5656 #[serde(
5660 default,
5661 skip_serializing_if = "Vec::is_empty",
5662 deserialize_with = "crate::utils::deserialize_null_vector::deserialize"
5663 )]
5664 pub response_metadata: Vec<ObjsResponseMetadataAnyOf>,
5665}
5666
5667#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5669pub struct UsersProfileGetSchema {
5670 #[serde(
5671 default,
5672 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5673 )]
5674 pub ok: bool,
5675 pub profile: ObjsUserProfile,
5676}
5677
5678#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5680pub struct UsersProfileSetSchema {
5681 #[serde(
5685 default,
5686 skip_serializing_if = "String::is_empty",
5687 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5688 )]
5689 pub email_pending: String,
5690 #[serde(
5691 default,
5692 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5693 )]
5694 pub ok: bool,
5695 pub profile: ObjsUserProfile,
5696 #[serde(
5697 default,
5698 skip_serializing_if = "String::is_empty",
5699 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5700 )]
5701 pub username: String,
5702}
5703
5704#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5705pub struct UsersSetPhotoSchemaProfile {
5706 #[serde(
5707 default,
5708 skip_serializing_if = "String::is_empty",
5709 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5710 )]
5711 pub avatar_hash: String,
5712 #[serde(
5713 default,
5714 skip_serializing_if = "String::is_empty",
5715 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5716 )]
5717 pub image_1024: String,
5718 #[serde(
5719 default,
5720 skip_serializing_if = "String::is_empty",
5721 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5722 )]
5723 pub image_192: String,
5724 #[serde(
5725 default,
5726 skip_serializing_if = "String::is_empty",
5727 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5728 )]
5729 pub image_24: String,
5730 #[serde(
5731 default,
5732 skip_serializing_if = "String::is_empty",
5733 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5734 )]
5735 pub image_32: String,
5736 #[serde(
5737 default,
5738 skip_serializing_if = "String::is_empty",
5739 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5740 )]
5741 pub image_48: String,
5742 #[serde(
5743 default,
5744 skip_serializing_if = "String::is_empty",
5745 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5746 )]
5747 pub image_512: String,
5748 #[serde(
5749 default,
5750 skip_serializing_if = "String::is_empty",
5751 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5752 )]
5753 pub image_72: String,
5754 #[serde(
5755 default,
5756 skip_serializing_if = "String::is_empty",
5757 deserialize_with = "crate::utils::deserialize_null_string::deserialize"
5758 )]
5759 pub image_original: String,
5760}
5761
5762#[derive(Serialize, Deserialize, PartialEq, Debug, Clone, JsonSchema)]
5764pub struct UsersSetPhotoSchema {
5765 #[serde(
5766 default,
5767 deserialize_with = "crate::utils::deserialize_null_boolean::deserialize"
5768 )]
5769 pub ok: bool,
5770 pub profile: UsersSetPhotoSchemaProfile,
5771}