clerk_sdk_rust_community/models/
user.rs1#[derive(Clone, Debug, PartialEq, Default, 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 skip_serializing_if = "Option::is_none"
22 )]
23 pub external_id: Option<Option<String>>,
24 #[serde(
25 rename = "primary_email_address_id",
26 default,
27 skip_serializing_if = "Option::is_none"
28 )]
29 pub primary_email_address_id: Option<Option<String>>,
30 #[serde(
31 rename = "primary_phone_number_id",
32 default,
33 skip_serializing_if = "Option::is_none"
34 )]
35 pub primary_phone_number_id: Option<Option<String>>,
36 #[serde(
37 rename = "primary_web3_wallet_id",
38 default,
39 skip_serializing_if = "Option::is_none"
40 )]
41 pub primary_web3_wallet_id: Option<Option<String>>,
42 #[serde(rename = "username", default, skip_serializing_if = "Option::is_none")]
43 pub username: Option<Option<String>>,
44 #[serde(
45 rename = "first_name",
46 default,
47 skip_serializing_if = "Option::is_none"
48 )]
49 pub first_name: Option<Option<String>>,
50 #[serde(rename = "last_name", default, skip_serializing_if = "Option::is_none")]
51 pub last_name: Option<Option<String>>,
52 #[serde(rename = "profile_image_url", skip_serializing_if = "Option::is_none")]
53 pub profile_image_url: Option<String>,
54 #[serde(rename = "public_metadata", skip_serializing_if = "Option::is_none")]
55 pub public_metadata: Option<serde_json::Value>,
56 #[serde(
57 rename = "private_metadata",
58 default,
59 skip_serializing_if = "Option::is_none"
60 )]
61 pub private_metadata: Option<Option<serde_json::Value>>,
62 #[serde(rename = "unsafe_metadata", skip_serializing_if = "Option::is_none")]
63 pub unsafe_metadata: Option<serde_json::Value>,
64 #[serde(rename = "gender", default, skip_serializing_if = "Option::is_none")]
65 pub gender: Option<Option<String>>,
66 #[serde(rename = "birthday", default, skip_serializing_if = "Option::is_none")]
67 pub birthday: Option<Option<String>>,
68 #[serde(rename = "email_addresses", skip_serializing_if = "Option::is_none")]
69 pub email_addresses: Option<Vec<crate::models::EmailAddress>>,
70 #[serde(rename = "phone_numbers", skip_serializing_if = "Option::is_none")]
71 pub phone_numbers: Option<Vec<crate::models::PhoneNumber>>,
72 #[serde(rename = "web3_wallets", skip_serializing_if = "Option::is_none")]
73 pub web3_wallets: Option<Vec<crate::models::Web3Wallet>>,
74 #[serde(rename = "password_enabled", skip_serializing_if = "Option::is_none")]
75 pub password_enabled: Option<bool>,
76 #[serde(rename = "two_factor_enabled", skip_serializing_if = "Option::is_none")]
77 pub two_factor_enabled: Option<bool>,
78 #[serde(rename = "totp_enabled", skip_serializing_if = "Option::is_none")]
79 pub totp_enabled: Option<bool>,
80 #[serde(
81 rename = "backup_code_enabled",
82 skip_serializing_if = "Option::is_none"
83 )]
84 pub backup_code_enabled: Option<bool>,
85 #[serde(rename = "external_accounts", skip_serializing_if = "Option::is_none")]
86 pub external_accounts: Option<Vec<serde_json::Value>>,
87 #[serde(
89 rename = "last_sign_in_at",
90 default,
91 skip_serializing_if = "Option::is_none"
92 )]
93 pub last_sign_in_at: Option<Option<i64>>,
94 #[serde(rename = "banned", skip_serializing_if = "Option::is_none")]
96 pub banned: Option<bool>,
97 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
99 pub updated_at: Option<i64>,
100 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
102 pub created_at: Option<i64>,
103}
104
105impl User {
106 pub fn new() -> User {
107 User {
108 id: None,
109 object: None,
110 external_id: None,
111 primary_email_address_id: None,
112 primary_phone_number_id: None,
113 primary_web3_wallet_id: None,
114 username: None,
115 first_name: None,
116 last_name: None,
117 profile_image_url: None,
118 public_metadata: None,
119 private_metadata: None,
120 unsafe_metadata: None,
121 gender: None,
122 birthday: None,
123 email_addresses: None,
124 phone_numbers: None,
125 web3_wallets: None,
126 password_enabled: None,
127 two_factor_enabled: None,
128 totp_enabled: None,
129 backup_code_enabled: None,
130 external_accounts: None,
131 last_sign_in_at: None,
132 banned: None,
133 updated_at: None,
134 created_at: None,
135 }
136 }
137}
138
139#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
141pub enum Object {
142 #[serde(rename = "user")]
143 User,
144}
145
146impl Default for Object {
147 fn default() -> Object {
148 Self::User
149 }
150}