mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-14 05:52:19 +00:00
dav: Outsource PrincipalResource AT to where it's actually needed
This commit is contained in:
@@ -28,6 +28,8 @@ pub enum CommonPropertiesProp {
|
||||
}
|
||||
|
||||
pub trait CommonPropertiesExtension: Resource {
|
||||
type PrincipalResource: NamedRoute;
|
||||
|
||||
fn get_prop(
|
||||
&self,
|
||||
rmap: &ResourceMap,
|
||||
@@ -66,5 +68,3 @@ pub trait CommonPropertiesExtension: Resource {
|
||||
Err(crate::Error::PropReadOnly)
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Resource> CommonPropertiesExtension for T {}
|
||||
|
||||
@@ -26,7 +26,6 @@ impl<T: FromStr> ResourcePropName for T {}
|
||||
pub trait Resource: Clone + 'static {
|
||||
type Prop: ResourceProp + PartialEq + Clone + EnumVariants + EnumUnitVariants;
|
||||
type Error: ResponseError + From<crate::Error>;
|
||||
type PrincipalResource: Resource + NamedRoute;
|
||||
type Principal: Principal;
|
||||
|
||||
fn get_resourcetype(&self) -> Resourcetype;
|
||||
|
||||
@@ -18,10 +18,13 @@ impl<PR: Resource, P: Principal> Default for RootResource<PR, P> {
|
||||
}
|
||||
}
|
||||
|
||||
impl<PR: Resource + NamedRoute, P: Principal> CommonPropertiesExtension for RootResource<PR, P> {
|
||||
type PrincipalResource = PR;
|
||||
}
|
||||
|
||||
impl<PR: Resource + NamedRoute, P: Principal> Resource for RootResource<PR, P> {
|
||||
type Prop = CommonPropertiesProp;
|
||||
type Error = PR::Error;
|
||||
type PrincipalResource = PR;
|
||||
type Principal = P;
|
||||
|
||||
fn get_resourcetype(&self) -> Resourcetype {
|
||||
|
||||
Reference in New Issue
Block a user