mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 22:52:22 +00:00
minor refactoring
This commit is contained in:
@@ -5,7 +5,6 @@ use crate::{
|
|||||||
use actix_web::HttpRequest;
|
use actix_web::HttpRequest;
|
||||||
use rustical_dav::{
|
use rustical_dav::{
|
||||||
methods::propfind::{PropElement, PropfindType},
|
methods::propfind::{PropElement, PropfindType},
|
||||||
namespace::Namespace,
|
|
||||||
resource::HandlePropfind,
|
resource::HandlePropfind,
|
||||||
xml::{multistatus::PropstatWrapper, MultistatusElement},
|
xml::{multistatus::PropstatWrapper, MultistatusElement},
|
||||||
};
|
};
|
||||||
@@ -67,9 +66,6 @@ pub async fn handle_calendar_multiget<C: CalendarStore + ?Sized>(
|
|||||||
|
|
||||||
Ok(MultistatusElement {
|
Ok(MultistatusElement {
|
||||||
responses,
|
responses,
|
||||||
member_responses: vec![],
|
..Default::default()
|
||||||
ns_dav: Namespace::Dav.as_str(),
|
|
||||||
ns_caldav: Namespace::CalDAV.as_str(),
|
|
||||||
ns_ical: Namespace::ICal.as_str(),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
use actix_web::HttpRequest;
|
use actix_web::HttpRequest;
|
||||||
use rustical_dav::{
|
use rustical_dav::{
|
||||||
methods::propfind::{PropElement, PropfindType},
|
methods::propfind::{PropElement, PropfindType},
|
||||||
namespace::Namespace,
|
|
||||||
resource::HandlePropfind,
|
resource::HandlePropfind,
|
||||||
xml::{multistatus::PropstatWrapper, MultistatusElement},
|
xml::{multistatus::PropstatWrapper, MultistatusElement},
|
||||||
};
|
};
|
||||||
@@ -135,9 +134,6 @@ pub async fn handle_calendar_query<C: CalendarStore + ?Sized>(
|
|||||||
|
|
||||||
Ok(MultistatusElement {
|
Ok(MultistatusElement {
|
||||||
responses,
|
responses,
|
||||||
member_responses: vec![],
|
..Default::default()
|
||||||
ns_dav: Namespace::Dav.as_str(),
|
|
||||||
ns_caldav: Namespace::CalDAV.as_str(),
|
|
||||||
ns_ical: Namespace::ICal.as_str(),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
use actix_web::HttpRequest;
|
use actix_web::HttpRequest;
|
||||||
use rustical_dav::{
|
use rustical_dav::{
|
||||||
methods::propfind::{PropElement, PropfindType},
|
methods::propfind::{PropElement, PropfindType},
|
||||||
namespace::Namespace,
|
|
||||||
resource::HandlePropfind,
|
resource::HandlePropfind,
|
||||||
xml::{multistatus::PropstatWrapper, MultistatusElement},
|
xml::{multistatus::PropstatWrapper, MultistatusElement},
|
||||||
};
|
};
|
||||||
@@ -81,9 +80,6 @@ pub async fn handle_sync_collection<C: CalendarStore + ?Sized>(
|
|||||||
|
|
||||||
Ok(MultistatusElement {
|
Ok(MultistatusElement {
|
||||||
responses,
|
responses,
|
||||||
member_responses: vec![],
|
..Default::default()
|
||||||
ns_dav: Namespace::Dav.as_str(),
|
|
||||||
ns_caldav: Namespace::CalDAV.as_str(),
|
|
||||||
ns_ical: Namespace::ICal.as_str(),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
use crate::depth_extractor::Depth;
|
use crate::depth_extractor::Depth;
|
||||||
use crate::namespace::Namespace;
|
|
||||||
use crate::resource::HandlePropfind;
|
use crate::resource::HandlePropfind;
|
||||||
|
use crate::resource::Resource;
|
||||||
use crate::resource::ResourceService;
|
use crate::resource::ResourceService;
|
||||||
|
use crate::xml::multistatus::PropstatWrapper;
|
||||||
use crate::xml::MultistatusElement;
|
use crate::xml::MultistatusElement;
|
||||||
use crate::xml::TagList;
|
use crate::xml::TagList;
|
||||||
use crate::Error;
|
use crate::Error;
|
||||||
use actix_web::web::{Data, Path};
|
use actix_web::web::{Data, Path};
|
||||||
use actix_web::HttpRequest;
|
use actix_web::HttpRequest;
|
||||||
use actix_web::Responder;
|
|
||||||
use log::debug;
|
use log::debug;
|
||||||
use rustical_auth::{AuthInfoExtractor, CheckAuthentication};
|
use rustical_auth::{AuthInfoExtractor, CheckAuthentication};
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
@@ -44,7 +44,7 @@ pub async fn route_propfind<A: CheckAuthentication, R: ResourceService + ?Sized>
|
|||||||
prefix: Data<ServicePrefix>,
|
prefix: Data<ServicePrefix>,
|
||||||
auth: AuthInfoExtractor<A>,
|
auth: AuthInfoExtractor<A>,
|
||||||
depth: Depth,
|
depth: Depth,
|
||||||
) -> Result<impl Responder, R::Error> {
|
) -> Result<MultistatusElement<PropstatWrapper<<R::File as Resource>::Prop>, String>, R::Error> {
|
||||||
debug!("{body}");
|
debug!("{body}");
|
||||||
let auth_info = auth.inner;
|
let auth_info = auth.inner;
|
||||||
let prefix = prefix.0.to_owned();
|
let prefix = prefix.0.to_owned();
|
||||||
@@ -86,9 +86,6 @@ pub async fn route_propfind<A: CheckAuthentication, R: ResourceService + ?Sized>
|
|||||||
|
|
||||||
Ok(MultistatusElement {
|
Ok(MultistatusElement {
|
||||||
responses: vec![response],
|
responses: vec![response],
|
||||||
member_responses,
|
..Default::default()
|
||||||
ns_dav: Namespace::Dav.as_str(),
|
|
||||||
ns_caldav: Namespace::CalDAV.as_str(),
|
|
||||||
ns_ical: Namespace::ICal.as_str(),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
use std::str::FromStr;
|
|
||||||
|
|
||||||
use crate::namespace::Namespace;
|
|
||||||
use crate::resource::InvalidProperty;
|
use crate::resource::InvalidProperty;
|
||||||
use crate::resource::Resource;
|
use crate::resource::Resource;
|
||||||
use crate::resource::ResourceService;
|
use crate::resource::ResourceService;
|
||||||
@@ -14,6 +11,7 @@ use actix_web::{web::Path, HttpRequest};
|
|||||||
use log::debug;
|
use log::debug;
|
||||||
use rustical_auth::{AuthInfoExtractor, CheckAuthentication};
|
use rustical_auth::{AuthInfoExtractor, CheckAuthentication};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
use std::str::FromStr;
|
||||||
|
|
||||||
// https://docs.rs/quick-xml/latest/quick_xml/de/index.html#normal-enum-variant
|
// https://docs.rs/quick-xml/latest/quick_xml/de/index.html#normal-enum-variant
|
||||||
#[derive(Deserialize, Serialize, Clone, Debug)]
|
#[derive(Deserialize, Serialize, Clone, Debug)]
|
||||||
@@ -154,10 +152,6 @@ pub async fn route_proppatch<A: CheckAuthentication, R: ResourceService + ?Sized
|
|||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
}],
|
}],
|
||||||
// Dummy just for typing
|
..Default::default()
|
||||||
member_responses: vec![],
|
|
||||||
ns_dav: Namespace::Dav.as_str(),
|
|
||||||
ns_caldav: Namespace::CalDAV.as_str(),
|
|
||||||
ns_ical: Namespace::ICal.as_str(),
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
use crate::xml::TagList;
|
use crate::{namespace::Namespace, xml::TagList};
|
||||||
use actix_web::{
|
use actix_web::{
|
||||||
body::BoxBody, http::header::ContentType, HttpRequest, HttpResponse, Responder, ResponseError,
|
body::BoxBody, http::header::ContentType, HttpRequest, HttpResponse, Responder, ResponseError,
|
||||||
};
|
};
|
||||||
@@ -56,6 +56,18 @@ pub struct MultistatusElement<T1: Serialize, T2: Serialize> {
|
|||||||
pub ns_ical: &'static str,
|
pub ns_ical: &'static str,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<T1: Serialize, T2: Serialize> Default for MultistatusElement<T1, T2> {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self {
|
||||||
|
responses: vec![],
|
||||||
|
member_responses: vec![],
|
||||||
|
ns_dav: Namespace::Dav.as_str(),
|
||||||
|
ns_caldav: Namespace::CalDAV.as_str(),
|
||||||
|
ns_ical: Namespace::ICal.as_str(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl<T1: Serialize, T2: Serialize> Responder for MultistatusElement<T1, T2> {
|
impl<T1: Serialize, T2: Serialize> Responder for MultistatusElement<T1, T2> {
|
||||||
type Body = BoxBody;
|
type Body = BoxBody;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user