This commit is contained in:
Lennart
2024-09-29 15:14:36 +02:00
parent 48abbb7ac3
commit b35e50bf76
5 changed files with 9 additions and 10 deletions

View File

@@ -88,7 +88,7 @@ pub async fn handle_calendar_multiget<C: CalendarStore + ?Sized>(
let path = format!("{}/{}", req.path(), event.get_uid());
responses.push(
EventResource::from(event)
.propfind(prefix, path, props.clone())
.propfind(prefix, &path, props.clone())
.await?,
);
}

View File

@@ -127,7 +127,7 @@ pub async fn handle_calendar_query<C: CalendarStore + ?Sized>(
let path = format!("{}/{}", req.path(), event.get_uid());
responses.push(
EventResource::from(event)
.propfind(prefix, path, props.clone())
.propfind(prefix, &path, props.clone())
.await?,
);
}

View File

@@ -74,7 +74,7 @@ pub async fn handle_sync_collection<C: CalendarStore + ?Sized>(
let path = format!("{}/{}", req.path(), event.get_uid());
responses.push(
EventResource::from(event)
.propfind(prefix, path, props.clone())
.propfind(prefix, &path, props.clone())
.await?,
);
}

View File

@@ -55,7 +55,6 @@ pub async fn route_propfind<A: CheckAuthentication, R: ResourceService>(
> {
debug!("{body}");
let prefix = prefix.into_inner();
let path = req.path().to_owned();
let resource_service = R::new(&req, path_components.into_inner()).await?;
@@ -83,12 +82,12 @@ pub async fn route_propfind<A: CheckAuthentication, R: ResourceService>(
let mut member_responses = Vec::new();
if depth != Depth::Zero {
for (path, member) in resource_service.get_members().await? {
member_responses.push(member.propfind(&prefix, path, props.clone()).await?);
member_responses.push(member.propfind(&prefix, &path, props.clone()).await?);
}
}
let resource = resource_service.get_resource(auth.inner.user_id).await?;
let response = resource.propfind(&prefix, path, props).await?;
let response = resource.propfind(&prefix, req.path(), props).await?;
Ok(MultistatusElement {
responses: vec![response],

View File

@@ -67,7 +67,7 @@ pub trait HandlePropfind {
async fn propfind(
&self,
prefix: &str,
path: String,
path: &str,
props: Vec<&str>,
) -> Result<impl Serialize, Self::Error>;
}
@@ -79,7 +79,7 @@ impl<R: Resource> HandlePropfind for R {
async fn propfind(
&self,
prefix: &str,
path: String,
path: &str,
mut props: Vec<&str>,
) -> Result<ResponseElement<PropstatWrapper<R::Prop>>, R::Error> {
if props.contains(&"propname") {
@@ -94,7 +94,7 @@ impl<R: Resource> HandlePropfind for R {
.map(|&prop| prop.to_string())
.collect();
return Ok(ResponseElement {
href: path,
href: path.to_owned(),
propstat: vec![PropstatWrapper::TagList(PropstatElement {
prop: TagList::from(props),
status: format!("HTTP/1.1 {}", StatusCode::OK),
@@ -147,7 +147,7 @@ impl<R: Resource> HandlePropfind for R {
}));
}
Ok(ResponseElement {
href: path,
href: path.to_owned(),
propstat: propstats,
..Default::default()
})