From b35e50bf76c29ca179760175973495e34f96322b Mon Sep 17 00:00:00 2001 From: Lennart <18233294+lennart-k@users.noreply.github.com> Date: Sun, 29 Sep 2024 15:14:36 +0200 Subject: [PATCH] typing --- .../src/calendar/methods/report/calendar_multiget.rs | 2 +- .../caldav/src/calendar/methods/report/calendar_query.rs | 2 +- .../caldav/src/calendar/methods/report/sync_collection.rs | 2 +- crates/dav/src/methods/propfind.rs | 5 ++--- crates/dav/src/resource.rs | 8 ++++---- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/crates/caldav/src/calendar/methods/report/calendar_multiget.rs b/crates/caldav/src/calendar/methods/report/calendar_multiget.rs index 8aa775d..15cab01 100644 --- a/crates/caldav/src/calendar/methods/report/calendar_multiget.rs +++ b/crates/caldav/src/calendar/methods/report/calendar_multiget.rs @@ -88,7 +88,7 @@ pub async fn handle_calendar_multiget( let path = format!("{}/{}", req.path(), event.get_uid()); responses.push( EventResource::from(event) - .propfind(prefix, path, props.clone()) + .propfind(prefix, &path, props.clone()) .await?, ); } diff --git a/crates/caldav/src/calendar/methods/report/calendar_query.rs b/crates/caldav/src/calendar/methods/report/calendar_query.rs index fc40934..1ce3831 100644 --- a/crates/caldav/src/calendar/methods/report/calendar_query.rs +++ b/crates/caldav/src/calendar/methods/report/calendar_query.rs @@ -127,7 +127,7 @@ pub async fn handle_calendar_query( let path = format!("{}/{}", req.path(), event.get_uid()); responses.push( EventResource::from(event) - .propfind(prefix, path, props.clone()) + .propfind(prefix, &path, props.clone()) .await?, ); } diff --git a/crates/caldav/src/calendar/methods/report/sync_collection.rs b/crates/caldav/src/calendar/methods/report/sync_collection.rs index e3bfab8..bc24d04 100644 --- a/crates/caldav/src/calendar/methods/report/sync_collection.rs +++ b/crates/caldav/src/calendar/methods/report/sync_collection.rs @@ -74,7 +74,7 @@ pub async fn handle_sync_collection( let path = format!("{}/{}", req.path(), event.get_uid()); responses.push( EventResource::from(event) - .propfind(prefix, path, props.clone()) + .propfind(prefix, &path, props.clone()) .await?, ); } diff --git a/crates/dav/src/methods/propfind.rs b/crates/dav/src/methods/propfind.rs index 18683cf..608613e 100644 --- a/crates/dav/src/methods/propfind.rs +++ b/crates/dav/src/methods/propfind.rs @@ -55,7 +55,6 @@ pub async fn route_propfind( > { 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( 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], diff --git a/crates/dav/src/resource.rs b/crates/dav/src/resource.rs index 10b0188..4068d23 100644 --- a/crates/dav/src/resource.rs +++ b/crates/dav/src/resource.rs @@ -67,7 +67,7 @@ pub trait HandlePropfind { async fn propfind( &self, prefix: &str, - path: String, + path: &str, props: Vec<&str>, ) -> Result; } @@ -79,7 +79,7 @@ impl HandlePropfind for R { async fn propfind( &self, prefix: &str, - path: String, + path: &str, mut props: Vec<&str>, ) -> Result>, R::Error> { if props.contains(&"propname") { @@ -94,7 +94,7 @@ impl 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 HandlePropfind for R { })); } Ok(ResponseElement { - href: path, + href: path.to_owned(), propstat: propstats, ..Default::default() })