instagram_basic_display_api/objects/
user.rs

1use serde::{Deserialize, Serialize};
2use serde_aux::field_attributes::deserialize_number_from_string;
3
4use super::AccountType;
5
6#[derive(Serialize, Deserialize, Debug, Clone)]
7pub struct User {
8    #[serde(default)]
9    pub account_type: AccountType,
10    #[serde(deserialize_with = "deserialize_number_from_string")]
11    pub id: u64,
12    #[serde(default)]
13    pub username: String,
14    /*
15    media_count = edge_owner_to_timeline_media.count + count of reels without "share to Feed"
16    */
17    #[serde(default)]
18    pub media_count: Option<usize>,
19}
20
21impl User {
22    pub fn is_private(&self) -> bool {
23        self.account_type == AccountType::Personal && self.username.is_empty()
24    }
25}