use super::{emoji::Emoji, visibility::Visibility}; use crate::Id; use serde::{Deserialize, Serialize}; #[serde(deny_unknown_fields)] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub(crate) struct Account { pub id: Id, pub(crate) username: String, pub acct: String, pub(crate) url: String, pub(crate) display_name: String, pub(crate) note: String, pub(crate) avatar: String, pub(crate) avatar_static: String, pub(crate) header: String, pub(crate) header_static: String, pub(crate) locked: bool, pub(crate) emojis: Vec, pub(crate) discoverable: Option, // Shouldn't be option? pub(crate) created_at: String, pub(crate) statuses_count: i64, pub(crate) followers_count: i64, pub(crate) following_count: i64, pub(crate) moved: Option, pub(crate) fields: Option>, pub(crate) bot: Option, pub(crate) source: Option, pub(crate) group: Option, // undocumented pub(crate) last_status_at: Option, // undocumented } #[serde(deny_unknown_fields)] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub(crate) struct Field { pub(crate) name: String, pub(crate) value: String, pub(crate) verified_at: Option, } #[serde(deny_unknown_fields)] #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub(crate) struct Source { pub(crate) note: String, pub(crate) fields: Vec, pub(crate) privacy: Option, pub(crate) sensitive: bool, pub(crate) language: String, pub(crate) follow_requests_count: i64, }