box-open-sdk 0.4.1

Box API client for Rust (open source, community, punk rock) — typed models, async managers, and a reqwest runtime with retry, backoff, and token refresh.
Documentation
// Code generated by box-gantry 0.1.0 (spec 3fb3510fe12f2f80) for Box API 2024.0. DO NOT EDIT.

use super::*;

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct ClassificationTemplate {
    pub id: String,
    pub r#type: MetadataTemplateType,
    pub scope: String,
    #[serde(rename = "templateKey")]
    pub template_key: ClassificationTemplate2,
    #[serde(rename = "displayName")]
    pub display_name: ClassificationTemplateDisplayName,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub hidden: Option<bool>,
    #[serde(
        rename = "copyInstanceOnItemCopy",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub copy_instance_on_item_copy: Option<bool>,
    pub fields: Vec<ClassificationTemplateFields>,
}

#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct ClassificationTemplateDisplayName(pub String);

impl ClassificationTemplateDisplayName {
    pub const CLASSIFICATION: &'static str = "Classification";
}

#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct FieldsType(pub String);

impl FieldsType {
    pub const ENUM: &'static str = "enum";
}

#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct FieldsKey(pub String);

impl FieldsKey {
    pub const BOX_SECURITY_CLASSIFICATION_KEY: &'static str = "Box__Security__Classification__Key";
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct StaticConfigClassification {
    #[serde(
        rename = "classificationDefinition",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub classification_definition: Option<String>,
    #[serde(rename = "colorID", default, skip_serializing_if = "Option::is_none")]
    pub color_id: Option<i64>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct OptionsStaticConfig {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub classification: Option<StaticConfigClassification>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct ClassificationTemplateFieldsOptions {
    pub id: String,
    pub key: String,
    #[serde(
        rename = "staticConfig",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub static_config: Option<OptionsStaticConfig>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct ClassificationTemplateFields {
    pub id: String,
    pub r#type: FieldsType,
    pub key: FieldsKey,
    #[serde(rename = "displayName")]
    pub display_name: ClassificationTemplateDisplayName,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub hidden: Option<bool>,
    pub options: Vec<ClassificationTemplateFieldsOptions>,
}

#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct PutAddOp(pub String);

impl PutAddOp {
    pub const ADDENUMOPTION: &'static str = "addEnumOption";
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct PutAddData {
    pub key: String,
    #[serde(
        rename = "staticConfig",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub static_config: Option<OptionsStaticConfig>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct UpdateClassificationAddRequest {
    pub op: PutAddOp,
    #[serde(rename = "fieldKey")]
    pub field_key: FieldsKey,
    pub data: PutAddData,
}

#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct PutUpdateOp(pub String);

impl PutUpdateOp {
    pub const EDITENUMOPTION: &'static str = "editEnumOption";
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct UpdateClassificationUpdateRequest {
    pub op: PutUpdateOp,
    #[serde(rename = "fieldKey")]
    pub field_key: FieldsKey,
    #[serde(rename = "enumOptionKey")]
    pub enum_option_key: String,
    pub data: PutAddData,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct PostMetadataTemplateSchemaClassificationsFields {
    pub r#type: FieldsType,
    pub key: FieldsKey,
    #[serde(rename = "displayName")]
    pub display_name: ClassificationTemplateDisplayName,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub hidden: Option<bool>,
    pub options: Vec<PutAddData>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct CreateMetadataTemplateSchemaClassificationsRequest {
    pub scope: EnterpriseType,
    #[serde(rename = "templateKey")]
    pub template_key: ClassificationTemplate2,
    #[serde(rename = "displayName")]
    pub display_name: ClassificationTemplateDisplayName,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub hidden: Option<bool>,
    #[serde(
        rename = "copyInstanceOnItemCopy",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub copy_instance_on_item_copy: Option<bool>,
    pub fields: Vec<PostMetadataTemplateSchemaClassificationsFields>,
}