Skip to main content

box_open_sdk/models/schemas/
chunked_uploads.rs

1// Code generated by box-gantry 0.1.0 (spec 3fb3510fe12f2f80) for Box API 2024.0. DO NOT EDIT.
2
3use super::*;
4
5#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
6pub struct UploadedPart {
7    #[serde(default, skip_serializing_if = "Option::is_none")]
8    pub part: Option<UploadPart>,
9}
10
11#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
12pub struct UploadPart {
13    #[serde(default, skip_serializing_if = "Option::is_none")]
14    pub part_id: Option<String>,
15    #[serde(default, skip_serializing_if = "Option::is_none")]
16    pub offset: Option<i64>,
17    #[serde(default, skip_serializing_if = "Option::is_none")]
18    pub size: Option<i64>,
19    #[serde(default, skip_serializing_if = "Option::is_none")]
20    pub sha1: Option<String>,
21}
22
23#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
24pub struct UploadParts {
25    #[serde(default, skip_serializing_if = "Option::is_none")]
26    pub total_count: Option<i64>,
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub limit: Option<i64>,
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub offset: Option<i64>,
31    #[serde(default, skip_serializing_if = "Option::is_none")]
32    pub order: Option<Vec<CollectionsOrder>>,
33    #[serde(default, skip_serializing_if = "Option::is_none")]
34    pub entries: Option<Vec<UploadPart>>,
35}
36
37#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
38pub struct UploadSession {
39    #[serde(default, skip_serializing_if = "Option::is_none")]
40    pub id: Option<String>,
41    #[serde(default, skip_serializing_if = "Option::is_none")]
42    pub r#type: Option<UploadSessionType>,
43    #[serde(default, skip_serializing_if = "Option::is_none")]
44    pub session_expires_at: Option<chrono::DateTime<chrono::Utc>>,
45    #[serde(default, skip_serializing_if = "Option::is_none")]
46    pub part_size: Option<i64>,
47    #[serde(default, skip_serializing_if = "Option::is_none")]
48    pub total_parts: Option<i64>,
49    #[serde(default, skip_serializing_if = "Option::is_none")]
50    pub num_parts_processed: Option<i64>,
51    #[serde(default, skip_serializing_if = "Option::is_none")]
52    pub session_endpoints: Option<UploadSessionSessionEndpoints>,
53}
54
55#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
56#[serde(transparent)]
57pub struct UploadSessionType(pub String);
58
59impl UploadSessionType {
60    pub const UPLOAD_SESSION: &'static str = "upload_session";
61}
62
63#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
64pub struct UploadSessionSessionEndpoints {
65    #[serde(default, skip_serializing_if = "Option::is_none")]
66    pub upload_part: Option<String>,
67    #[serde(default, skip_serializing_if = "Option::is_none")]
68    pub commit: Option<String>,
69    #[serde(default, skip_serializing_if = "Option::is_none")]
70    pub abort: Option<String>,
71    #[serde(default, skip_serializing_if = "Option::is_none")]
72    pub list_parts: Option<String>,
73    #[serde(default, skip_serializing_if = "Option::is_none")]
74    pub status: Option<String>,
75    #[serde(default, skip_serializing_if = "Option::is_none")]
76    pub log_event: Option<String>,
77}
78
79#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
80pub struct CreateFileUploadSessionRequest {
81    pub folder_id: String,
82    pub file_size: i64,
83    pub file_name: String,
84}
85
86#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
87pub struct CreateFileVersionUploadSessionRequest {
88    pub file_size: i64,
89    #[serde(default, skip_serializing_if = "Option::is_none")]
90    pub file_name: Option<String>,
91}
92
93#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
94pub struct CommitFileUploadSessionRequest {
95    pub parts: Vec<UploadPart>,
96}