diff options
Diffstat (limited to 'filamento/src/logic/process_stanza.rs')
| -rw-r--r-- | filamento/src/logic/process_stanza.rs | 34 |
1 files changed, 13 insertions, 21 deletions
diff --git a/filamento/src/logic/process_stanza.rs b/filamento/src/logic/process_stanza.rs index 67b0d3f..dab475d 100644 --- a/filamento/src/logic/process_stanza.rs +++ b/filamento/src/logic/process_stanza.rs @@ -1,3 +1,7 @@ +// SPDX-FileCopyrightText: 2025 cel <cel@bunny.garden> +// +// SPDX-License-Identifier: AGPL-3.0-or-later + use std::str::FromStr; use base64::{Engine, prelude::BASE64_STANDARD}; @@ -76,31 +80,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, |
