Skip to main content

box_open_sdk/models/schemas/
file_requests.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 FileRequest {
9    pub id: String,
10    pub r#type: FileRequestType,
11    #[serde(default, skip_serializing_if = "Option::is_none")]
12    pub title: Option<String>,
13    #[serde(
14        default,
15        skip_serializing_if = "Option::is_none",
16        deserialize_with = "double_option"
17    )]
18    pub description: Option<Option<String>>,
19    #[serde(default, skip_serializing_if = "Option::is_none")]
20    pub status: Option<FileRequestStatus>,
21    #[serde(default, skip_serializing_if = "Option::is_none")]
22    pub is_email_required: Option<bool>,
23    #[serde(default, skip_serializing_if = "Option::is_none")]
24    pub is_description_required: Option<bool>,
25    #[serde(default, skip_serializing_if = "Option::is_none")]
26    pub expires_at: Option<chrono::DateTime<chrono::Utc>>,
27    pub folder: FolderMini,
28    #[serde(default, skip_serializing_if = "Option::is_none")]
29    pub url: Option<String>,
30    #[serde(
31        default,
32        skip_serializing_if = "Option::is_none",
33        deserialize_with = "double_option"
34    )]
35    pub etag: Option<Option<String>>,
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub created_by: Option<UserMini>,
38    pub created_at: chrono::DateTime<chrono::Utc>,
39    #[serde(default, skip_serializing_if = "Option::is_none")]
40    pub updated_by: Option<UserMini>,
41    pub updated_at: chrono::DateTime<chrono::Utc>,
42}
43
44#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
45pub struct FileRequestCopyRequest {
46    #[serde(default, skip_serializing_if = "Option::is_none")]
47    pub title: Option<String>,
48    #[serde(default, skip_serializing_if = "Option::is_none")]
49    pub description: Option<String>,
50    #[serde(default, skip_serializing_if = "Option::is_none")]
51    pub status: Option<FileRequestStatus>,
52    #[serde(default, skip_serializing_if = "Option::is_none")]
53    pub is_email_required: Option<bool>,
54    #[serde(default, skip_serializing_if = "Option::is_none")]
55    pub is_description_required: Option<bool>,
56    #[serde(default, skip_serializing_if = "Option::is_none")]
57    pub expires_at: Option<chrono::DateTime<chrono::Utc>>,
58    pub folder: FileRequestCopyRequestFolder,
59}
60
61#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
62pub struct FileRequestUpdateRequest {
63    #[serde(default, skip_serializing_if = "Option::is_none")]
64    pub title: Option<String>,
65    #[serde(default, skip_serializing_if = "Option::is_none")]
66    pub description: Option<String>,
67    #[serde(default, skip_serializing_if = "Option::is_none")]
68    pub status: Option<FileRequestStatus>,
69    #[serde(default, skip_serializing_if = "Option::is_none")]
70    pub is_email_required: Option<bool>,
71    #[serde(default, skip_serializing_if = "Option::is_none")]
72    pub is_description_required: Option<bool>,
73    #[serde(default, skip_serializing_if = "Option::is_none")]
74    pub expires_at: Option<chrono::DateTime<chrono::Utc>>,
75}
76
77#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
78#[serde(transparent)]
79pub struct FileRequestType(pub String);
80
81impl FileRequestType {
82    pub const FILE_REQUEST: &'static str = "file_request";
83}
84
85#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
86#[serde(transparent)]
87pub struct FileRequestStatus(pub String);
88
89impl FileRequestStatus {
90    pub const ACTIVE: &'static str = "active";
91    pub const INACTIVE: &'static str = "inactive";
92}
93
94#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
95pub struct FileRequestCopyRequestFolder {
96    #[serde(default, skip_serializing_if = "Option::is_none")]
97    pub r#type: Option<FolderType>,
98    pub id: String,
99}