diff --git a/crates/caldav/src/lib.rs b/crates/caldav/src/lib.rs index a0b879b..0feb0e2 100644 --- a/crates/caldav/src/lib.rs +++ b/crates/caldav/src/lib.rs @@ -18,6 +18,7 @@ pub mod error; pub mod proptypes; pub mod resources; pub mod routes; +pub mod tagname; pub struct CalDavContext { pub prefix: String, diff --git a/crates/caldav/src/tagname.rs b/crates/caldav/src/tagname.rs new file mode 100644 index 0000000..94240ab --- /dev/null +++ b/crates/caldav/src/tagname.rs @@ -0,0 +1,11 @@ +use strum::EnumProperty; + +pub trait TagName { + fn tagname(self) -> &'static str; +} + +impl> TagName for P { + fn tagname(self) -> &'static str { + self.get_str("tagname").unwrap_or(self.into()) + } +}