Skip to main content

box_open_sdk/models/schemas/
docgen.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 DocGenBatchCreateRequest {
9    pub file: FileReference,
10    #[serde(default, skip_serializing_if = "Option::is_none")]
11    pub file_version: Option<FileVersionBase>,
12    pub input_source: String,
13    pub destination_folder: DocGenBatchCreateRequestDestinationFolder,
14    pub output_type: String,
15    pub document_generation_data: Vec<DocGenDocumentGenerationData>,
16}
17
18#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
19pub struct DocGenDocumentGenerationData {
20    pub generated_file_name: String,
21    pub user_input: std::collections::HashMap<String, serde_json::Value>,
22}
23
24#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
25pub struct DocGenJobFull {
26    pub id: String,
27    pub r#type: DocGenJobType,
28    pub batch: DocGenBatchBase,
29    pub template_file: FileReference,
30    pub template_file_version: FileVersionBase,
31    #[serde(
32        default,
33        skip_serializing_if = "Option::is_none",
34        deserialize_with = "double_option"
35    )]
36    pub output_file: Option<Option<FileReference>>,
37    #[serde(
38        default,
39        skip_serializing_if = "Option::is_none",
40        deserialize_with = "double_option"
41    )]
42    pub output_file_version: Option<Option<FileVersionBase>>,
43    pub status: DocGenJobStatus,
44    pub output_type: String,
45    #[serde(
46        default,
47        skip_serializing_if = "Option::is_none",
48        deserialize_with = "double_option"
49    )]
50    pub failures: Option<Option<DocGenJobFailures>>,
51    #[serde(default, skip_serializing_if = "Option::is_none")]
52    pub created_at: Option<String>,
53    pub created_by: UserBase,
54    pub enterprise: EnterpriseReference,
55    pub source: String,
56}
57
58#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
59pub struct DocGenJobsFull {
60    #[serde(default, skip_serializing_if = "Option::is_none")]
61    pub limit: Option<i64>,
62    #[serde(
63        default,
64        skip_serializing_if = "Option::is_none",
65        deserialize_with = "double_option"
66    )]
67    pub next_marker: Option<Option<String>>,
68    #[serde(
69        default,
70        skip_serializing_if = "Option::is_none",
71        deserialize_with = "double_option"
72    )]
73    pub prev_marker: Option<Option<String>>,
74    #[serde(default, skip_serializing_if = "Option::is_none")]
75    pub entries: Option<Vec<DocGenJobFull>>,
76}
77
78#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
79#[serde(transparent)]
80pub struct DestinationFolderType(pub String);
81
82impl DestinationFolderType {
83    pub const FOLDER: &'static str = "folder";
84}
85
86#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
87pub struct DocGenBatchCreateRequestDestinationFolder {
88    pub r#type: DestinationFolderType,
89    pub id: String,
90}