1use super::*;
2
3#[derive(Deserialize, Clone, Debug)]
5pub struct User {
6 pub id: Integer,
8 pub first_name: String,
9 pub last_name: String,
10 pub deactivated: Option<String>,
11 pub is_closed: Boolean,
12 pub can_access_closed: Boolean,
13
14 pub about: Option<String>,
16 pub activities: Option<String>,
17 pub bdate: Option<String>,
18 pub blacklisted: Option<Integer>,
19 pub blacklisted_by_me: Option<Integer>,
20 pub books: Option<String>,
21 pub can_post: Option<Integer>,
22 pub can_see_all_posts: Option<Integer>,
23 pub can_see_audio: Option<Integer>,
24 pub can_send_friend_request: Option<Integer>,
25 pub can_write_private_message: Option<Integer>,
26 pub career: Option<Vec<Career>>,
27 pub city: Option<geo::City>,
28 pub common_count: Option<Integer>,
29
30 pub skype: Option<String>,
32 pub facebook: Option<String>,
33 pub facebook_name: Option<String>,
34 pub twitter: Option<String>,
35 pub livejournal: Option<String>,
36 pub instagram: Option<String>,
37
38 pub contacts: Option<Contacts>,
39 pub counters: Option<Counters>,
40 pub country: Option<geo::Country>,
41 pub crop_photo: Option<photo::Cropped>,
42 pub domain: Option<String>,
43
44 pub university: Option<Integer>,
46 pub university_name: Option<String>,
47 pub faculty: Option<Integer>,
48 pub faculty_name: Option<String>,
49 pub graduation: Option<Integer>,
50
51 pub exports: Option<Exports>,
52
53 pub first_name_nom: Option<String>,
55 pub first_name_gen: Option<String>,
56 pub first_name_dat: Option<String>,
57 pub first_name_acc: Option<String>,
58 pub first_name_ins: Option<String>,
59 pub first_name_abl: Option<String>,
60
61 pub followers_count: Option<Integer>,
62 pub friend_status: Option<Integer>,
63 pub games: Option<String>,
64 pub has_mobile: Option<Integer>,
65 pub has_photo: Option<Integer>,
66 pub home_town: Option<String>,
67 pub interests: Option<String>,
68 pub is_favorite: Option<Integer>,
69 pub is_friend: Option<Integer>,
70 pub is_hidden_from_feed: Option<Integer>,
71
72 pub last_name_nom: Option<String>,
74 pub last_name_gen: Option<String>,
75 pub last_name_dat: Option<String>,
76 pub last_name_acc: Option<String>,
77 pub last_name_ins: Option<String>,
78 pub last_name_abl: Option<String>,
79
80 pub last_seen: Option<LastSeen>,
81 pub lists: Option<String>,
82
83 pub maiden_name: Option<String>,
85 pub military: Option<Vec<Military>>,
86 pub movies: Option<String>,
87 pub music: Option<String>,
88 pub nickname: Option<String>,
89 pub occupation: Option<Occupation>,
90
91 pub online: Option<Integer>,
93 pub online_mobile: Option<Integer>,
94 pub online_app: Option<String>,
95
96 pub personal: Option<Personal>,
97 pub photo_50: Option<String>,
98 pub photo_100: Option<String>,
99 pub photo_200_orig: Option<String>,
100 pub photo_200: Option<String>,
101 pub photo_400_orig: Option<String>,
102 pub photo_id: Option<String>,
103 pub photo_max: Option<String>,
104 pub photo_max_orig: Option<String>,
105 pub quotes: Option<String>,
106 pub relatives: Option<Vec<Relative>>,
107
108 pub relation: Option<Integer>,
110 pub relation_partner: Option<Box<User>>,
111
112 pub schools: Option<Vec<School>>,
113 pub screen_name: Option<String>,
114 pub sex: Option<Integer>,
115 pub site: Option<String>,
116
117 pub status: Option<String>,
119 pub status_audio: Option<audio::Audio>,
120
121 pub timezone: Option<Integer>,
122 pub trending: Option<Integer>,
123 pub tv: Option<String>,
124 pub universities: Option<Vec<University>>,
125 pub verified: Option<Integer>,
126 pub wall_default: Option<String>,
127}
128
129#[derive(Deserialize, Clone, Debug)]
130pub struct Career {
131 pub group_id: Option<Integer>,
132 pub company: Option<String>,
133 pub country_id: Option<Integer>,
134 pub city_id: Option<Integer>,
135 pub city_name: Option<String>,
136 pub from: Option<Integer>,
137 pub until: Option<Integer>,
138 pub position: Option<String>,
139}
140
141#[derive(Deserialize, Clone, Debug)]
142pub struct Contacts {
143 pub mobile_phone: Option<String>,
144 pub home_phone: Option<String>,
145}
146
147#[derive(Deserialize, Copy, Clone, Debug)]
148pub struct Counters {
149 pub albums: Option<Integer>,
150 pub videos: Option<Integer>,
151 pub audios: Option<Integer>,
152 pub photos: Option<Integer>,
153 pub notes: Option<Integer>,
154 pub friends: Option<Integer>,
155 pub groups: Option<Integer>,
156 pub online_friends: Option<Integer>,
157 pub mutual_friends: Option<Integer>,
158 pub user_videos: Option<Integer>,
159 pub followers: Option<Integer>,
160 pub pages: Option<Integer>,
161}
162
163#[derive(Deserialize, Copy, Clone, Debug)]
164pub struct Exports {
165 pub twitter: Option<Integer>,
166 pub facebook: Option<Integer>,
167 pub livejournal: Option<Integer>,
168 pub instagram: Option<Integer>,
169}
170
171#[derive(Deserialize, Copy, Clone, Debug)]
172pub struct LastSeen {
173 pub time: Option<Integer>,
174 pub platform: Option<Integer>,
175}
176
177#[derive(Deserialize, Clone, Debug)]
178pub struct Military {
179 pub unit: Option<String>,
180 pub unit_id: Option<Integer>,
181 pub country_id: Option<Integer>,
182 pub from: Option<Integer>,
183 pub until: Option<Integer>,
184}
185
186#[derive(Deserialize, Clone, Debug)]
187pub struct Occupation {
188 #[serde(rename = "type")]
189 pub type_: Option<String>,
190
191 pub id: Option<Integer>,
192 pub name: Option<String>,
193}
194
195#[derive(Deserialize, Clone, Debug)]
196pub struct Personal {
197 pub political: Option<Integer>,
198 pub langs: Option<Vec<String>>,
199 pub religion: Option<String>,
200 pub inspired_by: Option<String>,
201 pub people_main: Option<Integer>,
202 pub life_main: Option<Integer>,
203 pub smoking: Option<Integer>,
204 pub alcohol: Option<Integer>,
205}
206
207#[derive(Deserialize, Clone, Debug)]
208pub struct Relative {
209 pub id: Option<Integer>,
210 pub name: Option<String>,
211
212 #[serde(rename = "type")]
213 pub type_: Option<String>,
214}
215
216#[derive(Deserialize, Clone, Debug)]
217pub struct School {
218 pub id: Option<String>,
219 pub country: Option<Integer>,
220 pub city: Option<Integer>,
221 pub name: Option<String>,
222 pub year_from: Option<Integer>,
223 pub year_to: Option<Integer>,
224 pub year_graduated: Option<Integer>,
225 pub class: Option<String>,
226 pub speciality: Option<String>,
227
228 #[serde(rename = "type")]
229 pub type_: Option<Integer>,
230
231 pub type_str: Option<String>,
232}
233
234#[derive(Deserialize, Clone, Debug)]
235pub struct University {
236 pub id: Option<Integer>,
237 pub country: Option<Integer>,
238 pub city: Option<Integer>,
239 pub name: Option<String>,
240 pub faculty: Option<Integer>,
241 pub faculty_name: Option<String>,
242 pub chair: Option<Integer>,
243 pub chair_name: Option<String>,
244 pub graduation: Option<Integer>,
245 pub education_form: Option<String>,
246 pub education_status: Option<String>,
247}