slack_rust/channels/
channel.rs

1use crate::attachment::attachment::Attachment;
2use serde::{Deserialize, Serialize};
3use serde_with::skip_serializing_none;
4
5#[skip_serializing_none]
6#[derive(Deserialize, Serialize, Debug, Default, PartialEq)]
7pub struct Channel {
8    pub id: Option<String>,
9    pub name: Option<String>,
10    pub is_channel: Option<bool>,
11    pub created: Option<i32>,
12    pub creator: Option<String>,
13    pub is_archived: Option<bool>,
14    pub is_general: Option<bool>,
15    pub name_normalized: Option<String>,
16    pub is_shared: Option<bool>,
17    pub is_org_shared: Option<bool>,
18    pub is_member: Option<bool>,
19    pub is_private: Option<bool>,
20    pub is_mpim: Option<bool>,
21    pub last_read: Option<String>,
22    pub latest: Option<Latest>,
23    pub unread_count: Option<i32>,
24    pub unread_count_display: Option<i32>,
25    pub members: Option<Vec<String>>,
26    pub topic: Option<Topic>,
27    pub purpose: Option<Purpose>,
28    pub previous_names: Option<Vec<String>>,
29    pub priority: Option<i32>,
30}
31
32#[skip_serializing_none]
33#[derive(Deserialize, Serialize, Debug, Default, PartialEq)]
34pub struct Latest {
35    pub text: Option<String>,
36    pub username: Option<String>,
37    pub bot_id: Option<String>,
38    pub attachments: Option<Vec<Attachment>>,
39    #[serde(rename = "type")]
40    pub type_filed: Option<String>,
41    pub subtype: Option<String>,
42    pub ts: Option<String>,
43}
44
45#[skip_serializing_none]
46#[derive(Deserialize, Serialize, Debug, Default, PartialEq)]
47pub struct Topic {
48    pub value: Option<String>,
49    pub creator: Option<String>,
50    pub last_set: Option<i32>,
51}
52
53#[skip_serializing_none]
54#[derive(Deserialize, Serialize, Debug, Default, PartialEq)]
55pub struct Purpose {
56    pub value: Option<String>,
57    pub creator: Option<String>,
58    pub last_set: Option<i32>,
59}