drive_v3/objects/
revision.rs1use std::fmt;
2use serde::{Serialize, Deserialize};
3
4use super::User;
5
6#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
8#[serde(rename_all = "camelCase")]
9pub struct Revision {
10 #[serde(skip_serializing_if = "Option::is_none")]
12 pub id: Option<String>,
13
14 #[serde(skip_serializing_if = "Option::is_none")]
16 pub mime_type: Option<String>,
17
18 #[serde(skip_serializing_if = "Option::is_none")]
22 pub kind: Option<String>,
23
24 #[serde(skip_serializing_if = "Option::is_none")]
28 pub published: Option<bool>,
29
30 #[serde(skip_serializing_if = "Option::is_none")]
32 pub export_links: Option< serde_json::Map<String, serde_json::Value> >,
33
34 #[serde(skip_serializing_if = "Option::is_none")]
41 pub keep_forever: Option<bool>,
42
43 #[serde(skip_serializing_if = "Option::is_none")]
47 pub md5_checksum: Option<String>,
48
49 #[serde(skip_serializing_if = "Option::is_none")]
51 pub modified_time: Option<String>,
52
53 #[serde(skip_serializing_if = "Option::is_none")]
57 pub publish_auto: Option<bool>,
58
59 #[serde(skip_serializing_if = "Option::is_none")]
63 pub published_outside_domain: Option<bool>,
64
65 #[serde(skip_serializing_if = "Option::is_none")]
69 pub published_link: Option<String>,
70
71 #[serde(skip_serializing_if = "Option::is_none")]
75 pub size: Option<String>,
76
77 #[serde(skip_serializing_if = "Option::is_none")]
81 pub original_filename: Option<String>,
82
83 #[serde(skip_serializing_if = "Option::is_none")]
85 pub last_modifying_user: Option<User>,
86}
87
88#[doc(hidden)]
89impl From<&Self> for Revision {
90 fn from( reference: &Self ) -> Self {
91 reference.clone()
92 }
93}
94
95impl fmt::Display for Revision {
96 fn fmt( &self, f: &mut fmt::Formatter<'_> ) -> fmt::Result {
97 let json = serde_json::to_string_pretty(&self)
98 .unwrap_or( format!("unable to parse JSON, this is the debug view:\n{:#?}", self) );
99
100 write!(f, "{}", json)
101 }
102}
103
104impl Revision {
105 pub fn new() -> Self {
107 Self { ..Default::default() }
108 }
109}
110
111#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
113#[serde(rename_all = "camelCase")]
114pub struct RevisionList {
115 #[serde(skip_serializing_if = "Option::is_none")]
123 pub next_page_token: Option<String>,
124
125 #[serde(skip_serializing_if = "Option::is_none")]
129 pub kind: Option<String>,
130
131 #[serde(skip_serializing_if = "Option::is_none")]
137 pub revisions: Option<Vec<Revision>>,
138}
139
140impl fmt::Display for RevisionList {
141 fn fmt( &self, f: &mut fmt::Formatter<'_> ) -> fmt::Result {
142 let json = serde_json::to_string_pretty(&self)
143 .unwrap_or( format!("unable to parse JSON, this is the debug view:\n{:#?}", self) );
144
145 write!(f, "{}", json)
146 }
147}
148
149impl RevisionList {
150 pub fn new() -> Self {
152 Self { ..Default::default() }
153 }
154}