box_open_sdk/models/schemas/
metadata_taxonomies.rs1use crate::serde_helpers::double_option;
4
5#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
6pub struct MetadataTaxonomies {
7 #[serde(default, skip_serializing_if = "Option::is_none")]
8 pub limit: Option<i64>,
9 #[serde(
10 default,
11 skip_serializing_if = "Option::is_none",
12 deserialize_with = "double_option"
13 )]
14 pub next_marker: Option<Option<String>>,
15 #[serde(
16 default,
17 skip_serializing_if = "Option::is_none",
18 deserialize_with = "double_option"
19 )]
20 pub prev_marker: Option<Option<String>>,
21 #[serde(default, skip_serializing_if = "Option::is_none")]
22 pub entries: Option<Vec<MetadataTaxonomy>>,
23}
24
25#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
26pub struct MetadataTaxonomy {
27 pub id: String,
28 #[serde(default, skip_serializing_if = "Option::is_none")]
29 pub key: Option<String>,
30 #[serde(rename = "displayName")]
31 pub display_name: String,
32 pub namespace: String,
33 #[serde(default, skip_serializing_if = "Option::is_none")]
34 pub levels: Option<Vec<MetadataTaxonomyLevel>>,
35}
36
37#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
38pub struct MetadataTaxonomyAncestor {
39 #[serde(default, skip_serializing_if = "Option::is_none")]
40 pub id: Option<String>,
41 #[serde(
42 rename = "displayName",
43 default,
44 skip_serializing_if = "Option::is_none"
45 )]
46 pub display_name: Option<String>,
47 #[serde(default, skip_serializing_if = "Option::is_none")]
48 pub level: Option<i64>,
49}
50
51#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
52pub struct MetadataTaxonomyLevel {
53 #[serde(
54 rename = "displayName",
55 default,
56 skip_serializing_if = "Option::is_none"
57 )]
58 pub display_name: Option<String>,
59 #[serde(default, skip_serializing_if = "Option::is_none")]
60 pub description: Option<String>,
61 #[serde(default, skip_serializing_if = "Option::is_none")]
62 pub level: Option<i64>,
63}
64
65#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
66pub struct MetadataTaxonomyLevels {
67 #[serde(default, skip_serializing_if = "Option::is_none")]
68 pub entries: Option<Vec<MetadataTaxonomyLevel>>,
69}
70
71#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
72pub struct MetadataTaxonomyNode {
73 pub id: String,
74 #[serde(rename = "displayName")]
75 pub display_name: String,
76 pub level: i64,
77 #[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
78 pub parent_id: Option<String>,
79 #[serde(rename = "nodePath", default, skip_serializing_if = "Option::is_none")]
80 pub node_path: Option<Vec<String>>,
81 #[serde(default, skip_serializing_if = "Option::is_none")]
82 pub ancestors: Option<Vec<MetadataTaxonomyAncestor>>,
83}
84
85#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
86pub struct MetadataTaxonomyNodes {
87 #[serde(default, skip_serializing_if = "Option::is_none")]
88 pub limit: Option<i64>,
89 #[serde(
90 default,
91 skip_serializing_if = "Option::is_none",
92 deserialize_with = "double_option"
93 )]
94 pub next_marker: Option<Option<String>>,
95 #[serde(
96 default,
97 skip_serializing_if = "Option::is_none",
98 deserialize_with = "double_option"
99 )]
100 pub prev_marker: Option<Option<String>>,
101 #[serde(default, skip_serializing_if = "Option::is_none")]
102 pub entries: Option<Vec<MetadataTaxonomyNode>>,
103}
104
105#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
106pub struct CreateMetadataTaxonomyRequest {
107 #[serde(default, skip_serializing_if = "Option::is_none")]
108 pub key: Option<String>,
109 #[serde(rename = "displayName")]
110 pub display_name: String,
111 pub namespace: String,
112}
113
114#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
115pub struct UpdateMetadataTaxonomyRequest {
116 #[serde(rename = "displayName")]
117 pub display_name: String,
118}
119
120#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
121pub struct UpdateLevelRequest {
122 #[serde(rename = "displayName")]
123 pub display_name: String,
124 #[serde(default, skip_serializing_if = "Option::is_none")]
125 pub description: Option<String>,
126}
127
128#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
129pub struct CreateNodesRequest {
130 #[serde(rename = "displayName")]
131 pub display_name: String,
132 pub level: i64,
133 #[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
134 pub parent_id: Option<String>,
135}
136
137#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
138pub struct UpdateNodeRequest {
139 #[serde(
140 rename = "displayName",
141 default,
142 skip_serializing_if = "Option::is_none"
143 )]
144 pub display_name: Option<String>,
145}