use serde::{Deserialize, Serialize};
use time::OffsetDateTime;
#[derive(Debug, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)]
#[serde(rename_all = "camelCase")]
#[cfg_attr(
feature = "api_client",
doc = "Can be gotten with
[`crate::api_client::NeosAuthenticated::get_friends`]."
)]
pub struct Friend {
pub id: crate::id::User,
#[serde(rename = "friendUsername")]
pub username: String,
#[serde(rename = "friendStatus")]
pub friendship_status: String,
pub is_accepted: bool,
#[serde(rename = "userStatus")]
pub status: crate::UserStatus,
pub profile: Option<crate::UserProfile>,
#[serde(default)]
#[serde(with = "crate::util::opt_rfc3339")]
pub latest_message_time: Option<OffsetDateTime>,
pub owner_id: crate::id::Owner,
}