xmpp-parsers: Add 'approved' attribute to roster item
This commit is contained in:
parent
6b7195530b
commit
24ae2ffd73
2 changed files with 8 additions and 0 deletions
|
|
@ -33,6 +33,7 @@ XXXX-YY-ZZ RELEASER <admin@example.com>
|
||||||
- jingle_rtp::Description gained a bandwidth child.
|
- jingle_rtp::Description gained a bandwidth child.
|
||||||
- Fix cargo test for the disable-validation and component features.
|
- Fix cargo test for the disable-validation and component features.
|
||||||
- Structs of the bind module now have accessible inner pieces (!675).
|
- Structs of the bind module now have accessible inner pieces (!675).
|
||||||
|
- Add 'approved' field to roster item (!683).
|
||||||
|
|
||||||
Version 0.22.0:
|
Version 0.22.0:
|
||||||
2025-10-28 pep <pep@bouah.net>
|
2025-10-28 pep <pep@bouah.net>
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,10 @@ pub struct Item {
|
||||||
/// Groups this contact is part of.
|
/// Groups this contact is part of.
|
||||||
#[xml(child(n = ..))]
|
#[xml(child(n = ..))]
|
||||||
pub groups: Vec<Group>,
|
pub groups: Vec<Group>,
|
||||||
|
|
||||||
|
/// Subscription pre-approval
|
||||||
|
#[xml(attribute(default))]
|
||||||
|
pub approved: Option<bool>,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The contact list of the user.
|
/// The contact list of the user.
|
||||||
|
|
@ -158,6 +162,7 @@ mod tests {
|
||||||
<item jid='contact@example.org'
|
<item jid='contact@example.org'
|
||||||
subscription='none'
|
subscription='none'
|
||||||
ask='subscribe'
|
ask='subscribe'
|
||||||
|
approved='true'
|
||||||
name='MyContact'>
|
name='MyContact'>
|
||||||
<group>MyBuddies</group>
|
<group>MyBuddies</group>
|
||||||
</item>
|
</item>
|
||||||
|
|
@ -175,6 +180,7 @@ mod tests {
|
||||||
assert_eq!(roster.items[0].name, Some(String::from("Romeo")));
|
assert_eq!(roster.items[0].name, Some(String::from("Romeo")));
|
||||||
assert_eq!(roster.items[0].subscription, Subscription::Both);
|
assert_eq!(roster.items[0].subscription, Subscription::Both);
|
||||||
assert_eq!(roster.items[0].ask, Ask::None);
|
assert_eq!(roster.items[0].ask, Ask::None);
|
||||||
|
assert_eq!(roster.items[0].approved, None);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
roster.items[0].groups,
|
roster.items[0].groups,
|
||||||
vec!(Group::from_str("Friends").unwrap())
|
vec!(Group::from_str("Friends").unwrap())
|
||||||
|
|
@ -187,6 +193,7 @@ mod tests {
|
||||||
assert_eq!(roster.items[3].name, Some(String::from("MyContact")));
|
assert_eq!(roster.items[3].name, Some(String::from("MyContact")));
|
||||||
assert_eq!(roster.items[3].subscription, Subscription::None);
|
assert_eq!(roster.items[3].subscription, Subscription::None);
|
||||||
assert_eq!(roster.items[3].ask, Ask::Subscribe);
|
assert_eq!(roster.items[3].ask, Ask::Subscribe);
|
||||||
|
assert_eq!(roster.items[3].approved, Some(true));
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
roster.items[3].groups,
|
roster.items[3].groups,
|
||||||
vec!(Group::from_str("MyBuddies").unwrap())
|
vec!(Group::from_str("MyBuddies").unwrap())
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue