From 97289f2eb43fb84599f3fe5086b5c018c2fa9400 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sat, 23 Dec 2023 11:03:18 +0000 Subject: [PATCH] OK, that's probably enough data modelling for now --- src/main.rs | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 8dd7090..216ed42 100644 --- a/src/main.rs +++ b/src/main.rs @@ -49,7 +49,37 @@ struct Application { #[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, + description: Option, +} + +#[derive(Serialize, Deserialize, Debug)] +struct StatusMention { + id: String, + username: String, + url: String, + acct: String, } #[derive(Serialize, Deserialize, Debug)] @@ -62,9 +92,9 @@ struct Status { visibility: Visibility, sensitive: bool, spoiler_text: String, - // media_attachments: Vec, + media_attachments: Vec, application: Option, - // mentions: Vec, + mentions: Vec, // tags: Vec, // emojis: Vec, reblogs_count: u64, -- 2.30.2