Skip to main content

box_open_sdk/models/schemas/
automate_workflows.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
5use super::*;
6
7#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
8pub struct AutomateWorkflowAction {
9    pub id: String,
10    pub r#type: AutomateWorkflowActionType,
11    pub action_type: AutomateWorkflowActionActionType,
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub description: Option<String>,
14    #[serde(default, skip_serializing_if = "Option::is_none")]
15    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
18    #[serde(default, skip_serializing_if = "Option::is_none")]
19    pub created_by: Option<UserMini>,
20    #[serde(default, skip_serializing_if = "Option::is_none")]
21    pub updated_by: Option<UserMini>,
22    pub workflow: AutomateWorkflowReference,
23}
24
25#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
26pub struct AutomateWorkflowReference {
27    pub id: String,
28    pub r#type: AutomateWorkflowReferenceType,
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub name: Option<String>,
31}
32
33#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
34pub struct AutomateWorkflows {
35    #[serde(default, skip_serializing_if = "Option::is_none")]
36    pub entries: Option<Vec<AutomateWorkflowAction>>,
37    #[serde(default, skip_serializing_if = "Option::is_none")]
38    pub limit: Option<i64>,
39    #[serde(
40        default,
41        skip_serializing_if = "Option::is_none",
42        deserialize_with = "double_option"
43    )]
44    pub next_marker: Option<Option<String>>,
45}
46
47#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
48pub struct AutomateWorkflowStartRequest {
49    pub workflow_action_id: String,
50    pub file_ids: Vec<String>,
51}
52
53#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
54#[serde(transparent)]
55pub struct AutomateWorkflowActionType(pub String);
56
57impl AutomateWorkflowActionType {
58    pub const WORKFLOW_ACTION: &'static str = "workflow_action";
59}
60
61#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
62#[serde(transparent)]
63pub struct AutomateWorkflowActionActionType(pub String);
64
65impl AutomateWorkflowActionActionType {
66    pub const RUN_WORKFLOW: &'static str = "run_workflow";
67}
68
69#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
70#[serde(transparent)]
71pub struct AutomateWorkflowReferenceType(pub String);
72
73impl AutomateWorkflowReferenceType {
74    pub const WORKFLOW: &'static str = "workflow";
75}