slack_rust/channels/
channel.rs1use 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}