1#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
12pub struct User {
13 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
14 pub id: Option<String>,
15 #[serde(rename = "object", skip_serializing_if = "Option::is_none")]
17 pub object: Option<Object>,
18 #[serde(
19 rename = "external_id",
20 default,
21 with = "::serde_with::rust::double_option",
22 skip_serializing_if = "Option::is_none"
23 )]
24 pub external_id: Option<Option<String>>,
25 #[serde(
26 rename = "primary_email_address_id",
27 default,
28 with = "::serde_with::rust::double_option",
29 skip_serializing_if = "Option::is_none"
30 )]
31 pub primary_email_address_id: Option<Option<String>>,
32 #[serde(
33 rename = "primary_phone_number_id",
34 default,
35 with = "::serde_with::rust::double_option",
36 skip_serializing_if = "Option::is_none"
37 )]
38 pub primary_phone_number_id: Option<Option<String>>,
39 #[serde(
40 rename = "primary_web3_wallet_id",
41 default,
42 with = "::serde_with::rust::double_option",
43 skip_serializing_if = "Option::is_none"
44 )]
45 pub primary_web3_wallet_id: Option<Option<String>>,
46 #[serde(
47 rename = "username",
48 default,
49 with = "::serde_with::rust::double_option",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub username: Option<Option<String>>,
53 #[serde(
54 rename = "first_name",
55 default,
56 with = "::serde_with::rust::double_option",
57 skip_serializing_if = "Option::is_none"
58 )]
59 pub first_name: Option<Option<String>>,
60 #[serde(
61 rename = "last_name",
62 default,
63 with = "::serde_with::rust::double_option",
64 skip_serializing_if = "Option::is_none"
65 )]
66 pub last_name: Option<Option<String>>,
67 #[serde(rename = "profile_image_url", skip_serializing_if = "Option::is_none")]
68 pub profile_image_url: Option<String>,
69 #[serde(rename = "image_url", skip_serializing_if = "Option::is_none")]
70 pub image_url: Option<String>,
71 #[serde(rename = "has_image", skip_serializing_if = "Option::is_none")]
72 pub has_image: Option<bool>,
73 #[serde(rename = "public_metadata", skip_serializing_if = "Option::is_none")]
74 pub public_metadata: Option<serde_json::Value>,
75 #[serde(
76 rename = "private_metadata",
77 default,
78 with = "::serde_with::rust::double_option",
79 skip_serializing_if = "Option::is_none"
80 )]
81 pub private_metadata: Option<Option<serde_json::Value>>,
82 #[serde(rename = "unsafe_metadata", skip_serializing_if = "Option::is_none")]
83 pub unsafe_metadata: Option<serde_json::Value>,
84 #[serde(
85 rename = "gender",
86 default,
87 with = "::serde_with::rust::double_option",
88 skip_serializing_if = "Option::is_none"
89 )]
90 pub gender: Option<Option<String>>,
91 #[serde(
92 rename = "birthday",
93 default,
94 with = "::serde_with::rust::double_option",
95 skip_serializing_if = "Option::is_none"
96 )]
97 pub birthday: Option<Option<String>>,
98 #[serde(rename = "email_addresses", skip_serializing_if = "Option::is_none")]
99 pub email_addresses: Option<Vec<crate::models::EmailAddress>>,
100 #[serde(rename = "phone_numbers", skip_serializing_if = "Option::is_none")]
101 pub phone_numbers: Option<Vec<crate::models::PhoneNumber>>,
102 #[serde(rename = "web3_wallets", skip_serializing_if = "Option::is_none")]
103 pub web3_wallets: Option<Vec<crate::models::Web3Wallet>>,
104 #[serde(rename = "password_enabled", skip_serializing_if = "Option::is_none")]
105 pub password_enabled: Option<bool>,
106 #[serde(rename = "two_factor_enabled", skip_serializing_if = "Option::is_none")]
107 pub two_factor_enabled: Option<bool>,
108 #[serde(rename = "totp_enabled", skip_serializing_if = "Option::is_none")]
109 pub totp_enabled: Option<bool>,
110 #[serde(rename = "backup_code_enabled", skip_serializing_if = "Option::is_none")]
111 pub backup_code_enabled: Option<bool>,
112 #[serde(rename = "external_accounts", skip_serializing_if = "Option::is_none")]
113 pub external_accounts: Option<Vec<serde_json::Value>>,
114 #[serde(rename = "saml_accounts", skip_serializing_if = "Option::is_none")]
115 pub saml_accounts: Option<Vec<crate::models::SamlAccount>>,
116 #[serde(
118 rename = "last_sign_in_at",
119 default,
120 with = "::serde_with::rust::double_option",
121 skip_serializing_if = "Option::is_none"
122 )]
123 pub last_sign_in_at: Option<Option<i64>>,
124 #[serde(rename = "banned", skip_serializing_if = "Option::is_none")]
126 pub banned: Option<bool>,
127 #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
129 pub locked: Option<bool>,
130 #[serde(
132 rename = "lockout_expires_in_seconds",
133 default,
134 with = "::serde_with::rust::double_option",
135 skip_serializing_if = "Option::is_none"
136 )]
137 pub lockout_expires_in_seconds: Option<Option<i64>>,
138 #[serde(
140 rename = "verification_attempts_remaining",
141 default,
142 with = "::serde_with::rust::double_option",
143 skip_serializing_if = "Option::is_none"
144 )]
145 pub verification_attempts_remaining: Option<Option<i64>>,
146 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
148 pub updated_at: Option<i64>,
149 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
151 pub created_at: Option<i64>,
152 #[serde(rename = "delete_self_enabled", skip_serializing_if = "Option::is_none")]
154 pub delete_self_enabled: Option<bool>,
155 #[serde(rename = "create_organization_enabled", skip_serializing_if = "Option::is_none")]
157 pub create_organization_enabled: Option<bool>,
158 #[serde(
160 rename = "last_active_at",
161 default,
162 with = "::serde_with::rust::double_option",
163 skip_serializing_if = "Option::is_none"
164 )]
165 pub last_active_at: Option<Option<i64>>,
166}
167
168impl User {
169 pub fn new() -> User {
170 User {
171 id: None,
172 object: None,
173 external_id: None,
174 primary_email_address_id: None,
175 primary_phone_number_id: None,
176 primary_web3_wallet_id: None,
177 username: None,
178 first_name: None,
179 last_name: None,
180 profile_image_url: None,
181 image_url: None,
182 has_image: None,
183 public_metadata: None,
184 private_metadata: None,
185 unsafe_metadata: None,
186 gender: None,
187 birthday: None,
188 email_addresses: None,
189 phone_numbers: None,
190 web3_wallets: None,
191 password_enabled: None,
192 two_factor_enabled: None,
193 totp_enabled: None,
194 backup_code_enabled: None,
195 external_accounts: None,
196 saml_accounts: None,
197 last_sign_in_at: None,
198 banned: None,
199 locked: None,
200 lockout_expires_in_seconds: None,
201 verification_attempts_remaining: None,
202 updated_at: None,
203 created_at: None,
204 delete_self_enabled: None,
205 create_organization_enabled: None,
206 last_active_at: None,
207 }
208 }
209}
210
211#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
213pub enum Object {
214 #[serde(rename = "user")]
215 User,
216}
217
218impl Default for Object {
219 fn default() -> Object {
220 Self::User
221 }
222}