Skip to main content

box_open_sdk/models/schemas/
archives.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
5#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
6pub struct Archive {
7    pub id: String,
8    pub r#type: ArchiveType,
9    pub name: String,
10    pub size: i64,
11    #[serde(
12        default,
13        skip_serializing_if = "Option::is_none",
14        deserialize_with = "double_option"
15    )]
16    pub description: Option<Option<String>>,
17    #[serde(default, skip_serializing_if = "Option::is_none")]
18    pub owned_by: Option<ArchiveOwnedBy>,
19}
20
21#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
22pub struct Archives {
23    #[serde(default, skip_serializing_if = "Option::is_none")]
24    pub entries: Option<Vec<Archive>>,
25    #[serde(default, skip_serializing_if = "Option::is_none")]
26    pub limit: Option<i64>,
27    #[serde(
28        default,
29        skip_serializing_if = "Option::is_none",
30        deserialize_with = "double_option"
31    )]
32    pub next_marker: Option<Option<String>>,
33}
34
35#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
36#[serde(transparent)]
37pub struct ArchiveType(pub String);
38
39impl ArchiveType {
40    pub const ARCHIVE: &'static str = "archive";
41}
42
43#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
44pub struct ArchiveOwnedBy {
45    pub id: String,
46    pub r#type: String,
47}
48
49#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
50pub struct CreateArchiveRequest {
51    pub name: String,
52    #[serde(default, skip_serializing_if = "Option::is_none")]
53    pub description: Option<String>,
54    #[serde(default, skip_serializing_if = "Option::is_none")]
55    pub storage_policy_id: Option<String>,
56}
57
58#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
59pub struct UpdateArchiveRequest {
60    #[serde(default, skip_serializing_if = "Option::is_none")]
61    pub name: Option<String>,
62    #[serde(default, skip_serializing_if = "Option::is_none")]
63    pub description: Option<String>,
64}