#[derive(Serialize, Deserialize, Debug)]
enum Visibility {
- public, unlisted, private, direct,
+ #[serde(rename = "public")] Public,
+ #[serde(rename = "unlisted")] Unlisted,
+ #[serde(rename = "private")] Private,
+ #[serde(rename = "direct")] Direct,
+}
+
+#[derive(Serialize, Deserialize, Debug)]
+enum MediaType {
+ #[serde(rename = "unknown")] Unknown,
+ #[serde(rename = "image")] Image,
+ #[serde(rename = "gifv")] GifV,
+ #[serde(rename = "video")] Video,
+ #[serde(rename = "audio")] Audio,
+}
+
+#[derive(Serialize, Deserialize, Debug)]
+struct MediaAttachment {
+ id: String,
+ #[serde(rename="type")] mediatype: MediaType,
+ url: String,
+ preview_url: String,
+ remote_url: Option<String>,
+ description: Option<String>,
+}
+
+#[derive(Serialize, Deserialize, Debug)]
+struct StatusMention {
+ id: String,
+ username: String,
+ url: String,
+ acct: String,
}
#[derive(Serialize, Deserialize, Debug)]
visibility: Visibility,
sensitive: bool,
spoiler_text: String,
- // media_attachments: Vec<Media>,
+ media_attachments: Vec<MediaAttachment>,
application: Option<Application>,
- // mentions: Vec<Mention>,
+ mentions: Vec<StatusMention>,
// tags: Vec<Hashtag>,
// emojis: Vec<Emoji>,
reblogs_count: u64,