rusty_box/rest_api/users/models/
post_users_request.rs1use super::{tracking_code::TrackingCode, Role, Status};
12
13#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct PostUsersRequest {
15 #[serde(rename = "name")]
17 pub name: String,
18 #[serde(rename = "login", skip_serializing_if = "Option::is_none")]
20 pub login: Option<String>,
21 #[serde(
23 rename = "is_platform_access_only",
24 skip_serializing_if = "Option::is_none"
25 )]
26 pub is_platform_access_only: Option<bool>,
27 #[serde(rename = "role", skip_serializing_if = "Option::is_none")]
29 pub role: Option<Role>,
30 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
32 pub language: Option<String>,
33 #[serde(rename = "is_sync_enabled", skip_serializing_if = "Option::is_none")]
35 pub is_sync_enabled: Option<bool>,
36 #[serde(rename = "job_title", skip_serializing_if = "Option::is_none")]
38 pub job_title: Option<String>,
39 #[serde(rename = "phone", skip_serializing_if = "Option::is_none")]
41 pub phone: Option<String>,
42 #[serde(rename = "address", skip_serializing_if = "Option::is_none")]
44 pub address: Option<String>,
45 #[serde(rename = "space_amount", skip_serializing_if = "Option::is_none")]
47 pub space_amount: Option<i64>,
48 #[serde(rename = "tracking_codes", skip_serializing_if = "Option::is_none")]
50 pub tracking_codes: Option<Vec<TrackingCode>>,
51 #[serde(
53 rename = "can_see_managed_users",
54 skip_serializing_if = "Option::is_none"
55 )]
56 pub can_see_managed_users: Option<bool>,
57 #[serde(rename = "timezone", skip_serializing_if = "Option::is_none")]
59 pub timezone: Option<String>,
60 #[serde(
62 rename = "is_external_collab_restricted",
63 skip_serializing_if = "Option::is_none"
64 )]
65 pub is_external_collab_restricted: Option<bool>,
66 #[serde(
68 rename = "is_exempt_from_device_limits",
69 skip_serializing_if = "Option::is_none"
70 )]
71 pub is_exempt_from_device_limits: Option<bool>,
72 #[serde(
74 rename = "is_exempt_from_login_verification",
75 skip_serializing_if = "Option::is_none"
76 )]
77 pub is_exempt_from_login_verification: Option<bool>,
78 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
80 pub status: Option<Status>,
81 #[serde(
83 rename = "external_app_user_id",
84 skip_serializing_if = "Option::is_none"
85 )]
86 pub external_app_user_id: Option<String>,
87}
88
89impl PostUsersRequest {
90 pub fn new(name: String) -> PostUsersRequest {
91 PostUsersRequest {
92 name,
93 login: None,
94 is_platform_access_only: None,
95 role: None,
96 language: None,
97 is_sync_enabled: None,
98 job_title: None,
99 phone: None,
100 address: None,
101 space_amount: None,
102 tracking_codes: None,
103 can_see_managed_users: None,
104 timezone: None,
105 is_external_collab_restricted: None,
106 is_exempt_from_device_limits: None,
107 is_exempt_from_login_verification: None,
108 status: None,
109 external_app_user_id: None,
110 }
111 }
112}