From 20969bd8b9789c08303265ec263e02b5225348e6 Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Thu, 3 Apr 2025 13:50:51 +0100 Subject: feat(filamento): xep-0172: user nick --- stanza/src/client/message.rs | 12 ++++++++++++ stanza/src/xep_0060/event.rs | 10 +++++----- 2 files changed, 17 insertions(+), 5 deletions(-) (limited to 'stanza') diff --git a/stanza/src/client/message.rs b/stanza/src/client/message.rs index d94b82e..78258ca 100644 --- a/stanza/src/client/message.rs +++ b/stanza/src/client/message.rs @@ -6,6 +6,8 @@ use peanuts::{ DeserializeError, Element, XML_NS, }; +#[cfg(feature = "xep_0060")] +use crate::xep_0060::event::Event; #[cfg(feature = "xep_0131")] use crate::xep_0131::Headers; #[cfg(feature = "xep_0172")] @@ -33,6 +35,8 @@ pub struct Message { pub headers: Option, #[cfg(feature = "xep_0172")] pub nick: Option, + #[cfg(feature = "xep_0060")] + pub event: Option, } impl FromElement for Message { @@ -59,6 +63,9 @@ impl FromElement for Message { #[cfg(feature = "xep_0172")] let nick = element.child_opt()?; + #[cfg(feature = "xep_0060")] + let event = element.child_opt()?; + Ok(Message { from, id, @@ -74,6 +81,8 @@ impl FromElement for Message { headers, #[cfg(feature = "xep_0172")] nick, + #[cfg(feature = "xep_0060")] + event, }) } } @@ -105,6 +114,9 @@ impl IntoElement for Message { #[cfg(feature = "xep_0172")] let builder = builder.push_child_opt(self.nick.clone()); + #[cfg(feature = "xep_0060")] + let builder = builder.push_child_opt(self.event.clone()); + builder } } diff --git a/stanza/src/xep_0060/event.rs b/stanza/src/xep_0060/event.rs index d2c150a..4ef5a6c 100644 --- a/stanza/src/xep_0060/event.rs +++ b/stanza/src/xep_0060/event.rs @@ -219,8 +219,8 @@ impl IntoElement for Delete { #[derive(Clone, Debug)] pub struct Items { - node: String, - items: ItemsType, + pub node: String, + pub items: ItemsType, } impl FromElement for Items { @@ -260,9 +260,9 @@ pub enum ItemsType { #[derive(Clone, Debug)] pub struct Item { - id: Option, - publisher: Option, - item: Option, + pub id: Option, + pub publisher: Option, + pub item: Option, } impl FromElement for Item { -- cgit