1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct User {
17 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
19 pub id: Option<i64>,
20 #[serde(rename = "platform", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
22 pub platform: Option<Option<String>>,
23 #[serde(rename = "unionID", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub union_id: Option<Option<String>>,
26 #[serde(rename = "nickName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28 pub nick_name: Option<Option<String>>,
29 #[serde(rename = "avatar", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31 pub avatar: Option<Option<String>>,
32 #[serde(rename = "data", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
34 pub data: Option<Option<String>>,
35 #[serde(rename = "userName", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
37 pub user_name: Option<Option<String>>,
38 #[serde(rename = "pwd", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
40 pub pwd: Option<Option<String>>,
41 #[serde(rename = "email", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
43 pub email: Option<Option<String>>,
44 #[serde(rename = "emailIsValid", skip_serializing_if = "Option::is_none")]
46 pub email_is_valid: Option<bool>,
47 #[serde(rename = "phone", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
49 pub phone: Option<Option<String>>,
50 #[serde(rename = "phoneIsValid", skip_serializing_if = "Option::is_none")]
52 pub phone_is_valid: Option<bool>,
53 #[serde(rename = "relationChain", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
55 pub relation_chain: Option<Option<String>>,
56 #[serde(rename = "interestTags", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
58 pub interest_tags: Option<Option<String>>,
59 #[serde(rename = "biography", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
61 pub biography: Option<Option<String>>,
62 #[serde(rename = "gender", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
64 pub gender: Option<Option<String>>,
65 #[serde(rename = "birthday", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
67 pub birthday: Option<Option<String>>,
68 #[serde(rename = "occupation", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
70 pub occupation: Option<Option<String>>,
71 #[serde(rename = "education", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
73 pub education: Option<Option<String>>,
74 #[serde(rename = "contact", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
76 pub contact: Option<Option<String>>,
77 #[serde(rename = "languages", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
79 pub languages: Option<Option<String>>,
80 #[serde(rename = "socialLinks", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
82 pub social_links: Option<Option<String>>,
83 #[serde(rename = "relationshipStatus", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
85 pub relationship_status: Option<Option<String>>,
86 #[serde(rename = "company", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
88 pub company: Option<Option<String>>,
89 #[serde(rename = "industry", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
91 pub industry: Option<Option<String>>,
92 #[serde(rename = "companyPosition", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
94 pub company_position: Option<Option<String>>,
95 #[serde(rename = "privateSettings", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
97 pub private_settings: Option<Option<String>>,
98 #[serde(rename = "isLock", skip_serializing_if = "Option::is_none")]
100 pub is_lock: Option<bool>,
101 #[serde(rename = "lockUntil", skip_serializing_if = "Option::is_none")]
103 pub lock_until: Option<String>,
104 #[serde(rename = "enableUserNameSignIn", skip_serializing_if = "Option::is_none")]
106 pub enable_user_name_sign_in: Option<bool>,
107 #[serde(rename = "enableEmailSignIn", skip_serializing_if = "Option::is_none")]
109 pub enable_email_sign_in: Option<bool>,
110 #[serde(rename = "enablePhoneSignIn", skip_serializing_if = "Option::is_none")]
112 pub enable_phone_sign_in: Option<bool>,
113 #[serde(rename = "enableUnionIDSignIn", skip_serializing_if = "Option::is_none")]
115 pub enable_union_id_sign_in: Option<bool>,
116 #[serde(rename = "enableOAuth", skip_serializing_if = "Option::is_none")]
118 pub enable_o_auth: Option<bool>,
119 #[serde(rename = "enable2FAAuth", skip_serializing_if = "Option::is_none")]
121 pub enable2_fa_auth: Option<bool>,
122 #[serde(rename = "createDate", skip_serializing_if = "Option::is_none")]
124 pub create_date: Option<String>,
125 #[serde(rename = "lastUpdate", skip_serializing_if = "Option::is_none")]
127 pub last_update: Option<String>,
128}
129
130impl User {
131 pub fn new() -> User {
133 User {
134 id: None,
135 platform: None,
136 union_id: None,
137 nick_name: None,
138 avatar: None,
139 data: None,
140 user_name: None,
141 pwd: None,
142 email: None,
143 email_is_valid: None,
144 phone: None,
145 phone_is_valid: None,
146 relation_chain: None,
147 interest_tags: None,
148 biography: None,
149 gender: None,
150 birthday: None,
151 occupation: None,
152 education: None,
153 contact: None,
154 languages: None,
155 social_links: None,
156 relationship_status: None,
157 company: None,
158 industry: None,
159 company_position: None,
160 private_settings: None,
161 is_lock: None,
162 lock_until: None,
163 enable_user_name_sign_in: None,
164 enable_email_sign_in: None,
165 enable_phone_sign_in: None,
166 enable_union_id_sign_in: None,
167 enable_o_auth: None,
168 enable2_fa_auth: None,
169 create_date: None,
170 last_update: None,
171 }
172 }
173}
174