use serde::Deserialize;
use serde_json::Value;
#[derive(Deserialize, Debug)]
pub struct Career {
pub group_id: Option<u64>,
pub company: Option<String>,
pub country_id: Option<u64>,
pub city_name: Option<String>,
pub city_id: Option<u64>,
pub from: Option<u64>,
pub until: Option<u64>,
pub position: Option<String>,
}
#[derive(Deserialize, Debug)]
pub struct City {
pub id: Option<u64>,
pub title: Option<String>,
}
#[derive(Deserialize, Debug)]
pub struct Contacts {
pub mobile_phone: Option<String>,
pub home_phone: Option<String>,
}
#[derive(Deserialize, Debug)]
pub struct Counters {
pub albums: Option<u64>,
pub videos: Option<u64>,
pub audios: Option<u64>,
pub photos: Option<u64>,
pub notes: Option<u64>,
pub friends: Option<u64>,
pub gifts: Option<u64>,
pub groups: Option<u64>,
pub online_friends: Option<u64>,
pub mutual_friends: Option<u64>,
pub user_videos: Option<u64>,
pub user_photos: Option<u64>,
pub followers: Option<u64>,
pub pages: Option<u64>,
pub subscriptions: Option<u64>,
}
#[derive(Deserialize, Debug)]
pub struct Country {
pub id: Option<u64>,
pub title: Option<String>,
}
#[derive(Deserialize, Debug)]
pub struct Education {
pub university: Option<u64>,
pub university_name: Option<String>,
pub faculty: Option<u64>,
pub faculty_name: Option<String>,
pub graduation: Option<u64>,
}
#[derive(Deserialize, Debug)]
pub struct LastSeen {
pub time: Option<u64>,
pub platform: Option<u64>,
}
#[derive(Deserialize, Debug)]
pub struct Military {
pub unit: Option<String>,
pub unit_id: Option<u64>,
pub country_id: Option<u64>,
pub from: Option<u64>,
pub until: Option<u64>,
}
#[derive(Deserialize, Debug)]
pub struct Occupation {
#[serde(rename = "type")]
pub occupation_type: Option<String>,
pub id: Option<u64>,
pub name: Option<String>,
}
#[derive(Deserialize, Debug)]
pub struct User {
pub id: u64,
pub first_name: String,
pub last_name: String,
pub deactivated: Option<String>,
pub is_closed: bool,
pub can_access_closed: bool,
pub about: Option<String>,
pub activities: Option<String>,
pub dbate: Option<String>,
pub blacklisted: Option<u8>,
pub blacklisted_by_me: Option<u8>,
pub books: Option<String>,
pub can_post: Option<u8>,
pub can_see_all_posts: Option<u8>,
pub can_see_audio: Option<u8>,
pub can_send_friend_request: Option<u8>,
pub can_write_private_message: Option<u8>,
pub career: Option<Career>,
pub city: Option<City>,
pub common_count: Option<u64>,
pub connections: Option<Value>,
pub contacts: Option<Contacts>,
pub counters: Option<Counters>,
pub country: Option<Country>,
pub crop_photo: Option<Value>,
pub domain: Option<String>,
pub education: Option<Education>,
pub exports: Option<Value>,
pub first_name_nom: Option<String>,
pub first_name_gen: Option<String>,
pub first_name_dat: Option<String>,
pub first_name_acc: Option<String>,
pub first_name_ins: Option<String>,
pub first_name_abl: Option<String>,
pub followers_count: Option<u64>,
pub friend_status: Option<u64>,
pub games: Option<String>,
pub has_mobile: Option<bool>,
pub has_photo: Option<u64>,
pub home_town: Option<String>,
pub interests: Option<String>,
pub is_favorite: Option<u64>,
pub is_friend: Option<u64>,
pub is_hidden_from_feed: Option<u64>,
pub last_name_nom: Option<String>,
pub last_name_gen: Option<String>,
pub last_name_dat: Option<String>,
pub last_name_acc: Option<String>,
pub last_name_ins: Option<String>,
pub last_name_abl: Option<String>,
pub last_seen: Option<LastSeen>,
pub lists: Option<String>,
pub maiden_name: Option<String>,
pub military: Option<Military>,
pub movies: Option<String>,
pub music: Option<String>,
pub nickname: Option<String>,
pub occupation: Option<Occupation>,
pub online: Option<u64>,
pub screen_name: Option<String>,
pub sex: Option<u64>,
pub site: Option<String>,
pub status: Option<String>,
pub trending: Option<u64>,
pub tv: Option<String>,
pub verified: Option<u64>,
pub wall_default: Option<String>,
}