From ec5cc7319feda8423f878206c9d1386bcdd3d022 Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 12 Jan 2025 18:07:14 +0100 Subject: [PATCH] carddav: Add principal displayname --- crates/carddav/src/principal/mod.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/crates/carddav/src/principal/mod.rs b/crates/carddav/src/principal/mod.rs index 9b51f5e..b0c3e0c 100644 --- a/crates/carddav/src/principal/mod.rs +++ b/crates/carddav/src/principal/mod.rs @@ -33,6 +33,9 @@ pub struct PrincipalResource { strum(serialize_all = "kebab-case") )] pub enum PrincipalProp { + #[xml(ns = "rustical_dav::namespace::NS_DAV")] + Displayname(String), + // WebDAV Access Control (RFC 3744) #[strum_discriminants(strum(serialize = "principal-URL"))] #[xml(rename = b"principal-URL")] @@ -80,6 +83,7 @@ impl Resource for PrincipalResource { let principal_href = HrefElement::new(Self::get_principal_url(rmap, &self.principal)); Ok(match prop { + PrincipalPropName::Displayname => PrincipalProp::Displayname(self.principal.to_owned()), PrincipalPropName::PrincipalUrl => PrincipalProp::PrincipalUrl(principal_href), PrincipalPropName::AddressbookHomeSet => { PrincipalProp::AddressbookHomeSet(principal_href)