mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 22:52:22 +00:00
propfind does not need to be async
This commit is contained in:
@@ -90,11 +90,11 @@ pub async fn handle_calendar_multiget<C: CalendarStore + ?Sized>(
|
|||||||
let mut responses = Vec::new();
|
let mut responses = Vec::new();
|
||||||
for object in objects {
|
for object in objects {
|
||||||
let path = format!("{}/{}", req.path(), object.get_uid());
|
let path = format!("{}/{}", req.path(), object.get_uid());
|
||||||
responses.push(
|
responses.push(CalendarObjectResource::from(object).propfind(
|
||||||
CalendarObjectResource::from(object)
|
&path,
|
||||||
.propfind(&path, props.clone(), req.resource_map())
|
props.clone(),
|
||||||
.await?,
|
req.resource_map(),
|
||||||
);
|
)?);
|
||||||
}
|
}
|
||||||
|
|
||||||
let not_found_responses = not_found
|
let not_found_responses = not_found
|
||||||
|
|||||||
@@ -236,11 +236,11 @@ pub async fn handle_calendar_query<C: CalendarStore + ?Sized>(
|
|||||||
vec![principal, cid, object.get_uid()],
|
vec![principal, cid, object.get_uid()],
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
responses.push(
|
responses.push(CalendarObjectResource::from(object).propfind(
|
||||||
CalendarObjectResource::from(object)
|
&path,
|
||||||
.propfind(&path, props.clone(), req.resource_map())
|
props.clone(),
|
||||||
.await?,
|
req.resource_map(),
|
||||||
);
|
)?);
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(MultistatusElement {
|
Ok(MultistatusElement {
|
||||||
|
|||||||
@@ -75,11 +75,11 @@ pub async fn handle_sync_collection<C: CalendarStore + ?Sized>(
|
|||||||
vec![principal, cid, &object.get_uid()],
|
vec![principal, cid, &object.get_uid()],
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
responses.push(
|
responses.push(CalendarObjectResource::from(object).propfind(
|
||||||
CalendarObjectResource::from(object)
|
&path,
|
||||||
.propfind(&path, props.clone(), req.resource_map())
|
props.clone(),
|
||||||
.await?,
|
req.resource_map(),
|
||||||
);
|
)?);
|
||||||
}
|
}
|
||||||
|
|
||||||
for object_uid in deleted_objects {
|
for object_uid in deleted_objects {
|
||||||
|
|||||||
@@ -76,18 +76,12 @@ pub async fn route_propfind<R: ResourceService>(
|
|||||||
let mut member_responses = Vec::new();
|
let mut member_responses = Vec::new();
|
||||||
if depth != Depth::Zero {
|
if depth != Depth::Zero {
|
||||||
for (path, member) in resource_service.get_members(req.resource_map()).await? {
|
for (path, member) in resource_service.get_members(req.resource_map()).await? {
|
||||||
member_responses.push(
|
member_responses.push(member.propfind(&path, props.clone(), req.resource_map())?);
|
||||||
member
|
|
||||||
.propfind(&path, props.clone(), req.resource_map())
|
|
||||||
.await?,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let resource = resource_service.get_resource(user.id).await?;
|
let resource = resource_service.get_resource(user.id).await?;
|
||||||
let response = resource
|
let response = resource.propfind(req.path(), props, req.resource_map())?;
|
||||||
.propfind(req.path(), props, req.resource_map())
|
|
||||||
.await?;
|
|
||||||
|
|
||||||
Ok(MultistatusElement {
|
Ok(MultistatusElement {
|
||||||
responses: vec![response],
|
responses: vec![response],
|
||||||
|
|||||||
@@ -52,8 +52,7 @@ pub trait Resource: Clone {
|
|||||||
.to_owned())
|
.to_owned())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(async_fn_in_trait)]
|
fn propfind(
|
||||||
async fn propfind(
|
|
||||||
&self,
|
&self,
|
||||||
path: &str,
|
path: &str,
|
||||||
mut props: Vec<&str>,
|
mut props: Vec<&str>,
|
||||||
|
|||||||
Reference in New Issue
Block a user