box_open_sdk/models/schemas/
file_versions.rs1use crate::serde_helpers::double_option;
4
5use super::*;
6
7#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
8pub struct FileVersionFull {
9 pub id: String,
10 pub r#type: FileVersionType,
11 #[serde(default, skip_serializing_if = "Option::is_none")]
12 pub sha1: Option<String>,
13 #[serde(default, skip_serializing_if = "Option::is_none")]
14 pub name: Option<String>,
15 #[serde(default, skip_serializing_if = "Option::is_none")]
16 pub size: Option<i64>,
17 #[serde(default, skip_serializing_if = "Option::is_none")]
18 pub created_at: Option<chrono::DateTime<chrono::Utc>>,
19 #[serde(default, skip_serializing_if = "Option::is_none")]
20 pub modified_at: Option<chrono::DateTime<chrono::Utc>>,
21 #[serde(default, skip_serializing_if = "Option::is_none")]
22 pub modified_by: Option<UserMini>,
23 #[serde(
24 default,
25 skip_serializing_if = "Option::is_none",
26 deserialize_with = "double_option"
27 )]
28 pub trashed_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
29 #[serde(default, skip_serializing_if = "Option::is_none")]
30 pub trashed_by: Option<UserMini>,
31 #[serde(
32 default,
33 skip_serializing_if = "Option::is_none",
34 deserialize_with = "double_option"
35 )]
36 pub restored_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
37 #[serde(default, skip_serializing_if = "Option::is_none")]
38 pub restored_by: Option<UserMini>,
39 #[serde(
40 default,
41 skip_serializing_if = "Option::is_none",
42 deserialize_with = "double_option"
43 )]
44 pub purged_at: Option<Option<chrono::DateTime<chrono::Utc>>>,
45 #[serde(default, skip_serializing_if = "Option::is_none")]
46 pub uploader_display_name: Option<String>,
47 #[serde(default, skip_serializing_if = "Option::is_none")]
48 pub version_number: Option<String>,
49}
50
51#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
52pub struct FileVersions {
53 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub total_count: Option<i64>,
55 #[serde(default, skip_serializing_if = "Option::is_none")]
56 pub limit: Option<i64>,
57 #[serde(default, skip_serializing_if = "Option::is_none")]
58 pub offset: Option<i64>,
59 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub order: Option<Vec<CollectionsOrder>>,
61 #[serde(default, skip_serializing_if = "Option::is_none")]
62 pub entries: Option<Vec<FileVersionFull>>,
63}
64
65#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
66pub struct UpdateFileVersionRequest {
67 #[serde(
68 default,
69 skip_serializing_if = "Option::is_none",
70 deserialize_with = "double_option"
71 )]
72 pub trashed_at: Option<Option<String>>,
73}
74
75#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
76pub struct CreateFileVersionCurrentRequest {
77 #[serde(default, skip_serializing_if = "Option::is_none")]
78 pub id: Option<String>,
79 #[serde(default, skip_serializing_if = "Option::is_none")]
80 pub r#type: Option<FileVersionType>,
81}