use super::{ DeletedMessages, EditedMessage, FakeTdClient, ForwardedMessages, SearchQuery, SentMessage, TdUpdate, }; use tele_tui::tdlib::types::FolderInfo; use tele_tui::tdlib::{ChatInfo, MessageInfo, NetworkState}; use tokio::sync::mpsc; #[allow(dead_code)] impl FakeTdClient { pub fn get_chats(&self) -> Vec { self.chats.lock().unwrap().clone() } pub fn get_folders(&self) -> Vec { self.folders.lock().unwrap().clone() } pub fn get_messages(&self, chat_id: i64) -> Vec { self.messages .lock() .unwrap() .get(&chat_id) .cloned() .unwrap_or_default() } pub fn get_sent_messages(&self) -> Vec { self.sent_messages.lock().unwrap().clone() } pub fn get_edited_messages(&self) -> Vec { self.edited_messages.lock().unwrap().clone() } pub fn get_deleted_messages(&self) -> Vec { self.deleted_messages.lock().unwrap().clone() } pub fn get_forwarded_messages(&self) -> Vec { self.forwarded_messages.lock().unwrap().clone() } pub fn get_search_queries(&self) -> Vec { self.searched_queries.lock().unwrap().clone() } pub fn get_viewed_messages(&self) -> Vec<(i64, Vec)> { self.viewed_messages.lock().unwrap().clone() } pub fn get_chat_actions(&self) -> Vec<(i64, String)> { self.chat_actions.lock().unwrap().clone() } pub fn get_network_state(&self) -> NetworkState { self.network_state.lock().unwrap().clone() } pub fn get_current_chat_id(&self) -> Option { *self.current_chat_id.lock().unwrap() } pub fn set_current_pinned_message(&mut self, msg: Option) { *self.current_pinned_message.lock().unwrap() = msg; } pub async fn process_pending_view_messages(&mut self) { let mut pending = self.pending_view_messages.lock().unwrap(); for (chat_id, message_ids) in pending.drain(..) { let ids: Vec = message_ids.iter().map(|id| id.as_i64()).collect(); self.viewed_messages .lock() .unwrap() .push((chat_id.as_i64(), ids)); } } pub fn set_update_channel(&self, tx: mpsc::UnboundedSender) { *self.update_tx.lock().unwrap() = Some(tx); } pub fn clear_all_history(&self) { self.sent_messages.lock().unwrap().clear(); self.edited_messages.lock().unwrap().clear(); self.deleted_messages.lock().unwrap().clear(); self.forwarded_messages.lock().unwrap().clear(); self.searched_queries.lock().unwrap().clear(); self.viewed_messages.lock().unwrap().clear(); self.chat_actions.lock().unwrap().clear(); } }