Skip to main content

box_open_sdk/models/schemas/
docgen_template.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 DocGenTag {
9    pub tag_content: String,
10    pub tag_type: DocGenTagTagType,
11    pub json_paths: Vec<String>,
12}
13
14#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
15pub struct DocGenTags {
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub limit: Option<i64>,
18    #[serde(
19        default,
20        skip_serializing_if = "Option::is_none",
21        deserialize_with = "double_option"
22    )]
23    pub next_marker: Option<Option<String>>,
24    #[serde(
25        default,
26        skip_serializing_if = "Option::is_none",
27        deserialize_with = "double_option"
28    )]
29    pub prev_marker: Option<Option<String>>,
30    #[serde(default, skip_serializing_if = "Option::is_none")]
31    pub entries: Option<Vec<DocGenTag>>,
32}
33
34#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
35pub struct DocGenTemplate {
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub file: Option<FileReference>,
38    #[serde(
39        default,
40        skip_serializing_if = "Option::is_none",
41        deserialize_with = "double_option"
42    )]
43    pub file_name: Option<Option<String>>,
44}
45
46#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
47pub struct DocGenTemplateBase {
48    #[serde(default, skip_serializing_if = "Option::is_none")]
49    pub file: Option<FileReference>,
50}
51
52#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
53pub struct DocGenTemplateCreateRequest {
54    pub file: FileReference,
55}
56
57#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
58pub struct DocGenTemplates {
59    #[serde(default, skip_serializing_if = "Option::is_none")]
60    pub limit: Option<i64>,
61    #[serde(
62        default,
63        skip_serializing_if = "Option::is_none",
64        deserialize_with = "double_option"
65    )]
66    pub next_marker: Option<Option<String>>,
67    #[serde(
68        default,
69        skip_serializing_if = "Option::is_none",
70        deserialize_with = "double_option"
71    )]
72    pub prev_marker: Option<Option<String>>,
73    #[serde(default, skip_serializing_if = "Option::is_none")]
74    pub entries: Option<Vec<DocGenTemplate>>,
75}
76
77#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
78#[serde(transparent)]
79pub struct DocGenTagTagType(pub String);
80
81impl DocGenTagTagType {
82    pub const TEXT: &'static str = "text";
83    pub const ARITHMETIC: &'static str = "arithmetic";
84    pub const CONDITIONAL: &'static str = "conditional";
85    pub const FOR_LOOP: &'static str = "for-loop";
86    pub const TABLE_LOOP: &'static str = "table-loop";
87    pub const IMAGE: &'static str = "image";
88}