use jid::JID; use uuid::Uuid; use crate::{ chat::{Chat, Message}, error::DatabaseError, user::User, }; use super::ClientLogic; pub async fn handle_get_chats(logic: &ClientLogic) -> Result, DatabaseError> { Ok(logic.db().read_chats().await?) } pub async fn handle_get_chats_ordered(logic: &ClientLogic) -> Result, DatabaseError> { Ok(logic.db().read_chats_ordered().await?) } pub async fn handle_get_chats_ordered_with_latest_messages( logic: &ClientLogic, ) -> Result, DatabaseError> { Ok(logic.db().read_chats_ordered_with_latest_messages().await?) } pub async fn handle_get_chat(logic: &ClientLogic, jid: JID) -> Result { Ok(logic.db().read_chat(jid).await?) } pub async fn handle_get_messages( logic: &ClientLogic, jid: JID, ) -> Result, DatabaseError> { Ok(logic.db().read_message_history(jid).await?) } pub async fn handle_delete_chat(logic: &ClientLogic, jid: JID) -> Result<(), DatabaseError> { Ok(logic.db().delete_chat(jid).await?) } pub async fn handle_delete_messaage(logic: &ClientLogic, uuid: Uuid) -> Result<(), DatabaseError> { Ok(logic.db().delete_message(uuid).await?) } pub async fn handle_get_user(logic: &ClientLogic, jid: JID) -> Result { Ok(logic.db().read_user(jid).await?) }