Skip to main content

box_open_sdk/models/schemas/
files.rs

1// Code generated by box-gantry 0.1.0 (spec 3fb3510fe12f2f80) for Box API 2024.0. DO NOT EDIT.
2
3use crate::serde_helpers::double_option;
4
5use super::*;
6
7#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
8pub struct PutIdLock {
9    #[serde(default, skip_serializing_if = "Option::is_none")]
10    pub access: Option<LockType>,
11    #[serde(default, skip_serializing_if = "Option::is_none")]
12    pub expires_at: Option<chrono::DateTime<chrono::Utc>>,
13    #[serde(default, skip_serializing_if = "Option::is_none")]
14    pub is_download_prevented: Option<bool>,
15}
16
17#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
18#[serde(transparent)]
19pub struct PermissionsCanDownload(pub String);
20
21impl PermissionsCanDownload {
22    pub const OPEN: &'static str = "open";
23    pub const COMPANY: &'static str = "company";
24}
25
26#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
27pub struct PutIdPermissions {
28    #[serde(default, skip_serializing_if = "Option::is_none")]
29    pub can_download: Option<PermissionsCanDownload>,
30}
31
32#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
33pub struct UpdateFileRequest {
34    #[serde(default, skip_serializing_if = "Option::is_none")]
35    pub name: Option<String>,
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub description: Option<String>,
38    #[serde(default, skip_serializing_if = "Option::is_none")]
39    pub parent: Option<PutIdParent>,
40    #[serde(
41        default,
42        skip_serializing_if = "Option::is_none",
43        deserialize_with = "double_option"
44    )]
45    pub shared_link: Option<Option<PutIdSharedLink>>,
46    #[serde(
47        default,
48        skip_serializing_if = "Option::is_none",
49        deserialize_with = "double_option"
50    )]
51    pub lock: Option<Option<PutIdLock>>,
52    #[serde(default, skip_serializing_if = "Option::is_none")]
53    pub disposition_at: Option<chrono::DateTime<chrono::Utc>>,
54    #[serde(default, skip_serializing_if = "Option::is_none")]
55    pub permissions: Option<PutIdPermissions>,
56    #[serde(
57        default,
58        skip_serializing_if = "Option::is_none",
59        deserialize_with = "double_option"
60    )]
61    pub collections: Option<Option<Vec<CommentItem>>>,
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub tags: Option<Vec<String>>,
64}
65
66#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
67pub struct CopyFileRequest {
68    #[serde(default, skip_serializing_if = "Option::is_none")]
69    pub name: Option<String>,
70    #[serde(default, skip_serializing_if = "Option::is_none")]
71    pub version: Option<String>,
72    pub parent: AttributesParent,
73}
74
75#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
76#[serde(transparent)]
77pub struct GetIdThumbnailIdExtension(pub String);
78
79impl GetIdThumbnailIdExtension {
80    pub const PNG: &'static str = "png";
81    pub const JPG: &'static str = "jpg";
82}