mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-04-18 10:30:53 +00:00
28 lines
766 B
Rust
28 lines
766 B
Rust
//! # 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
|
|
}
|
|
}
|
|
} |