diff options
Diffstat (limited to 'filamento/src/logic/process_stanza.rs')
-rw-r--r-- | filamento/src/logic/process_stanza.rs | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/filamento/src/logic/process_stanza.rs b/filamento/src/logic/process_stanza.rs index 67b0d3f..5f180b9 100644 --- a/filamento/src/logic/process_stanza.rs +++ b/filamento/src/logic/process_stanza.rs @@ -76,31 +76,19 @@ pub async fn recv_message<Fs: FileStore + Clone>( body: body.body.unwrap_or_default(), }, delivery: None, + // TODO: log raw stanza + source: Vec::new(), }; // TODO: process message type="error" // save the message to the database - match logic.db().upsert_chat_and_user(from.to_bare()).await { - Ok(_) => match from.as_full() { - Ok(from) => { - if let Err(e) = logic - .db() - .create_message_with_user_resource( - message.clone(), - from.to_bare(), - from.clone(), - ) - .await - { - error!("failed to create message: {}", e); - } - } - Err(e) => error!("failed to create message: {}", e), - }, - Err(e) => { - error!("failed to upsert chat and user: {}", e); - } - }; + if let Err(e) = logic + .db() + .create_message(message.clone(), from.to_bare(), from.to_bare()) + .await + { + error!("failed to create message: {}", e); + } let from_user = match logic.db().read_user(from.to_bare()).await { Ok(u) => u, |