1#[derive(Debug, Default, Clone, Serialize)]
3pub struct StatusBuilder {
4 pub status: String,
6 #[serde(skip_serializing_if="Option::is_none")]
9 pub in_reply_to_id: Option<String>,
10 #[serde(skip_serializing_if="Option::is_none")]
12 pub media_ids: Option<Vec<String>>,
13 #[serde(skip_serializing_if="Option::is_none")]
15 pub sensitive: Option<bool>,
16 #[serde(skip_serializing_if="Option::is_none")]
18 pub spoiler_text: Option<String>,
19 #[serde(skip_serializing_if="Option::is_none")]
21 pub visibility: Option<Visibility>,
22}
23
24#[derive(Clone, Copy, Debug, Deserialize, Serialize)]
26pub enum Visibility {
27 #[serde(rename = "direct")]
29 Direct,
30 #[serde(rename = "private")]
32 Private,
33 #[serde(rename = "unlisted")]
35 Unlisted,
36 #[serde(rename = "public")]
38 Public,
39}
40
41impl StatusBuilder {
42
43 pub fn new(status: String) -> Self {
50 StatusBuilder {
51 status: status,
52 ..Self::default()
53 }
54 }
55}
56
57impl Default for Visibility {
58 fn default() -> Self {
59 Visibility::Public
60 }
61}