Skip to main content

box_open_sdk/models/schemas/
users.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 TrackingCode {
9    #[serde(default, skip_serializing_if = "Option::is_none")]
10    pub r#type: Option<TrackingCodeType>,
11    #[serde(default, skip_serializing_if = "Option::is_none")]
12    pub name: Option<String>,
13    #[serde(default, skip_serializing_if = "Option::is_none")]
14    pub value: Option<String>,
15}
16
17#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
18pub struct UserFull {
19    pub id: String,
20    pub r#type: VariableValueType,
21    #[serde(default, skip_serializing_if = "Option::is_none")]
22    pub name: Option<String>,
23    #[serde(default, skip_serializing_if = "Option::is_none")]
24    pub login: Option<String>,
25    #[serde(default, skip_serializing_if = "Option::is_none")]
26    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub modified_at: Option<chrono::DateTime<chrono::Utc>>,
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub language: Option<String>,
31    #[serde(default, skip_serializing_if = "Option::is_none")]
32    pub timezone: Option<String>,
33    #[serde(default, skip_serializing_if = "Option::is_none")]
34    pub space_amount: Option<i64>,
35    #[serde(default, skip_serializing_if = "Option::is_none")]
36    pub space_used: Option<i64>,
37    #[serde(default, skip_serializing_if = "Option::is_none")]
38    pub max_upload_size: Option<i64>,
39    #[serde(default, skip_serializing_if = "Option::is_none")]
40    pub status: Option<UserStatus>,
41    #[serde(default, skip_serializing_if = "Option::is_none")]
42    pub job_title: Option<String>,
43    #[serde(default, skip_serializing_if = "Option::is_none")]
44    pub phone: Option<String>,
45    #[serde(default, skip_serializing_if = "Option::is_none")]
46    pub address: Option<String>,
47    #[serde(default, skip_serializing_if = "Option::is_none")]
48    pub avatar_url: Option<String>,
49    #[serde(
50        default,
51        skip_serializing_if = "Option::is_none",
52        deserialize_with = "double_option"
53    )]
54    pub notification_email: Option<Option<UserNotificationEmail>>,
55    #[serde(default, skip_serializing_if = "Option::is_none")]
56    pub role: Option<UserFullRole>,
57    #[serde(default, skip_serializing_if = "Option::is_none")]
58    pub tracking_codes: Option<Vec<TrackingCode>>,
59    #[serde(default, skip_serializing_if = "Option::is_none")]
60    pub can_see_managed_users: Option<bool>,
61    #[serde(default, skip_serializing_if = "Option::is_none")]
62    pub is_sync_enabled: Option<bool>,
63    #[serde(default, skip_serializing_if = "Option::is_none")]
64    pub is_external_collab_restricted: Option<bool>,
65    #[serde(default, skip_serializing_if = "Option::is_none")]
66    pub is_exempt_from_device_limits: Option<bool>,
67    #[serde(default, skip_serializing_if = "Option::is_none")]
68    pub is_exempt_from_login_verification: Option<bool>,
69    #[serde(default, skip_serializing_if = "Option::is_none")]
70    pub is_collaborated_content_available_when_owner_inactive: Option<bool>,
71    #[serde(default, skip_serializing_if = "Option::is_none")]
72    pub enterprise: Option<CollaborationAllowlistEntryEnterprise>,
73    #[serde(default, skip_serializing_if = "Option::is_none")]
74    pub my_tags: Option<Vec<String>>,
75    #[serde(default, skip_serializing_if = "Option::is_none")]
76    pub hostname: Option<String>,
77    #[serde(default, skip_serializing_if = "Option::is_none")]
78    pub is_platform_access_only: Option<bool>,
79    #[serde(default, skip_serializing_if = "Option::is_none")]
80    pub external_app_user_id: Option<String>,
81}
82
83#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
84pub struct Users {
85    #[serde(default, skip_serializing_if = "Option::is_none")]
86    pub limit: Option<i64>,
87    #[serde(
88        default,
89        skip_serializing_if = "Option::is_none",
90        deserialize_with = "double_option"
91    )]
92    pub next_marker: Option<Option<String>>,
93    #[serde(
94        default,
95        skip_serializing_if = "Option::is_none",
96        deserialize_with = "double_option"
97    )]
98    pub prev_marker: Option<Option<String>>,
99    #[serde(default, skip_serializing_if = "Option::is_none")]
100    pub total_count: Option<i64>,
101    #[serde(default, skip_serializing_if = "Option::is_none")]
102    pub offset: Option<i64>,
103    #[serde(default, skip_serializing_if = "Option::is_none")]
104    pub order: Option<Vec<CollectionsOrder>>,
105    #[serde(default, skip_serializing_if = "Option::is_none")]
106    pub entries: Option<Vec<UserFull>>,
107}
108
109#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
110#[serde(transparent)]
111pub struct TrackingCodeType(pub String);
112
113impl TrackingCodeType {
114    pub const TRACKING_CODE: &'static str = "tracking_code";
115}
116
117#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
118#[serde(transparent)]
119pub struct UserFullRole(pub String);
120
121impl UserFullRole {
122    pub const ADMIN: &'static str = "admin";
123    pub const COADMIN: &'static str = "coadmin";
124    pub const USER: &'static str = "user";
125}
126
127#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
128#[serde(transparent)]
129pub struct GetUserType(pub String);
130
131impl GetUserType {
132    pub const ALL: &'static str = "all";
133    pub const MANAGED: &'static str = "managed";
134    pub const EXTERNAL: &'static str = "external";
135}
136
137#[derive(Clone, Debug, Default, Eq, PartialEq, serde::Deserialize, serde::Serialize)]
138#[serde(transparent)]
139pub struct PostRole(pub String);
140
141impl PostRole {
142    pub const COADMIN: &'static str = "coadmin";
143    pub const USER: &'static str = "user";
144}
145
146#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
147pub struct CreateUserRequest {
148    pub name: String,
149    #[serde(default, skip_serializing_if = "Option::is_none")]
150    pub login: Option<String>,
151    #[serde(default, skip_serializing_if = "Option::is_none")]
152    pub is_platform_access_only: Option<bool>,
153    #[serde(default, skip_serializing_if = "Option::is_none")]
154    pub role: Option<PostRole>,
155    #[serde(default, skip_serializing_if = "Option::is_none")]
156    pub language: Option<String>,
157    #[serde(default, skip_serializing_if = "Option::is_none")]
158    pub is_sync_enabled: Option<bool>,
159    #[serde(default, skip_serializing_if = "Option::is_none")]
160    pub job_title: Option<String>,
161    #[serde(default, skip_serializing_if = "Option::is_none")]
162    pub phone: Option<String>,
163    #[serde(default, skip_serializing_if = "Option::is_none")]
164    pub address: Option<String>,
165    #[serde(default, skip_serializing_if = "Option::is_none")]
166    pub space_amount: Option<i64>,
167    #[serde(default, skip_serializing_if = "Option::is_none")]
168    pub tracking_codes: Option<Vec<TrackingCode>>,
169    #[serde(default, skip_serializing_if = "Option::is_none")]
170    pub can_see_managed_users: Option<bool>,
171    #[serde(default, skip_serializing_if = "Option::is_none")]
172    pub timezone: Option<String>,
173    #[serde(default, skip_serializing_if = "Option::is_none")]
174    pub is_external_collab_restricted: Option<bool>,
175    #[serde(default, skip_serializing_if = "Option::is_none")]
176    pub is_exempt_from_device_limits: Option<bool>,
177    #[serde(default, skip_serializing_if = "Option::is_none")]
178    pub is_exempt_from_login_verification: Option<bool>,
179    #[serde(default, skip_serializing_if = "Option::is_none")]
180    pub status: Option<UserStatus>,
181    #[serde(default, skip_serializing_if = "Option::is_none")]
182    pub external_app_user_id: Option<String>,
183}
184
185#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
186pub struct PutIdNotificationEmail {
187    #[serde(default, skip_serializing_if = "Option::is_none")]
188    pub email: Option<String>,
189}
190
191#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
192pub struct UpdateUserRequest {
193    #[serde(
194        default,
195        skip_serializing_if = "Option::is_none",
196        deserialize_with = "double_option"
197    )]
198    pub enterprise: Option<Option<String>>,
199    #[serde(default, skip_serializing_if = "Option::is_none")]
200    pub notify: Option<bool>,
201    #[serde(default, skip_serializing_if = "Option::is_none")]
202    pub name: Option<String>,
203    #[serde(default, skip_serializing_if = "Option::is_none")]
204    pub login: Option<String>,
205    #[serde(default, skip_serializing_if = "Option::is_none")]
206    pub role: Option<PostRole>,
207    #[serde(default, skip_serializing_if = "Option::is_none")]
208    pub language: Option<String>,
209    #[serde(default, skip_serializing_if = "Option::is_none")]
210    pub is_sync_enabled: Option<bool>,
211    #[serde(default, skip_serializing_if = "Option::is_none")]
212    pub job_title: Option<String>,
213    #[serde(default, skip_serializing_if = "Option::is_none")]
214    pub phone: Option<String>,
215    #[serde(default, skip_serializing_if = "Option::is_none")]
216    pub address: Option<String>,
217    #[serde(default, skip_serializing_if = "Option::is_none")]
218    pub tracking_codes: Option<Vec<TrackingCode>>,
219    #[serde(default, skip_serializing_if = "Option::is_none")]
220    pub can_see_managed_users: Option<bool>,
221    #[serde(default, skip_serializing_if = "Option::is_none")]
222    pub timezone: Option<String>,
223    #[serde(default, skip_serializing_if = "Option::is_none")]
224    pub is_external_collab_restricted: Option<bool>,
225    #[serde(default, skip_serializing_if = "Option::is_none")]
226    pub is_exempt_from_device_limits: Option<bool>,
227    #[serde(default, skip_serializing_if = "Option::is_none")]
228    pub is_exempt_from_login_verification: Option<bool>,
229    #[serde(default, skip_serializing_if = "Option::is_none")]
230    pub is_password_reset_required: Option<bool>,
231    #[serde(default, skip_serializing_if = "Option::is_none")]
232    pub is_collaborated_content_available_when_owner_inactive: Option<bool>,
233    #[serde(default, skip_serializing_if = "Option::is_none")]
234    pub status: Option<UserStatus>,
235    #[serde(default, skip_serializing_if = "Option::is_none")]
236    pub space_amount: Option<i64>,
237    #[serde(
238        default,
239        skip_serializing_if = "Option::is_none",
240        deserialize_with = "double_option"
241    )]
242    pub notification_email: Option<Option<PutIdNotificationEmail>>,
243    #[serde(default, skip_serializing_if = "Option::is_none")]
244    pub external_app_user_id: Option<String>,
245}