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 KeywordSkillCard {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
    pub r#type: KeywordSkillCardType,
    pub skill_card_type: KeywordSkillCardSkillCardType,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub skill_card_title: Option<KeywordSkillCardSkillCardTitle>,
    pub skill: KeywordSkillCardSkill,
    pub invocation: KeywordSkillCardInvocation,
    pub entries: Vec<KeywordSkillCardEntries>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(transparent)]
pub struct SkillCard(pub serde_json::Value);

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct SkillCardsMetadata {
    #[serde(rename = "$canEdit", default, skip_serializing_if = "Option::is_none")]
    pub can_edit: Option<bool>,
    #[serde(rename = "$id", default, skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
    #[serde(rename = "$parent", default, skip_serializing_if = "Option::is_none")]
    pub parent: Option<String>,
    #[serde(rename = "$scope", default, skip_serializing_if = "Option::is_none")]
    pub scope: Option<String>,
    #[serde(rename = "$template", default, skip_serializing_if = "Option::is_none")]
    pub template: Option<String>,
    #[serde(rename = "$type", default, skip_serializing_if = "Option::is_none")]
    pub r#type: Option<String>,
    #[serde(
        rename = "$typeVersion",
        default,
        skip_serializing_if = "Option::is_none"
    )]
    pub type_version: Option<i64>,
    #[serde(rename = "$version", default, skip_serializing_if = "Option::is_none")]
    pub version: Option<i64>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub cards: Option<Vec<SkillCard>>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct StatusSkillCard {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
    pub r#type: KeywordSkillCardType,
    pub skill_card_type: StatusSkillCardSkillCardType,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub skill_card_title: Option<KeywordSkillCardSkillCardTitle>,
    pub status: StatusSkillCardStatus,
    pub skill: KeywordSkillCardSkill,
    pub invocation: KeywordSkillCardInvocation,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct TimelineSkillCard {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
    pub r#type: KeywordSkillCardType,
    pub skill_card_type: TimelineSkillCardSkillCardType,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub skill_card_title: Option<KeywordSkillCardSkillCardTitle>,
    pub skill: KeywordSkillCardSkill,
    pub invocation: KeywordSkillCardInvocation,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub duration: Option<i64>,
    pub entries: Vec<TimelineSkillCardEntries>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct TranscriptSkillCard {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
    pub r#type: KeywordSkillCardType,
    pub skill_card_type: TranscriptSkillCardSkillCardType,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub skill_card_title: Option<KeywordSkillCardSkillCardTitle>,
    pub skill: KeywordSkillCardSkill,
    pub invocation: KeywordSkillCardInvocation,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub duration: Option<i64>,
    pub entries: Vec<TranscriptSkillCardEntries>,
}

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

impl KeywordSkillCardType {
    pub const SKILL_CARD: &'static str = "skill_card";
}

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

impl KeywordSkillCardSkillCardType {
    pub const KEYWORD: &'static str = "keyword";
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct KeywordSkillCardSkillCardTitle {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub code: Option<String>,
    pub message: String,
}

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

impl SkillType {
    pub const SERVICE: &'static str = "service";
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct KeywordSkillCardSkill {
    pub r#type: SkillType,
    pub id: String,
}

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

impl InvocationType {
    pub const SKILL_INVOCATION: &'static str = "skill_invocation";
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct KeywordSkillCardInvocation {
    pub r#type: InvocationType,
    pub id: String,
}

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

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

impl StatusSkillCardSkillCardType {
    pub const STATUS: &'static str = "status";
}

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

impl StatusCode {
    pub const INVOKED: &'static str = "invoked";
    pub const PROCESSING: &'static str = "processing";
    pub const SUCCESS: &'static str = "success";
    pub const TRANSIENT_FAILURE: &'static str = "transient_failure";
    pub const PERMANENT_FAILURE: &'static str = "permanent_failure";
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct StatusSkillCardStatus {
    pub code: StatusCode,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub message: Option<String>,
}

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

impl TimelineSkillCardSkillCardType {
    pub const TIMELINE: &'static str = "timeline";
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct EntriesAppears {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub start: Option<i64>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub end: Option<i64>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct TimelineSkillCardEntries {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub text: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub appears: Option<Vec<EntriesAppears>>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub image_url: Option<String>,
}

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

impl TranscriptSkillCardSkillCardType {
    pub const TRANSCRIPT: &'static str = "transcript";
}

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

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct TranscriptSkillCardEntries {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub text: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub appears: Option<Vec<TranscriptSkillCardEntriesAppears>>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct UpdateSkillRequest {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub op: Option<PutOp>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub path: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub value: Option<SkillCard>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct CreateSkillRequest {
    pub cards: Vec<SkillCard>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct PutSkillInvocationIdMetadata {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub cards: Option<Vec<SkillCard>>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct PutSkillInvocationIdFileVersion {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub r#type: Option<FileVersionType>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub id: Option<String>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct PutSkillInvocationIdUsage {
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub unit: Option<String>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub value: Option<f64>,
}

#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
pub struct UpdateSkillInvocationRequest {
    pub status: StatusCode,
    pub metadata: PutSkillInvocationIdMetadata,
    pub file: PutSkillInvocationIdFile,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub file_version: Option<PutSkillInvocationIdFileVersion>,
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub usage: Option<PutSkillInvocationIdUsage>,
}