//! # Friend information //! //! @author Pierre Hubert use crate::controllers::user_ws_controller; use crate::data::user::UserID; use crate::utils::date_utils::time; #[derive(PartialEq, Eq)] pub struct Friend { pub friend_id: UserID, pub accepted: bool, pub following: bool, pub last_activity_time: u64, pub can_post_texts: bool, } impl Friend { /// Get the last activity of this friend. If this friend is both connected and not incognito, /// current time will be returned instead of time stored in database pub fn computed_last_activity_time(&self) -> u64 { if user_ws_controller::is_user_connected_not_incognito(&self.friend_id) { time() } else { self.last_activity_time } } }