diff options
Diffstat (limited to '')
| -rw-r--r-- | filamento/src/logic/local_only.rs | 7 | ||||
| -rw-r--r-- | filamento/src/logic/offline.rs | 6 | ||||
| -rw-r--r-- | filamento/src/logic/online.rs | 11 | 
3 files changed, 18 insertions, 6 deletions
| diff --git a/filamento/src/logic/local_only.rs b/filamento/src/logic/local_only.rs index cabbef4..9db9d4d 100644 --- a/filamento/src/logic/local_only.rs +++ b/filamento/src/logic/local_only.rs @@ -42,6 +42,13 @@ pub async fn handle_get_messages<Fs: FileStore + Clone>(      Ok(logic.db().read_message_history(jid).await?)  } +pub async fn handle_get_messages_with_users<Fs: FileStore + Clone>( +    logic: &ClientLogic<Fs>, +    jid: JID, +) -> Result<Vec<(Message, User)>, DatabaseError> { +    Ok(logic.db().read_message_history_with_users(jid).await?) +} +  pub async fn handle_delete_chat<Fs: FileStore + Clone>(      logic: &ClientLogic<Fs>,      jid: JID, diff --git a/filamento/src/logic/offline.rs b/filamento/src/logic/offline.rs index 4f5df36..9f1a3bc 100644 --- a/filamento/src/logic/offline.rs +++ b/filamento/src/logic/offline.rs @@ -23,7 +23,7 @@ use super::{      local_only::{          handle_delete_chat, handle_delete_messaage, handle_get_chat, handle_get_chats,          handle_get_chats_ordered, handle_get_chats_ordered_with_latest_messages, -        handle_get_messages, handle_get_user, +        handle_get_messages, handle_get_messages_with_users, handle_get_user,      },  }; @@ -88,6 +88,10 @@ pub async fn handle_offline_result<Fs: FileStore + Clone>(              let messages = handle_get_messages(logic, jid).await;              sender.send(messages);          } +        Command::GetMessagesWithUsers(jid, sender) => { +            let messages = handle_get_messages_with_users(logic, jid).await; +            sender.send(messages); +        }          Command::DeleteChat(jid, sender) => {              let result = handle_delete_chat(logic, jid).await;              sender.send(result); diff --git a/filamento/src/logic/online.rs b/filamento/src/logic/online.rs index 1023b79..2cf2d5c 100644 --- a/filamento/src/logic/online.rs +++ b/filamento/src/logic/online.rs @@ -22,12 +22,9 @@ use crate::{  };  use super::{ -    ClientLogic,      local_only::{ -        handle_delete_chat, handle_delete_messaage, handle_get_chat, handle_get_chats, -        handle_get_chats_ordered, handle_get_chats_ordered_with_latest_messages, -        handle_get_messages, handle_get_user, -    }, +        handle_delete_chat, handle_delete_messaage, handle_get_chat, handle_get_chats, handle_get_chats_ordered, handle_get_chats_ordered_with_latest_messages, handle_get_messages, handle_get_messages_with_users, handle_get_user +    }, ClientLogic  };  pub async fn handle_online<Fs: FileStore + Clone>(logic: ClientLogic<Fs>, command: Command<Fs>, connection: Connected) { @@ -1058,6 +1055,10 @@ pub async fn handle_online_result<Fs: FileStore + Clone>(              let messages = handle_get_messages(logic, jid).await;              let _ = sender.send(messages);          } +        Command::GetMessagesWithUsers(jid, sender) => { +            let messages = handle_get_messages_with_users(logic, jid).await; +            sender.send(messages); +        }          Command::DeleteChat(jid, sender) => {              let result = handle_delete_chat(logic, jid).await;              let _ = sender.send(result); | 
