Skip to main content

box_open_sdk/models/schemas/
classifications.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 ClassificationTemplate {
7    pub id: String,
8    pub r#type: MetadataTemplateType,
9    pub scope: String,
10    #[serde(rename = "templateKey")]
11    pub template_key: ClassificationTemplate2,
12    #[serde(rename = "displayName")]
13    pub display_name: ClassificationTemplateDisplayName,
14    #[serde(default, skip_serializing_if = "Option::is_none")]
15    pub hidden: Option<bool>,
16    #[serde(
17        rename = "copyInstanceOnItemCopy",
18        default,
19        skip_serializing_if = "Option::is_none"
20    )]
21    pub copy_instance_on_item_copy: Option<bool>,
22    pub fields: Vec<ClassificationTemplateFields>,
23}
24
25#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
26#[serde(transparent)]
27pub struct ClassificationTemplateDisplayName(pub String);
28
29impl ClassificationTemplateDisplayName {
30    pub const CLASSIFICATION: &'static str = "Classification";
31}
32
33#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
34#[serde(transparent)]
35pub struct FieldsType(pub String);
36
37impl FieldsType {
38    pub const ENUM: &'static str = "enum";
39}
40
41#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
42#[serde(transparent)]
43pub struct FieldsKey(pub String);
44
45impl FieldsKey {
46    pub const BOX_SECURITY_CLASSIFICATION_KEY: &'static str = "Box__Security__Classification__Key";
47}
48
49#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
50pub struct StaticConfigClassification {
51    #[serde(
52        rename = "classificationDefinition",
53        default,
54        skip_serializing_if = "Option::is_none"
55    )]
56    pub classification_definition: Option<String>,
57    #[serde(rename = "colorID", default, skip_serializing_if = "Option::is_none")]
58    pub color_id: Option<i64>,
59}
60
61#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
62pub struct OptionsStaticConfig {
63    #[serde(default, skip_serializing_if = "Option::is_none")]
64    pub classification: Option<StaticConfigClassification>,
65}
66
67#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
68pub struct ClassificationTemplateFieldsOptions {
69    pub id: String,
70    pub key: String,
71    #[serde(
72        rename = "staticConfig",
73        default,
74        skip_serializing_if = "Option::is_none"
75    )]
76    pub static_config: Option<OptionsStaticConfig>,
77}
78
79#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
80pub struct ClassificationTemplateFields {
81    pub id: String,
82    pub r#type: FieldsType,
83    pub key: FieldsKey,
84    #[serde(rename = "displayName")]
85    pub display_name: ClassificationTemplateDisplayName,
86    #[serde(default, skip_serializing_if = "Option::is_none")]
87    pub hidden: Option<bool>,
88    pub options: Vec<ClassificationTemplateFieldsOptions>,
89}
90
91#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
92#[serde(transparent)]
93pub struct PutAddOp(pub String);
94
95impl PutAddOp {
96    pub const ADDENUMOPTION: &'static str = "addEnumOption";
97}
98
99#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
100pub struct PutAddData {
101    pub key: String,
102    #[serde(
103        rename = "staticConfig",
104        default,
105        skip_serializing_if = "Option::is_none"
106    )]
107    pub static_config: Option<OptionsStaticConfig>,
108}
109
110#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
111pub struct UpdateClassificationAddRequest {
112    pub op: PutAddOp,
113    #[serde(rename = "fieldKey")]
114    pub field_key: FieldsKey,
115    pub data: PutAddData,
116}
117
118#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
119#[serde(transparent)]
120pub struct PutUpdateOp(pub String);
121
122impl PutUpdateOp {
123    pub const EDITENUMOPTION: &'static str = "editEnumOption";
124}
125
126#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
127pub struct UpdateClassificationUpdateRequest {
128    pub op: PutUpdateOp,
129    #[serde(rename = "fieldKey")]
130    pub field_key: FieldsKey,
131    #[serde(rename = "enumOptionKey")]
132    pub enum_option_key: String,
133    pub data: PutAddData,
134}
135
136#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
137pub struct PostMetadataTemplateSchemaClassificationsFields {
138    pub r#type: FieldsType,
139    pub key: FieldsKey,
140    #[serde(rename = "displayName")]
141    pub display_name: ClassificationTemplateDisplayName,
142    #[serde(default, skip_serializing_if = "Option::is_none")]
143    pub hidden: Option<bool>,
144    pub options: Vec<PutAddData>,
145}
146
147#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
148pub struct CreateMetadataTemplateSchemaClassificationsRequest {
149    pub scope: EnterpriseType,
150    #[serde(rename = "templateKey")]
151    pub template_key: ClassificationTemplate2,
152    #[serde(rename = "displayName")]
153    pub display_name: ClassificationTemplateDisplayName,
154    #[serde(default, skip_serializing_if = "Option::is_none")]
155    pub hidden: Option<bool>,
156    #[serde(
157        rename = "copyInstanceOnItemCopy",
158        default,
159        skip_serializing_if = "Option::is_none"
160    )]
161    pub copy_instance_on_item_copy: Option<bool>,
162    pub fields: Vec<PostMetadataTemplateSchemaClassificationsFields>,
163}