revolt_models/v0/
files.rs1auto_derived!(
2 pub struct File {
4 #[cfg_attr(feature = "serde", serde(rename = "_id"))]
6 pub id: String,
7 pub tag: String,
9 pub filename: String,
11 pub metadata: Metadata,
13 pub content_type: String,
15 pub size: isize,
17
18 #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
20 pub deleted: Option<bool>,
21 #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
23 pub reported: Option<bool>,
24
25 #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
29 pub message_id: Option<String>,
30 #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
31 pub user_id: Option<String>,
32 #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
33 pub server_id: Option<String>,
34
35 #[cfg_attr(feature = "serde", serde(skip_serializing_if = "Option::is_none"))]
37 pub object_id: Option<String>,
38 }
39
40 #[cfg_attr(feature = "serde", serde(tag = "type"))]
42 #[derive(Default)]
43 pub enum Metadata {
44 #[default]
46 File,
47 Text,
49 Image { width: usize, height: usize },
51 Video { width: usize, height: usize },
53 Audio,
55 }
56);