dav: Refactor proppatch, remove InvalidProperty trait

This commit is contained in:
Lennart
2024-12-25 17:34:38 +01:00
parent d74e0fa702
commit 8fdaba2b57
13 changed files with 90 additions and 143 deletions

View File

@@ -8,7 +8,7 @@ use rustical_xml::XmlDeserialize;
use serde::Serialize;
use std::any::type_name;
use std::marker::PhantomData;
use strum::{EnumString, VariantNames};
use strum::{EnumString, IntoStaticStr, VariantNames};
#[derive(Clone)]
pub struct RootResource<PR: Resource>(PhantomData<PR>);
@@ -19,15 +19,17 @@ impl<PR: Resource> Default for RootResource<PR> {
}
}
#[derive(EnumString, VariantNames, Clone)]
#[derive(EnumString, VariantNames, Clone, IntoStaticStr)]
#[strum(serialize_all = "kebab-case")]
pub enum RootResourcePropName {}
#[derive(XmlDeserialize, Serialize, Default, Clone, PartialEq)]
pub enum RootResourceProp {
#[serde(other)]
#[default]
Invalid,
#[derive(XmlDeserialize, Serialize, Clone, PartialEq)]
pub enum RootResourceProp {}
impl From<RootResourceProp> for RootResourcePropName {
fn from(_value: RootResourceProp) -> Self {
unreachable!()
}
}
impl<PR: Resource> Resource for RootResource<PR> {